0000851205-21-000020.txt : 20210805 0000851205-21-000020.hdr.sgml : 20210805 20210805161031 ACCESSION NUMBER: 0000851205-21-000020 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 94 CONFORMED PERIOD OF REPORT: 20210704 FILED AS OF DATE: 20210805 DATE AS OF CHANGE: 20210805 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-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34218 FILM NUMBER: 211148255 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 10-Q 1 cgnx-20210704.htm 10-Q cgnx-20210704
0000851205--12-312021Q2falseP4Y00008512052021-01-012021-07-04xbrli:shares00008512052021-07-04iso4217:USD00008512052021-04-052021-07-0400008512052020-03-302020-06-2800008512052020-01-012020-06-28iso4217:USDxbrli:shares0000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-04-052021-07-040000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-07-0400008512052020-12-3100008512052019-12-3100008512052020-06-280000851205us-gaap:CommonStockMember2021-04-040000851205us-gaap:AdditionalPaidInCapitalMember2021-04-040000851205us-gaap:RetainedEarningsMember2021-04-040000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-04-0400008512052021-04-040000851205us-gaap:CommonStockMember2021-04-052021-07-040000851205us-gaap:AdditionalPaidInCapitalMember2021-04-052021-07-040000851205us-gaap:RetainedEarningsMember2021-04-052021-07-040000851205us-gaap:CommonStockMember2021-07-040000851205us-gaap:AdditionalPaidInCapitalMember2021-07-040000851205us-gaap:RetainedEarningsMember2021-07-040000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-07-040000851205us-gaap:CommonStockMember2020-03-290000851205us-gaap:AdditionalPaidInCapitalMember2020-03-290000851205us-gaap:RetainedEarningsMember2020-03-290000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-2900008512052020-03-290000851205us-gaap:CommonStockMember2020-03-302020-06-280000851205us-gaap:AdditionalPaidInCapitalMember2020-03-302020-06-280000851205us-gaap:RetainedEarningsMember2020-03-302020-06-280000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-302020-06-280000851205us-gaap:CommonStockMember2020-06-280000851205us-gaap:AdditionalPaidInCapitalMember2020-06-280000851205us-gaap:RetainedEarningsMember2020-06-280000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-06-280000851205us-gaap:CommonStockMember2020-12-310000851205us-gaap:AdditionalPaidInCapitalMember2020-12-310000851205us-gaap:RetainedEarningsMember2020-12-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310000851205us-gaap:CommonStockMember2021-01-012021-07-040000851205us-gaap:AdditionalPaidInCapitalMember2021-01-012021-07-040000851205us-gaap:RetainedEarningsMember2021-01-012021-07-040000851205us-gaap:CommonStockMember2019-12-310000851205us-gaap:AdditionalPaidInCapitalMember2019-12-310000851205us-gaap:RetainedEarningsMember2019-12-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310000851205us-gaap:CommonStockMember2020-01-012020-06-280000851205us-gaap:AdditionalPaidInCapitalMember2020-01-012020-06-280000851205us-gaap:RetainedEarningsMember2020-01-012020-06-280000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-06-280000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Memberus-gaap:CorporateBondSecuritiesMember2021-07-040000851205us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2021-07-040000851205us-gaap:AssetBackedSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:AssetBackedSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:AssetBackedSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMembercgnx:AgencyBondsMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMembercgnx:AgencyBondsMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Membercgnx:AgencyBondsMember2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalBondsMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalBondsMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Memberus-gaap:MunicipalBondsMember2021-07-040000851205us-gaap:SovereignDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2021-07-040000851205us-gaap:SovereignDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2021-07-040000851205us-gaap:SovereignDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2021-07-040000851205cgnx:GViVenturesInc.Member2021-07-040000851205us-gaap:RestructuringChargesMember2020-03-302020-06-280000851205us-gaap:USTreasurySecuritiesMember2021-07-040000851205us-gaap:USTreasurySecuritiesMember2020-12-310000851205us-gaap:CorporateBondSecuritiesMember2021-07-040000851205us-gaap:CorporateBondSecuritiesMember2020-12-310000851205us-gaap:AssetBackedSecuritiesMember2021-07-040000851205us-gaap:AssetBackedSecuritiesMember2020-12-310000851205us-gaap:SovereignDebtMember2021-07-040000851205us-gaap:SovereignDebtMember2020-12-310000851205us-gaap:MunicipalBondsMember2021-07-040000851205us-gaap:MunicipalBondsMember2020-12-310000851205cgnx:AgencyBondsMember2021-07-040000851205cgnx:AgencyBondsMember2020-12-310000851205us-gaap:OtherCurrentAssetsMember2021-07-040000851205us-gaap:OtherCurrentAssetsMember2020-12-310000851205us-gaap:USTreasurySecuritiesMemberus-gaap:ShortTermInvestmentsMember2021-07-040000851205us-gaap:CorporateBondSecuritiesMemberus-gaap:ShortTermInvestmentsMember2021-07-040000851205us-gaap:AssetBackedSecuritiesMemberus-gaap:ShortTermInvestmentsMember2021-07-040000851205us-gaap:SovereignDebtSecuritiesMemberus-gaap:ShortTermInvestmentsMember2021-07-040000851205us-gaap:MunicipalBondsMemberus-gaap:ShortTermInvestmentsMember2021-07-040000851205cgnx:LongTermInvestmentsMemberus-gaap:CorporateBondSecuritiesMember2021-07-040000851205us-gaap:AssetBackedSecuritiesMembercgnx:LongTermInvestmentsMember2021-07-040000851205us-gaap:USTreasurySecuritiesMembercgnx:LongTermInvestmentsMember2021-07-040000851205cgnx:LongTermInvestmentsMembercgnx:AgencyBondsMember2021-07-040000851205cgnx:LongTermInvestmentsMemberus-gaap:MunicipalBondsMember2021-07-040000851205us-gaap:SovereignDebtSecuritiesMembercgnx:LongTermInvestmentsMember2021-07-040000851205us-gaap:SovereignDebtSecuritiesMember2021-07-04xbrli:pure0000851205us-gaap:ContractTerminationMember2021-07-040000851205us-gaap:ContractTerminationMember2020-12-310000851205us-gaap:DistributionRightsMember2021-07-040000851205us-gaap:DevelopedTechnologyRightsMember2021-07-040000851205cgnx:CustomerContractsAndRelationshipsMember2021-07-040000851205us-gaap:OtherIntangibleAssetsMember2021-07-040000851205us-gaap:TrademarksMember2021-07-040000851205us-gaap:DistributionRightsMember2020-12-310000851205us-gaap:DevelopedTechnologyRightsMember2020-12-310000851205cgnx:CustomerContractsAndRelationshipsMember2020-12-310000851205us-gaap:OtherIntangibleAssetsMember2020-12-310000851205us-gaap:TrademarksMember2020-12-310000851205cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember2021-07-040000851205us-gaap:DevelopedTechnologyRightsMembercgnx:SualabMember2020-03-302020-06-280000851205us-gaap:InProcessResearchAndDevelopmentMembercgnx:SualabMember2020-03-302020-06-280000851205cgnx:CustomerContractsAndRelationshipsMembercgnx:SualabMember2020-03-302020-06-280000851205cgnx:CustomerContractsAndRelationshipsMembercgnx:EnShapeGmbHMember2020-05-260000851205cgnx:CustomerContractsAndRelationshipsMembercgnx:EnShapeGmbHMember2020-06-280000851205cgnx:CustomerContractsAndRelationshipsMembercgnx:EnShapeGmbHMember2020-03-302020-06-280000851205us-gaap:NondesignatedMember2021-01-012021-07-04iso4217:CNY0000851205us-gaap:NondesignatedMembercurrency:CNY2021-07-040000851205us-gaap:NondesignatedMembercurrency:CNY2020-12-31iso4217:EUR0000851205us-gaap:NondesignatedMembercurrency:EUR2021-07-040000851205us-gaap:NondesignatedMembercurrency:EUR2020-12-31iso4217:KRW0000851205us-gaap:NondesignatedMembercurrency:KRW2021-07-040000851205us-gaap:NondesignatedMembercurrency:KRW2020-12-31iso4217:MXN0000851205currency:MXNus-gaap:NondesignatedMember2021-07-040000851205currency:MXNus-gaap:NondesignatedMember2020-12-31iso4217:JPY0000851205us-gaap:NondesignatedMembercurrency:JPY2021-07-040000851205us-gaap:NondesignatedMembercurrency:JPY2020-12-31iso4217:HUF0000851205us-gaap:NondesignatedMembercurrency:HUF2021-07-040000851205us-gaap:NondesignatedMembercurrency:HUF2020-12-31iso4217:GBP0000851205us-gaap:NondesignatedMembercurrency:GBP2021-07-040000851205us-gaap:NondesignatedMembercurrency:GBP2020-12-31iso4217:TWD0000851205currency:TWDus-gaap:NondesignatedMember2021-07-040000851205currency:TWDus-gaap:NondesignatedMember2020-12-31iso4217:CAD0000851205currency:CADus-gaap:NondesignatedMember2021-07-040000851205currency:CADus-gaap:NondesignatedMember2020-12-31iso4217:SGD0000851205us-gaap:NondesignatedMembercurrency:SGD2021-07-040000851205us-gaap:NondesignatedMembercurrency:SGD2020-12-310000851205us-gaap:NondesignatedMemberus-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2021-07-040000851205us-gaap:NondesignatedMemberus-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2020-12-310000851205us-gaap:NondesignatedMembercgnx:AccruedExpensesMember2021-07-040000851205us-gaap:NondesignatedMembercgnx:AccruedExpensesMember2020-12-310000851205us-gaap:NondesignatedMemberus-gaap:ForeignCurrencyGainLossMember2021-04-052021-07-040000851205us-gaap:NondesignatedMemberus-gaap:ForeignCurrencyGainLossMember2020-03-302020-06-280000851205us-gaap:NondesignatedMemberus-gaap:ForeignCurrencyGainLossMember2021-01-012021-07-040000851205us-gaap:NondesignatedMemberus-gaap:ForeignCurrencyGainLossMember2020-01-012020-06-280000851205srt:AmericasMember2021-04-052021-07-040000851205srt:AmericasMember2020-03-302020-06-280000851205srt:AmericasMember2021-01-012021-07-040000851205srt:AmericasMember2020-01-012020-06-280000851205srt:EuropeMember2021-04-052021-07-040000851205srt:EuropeMember2020-03-302020-06-280000851205srt:EuropeMember2021-01-012021-07-040000851205srt:EuropeMember2020-01-012020-06-280000851205country:CN2021-04-052021-07-040000851205country:CN2020-03-302020-06-280000851205country:CN2021-01-012021-07-040000851205country:CN2020-01-012020-06-280000851205cgnx:AsiaExcludingChinaMember2021-04-052021-07-040000851205cgnx:AsiaExcludingChinaMember2020-03-302020-06-280000851205cgnx:AsiaExcludingChinaMember2021-01-012021-07-040000851205cgnx:AsiaExcludingChinaMember2020-01-012020-06-280000851205cgnx:StandardProductsandServicesMember2021-04-052021-07-040000851205cgnx:StandardProductsandServicesMember2020-03-302020-06-280000851205cgnx:StandardProductsandServicesMember2021-01-012021-07-040000851205cgnx:StandardProductsandServicesMember2020-01-012020-06-280000851205cgnx:ApplicationSpecificCustomerSolutionsMember2021-04-052021-07-040000851205cgnx:ApplicationSpecificCustomerSolutionsMember2020-03-302020-06-280000851205cgnx:ApplicationSpecificCustomerSolutionsMember2021-01-012021-07-040000851205cgnx:ApplicationSpecificCustomerSolutionsMember2020-01-012020-06-280000851205us-gaap:EmployeeStockOptionMember2021-07-040000851205cgnx:GeneralStockOptionPlanMembersrt:MinimumMember2021-01-012021-07-040000851205cgnx:GeneralStockOptionPlanMembersrt:MaximumMember2021-01-012021-07-040000851205us-gaap:EmployeeStockOptionMember2021-01-012021-07-040000851205us-gaap:PerformanceSharesMember2021-01-012021-07-040000851205us-gaap:RestrictedStockUnitsRSUMember2020-12-310000851205us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-07-040000851205us-gaap:RestrictedStockUnitsRSUMember2021-07-040000851205us-gaap:RestrictedStockUnitsRSUMember2021-04-052021-07-040000851205us-gaap:RestrictedStockUnitsRSUMember2020-03-302020-06-280000851205us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-06-28cgnx:group0000851205us-gaap:CostOfGoodsTotalMember2021-04-052021-07-040000851205us-gaap:CostOfGoodsTotalMember2020-03-302020-06-280000851205us-gaap:CostOfGoodsTotalMember2021-01-012021-07-040000851205us-gaap:CostOfGoodsTotalMember2020-01-012020-06-280000851205us-gaap:ResearchAndDevelopmentExpenseMember2021-04-052021-07-040000851205us-gaap:ResearchAndDevelopmentExpenseMember2020-03-302020-06-280000851205us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-07-040000851205us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-06-280000851205cgnx:SellingGeneralAndAdministrativeMember2021-04-052021-07-040000851205cgnx:SellingGeneralAndAdministrativeMember2020-03-302020-06-280000851205cgnx:SellingGeneralAndAdministrativeMember2021-01-012021-07-040000851205cgnx:SellingGeneralAndAdministrativeMember2020-01-012020-06-280000851205cgnx:RepurchaseProgramOctober2018Member2018-10-290000851205cgnx:RepurchaseProgramOctober2018Member2021-01-012021-07-040000851205cgnx:RepurchaseProgramOctober2018Member2020-01-012020-06-280000851205cgnx:RepurchaseProgramMarch2020Member2020-03-120000851205us-gaap:RevenueCommissionersIrelandMemberus-gaap:ForeignCountryMember2021-04-052021-07-040000851205us-gaap:ForeignCountryMemberus-gaap:StateAdministrationOfTaxationChinaMember2021-04-052021-07-040000851205country:KPus-gaap:ForeignCountryMember2021-04-052021-07-040000851205us-gaap:DomesticCountryMember2021-04-052021-07-040000851205us-gaap:EmployeeStockOptionMember2021-04-052021-07-040000851205us-gaap:EmployeeStockOptionMember2021-01-012021-07-040000851205us-gaap:EmployeeStockOptionMember2020-03-302020-06-280000851205us-gaap:EmployeeStockOptionMember2020-01-012020-06-280000851205us-gaap:RestrictedStockMember2021-04-052021-07-040000851205us-gaap:RestrictedStockMember2021-01-012021-07-040000851205us-gaap:RestrictedStockMember2020-03-302020-06-280000851205us-gaap:RestrictedStockMember2020-01-012020-06-2800008512052020-05-260000851205us-gaap:OneTimeTerminationBenefitsMember2020-03-302020-06-280000851205us-gaap:ContractTerminationMember2020-03-302020-06-280000851205us-gaap:OtherRestructuringMember2020-03-302020-06-280000851205us-gaap:AccruedLiabilitiesMemberus-gaap:OneTimeTerminationBenefitsMember2020-12-310000851205us-gaap:AccruedLiabilitiesMemberus-gaap:ContractTerminationMember2020-12-310000851205us-gaap:OtherRestructuringMemberus-gaap:AccruedLiabilitiesMember2020-12-310000851205us-gaap:AccruedLiabilitiesMember2020-12-310000851205us-gaap:AccruedLiabilitiesMemberus-gaap:OneTimeTerminationBenefitsMember2021-01-012021-07-040000851205us-gaap:AccruedLiabilitiesMemberus-gaap:ContractTerminationMember2021-01-012021-07-040000851205us-gaap:OtherRestructuringMemberus-gaap:AccruedLiabilitiesMember2021-01-012021-07-040000851205us-gaap:AccruedLiabilitiesMember2021-01-012021-07-040000851205us-gaap:AccruedLiabilitiesMemberus-gaap:OneTimeTerminationBenefitsMember2021-07-040000851205us-gaap:AccruedLiabilitiesMemberus-gaap:ContractTerminationMember2021-07-040000851205us-gaap:OtherRestructuringMemberus-gaap:AccruedLiabilitiesMember2021-07-040000851205us-gaap:AccruedLiabilitiesMember2021-07-040000851205us-gaap:SubsequentEventMember2021-08-052021-08-05

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549 
FORM 10-Q 
(Mark One)
Quarterly Report pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934 for the quarterly period ended July 4, 2021 or
Transition Report pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934 for the transition period from __________ to __________

Commission File Number 001-34218
COGNEX CORPORATION
(Exact name of registrant as specified in its charter)
Massachusetts 04-2713778
(State or other jurisdiction of
incorporation or organization)
 (I.R.S. Employer
Identification No.)

One Vision Drive
Natick, Massachusetts 01760-2059
(508) 650-3000
(Address, including zip code, and telephone number, including area code, of principal executive offices)

Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, par value $.002 per shareCGNXThe NASDAQ Stock Market LLC

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

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

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and "emerging growth company" in Rule 12b-2 of the Exchange Act (Check one):
Large accelerated filer  Accelerated filer
Non-accelerated filer  Smaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    
 Yes   No  
As of July 4, 2021, there were 176,707,164 shares of Common Stock, $.002 par value per share, of the registrant outstanding.



INDEX
 
PART IFINANCIAL INFORMATION
Financial Statements (interim periods unaudited)

2


PART I: FINANCIAL INFORMATION
ITEM 1: FINANCIAL STATEMENTS

COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(In thousands, except per share amounts)
 
 Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
 (unaudited)(unaudited)
Revenue$269,158 $169,097 $508,185 $336,332 
Cost of revenue68,432 50,320 122,477 91,520 
Gross margin200,726 118,777 385,708 244,812 
Research, development, and engineering expenses31,302 30,397 65,407 66,343 
Selling, general, and administrative expenses76,843 60,153 149,267 129,291 
Restructuring charges (Note 16) 14,798  14,798 
Intangible asset impairment charges (Note 8) 19,571  19,571 
Operating income (loss)92,581 (6,142)171,034 14,809 
Foreign currency gain (loss)(639)336 (1,647)(2,667)
Investment income1,723 3,291 3,277 8,520 
Other income (expense)(127)203 (295)20 
Income (loss) before income tax expense (benefit)93,538 (2,312)172,369 20,682 
Income tax expense (benefit)15,940 (1,170)24,923 1,347 
Net income (loss)$77,598 $(1,142)$147,446 $19,335 
Net income (loss) per weighted-average common and common-equivalent share:
Basic$0.44 $(0.01)$0.84 $0.11 
Diluted$0.43 $(0.01)$0.82 $0.11 
Weighted-average common and common-equivalent shares outstanding:
Basic176,626 172,283 176,454 172,345 
Diluted179,991 172,283 179,982 175,499 
Cash dividends per common share$0.060 $0.055 $0.120 $0.110 













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


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands)
 
 Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
 (unaudited)(unaudited)
Net income (loss)$77,598 $(1,142)$147,446 $19,335 
Other comprehensive income (loss), net of tax:
Available-for-sale investments:
Net unrealized gain (loss), net of tax of $(61) and $(836) in the three-month periods and net of tax of $(646) and $(1,788) in the six-month periods, respectively
(138)12,451 (2,096)8,590 
Reclassification of credit loss (recovery) on investments into current operations (85) 75 
Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations(68)(955)(68)(2,805)
Net change related to available-for-sale investments(206)11,411 (2,164)5,860 
Foreign currency translation adjustments:
Foreign currency translation adjustments(337)1,903 (3,107)(5,462)
Net change related to foreign currency translation adjustments(337)1,903 (3,107)(5,462)
Other comprehensive income (loss), net of tax(543)13,314 (5,271)398 
Total comprehensive income$77,055 $12,172 $142,175 $19,733 

















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


COGNEX CORPORATION
CONSOLIDATED BALANCE SHEETS
(In thousands)
 
July 4, 2021December 31, 2020
 (unaudited) 
ASSETS
Current assets:
Cash and cash equivalents$217,037 $269,073 
Current investments, amortized cost of $189,818 and $102,258 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020
190,747 103,240 
Accounts receivable, allowance for credit losses of $803 and $831 in 2021 and 2020, respectively
149,157 125,696 
Unbilled revenue1,788 5,632 
Inventories68,503 60,830 
Prepaid expenses and other current assets65,646 37,220 
Total current assets692,878 601,691 
Non-current investments, amortized cost of $542,015 and $390,417 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020
543,965 395,125 
Property, plant, and equipment, net76,972 79,173 
Operating lease assets21,277 22,582 
Goodwill242,906 244,078 
Intangible assets, net13,702 15,555 
Deferred income taxes425,618 434,704 
Other assets7,603 7,794 
Total assets$2,024,921 $1,800,702 
LIABILITIES AND SHAREHOLDERS’ EQUITY
Current liabilities:
Accounts payable$32,304 $16,270 
Accrued expenses76,653 77,264 
Accrued income taxes11,644 9,379 
Deferred revenue and customer deposits76,445 21,274 
Operating lease liabilities7,888 8,110 
Total current liabilities204,934 132,297 
Non-current operating lease liabilities16,362 18,120 
Deferred income taxes306,355 314,952 
Reserve for income taxes15,227 14,257 
Non-current accrued income taxes40,963 48,915 
Other liabilities11,626 9,959 
Total liabilities595,467 538,500 
Shareholders’ equity:
Preferred stock, $.01 par value – Authorized: 400 shares in 2021 and 2020, respectively, no shares issued and outstanding
  
Common stock, $.002 par value – Authorized: 300,000 shares in 2021 and 2020, respectively, issued and outstanding: 176,707 and 175,790 shares in 2021 and 2020, respectively
353 352 
Additional paid-in capital874,883 807,739 
Retained earnings593,290 487,912 
Accumulated other comprehensive loss, net of tax(39,072)(33,801)
Total shareholders’ equity1,429,454 1,262,202 
Total liabilities and shareholders' equity$2,024,921 $1,800,702 


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


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
 Six-months Ended
July 4, 2021June 28, 2020
 (unaudited)
Cash flows from operating activities:
Net income$147,446 $19,335 
Adjustments to reconcile net income to net cash provided by operating activities:
Stock-based compensation expense22,739 22,808 
Depreciation of property, plant, and equipment8,510 11,162 
Loss on disposal of property, plant, and equipment4 1,214 
Amortization of intangible assets1,853 2,582 
Intangible asset impairment charges 19,571 
Excess and obsolete inventory charges1,816 8,783 
Operating lease asset impairment charges 2,534 
Amortization of discounts or premiums on investments1,840 328 
Realized gain on sale of investments(68)(2,805)
Credit loss on investments 75 
Revaluation of contingent consideration (114)
Change in deferred income taxes973 1,395 
Change in operating assets and liabilities:
Accounts receivable(23,488)(8,957)
Unbilled revenue3,844 3,804 
Inventories(9,521)(1,664)
Prepaid expenses and other current assets(28,830)(25,461)
Accounts payable16,058 143 
Accrued expenses206 15,806 
Accrued income taxes(5,588)(25,411)
Deferred revenue and customer deposits55,220 32,586 
Other1,711 (1,534)
Net cash provided by operating activities194,725 76,180 
Cash flows from investing activities:
Purchases of investments(511,625)(317,540)
Maturities and sales of investments270,696 387,765 
Purchases of property, plant, and equipment(6,550)(6,985)
Net cash provided by (used in) investing activities(247,479)63,240 
Cash flows from financing activities:
Net proceeds from issuance of common stock under stock plans44,407 48,235 
Repurchase of common stock(20,877)(51,036)
Payment of dividends(21,192)(18,972)
Payment of contingent consideration (1,039)
Net cash provided by (used in) financing activities2,338 (22,812)
Effect of foreign exchange rate changes on cash and cash equivalents(1,620)(2,018)
Net change in cash and cash equivalents(52,036)114,590 
Cash and cash equivalents at beginning of period269,073 171,431 
Cash and cash equivalents at end of period$217,037 $286,021 

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


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of April 4, 2021176,608 $353 $854,491 $540,686 $(38,529)$1,357,001 
Net issuance of common stock under stock plans277 1 9,662 — — 9,663 
Repurchase of common stock(178)(1)— (14,397)— (14,398)
Stock-based compensation expense— — 10,730 — — 10,730 
Payment of dividends ($0.060 per common share)
— — — (10,597)— (10,597)
Net income— — — 77,598 — 77,598 
Net unrealized gain (loss) on available-for-sale investments, net of tax of $(61)
— — — — (138)(138)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments— — — — (68)(68)
Foreign currency translation adjustment— — — — (337)(337)
Balance as of July 4, 2021 (unaudited)176,707 $353 $874,883 $593,290 $(39,072)$1,429,454 
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of March 29, 2020171,688 $344 $664,132 $713,208 $(50,191)$1,327,493 
Net issuance of common stock under stock plans1,359 2 38,262 — — 38,264 
Stock-based compensation expense— — 8,018 — — 8,018 
Payment of dividends ($0.055 per common share)
— — — (9,469)— (9,469)
Net income (loss)— — — (1,142)— (1,142)
Net unrealized gain (loss) on available-for-sale investments, net of tax of $(836)
— — — — 12,451 12,451 
Reclassification of credit loss (recovery) on investments— — — — (85)(85)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments— — — — (955)(955)
Foreign currency translation adjustment— — — — 1,903 1,903 
Balance as of June 28, 2020 (unaudited)173,047 $346 $710,412 $702,597 $(36,877)$1,376,478 








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


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of December 31, 2020175,790 $352 $807,739 $487,912 $(33,801)$1,262,202 
Net issuance of common stock under stock plans1,175 2 44,405 — — 44,407 
Repurchase of common stock(258)(1)— (20,876)— (20,877)
Stock-based compensation expense— — 22,739 — — 22,739 
Payment of dividends ($0.120 per common share)
— — — (21,192)— (21,192)
Net income— — — 147,446 — 147,446 
Net unrealized gain (loss) on available-for-sale investments, net of tax of $(646)
— — — — (2,096)(2,096)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments— — — — (68)(68)
Foreign currency translation adjustment— — — — (3,107)(3,107)
Balance as of July 4, 2021 (unaudited)176,707 $353 $874,883 $593,290 $(39,072)$1,429,454 

 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of December 31, 2019172,440 $345 $639,372 $753,268 $(37,275)$1,355,710 
Net issuance of common stock under stock plans1,822 3 48,232 — — 48,235 
Repurchase of common stock(1,215)(2)— (51,034)— (51,036)
Stock-based compensation expense— — 22,808 — — 22,808 
Payment of dividends ($0.110 per common share)
— — — (18,972)— (18,972)
Net income— — — 19,335 — 19,335 
Net unrealized gain (loss) on available-for-sale investments, net of tax of $(1,788)
— — — — 8,590 8,590 
Reclassification of credit loss (recovery) on investments— — — — 75 75 
Reclassification of net realized (gain) loss on the sale of available-for-sale investments— — — — (2,805)(2,805)
Foreign currency translation adjustment— — — — (5,462)(5,462)
Balance as of June 28, 2020 (unaudited)173,047 $346 $710,412 $702,597 $(36,877)$1,376,478 








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


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

NOTE 1: Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020 for a full description of other significant accounting policies.
In the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, excess and obsolete inventory charges (Note 5), intangible asset impairment charges (Note 8), restructuring charges (Note 16) and financial statement reclassifications necessary to present fairly the Company’s financial position as of July 4, 2021, and the results of its operations for the three-month and six-month periods ended July 4, 2021 and June 28, 2020, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended July 4, 2021 are not necessarily indicative of the results to be expected for the full year.
NOTE 2: New Pronouncements
Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"
The amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs"
The amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"
The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.

9


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


NOTE 3: Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July 4, 2021 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$200 $ 
Corporate bonds 482,236  
Treasury bills 130,961  
Asset-backed securities 90,265  
Agency bonds 18,960  
Municipal bonds 6,997  
Sovereign bonds 5,293  
Economic hedge forward contracts 47  
Liabilities:
Economic hedge forward contracts 585  

The Company’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.
The Company’s debt securities and forward contracts are reported at fair value based on 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.
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. 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.

The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. in 2017 was written down to zero in 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of July 4, 2021. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next year.


10


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)



Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis

Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets for potential impairment as of May 26, 2020, which resulted in operating lease asset impairment charges of $2,534,000 (refer to Notes 6 and 16) that were included in "Restructuring charges" on the Consolidated Statements of Operations, and intangible asset impairment charges of $19,571,000 (refer to Note 8) in the second quarter of 2020. These fair value measurements were based upon the present values of future cash flows using significant inputs that were not observable in the market, and were therefore classified as Level 3.
No triggering event occurred in the six-month period ended July 4, 2021 that would indicate a potential impairment of long-lived assets. However, the Company continues to monitor global economic conditions, as events or changes in circumstances could result in an impairment of long-lived assets in a future period.
NOTE 4: Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
July 4, 2021December 31, 2020
Cash$216,837 $266,609 
Money market instruments200 2,464 
Cash and cash equivalents217,037 269,073 
Treasury bills92,939 35,403 
Corporate bonds66,452 32,714 
Asset-backed securities24,756 25,160 
Sovereign bonds4,196 8,660 
Municipal bonds2,404 1,303 
Current investments190,747 103,240 
Corporate bonds415,784 203,428 
Asset-backed securities65,509 67,058 
Treasury bills38,022 96,458 
Agency bonds18,960 19,006 
Municipal bonds4,593 5,735 
Sovereign bonds1,097 3,440 
Non-current investments543,965 395,125 
$951,749 $767,438 

Cash equivalents are highly liquid investments with insignificant interest rate risk and maturities of ninety days or less at the time of acquisition. Cash equivalents consist primarily of government and institutional money market funds; treasury bills consist of debt securities issued by the U.S. government; 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; 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. All of the Company's securities as of July 4, 2021 and December 31, 2020 were denominated in U.S. Dollars.





11


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)



Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $2,992,000 and $1,560,000 as of July 4, 2021 and December 31, 2020, respectively.
The following table summarizes the Company’s available-for-sale investments as of July 4, 2021 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Treasury bills$92,502 $437 $ $92,939 
Corporate bonds66,164 291 (3)66,452 
Asset-backed securities24,562 197 (3)24,756 
Sovereign bonds4,189 7  4,196 
Municipal bonds2,401 3  2,404 
Non-current:
Corporate bonds414,453 1,874 (543)415,784 
Asset-backed securities65,276 315 (82)65,509 
Treasury bills37,677 345  38,022 
Agency bonds18,921 39  18,960 
Municipal bonds4,592 12 (11)4,593 
Sovereign bonds1,096 1  1,097 
$731,833 $3,521 $(642)$734,712 
The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July 4, 2021 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$179,565 $(546)$ $ $179,565 $(546)
Asset-backed securities13,088 (85)  13,088 (85)
Municipal bonds3,946 (11)  3,946 (11)
$196,599 $(642)$ $ $196,599 $(642)
The Company's allowance for credit losses on debt securities was zero as of July 4, 2021 and December 31, 2020. There was no activity recorded in the allowance for credit losses during the three-month and six-month periods ended July 4, 2021. The Company recorded gross credit losses and gross credit recoveries totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020.

The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $68,000 and $0, respectively, for both the three-month and six-month periods ended July 4, 2021. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $962,000 and $7,000, respectively, for the three-month period ended June 28, 2020, and $2,826,000 and $21,000, respectively, for the six-month period ended June 28, 2020. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.
12


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


The following table presents the effective maturity dates of the Company’s available-for-sale investments as of July 4, 2021 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 Years5-8 YearsTotal
Corporate bonds$66,452 $161,596 $139,870 $77,234 $30,143 $6,941 $482,236 
Treasury bills92,939 37,917 105    130,961 
Asset-backed securities24,756 30,896 20,090 9,510  5,013 90,265 
Agency bonds 18,960     18,960 
Municipal bonds2,404 4,593     6,997 
Sovereign bonds4,196    1,097  5,293 
$190,747 $253,962 $160,065 $86,744 $31,240 $11,954 $734,712 

NOTE 5: Inventories
Inventories consisted of the following (in thousands):
July 4, 2021December 31, 2020
Raw materials$22,229 $26,800 
Work-in-process3,996 4,780 
Finished goods42,278 29,250 
$68,503 $60,830 

The Company recorded provisions for excess and obsolete inventories of $1,111,000 and $1,816,000 for the three-month and six-month periods ended July 4, 2021, respectively, and $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, which reduced the carrying value of the inventories to their net realizable value. Estimates in 2020 took into account the global economic conditions resulting from the COVID-19 pandemic.
NOTE 6: Leases
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of July 4, 2021. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of July 4, 2021.
The total operating lease expense for the three-month and six-month periods ended July 4, 2021 was $2,021,000 and $4,023,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July 4, 2021 were $2,014,000 and $4,075,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month and six-month periods ended July 4, 2021 was $38,000 and $78,000, respectively.
The total operating lease expense for the three-month and six-month periods ended June 28, 2020 was $2,147,000 and $4,053,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended June 28, 2020 were $2,091,000 and $3,954,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month and six-month periods ended June 28, 2020 was $23,000 and $62,000, respectively.

13


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2021$4,598 
20227,302 
20235,531 
20242,500 
20251,580 
20261,018 
Thereafter3,838 
$26,367 
The discounted present value of the future lease cash payments resulted in a lease liability of $24,250,000 and $26,230,000 as of July 4, 2021 and December 31, 2020, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of July 4, 2021 or December 31, 2020.
The weighted-average discount rate was 3.8% and 4.0% for the leases outstanding as of July 4, 2021 and December 31, 2020, respectively. The weighted-average remaining lease term was 4.8 and 5.1 years for the leases outstanding as of July 4, 2021 and December 31, 2020, respectively.
Management closed eleven leased offices in 2020, prior to the end of their lease terms, as a part of the Company's restructuring plan (refer to Note 16). The carrying value of the lease assets associated with the majority of these offices was reduced to zero as of June 28, 2020, resulting in operating lease asset impairment charges of $2,534,000 for the three-month period ended June 28, 2020 that are included in "Restructuring charges" on the Consolidated Statements of Operations. Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices, which obligations totaled $2,264,000 and $2,877,000 as of July 4, 2021 and December 31, 2020, respectively, and are included in "Operating lease liabilities" on the Consolidated Balance Sheets.
NOTE 7: Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2020$244,078 
  Foreign exchange rate changes(1,172)
Balance as of July 4, 2021$242,906 
The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets, including goodwill, for potential impairment during the second quarter of 2020. Based on this assessment, management concluded that events and circumstances did not indicate the fair value of the reporting unit was less than its carrying value. Factors that management considered in this qualitative assessment included macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, changes in the composition or carrying amount of net assets, and market capitalization.

14


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


NOTE 8: Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060 $38,060 $ 
Completed technologies24,217 13,835 10,382 
Customer relationships10,578 7,520 3,058 
Non-compete agreements710 464 246 
Trademarks110 94 16 
Balance as of July 4, 2021$73,675 $59,973 $13,702 
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060 $38,060 $ 
Completed technologies24,217 12,397 11,820 
Customer relationships10,578 7,160 3,418 
Non-compete agreements710 436 274 
Trademarks110 67 43 
Balance as of December 31, 2020$73,675 $58,120 $15,555 

As of July 4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2021$1,803 
20223,286 
20232,594 
20242,080 
20251,757 
20261,452 
Thereafter730 
$13,702 

The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets, including intangible assets, for potential impairment during the second quarter of 2020. Based on this assessment, management concluded that certain of the Company's finite-lived intangible assets failed the recoverability test, and recorded impairment charges for these assets equal to the amount by which their carrying value exceeded their fair value. The Company also measured the fair value and recorded an impairment charge for its indefinite-lived intangible asset related to in-process technologies. The fair values were established, with the assistance of an outside valuation advisor, using the income approach based on a discounted cash flow model that estimated future revenue streams and expenses attributable to those revenue streams provided by management.





15


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


This review resulted in intangible asset impairment charges totaling $19,571,000 in the second quarter of 2020, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab Co. Ltd. ("Sualab") as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Completed technologies, in-process technologies, and customer relationships acquired from Sualab were impaired in the amounts of $10,070,000, $5,900,000, and $3,382,000, respectively. In addition, customer relationships acquired from EnShape GmbH that had a gross carrying value of $447,000 and accumulated amortization of $228,000 on the measurement date were reduced to zero, resulting in an impairment charge of $219,000. The Company did not record impairment charges related to intangible assets during the three-month or six-month periods ended July 4, 2021.
NOTE 9: Warranty Obligations
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 changes in 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’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. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2020$5,406 
Provisions for warranties issued during the period1,693 
Fulfillment of warranty obligations(1,235)
Balance as of July 4, 2021$5,864 
NOTE 10: Derivative Instruments
The Company’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. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities of up to 95 days 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.
16


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


The Company had the following outstanding forward contracts (in thousands):
July 4, 2021December 31, 2020
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Chinese Renminbi490,000 $75,228  $ 
Euro35,000 41,457 50,000 61,342 
Korean Won21,000,000 18,483 6,925,000 6,377 
Mexican Peso130,000 6,519 155,000 7,776 
Japanese Yen600,000 5,391 600,000 5,808 
Hungarian Forint1,235,000 4,149 1,330,000 4,494 
British Pound2,820 3,881 1,675 2,287 
Taiwanese Dollar42,150 1,511 38,035 1,362 
Canadian Dollar1,435 1,160 1,285 1,010 
Singapore Dollar1,550 1,149 1,465 1,110 

Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
July 4, 2021December 31, 2020Sheet
Location
July 4, 2021December 31, 2020
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$47 $265 Accrued expenses$585 $38 

The following table presents 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):
Asset DerivativesLiability Derivatives
July 4, 2021December 31, 2020July 4, 2021December 31, 2020
Gross amounts of recognized assets$47 $265 Gross amounts of recognized liabilities$585 $38 
Gross amounts offset  Gross amounts offset  
Net amount of assets presented$47 $265 Net amount of liabilities presented$585 $38 

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$(746)$60 $2,148 $(8,180)

17


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


NOTE 11: Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Americas$108,418 $68,966 $216,254 $129,214 
Europe59,967 35,987 117,015 84,569 
Greater China59,706 31,898 97,944 58,301 
Other Asia41,067 32,246 76,972 64,248 
$269,158 $169,097 $508,185 $336,332 

The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Standard products and services$234,322 $158,807 $456,648 $311,662 
Application-specific customer solutions34,836 10,290 51,537 24,670 
$269,158 $169,097 $508,185 $336,332 

Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $25,328,000 and $6,846,000 as of July 4, 2021 and December 31, 2020, respectively.

Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.

The following table summarizes the allowance for credit losses activity for the six-month period ended July 4, 2021 (in thousands):
Balance as of December 31, 2020$831 
Increases to the allowance for credit losses 
Write-offs, net of recoveries(28)
Foreign exchange rate changes 
Balance as of July 4, 2021$803 
18


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)



The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July 4, 2021 (in thousands):
Balance as of December 31, 2020$21,274 
Deferral of revenue billed in the current period, net of recognition69,372 
Recognition of revenue deferred in prior period(14,155)
Foreign exchange rate changes(46)
Balance as of July 4, 2021$76,445 

As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
NOTE 12: Stock-Based Compensation Expense
Stock Plans
The Company’s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of July 4, 2021, the Company had 15,692,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the six-month period ended July 4, 2021:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 20208,970 $44.73 
Granted469 89.19 
Exercised(1,167)38.51 
Forfeited or expired(171)50.95 
Outstanding as of July 4, 20218,101 $48.07 6.91$298,370 
Exercisable as of July 4, 20213,652 $38.46 5.72$168,497 
Options vested or expected to vest as of July 4, 2021 (1)7,474 $47.27 6.81$281,063 
 (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.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Risk-free rate1.5 %1.6 %1.3 %1.6 %
Expected dividend yield0.31 %0.43 %0.27 %0.43 %
Expected volatility39 %37 %39 %37 %
Expected term (in years)7.16.05.86.0
19


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)



Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month and six-month periods ended July 4, 2021 were $32.07 and $33.47, respectively, and during the three-month and six-month periods ended June 28, 2020 were $19.13 and $18.52, respectively.
The total intrinsic values of stock options exercised for the three-month and six-month periods ended July 4, 2021 were $11,621,000 and $53,948,000, respectively, and for the three-month and six-month periods ended June 28, 2020 were $39,359,000 and $53,814,000, respectively. The total fair values of stock options vested for the three-month and six-month periods ended July 4, 2021 were $1,830,000 and $37,430,000, respectively, and for the three-month and six-month periods ended June 28, 2020 were $1,287,000 and $37,951,000, respectively.
Restricted Stock Units (RSUs)
The following table summarizes the Company's RSUs activity for the six-month period ended July 4, 2021:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 2020554 $51.27 
Granted296 87.46 
Vested(15)56.61 
Forfeited or expired(27)54.60 
Nonvested as of July 4, 2021808 $64.31 
The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended July 4, 2021 were $75.98 and $87.46, respectively, and during the three-month and six-month periods ended June 28, 2020 were $56.97 and $51.53, respectively. There were 13,000 and 15,000 RSUs that vested during the three-month and six-month periods ended July 4, 2021, respectively. There were no RSUs that vested during the three-month and six-month periods ended June 28, 2020.
Stock-Based Compensation Expense
The Company segments its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 8% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $255,000 in 2021 and an increase to compensation expense of $1,787,000 in 2020.



20


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


As of July 4, 2021, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $63,625,000, which is expected to be recognized over a weighted-average period of 1.8 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July 4, 2021 were $10,730,000 and $1,651,000, respectively, and for the six-month period ended July 4, 2021 were $22,739,000 and $3,464,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended June 28, 2020 were $8,018,000 and $1,277,000, respectively, and for the six-month period ended June 28, 2020 were $22,808,000 and $3,841,000, respectively. Stock-based compensation expense recognized for the three-month and six-month periods ended June 28, 2020 included credits of $1,401,000 relating to grants cancelled as a result of the Company's workforce reduction in the second quarter of 2020. No compensation expense was capitalized as of July 4, 2021 or December 31, 2020.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Cost of revenue$351 $363 $599 $717 
Research, development, and engineering3,064 2,401 7,067 7,767 
Selling, general, and administrative7,315 5,254 15,073 14,324 
$10,730 $8,018 $22,739 $22,808 
NOTE 13: Stock Repurchase Program
In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July 4, 2021, the Company repurchased 3,075,000 shares at a cost of $142,225,000 under this program, including 258,000 shares at a cost of $20,877,000 during the six-month period ended July 4, 2021, leaving a remaining balance of $57,775,000. 1,215,000 shares at a cost of $51,036,000 were repurchased during the six-month period ended June 28, 2020 under this October 2018 program. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 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 awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.

21


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


NOTE 14: Income Taxes
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Income tax expense (benefit) at U.S. federal statutory corporate tax rate21 %(21)%21 %21 %
State income taxes, net of federal benefit2 %(1)%2 %1 %
Foreign tax rate differential(5)%5 %(5)%(5)%
Tax credit(1)%2 %(1)%(2)%
Discrete tax benefit related to stock options(2)%(191)%(4)%(29)%
Discrete tax expense related to tax return filings1 %141 % %17 %
Tax rate adjustment %18 % % %
Other1 %(4)%1 %4 %
Income tax expense (benefit)17 %(51)%14 %7 %

The Company recorded discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises that resulted in a favorable impact to the effective tax rate of 2% and 4% for the three-month and six-month periods ended July 4, 2021, respectively, and 191% and 29% for the three-month and six-month periods ended June 28, 2020, respectively. In addition to stock option exercises, other discrete adjustments recorded included the final true-up of the prior year's tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 1% for the three-month period ended July 4, 2021 and no impact for the six-month period ended July 4, 2021, and an unfavorable impact to the effective tax rate of 141% and 17% for the same periods in 2020.
Excluding the impact of these discrete items, the Company’s effective tax rate was an expense of 18% of pre-tax income for both the three-month and six-month periods ended July 4, 2021, compared to a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the same periods in 2020. The decrease in the effective tax rate for the six-month period, excluding the impact of discrete items, was due to a lower percentage of the Company's pre-tax income being earned and taxed in higher tax jurisdictions. There was an adjustment in the three-month period in 2020 to bring the year-to-date effective tax rate to 19%.
During the six-month period ended July 4, 2021, the Company recorded a $935,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $370,000 for the six-month period ended July 4, 2021.
The Company’s reserve for income taxes, including gross interest and penalties, was $16,255,000 as of July 4, 2021, which included $15,227,000 classified as a non-current liability and $1,028,000 recorded as a reduction to non-current deferred tax assets. If the Company’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 $450,000 to $500,000 over the next twelve months.
The Company has defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 25% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in an impact to the effective tax rate of 5% for both the three-month and six-month periods ended July 4, 2021, and an impact of 5% for the same periods in 2020.



22


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)


Within the United States, the tax years 2017 through 2020 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2016 through 2020 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company is under audit by the IRS for the tax years 2017 and 2018. Additionally, the Company is under audit by the Commonwealth of Massachusetts for tax years 2017 and 2018. Management believes the Company is adequately reserved for these audits. The final determination of tax audits could result in favorable or unfavorable changes in our estimates.
NOTE 15: Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Basic weighted-average common shares outstanding176,626 172,283 176,454 172,345 
Effect of dilutive equity awards3,365  3,528 3,154 
Weighted-average common and common-equivalent shares outstanding179,991 172,283 179,982 175,499 

Stock options to purchase 701,000 and 591,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 4, 2021, respectively, and 5,801,000 and 6,328,000 for the same periods in 2020, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 500 and 1,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 4, 2021, respectively, and 27,000 and 14,000 for the same periods in 2020, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Additionally, because the Company recorded a cumulative net loss during the three-month period ended June 28, 2020, potential common stock equivalents of 3,120,000 were not included in the calculation of diluted net loss per share for this period.
NOTE 16: Restructuring Charges

On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures.

As of December 31, 2020, the majority of these actions were completed and no additional charges are expected to be incurred in future periods in relation to this restructuring plan. There were no restructuring charges recognized during the three-month or six-month periods ended July 4, 2021.

The following table summarizes the restructuring charges incurred in the three-month period ended June 28, 2020 (in thousands):
Incurred in the Three-months Ended June 28, 2020
One-time termination benefits$10,386 
Contract termination costs3,995 
Other associated costs417 
$14,798 

One-time termination benefits included severance, health insurance, and outplacement services for 181 employees who were either terminated during the second quarter of 2020, or were notified during the second quarter of 2020 that they would be terminated at a future date. For employees not required to render service beyond a minimum retention period, the one-time termination benefits were recognized in the three-month period ended June 28, 2020. Otherwise, these benefits, including retention bonuses for selected employees, were recognized over the service period, which was completed by December 31, 2020.
23


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)



Contract termination costs included operating lease asset impairment charges for offices closed prior to the end of the contractual lease term. These costs also included the write-off of leasehold improvements and other equipment related to these abandoned offices that had no alternative use, as well as other associated operating costs, such as utilities, that the Company is obligated to pay for the remainder of the lease term. These contract termination costs were primarily recognized in the second quarter of 2020 when the Company ceased using the property for economic benefit.

Other associated costs primarily included legal fees related to the employee termination actions, which were recognized when the services were performed.

The following table summarizes the activity for the six-month period ended July 4, 2021 in the Company’s restructuring reserve which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsOther Associated CostsTotal
Balance as of December 31, 2020$1,624 $750 $15 $2,389 
Cash payments(1,117)(131)(15)(1,263)
Foreign exchange rate changes (3) (3)
Balance as of July 4, 2021$507 $616 $ $1,123 
NOTE 17: Subsequent Events
On August 5, 2021, the Company’s Board of Directors declared a cash dividend of $0.060 per share. The dividend is payable on September 3, 2021 to all shareholders of record as of the close of business on August 20, 2021.

ITEM 2: MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

Forward-Looking Statements
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 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words “expects,” “anticipates,” “estimates,” “believes,” “projects,” “intends,” “plans,” “will,” “may,” “shall,” “could,” “should,” and similar words and other statements of a similar sense. These statements are based on 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, the expected impact of the COVID-19 pandemic on our assets, business and results of operations, customer order rates and timing of related revenue, future product mix, restructuring and other cost-savings initiatives, research and development activities, new product offerings, capital expenditures, investments, liquidity, dividends and stock repurchases, strategic plans, and estimated tax benefits and expenses and other tax matters, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include: (1) the impact, duration, and severity of the COVID-19 pandemic; (2) potential disruptions to our business due to restructuring activities; (3) the loss of, or curtailment of purchases by, large customers in the consumer electronics and logistics industries; (4) the reliance on revenue from the automotive industry; (5) the reliance on key suppliers to manufacture and deliver critical components for our products and potential disruptions to the supply chain, which could impact timely delivery of customer orders; (6) the failure to effectively manage product transitions or accurately forecast customer demand; (7) the inability to design and manufacture high-quality products; (8) the inability to attract and retain skilled employees and maintain our unique corporate culture; (9) the failure to effectively manage our growth; (10) the inability to achieve growth in revenue and profits from the logistics industry; (11) the technological obsolescence of current products and the inability to develop new products; (12) the failure to properly manage the distribution of products and services; (13) the impact of competitive pressures; (14) the challenges in integrating and achieving expected results from acquired businesses; (15) potential disruptions in our business systems; (16) information security breaches; (17) the inability to protect our proprietary technology and intellectual property; (18) potential impairment charges with respect to our investments or acquired intangible
24


assets; (19) exposure to additional tax liabilities; (20) fluctuations in foreign currency exchange rates and the use of derivative instruments; (21) our involvement in time-consuming and costly litigation; (22) unfavorable global economic conditions; and (23) economic, political, and other risks associated with international sales and operations. 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 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2020, as updated by Part II - Item 1A of this Quarterly Report on Form 10-Q. 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.

Executive Overview
Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate manufacturing and distribution tasks where vision is required. 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.
Cognex machine vision is used to automate manufacturing and distribution processes in a variety of industries, where the technology is widely recognized as an important component of automated production and quality assurance. Virtually every manufacturer can achieve better quality and manufacturing efficiency by using machine vision, and therefore, Cognex products are used by a broad base of customers across a variety of industries, including consumer electronics, automotive, consumer products, food and beverage, and medical-related. Cognex products are also used to automate distribution processes in the logistics industry, including for applications in retail distribution and e-commerce to scan, track, and sort goods through distribution centers.
The second quarter of 2020 was marked by a disruption to our business precipitated by the COVID-19 pandemic. In response, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs and optimize its business model. As a result of this plan, Cognex recorded restructuring, intangible asset impairment, and excess and obsolete inventory charges totaling over $42 million in the second quarter of 2020. Unless indicated otherwise, these charges are reflected in applicable year-on-year comparisons. Additional detail on these charges can be found by referring to the Notes to the Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Revenue for the second quarter of 2021 totaled $269,158,000, an increase of 59% from the second quarter of 2020, which was adversely impacted by global economic conditions related to the COVID-19 pandemic. The increase came from a broad base of industries, and most notably from the logistics, automotive, and consumer electronics industries.
Gross margin as a percentage of revenue improved to 75% for the second quarter of 2021 from 70% for the second quarter of 2020, primarily due to lower provisions for excess and obsolete inventories.
Operating expenses decreased by $16,774,000, or 13%, for the second quarter of 2021 compared to the same quarter in 2020, as restructuring and intangible asset impairment charges of $34,369,000 recorded in the second quarter of 2020 did not repeat. Excluding these charges, operating expenses increased by $17,595,000, or 19%, primarily due to higher incentive compensation costs and the impact of foreign currency exchange rate changes, partially offset by savings from cost-cutting measures implemented in 2020.
Operating income expanded to 34% of revenue for the second quarter of 2021 compared to an operating loss of 4% of revenue for the second quarter of 2020. Net income was 29% of revenue for the second quarter of 2021, or $0.43 per diluted share, compared to net loss of 1% of revenue for the second quarter of 2020, or $0.01 per diluted share.
Results of Operations
Revenue
Revenue increased by $100,061,000, or 59%, for the three-month period and increased by $171,853,000, or 51%, for the six-month period. This increase reflected a broad-based recovery from the COVID-19 pandemic, which most significantly impacted our business in the second quarter of 2020. Although revenue increased from the prior year in all major industries we serve, the most significant dollar increases came from our three largest markets of logistics, automotive, and consumer electronics. Included in our logistics growth is higher revenue from e-commerce customers that we believe may be benefiting from an online ordering trend that has grown since the COVID-19 pandemic. Growth in other industries also contributed to the increase, including higher revenue from customers in
25


the semiconductor and medical-related industries.
Compared to the first quarter of 2021, revenue increased by $30,131,000, or 13%, due largely to the timing of revenue in the consumer electronics industry. Revenue for the second quarter of 2021 was modestly impacted by delays of customer deliveries for certain products due to global supply shortages.
From a geographic perspective, revenue from customers based in the Americas increased by 57% for the three-month period and 67% for the six-month period driven by higher revenue in the logistics industry, and to a lesser extent, from applications in medical-related and automotive industries.
Revenue from customers based in Europe increased by 67% for the three-month period and 38% for the six-month period as a result of higher revenue from customers in a variety of industries, most notably automotive and logistics. Changes in foreign currency exchange rates accounted for approximately 10% of the revenue increase in both periods, and related to the translation of Euro denominated revenue to U.S. Dollars.
Revenue from customers based in Greater China increased by 87% for the three-month period and 68% for the six-month period due largely to higher revenue in the consumer electronics and automotive industries. A portion of the increase was driven by the timing of revenue in the consumer electronics industry, as there was a higher concentration of this revenue in the second quarter of 2021 compared to the second quarter of 2020. Changes in foreign currency exchange rates accounted for a relatively small percentage of the revenue increase in both periods, and related to the translation of Chinese Yuan denominated revenue to U.S. Dollars.
Revenue from other countries in Asia increased by 27% for the three-month period and 20% for the six-month period due primarily to higher revenue in the semiconductor and automotive industries.
As of the date of this report, we expect revenue for the third quarter of 2021 to be higher than the second quarter of 2021, due primarily to higher revenue from customers in the consumer electronics and logistics industries. Although we expect a sequential increase in revenue from the consumer electronics industry, we expect revenue from this industry to be lower than the prior year. Our estimates for the third quarter of 2021 assume continued delays of customer deliveries for certain products due to global supply shortages.
Gross Margin
Gross margin as a percentage of revenue was 75% and 76% for the three-month and six-month periods in 2021, respectively, compared to 70% and 73% for the same periods in 2020. The increase in the gross margin percentage was primarily due to lower provisions for excess and obsolete inventories as compared to the prior year. The higher provisions in 2020 took into account the global economic conditions resulting from the COVID-19 pandemic.
Gross margin as a percentage of revenue would be relatively consistent for all periods presented excluding the provisions for excess and obsolete inventories, as manufacturing efficiencies related to the higher revenue level were partially offset by a greater percentage of total revenue coming from the logistics industry, which has relatively lower gross margins. In addition, we paid higher prices to purchase inventories in the second quarter of 2021 due to global supply shortages that we expect to continue for the remainder of the year.
As of the date of this report, we expect gross margin as a percentage of revenue for the third quarter of 2021 to be in the low-to-mid 70% range, but likely lower than the 75% reported for the second quarter of 2021. We expect a sequential decrease due to lower margins from strategic logistics projects, as well continued higher inventory purchase prices.

26


Operating Expenses
Research, Development, and Engineering Expenses
Research, development, and engineering (RD&E) expenses increased by $905,000, or 3%, for the three-month period and decreased by $936,000, or 1%, for the six-month period as detailed in the table below (in thousands).
Three-month periodSix-month period
RD&E expenses in 2020$30,397 $66,343 
Personnel-related costs(1,350)(2,637)
Stock-based compensation expense554 (1,014)
Foreign currency exchange rate changes1,215 2,565 
Incentive compensation789 1,551 
Other(303)(1,401)
RD&E expenses in 2021$31,302 $65,407 

Personnel-related costs were lower due to a workforce reduction in the second quarter of 2020, partially offset by annual salary increases and higher fringe benefits provided to employees. Stock-based compensation expense decreased for the six-month period due to changes in equity awards over time (e.g., increased number of restricted stock units, varied vesting schedules, etc.), as well as the cancellation of awards resulting from the workforce reduction. This decrease was partially offset by credits related to the workforce reduction that were recorded in the second quarter of 2020 and did not repeat, the impact of which resulted in an increase in stock-based compensation expense for the three-month period.
Foreign currency exchange rate changes resulted in a higher level of RD&E expenses as compared to the prior year, as costs denominated in foreign currencies were translated to U.S. Dollars at a higher rate. Incentive bonus accruals were higher than the prior year based on management's assessment of the Company's expected performance against relevant full-year goals.
RD&E expenses as a percentage of revenue were 12% and 13% for the three-month period and six-month period, respectively, compared to 18% and 20% for the same periods in 2020. We believe that a continued commitment to RD&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 the time to market for new products to be critical to our revenue growth. This quarterly percentage is impacted by revenue levels and investing cycles.
Selling, General, and Administrative Expenses
Selling, general, and administrative (SG&A) expenses increased by $16,690,000, or 28%, for the three-month period and $19,976,000, or 15%, for the six-month period as detailed in the table below (in thousands).
Three-month periodSix-month period
SG&A expenses in 2020$60,153 $129,291 
Incentive compensation6,214 11,361 
Foreign currency exchange rate changes2,955 5,822 
Business system investments494 1,307 
Marketing programs702 971 
Stock-based compensation expense1,963 449 
Personnel-related costs603 (1,021)
Travel expenses1,749 (195)
Other2,010 1,282 
SG&A expenses in 2021$76,843 $149,267 
The increase from the prior year was due to higher expenses related to annual incentive compensation plans, which include incentive bonuses and sales commissions. Incentive bonus accruals were higher than the prior year based on management's assessment of the Company's expected performance against relevant full-year goals. Likewise, sales commissions increased due to the higher business levels.
27


Foreign currency exchange rate changes resulted in a higher level of SG&A expenses as compared to the prior year, as costs denominated in foreign currencies were translated to U.S. Dollars at a higher rate. Expenses were also higher due to investments the Company is making in business systems related to its sales process, including systems to help our sales team more efficiently manage customer relationships and sales opportunities. A portion of these costs is expensed as incurred, while the majority of these investments will be accounted for as a capital asset that is expected to be placed into service in the first quarter of 2022. The Company also increased spending on marketing programs in an effort to generate future sales opportunities, particularly related to new product introductions. Finally, stock-based compensation expense increased due primarily to credits related to the workforce reduction that were recorded in the second quarter of 2020 and did not repeat, partially offset by decreases due to the impact of forfeiture rates revised in the first quarter of 2021 and changes in equity awards over time.
These increases were partially offset by lower personnel-related costs for the six-month period due to the workforce reduction, net of higher costs from annual salary increases and higher fringe benefits provided to employees. For the three-month period, there was a lesser impact due to the timing of the workforce reduction that took place on May 26, 2020. In addition, during the second quarter of 2021, the Company increased its sales headcount in strategic growth areas of the business. Travel expenses were slightly lower for the six-month period, but were higher for the three-month period, as restrictions related to COVID-19 that were still in place in the first quarter of 2021 were eased in certain regions in the second quarter of 2021.
Restructuring and Intangible Asset Impairment Charges
In the second quarter of 2020, the Company recorded restructuring charges totaling $14,798,000 as a result of actions related to the Company’s restructuring plan, which included a global workforce reduction of approximately 8% and office closures. In addition, the adverse impact of the COVID-19 pandemic triggered a review of long-lived assets for potential impairment in the second quarter of 2020. This review resulted in intangible asset impairment charges totaling $19,571,000 recorded in the second quarter of 2020.
Non-operating Income (Expense)
The Company recorded foreign currency losses of $639,000 and $1,647,000 for the three-month and six-month periods in 2021, respectively, compared to foreign currency gains of $336,000 and foreign currency losses of $2,667,000 for the same periods in 2020. Foreign currency gains and losses result primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another.
Investment income decreased by $1,568,000, or 48%, for the three-month period and $5,243,0000, or 62%, for the six-month period. The decrease was due primarily to lower yields on the Company's portfolio of debt securities.
The Company recorded other expense of $127,000 and $295,000 for the three-month and six-month periods in 2021, respectively, compared to other income of $203,000 and $20,000 for the same periods in 2020. Other income (expense) includes fair value adjustments of contingent consideration liabilities arising from business acquisitions.
Income Tax Expense (Benefit)
The Company’s effective tax rate was 17% and 14% of pre-tax income for the three-month and six-month periods in 2021, respectively, compared to a benefit of 51% of pre-tax loss and an expense of 7% of pre-tax income for the same periods in 2020.
The effective tax rate included a decrease in tax expense of $1,431,000 and $6,638,000 for the three-month and six-month periods in 2021, respectively, and $4,413,000 and $6,093,000 for the same periods in 2020, related to stock options, primarily 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. The Company cannot accurately predict the level of stock option exercises by employees in future periods.
Other discrete tax items included an increase in tax expense of $535,000 for both the three-month and six-month periods in 2021, and an increase in tax expense of $3,267,000 and $3,509,000 for the three-month and six-month periods in 2020, respectively, from the final true-up of the prior year's tax accrual upon filing the related tax return.
Excluding the impact of these discrete items, the Company’s effective tax rate was an expense of 18% of pre-tax income for both the three-month and six-month periods in 2021, compared to a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the same periods in 2020. The decrease in the effective tax rate for the six-month period, excluding the impact of discrete items, was due to a lower percentage of the Company's pre-tax income being earned and taxed in higher tax jurisdictions. There was an adjustment in the three-month period in 2020 to bring the year-to-date effective tax rate to 19%.
28


Liquidity and Capital Resources
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 $951,749,000 as of July 4, 2021. The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.
The Company’s cash requirements for the six-month period ended July, 4, 2021 were primarily met with positive cash flows from operations and the proceeds from stock option exercises. Cash requirements consisted of operating activities, the payment of dividends, the repurchase of common stock, and capital expenditures. Cash flows from operating activities included increases in accounts receivable and inventories related to higher business levels. The Company expects inventory levels to continue to increase for the remainder of the year as we receive inventory that we purchased in response to global supply chain challenges.
Capital expenditures for the six-month period ended July 4, 2021 totaled $6,550,000 and consisted primarily of computer hardware and software, as well as manufacturing test equipment related to new product introductions. In 2021, the Company is making investments in business systems related to its sales process, the majority of which will be accounted for as a capital asset that is expected to be placed into service in the first quarter of 2022.
In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July 4, 2021, the Company repurchased 3,075,000 shares at a cost of $142,225,000 under this program, including 258,000 shares at a cost of $20,877,000 during the six-month period ended July 4, 2021, leaving a remaining balance of $57,775,000. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 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 awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
The Company’s Board of Directors declared and paid cash dividends of $0.060 per share in the first and second quarters of 2021, totaling $21,192,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.
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. In addition, the Company 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.

New Pronouncements
Refer to Part I - Note 2 within this Form 10-Q, for a full description of recently issued accounting pronouncements including the expected dates of adoption and the expected impact on the financial position and results of operations of the Company.

ITEM 3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK
There have been no material changes to the Company’s exposures to market risk since December 31, 2020.
29



ITEM 4: CONTROLS AND PROCEDURES
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. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company’s systems evolve with its business.
There was no change in the Company's internal control over financial reporting that occurred during the quarter ended July 4, 2021 that has materially affected, or is reasonably likely to materially affect, the Company's internal control over financial reporting. We have considered the impact of COVID-19 on our internal controls over financial reporting. Personnel constraints related to working from home have made our ability to execute certain controls more challenging; however, we have enhanced existing monitoring controls in an effort to ensure we continue to have effective internal controls during this time.
30


PART II: OTHER INFORMATION

ITEM 1. LEGAL PROCEEDINGS
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.

ITEM 1A. RISK FACTORS
For a list of factors that could affect the Company’s business, results of operations, and financial condition, see the risk factors discussion provided in Part I—Item 1A of the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2020.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
The following table sets forth information with respect to purchases by the Company of shares of its common stock during the three-month period ended July 4, 2021:
Total
Number
of Shares
Purchased
Average
Price Paid
per Share
Total Number of
Shares
Purchased as
Part of Publicly
Announced
Plans or
Programs (1)
Approximate
Dollar Value
of Shares that
May Yet Be
Purchased
Under the
Plans or
Programs (1)
April 5, 2021 - May 2, 202154,000 $85.21 54,000 $267,614,000 
May 3, 2021 - May 30, 202152,000 77.74 52,000 263,535,000 
May 31, 2021 - July 4, 202172,000 79.91 72,000 257,775,000 
Total178,000 $80.89 178,000 $257,775,000 
(1) In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Purchases under this program commenced in October 2018. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. This new authorization will commence once the Company completes the October 2018 program, with repurchases subject to market conditions and other relevant factors. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.

ITEM 3. DEFAULTS UPON SENIOR SECURITIES
None.

ITEM 4. MINE SAFETY DISCLOSURES
Not applicable.

ITEM 5. OTHER INFORMATION
None.
31


 ITEM 6. EXHIBITS
Exhibit Number
31.1
31.2
32.1
32.2
101.SCHInline XBRL Taxonomy Extension Schema Document*
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document*
101.LABInline XBRL Taxonomy Extension Label Linkbase Document*
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document*
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document*
104Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)
*Filed herewith
**Furnished herewith

32


SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
 
Date:August 5, 2021 COGNEX CORPORATION
 By:/s/ Robert J. Willett
 Robert J. Willett
 President and Chief Executive Officer
 (Principal Executive Officer)
 By:/s/ Paul D. Todgham
 Paul D. Todgham
 Senior Vice President of Finance and Chief Financial Officer
 (Principal Financial Officer)

33
EX-31.1 2 a742021-10qxexhibit311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, Robert J. Willett, certify that:
1    I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
2    Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3    Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4    The registrant’s other certifying officer(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:
 
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5    The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:August 5, 2021 By: /s/ Robert J. Willett
  Robert J. Willett
  President and Chief Executive Officer
(Principal Executive Officer)

EX-31.2 3 a742021-10qxexhibit312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Paul D. Todgham, certify that:
1    I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
2    Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3    Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4    The registrant’s other certifying officer(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:
 
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5    The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:August 5, 2021 By: /s/ Paul D. Todgham
  Paul D. Todgham
  Senior Vice President of Finance and Chief Financial Officer
(Principal Financial Officer)

EX-32.1 4 a742021-10qxexhibit321.htm EX-32.1 Document

Exhibit 32.1*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended July 4, 2021 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 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.
 
Date:August 5, 2021 By:/s/ Robert J. Willett
 Robert J. Willett
 President and Chief Executive Officer
 (Principal Executive Officer)
 




























*This certification shall not be deemed “filed” for purposes of Section 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.

EX-32.2 5 a742021-10qxexhibit322.htm EX-32.2 Document

Exhibit 32.2*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended July 4, 2021 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 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.
 
Date:August 5, 2021 By:/s/ Paul D. Todgham
 Paul D. Todgham
 Senior Vice President of Finance and Chief Financial Officer
 (Principal Financial Officer)
 


























*This certification shall not be deemed “filed” for purposes of Section 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.

EX-101.SCH 6 cgnx-20210704.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0001001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 1001002 - Statement - Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 1002003 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1004005 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 1005006 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1006007 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 1007008 - Statement - Consolidated Statement of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 2101101 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2103102 - Disclosure - New Pronouncements link:presentationLink link:calculationLink link:definitionLink 2104103 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 2305301 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 2407402 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 2108104 - Disclosure - Cash, Cash Equivalents, and Investments link:presentationLink link:calculationLink link:definitionLink 2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) link:presentationLink link:calculationLink link:definitionLink 2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2414407 - Disclosure - Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments - Schedule of Allowance for Credit Loss Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2415408 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 2116105 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 2317303 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 2418409 - Disclosure - Inventories - Schedule of Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 2119106 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 2320304 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 2421410 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2422411 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 2123107 - Disclosure - Goodwill link:presentationLink link:calculationLink link:definitionLink 2324305 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 2425412 - Disclosure - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2126108 - Disclosure - Intangible Assets link:presentationLink link:calculationLink link:definitionLink 2327306 - Disclosure - Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 2428413 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2428413 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2429414 - Disclosure - Intangible Assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2130109 - Disclosure - Warranty Obligations link:presentationLink link:calculationLink link:definitionLink 2331307 - Disclosure - Warranty Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 2432415 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) link:presentationLink link:calculationLink link:definitionLink 2133110 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 2334308 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2435416 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2436417 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details) link:presentationLink link:calculationLink link:definitionLink 2437418 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 2438419 - Disclosure - Derivative Instruments - Offsetting Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2439420 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) link:presentationLink link:calculationLink link:definitionLink 2140111 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 2341309 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 2442421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) link:presentationLink link:calculationLink link:definitionLink 2443422 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) link:presentationLink link:calculationLink link:definitionLink 2444423 - Disclosure - Revenue Recognition - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 2445424 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details) link:presentationLink link:calculationLink link:definitionLink 2446425 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2147112 - Disclosure - Stock-Based Compensation Expense link:presentationLink link:calculationLink link:definitionLink 2348310 - Disclosure - Stock-Based Compensation Expense (Tables) link:presentationLink link:calculationLink link:definitionLink 2449426 - Disclosure - Stock-Based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 2450427 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2451428 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) link:presentationLink link:calculationLink link:definitionLink 2452429 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 2453430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) link:presentationLink link:calculationLink link:definitionLink 2154113 - Disclosure - Stock Repurchase Program link:presentationLink link:calculationLink link:definitionLink 2455431 - Disclosure - Stock Repurchase Program (Details) link:presentationLink link:calculationLink link:definitionLink 2156114 - Disclosure - Taxes link:presentationLink link:calculationLink link:definitionLink 2357311 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2458432 - Disclosure - Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details) link:presentationLink link:calculationLink link:definitionLink 2459433 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 2160115 - Disclosure - Weighted-Average Shares link:presentationLink link:calculationLink link:definitionLink 2361312 - Disclosure - Weighted-Average Shares (Tables) link:presentationLink link:calculationLink link:definitionLink 2462434 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) link:presentationLink link:calculationLink link:definitionLink 2463435 - Disclosure - Weighted-Average Shares (Details) link:presentationLink link:calculationLink link:definitionLink 2164116 - Disclosure - Restructuring Charges link:presentationLink link:calculationLink link:definitionLink 2365313 - Disclosure - Restructuring Charges (Tables) link:presentationLink link:calculationLink link:definitionLink 2466436 - Disclosure - Restructuring Charges - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2467437 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details) link:presentationLink link:calculationLink link:definitionLink 2168117 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 2469438 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 cgnx-20210704_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 cgnx-20210704_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 cgnx-20210704_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Maxiumum Decrease In Income Tax Expense Due To Release In Reserves Maxiumum Decrease In Income Tax Expense Due To Release In Reserves Maxiumum Decrease In Income Tax Expense Due To Release In Reserves Revenue Commissioners, Ireland Revenue Commissioners, Ireland [Member] Authorized common stock to be repurchased Stock Repurchase Program, Authorized Amount Hedging Designation [Domain] Hedging Designation [Domain] Income tax expense (benefit) at U.S. federal statutory corporate tax rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Vested (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Net Income Net income Net Income (Loss) Attributable to Parent Entity Emerging Growth Company Entity Emerging Growth Company Operating lease assets Operating Lease, Right-of-Use Asset Current investments, amortized cost of $189,818 and $102,258 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020 Current investments Debt Securities, Available-for-sale, Current Preferred stock shares outstanding (in shares) Preferred Stock, Shares Outstanding Income Statement Location [Axis] Income Statement Location [Axis] Statistical Measurement [Domain] Statistical Measurement [Domain] Accumulated Amortization Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Goodwill Goodwill Disclosure [Text Block] Entity Address, Address Line One Entity Address, Address Line One Non-compete agreements Other Intangible Assets [Member] Derivative liability Net amount of liabilities presented Derivative Liability Offsetting Assets Offsetting Assets [Table Text Block] Forfeited or expired (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Payment of contingent consideration Payment for Contingent Consideration Liability, Financing Activities Additional paid-in capital Additional Paid in Capital, Common Stock Entity Filer Category Entity Filer Category Intangible asset impairment charges (Note 8) Intangible asset impairment charges Impairment of Intangible Assets (Excluding Goodwill) One-time Termination Benefits One-time Termination Benefits [Member] Restructuring Type [Axis] Restructuring Type [Axis] Weighted average remaining lease term Operating Lease, Weighted Average Remaining Lease Term Gross realized losses on sale of investments Available-for-sale Securities, Gross Realized Losses Other assets Other Assets, Noncurrent Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Expected dividend yield Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate Shares available for grant under stock option plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Contract termination costs Contract Termination Costs Contract Termination [Member] In-process technologies In Process Research and Development [Member] Net change in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Expected volatility Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate Taiwanese Dollar Taiwan, New Dollars Stock-based compensation expense APIC, Share-based Payment Arrangement, Increase for Cost Recognition Economic hedge forward contracts Foreign Currency Contracts, Liability, Fair Value Disclosure Forfeited or expired, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period Loss on disposal of property, plant, and equipment Gain (Loss) on Disposition of Assets Interest and penalties included in reserve Increase Decrease Interest And Penalties Increase decrease interest and penalties. Document Fiscal Year Focus Document Fiscal Year Focus Subsequent Event Type [Domain] Subsequent Event Type [Domain] Cash, Cash Equivalents, and Investments Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block] Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Amortization of intangible assets Amortization of Intangible Assets Schedule of Activity in Restructuring Reserve Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Preferred stock, $.01 par value – Authorized: 400 shares in 2021 and 2020, respectively, no shares issued and outstanding Preferred Stock, Value, Outstanding Remaining authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Other Current Assets Other Current Assets [Member] Anti-dilutive securities excluded from computation of earnings per share (shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Other Asia Asia, Excluding China [Member] Asia, Excluding China [Member] Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Research, Development, and Engineering Expenses Research and Development Expense [Member] Long-Term Investments Long Term Investments [Member] Long-term investments. Subsequent Events [Abstract] Subsequent Events [Abstract] Granted (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Business Acquisition [Axis] Business Acquisition [Axis] Revenue from External Customer [Line Items] Revenue from External Customer [Line Items] Lessor, Lease, Description [Table] Lessor, Lease, Description [Table] Credit loss on investments Debt Securities, Available-for-sale, Allowance for Credit Loss, Period Increase (Decrease) Municipal Bonds Municipal Bonds [Member] Net unrealized gain (loss) on available-for-sale investments, net of tax OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Income Tax Authority, Name [Axis] Income Tax Authority, Name [Axis] Award Type [Domain] Award Type [Domain] Share Repurchase Program [Domain] Share Repurchase Program [Domain] Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Realized gain on sale of investments Gain (Loss) on Sale of Investments ASSETS Assets [Abstract] Summary of Available-for-Sale Investments Schedule of Available-for-sale Securities Reconciliation [Table Text Block] Weighted- Average Remaining Contractual Term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract] Exercisable as of reporting date, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Vested and expected to vest, outstanding, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Derivative Instruments Derivative Instruments and Hedging Activities Disclosure [Text Block] Effective Maturity Dates of Available-for-Sale Investments Investments Classified by Contractual Maturity Date [Table Text Block] Granted (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Net proceeds from issuance of common stock under stock plans Proceeds, Issuance of Shares, Share-based Payment Arrangement, Including Option Exercised Payment of dividends Dividends, Cash Outstanding, shares Outstanding, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Entity Address, City or Town Entity Address, City or Town Currency [Axis] Currency [Axis] Retained Earnings Retained Earnings [Member] Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Liability for uncertain tax positions Liability For Uncertain Tax Positions Liability for uncertain tax positions, total. Greater China CHINA GVi Ventures, Inc. [Member] GVi Ventures, Inc. [Member] GVi Ventures, Inc. [Member] Accounts receivable Increase (Decrease) in Accounts Receivable Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivative Instruments and Hedging Activities Disclosure [Abstract] Investment income Investment Income, Nonoperating Entity Interactive Data Current Entity Interactive Data Current Deferred revenue and customer deposits Increase (Decrease) in Deferred Revenue Gross recoveries Debt Securities, Available-for-sale, Allowance for Credit Loss, Recovery Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] 2024 Lessee, Operating Lease, Liability, to be Paid, Year Three Revenue Recognition Revenue from Contract with Customer [Text Block] Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Foreign exchange rate changes Restructuring Reserve, Foreign Currency Translation Gain (Loss) Nonvested as of December 31, 2019 (in shares) Nonvested as of March 29, 2020 (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number Contingent consideration liability Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Document Type Document Type Stock-based compensation expense Stock or Unit Option Plan Expense Shares (in thousands) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Net income (loss) per weighted-average common and common-equivalent share: Earnings Per Share, Diluted [Abstract] Intangible assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Entity Current Reporting Status Entity Current Reporting Status Sualab Sualab [Member] Sualab Remaining maturity of foreign currency derivatives (up to) Maximum Remaining Maturity of Foreign Currency Derivatives Operating lease, payments Operating Lease, Payments Gross amounts of recognized assets Derivative Asset, Fair Value, Gross Asset Contingent consideration liability, lower range Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low Discrete tax benefit related to stock options Discrete tax benefit related to stock options Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent Increases to the allowance for credit losses Accounts Receivable, Credit Loss Expense (Reversal) Goodwill [Roll Forward] Goodwill [Roll Forward] Basic (usd per share) Income (Loss) from Continuing Operations, Per Diluted Share Plan Name [Axis] Plan Name [Axis] Assets: Assets, Fair Value Disclosure [Abstract] Quoted Prices in Active Markets for Identical Assets (Level 1) Fair Value, Inputs, Level 1 [Member] Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Increase to non-current deferred tax liability Increase (Decrease) in Deferred Liabilities Document Transition Report Document Transition Report Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Total fair values of stock options vest Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value Share based compensation arrangement by share based payment award options vested fair value. Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks Finite-Lived Intangible Assets [Line Items] Excess and obsolete inventory charges Excess and Obsolete Inventory Charges Excess and Obsolete Inventory Charges Total liabilities and shareholders' equity Liabilities and Equity Other Effective Income Tax Rate Reconciliation, Other Adjustments, Percent Americas Americas [Member] Deferred revenue and customer deposits Contract with Customer, Liability, Current 2026 Lessee, Operating Lease, Liability, to be Paid, Year Five Exercised, in dollars per share Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price LIABILITIES AND SHAREHOLDERS’ EQUITY Liabilities and Equity [Abstract] Accounts payable Increase (Decrease) in Accounts Payable Derivative [Line Items] Derivative [Line Items] Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Economic hedge forward contracts Foreign Currency Contract, Asset, Fair Value Disclosure Income Tax Contingency [Table] Income Tax Contingency [Table] Weighted-Average Shares Earnings Per Share [Text Block] Operating lease asset impairment charges Operating Lease, Impairment Loss 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Four Net issuance of common stock under stock plans Stock Issued During Period, Value, Stock Options Exercised Minimum Minimum [Member] Customer relationships Customer Contracts And Relationships [Member] Customer Contracts And Relationships [Member] Other Increase (Decrease) in Other Operating Assets and Liabilities, Net Revaluation of contingent consideration Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Reserve for income taxes Reserve for income taxes classified as a noncurrent iability Liability for Uncertainty in Income Taxes, Noncurrent Gross margin Gross Profit 2023 Lessee, Operating Lease, Liability, to be Paid, Year Two Effect of foreign exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Balance Sheet Location [Domain] Balance Sheet Location [Domain] Income (loss) before income tax expense (benefit) Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Selling, general, and administrative expenses Selling, General and Administrative Expense Forfeited or expired, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price Preferred stock shares authorized (in shares) Preferred Stock, Shares Authorized Income Tax Authority [Domain] Income Tax Authority [Domain] Shares repurchased at cost Stock Redeemed or Called During Period, Value Gross unrealized gains Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax Balance at beginning of period Balance at end of period Restructuring Reserve Fair value, 12 months or greater Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer Trading Symbol Trading Symbol Deferred income taxes Deferred Income Tax Assets, Net Current liabilities: Liabilities, Current [Abstract] Groups within the employee population Number Of Groups Within Employee Population Number of groups within employee population. 2-3 Years Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value Available-for-sale securities, debt maturities after second year but before third year, fair value. Other Associated Costs Other Restructuring [Member] Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Unobservable Inputs (Level 3) Fair Value, Inputs, Level 3 [Member] Payment of dividends Payments of Ordinary Dividends, Common Stock Application-specific customer solutions Application-Specific Customer Solutions [Member] Application-Specific Customer Solutions [Member] Inventories Inventory Disclosure [Text Block] Accounting Policies [Abstract] Accounting Policies [Abstract] Outstanding, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Operating lease liability Operating Lease, Liability Revenue from External Customers by Products and Services Revenue from External Customers by Products and Services [Table Text Block] Foreign currency gain (loss) Foreign Currency Transaction Gain (Loss), before Tax Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Nonvested as of December 31, 2019 (in dollars per share) Nonvested as of March 29, 2020 (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Performance Shares Performance Shares [Member] Subsequent Event [Table] Subsequent Event [Table] Leases Lessee, Operating Leases [Text Block] Accumulated other comprehensive loss, net of tax Accumulated Other Comprehensive Income (Loss), Net of Tax Class of Treasury Stock [Table] Class of Treasury Stock [Table] Allowance for credit losses, current Accounts Receivable, Allowance for Credit Loss, Current Remainder of fiscal 2021 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Restricted Stock Restricted Stock [Member] Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Carrying value operating lease right-of-use assets impaired Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset Document Period End Date Document Period End Date Revenue from External Customers by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Entity Registrant Name Entity Registrant Name Gross Unrealized Losses and Fair Values for Available-for-Sale Investments Schedule of Unrealized Loss on Investments [Table Text Block] United Kingdom, Pounds United Kingdom, Pounds Income Tax Contingency [Line Items] Income Tax Contingency [Line Items] Income Tax Authority [Axis] Income Tax Authority [Axis] Work-in-process Inventory, Work in Process, Net of Reserves Cash Cash Unbilled revenue Unbilled Receivables, Current Recognition of revenue deferred in prior period Deferred Revenue, Revenue Recognized Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Tax effect of unrealized gain (loss) on available-for-sale investments OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax Foreign exchange rate changes Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment Korean Won Korea (South), Won Other comprehensive income (loss), net of tax: Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] Financial Instrument [Axis] Financial Instrument [Axis] Accrued expenses Accrued Liabilities, Current Revenue Revenue from Contract with Customer, Excluding Assessed Tax Tax years open to examination by various taxing authorities for other entities Income Tax Examination Years Under Examination Other Entities The tax year(s) being audited in connection with the income tax examination for other entities. Finished goods Inventory, Finished Goods, Net of Reserves Schedule of Available-for-sale Securities [Table] Schedule of Available-for-sale Securities [Table] Employee Stock Option Share-based Payment Arrangement, Option [Member] 3-4 Years Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value Available-for-sale securities, debt maturities after third year but before fourth year, fair value. Equity [Abstract] Equity [Abstract] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Tax credit Effective Income Tax Rate Reconciliation, Tax Credit, Percent Cash payments Payments for Restructuring Gross amounts offset Derivative Liability, Collateral, Right to Reclaim Cash, Offset 5-8 Years Available For Sale Securities Debt Maturities After Five Years Available For Sale Securities Debt Maturities After Five Years Gross realized gains on sale of investments Available-for-sale Securities, Gross Realized Gains Standard products and services Standard Products and Services [Member] Standard Products and Services [Member] Fair value, less than 12 months Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months Common Stock Common Stock [Member] Operating income (loss) Operating Income (Loss) Canada, Dollars Canada, Dollars Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-sale [Line Items] Operating lease liabilities Operating Lease, Liability, Current Gross unrealized losses Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax 2023 Finite-Lived Intangible Asset, Expected Amortization, Year Two Product Warranties Disclosures [Abstract] Product Warranties Disclosures [Abstract] Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Hedging Designation [Axis] Hedging Designation [Axis] Increase (Decrease) in Stockholders' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Credits relating to grants cancelled Share-based Payment Arrangement, Noncash Expense Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Additional Paid-in Capital Additional Paid-in Capital [Member] Cash and cash equivalents Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Depreciation of property, plant, and equipment Depreciation Weighted average period to be recognized Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Minimum Decrease In Income Tax Expense Due To Release In Reserves Minimum Decrease In Income Tax Expense Due To Release In Reserves Minimum Decrease In Income Tax Expense Due To Release In Reserves Cash dividends per common share (usd per share) Common Stock, Dividends, Per Share, Cash Paid Cash and Cash Equivalents [Abstract] Cash and Cash Equivalents [Abstract] Change in deferred income taxes Increase (Decrease) in Deferred Income Taxes KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF Changes in Warranty Obligations Schedule of Product Warranty Liability [Table Text Block] Accrued expenses Increase (Decrease) in Accrued Liabilities Credit loss on investments Marketable Securities, Realized Gain (Loss), Excluding Other-than-temporary Impairment Loss Effective tax rate excluding discrete items (as a percent) Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent Other income (expense) Other Nonoperating Income (Expense) Fulfillment of warranty obligations Standard and Extended Product Warranty Accrual, Decrease for Payments Purchases of property, plant, and equipment Payments to Acquire Property, Plant, and Equipment Maximum Maximum [Member] Share-based Payment Arrangement [Abstract] Share-based Payment Arrangement [Abstract] Total liabilities Liabilities Raw materials Inventory, Raw Materials, Net of Reserves Estimated annual forfeiture rate for unvested options for senior management Estimated Forfeiture Rate For Unvested Options For Senior Management Estimated forfeiture rate for unvested options for senior management. Award Type [Axis] Award Type [Axis] 2022 Finite-Lived Intangible Asset, Expected Amortization, Year One Restructuring Charges Restructuring Charges [Member] Granted, in dollars per share Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Outstanding, in dollars Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Lessee, Operating Lease, Liability, Maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Total shareholders’ equity Beginning Balance Ending Balance Stockholders' Equity Attributable to Parent Selling, General, and Administrative Selling General And Administrative [Member] Selling, general, and administrative. Common stock, shares issued (in shares) Beginning Balance (in shares) Ending Balance (in shares) Common Stock, Shares, Issued Total Cash Cash Equivalents Short Term And Long Term Investments Cash, cash equivalents, short term and long term investments. Preferred stock shares issued (in shares) Preferred Stock, Shares Issued Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Intangible Assets Intangible Assets Disclosure [Text Block] Repurchase of common stock Payments for Repurchase of Common Stock Shareholders’ equity: Stockholders' Equity Attributable to Parent [Abstract] Income Tax Authority, Name [Domain] Income Tax Authority, Name [Domain] Equity, Class of Treasury Stock [Line Items] Equity, Class of Treasury Stock [Line Items] Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Balance Sheet Location [Axis] Balance Sheet Location [Axis] Non-current operating lease liabilities Operating Lease, Liability, Noncurrent Accrued Expenses Accrued Liabilities [Member] Measurement Frequency [Domain] Measurement Frequency [Domain] Tax benefit from compensation expense Share-based Payment Arrangement, Expense, Tax Benefit Deferred Revenue, by Arrangement, Disclosure Deferred Revenue, by Arrangement, Disclosure [Table Text Block] City Area Code City Area Code Retained earnings Retained Earnings (Accumulated Deficit) Stock-Based Compensation Expense Compensation Related Costs, General [Text Block] Derivatives, Fair Value [Line Items] Derivatives, Fair Value [Line Items] Restricted Stock Units (RSUs) Restricted Stock Units (RSUs) [Member] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Risk-free rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Derivative Instruments, Gain (Loss) Derivative Instruments, Gain (Loss) [Table Text Block] Share Repurchase Program [Axis] Share Repurchase Program [Axis] Treasury Bills US Treasury Securities [Member] Income Statement [Abstract] Income Statement [Abstract] Amendment Flag Amendment Flag Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Accrued Expenses Accrued Expenses [Member] Accrued expenses. Aggregate Intrinsic Value (in thousands) Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract] ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract] New Pronouncements Accounting Standards Update and Change in Accounting Principle [Text Block] Outstanding Forward Contracts Table Outstanding Forward Contracts [Table Text Block] Outstanding forward contracts table. Provisions for warranties issued during the period Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Income tax expense (benefit) Income Tax Expense (Benefit) Common stock equivalents excluded from calculation of diluted net loss per share (shares) Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma Accounts receivable, allowance for credit losses of $803 and $831 in 2021 and 2020, respectively Accounts Receivable, after Allowance for Credit Loss, Current Estimated annual forfeiture rate for unvested options for all other employees Estimated Forfeiture Rate For Unvested Options For All Non Senior Management Estimated forfeiture rate for unvested options for all non-senior management. 1-2 Years Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value 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. Equity Components [Axis] Equity Components [Axis] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Antidilutive Securities [Axis] Antidilutive Securities [Axis] Investment Type [Axis] Investment Type [Axis] Total current assets Assets, Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Gross amounts offset Derivative Asset, Collateral, Obligation to Return Cash, Offset Total Lessee, Operating Lease, Liability, to be Paid Forfeited or expired (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Inventories Inventories Inventory, Net Granted, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures Entity File Number Entity File Number Repurchase of common stock Stock repurchased during period, value Stock Repurchased During Period, Value Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] State Administration of Taxation, China State Administration of Taxation, China [Member] Thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Five Mexico, Pesos Mexico, Pesos Allowance for credit losses Debt Securities, Available-for-sale, Allowance for Credit Loss, Current Product and Service [Axis] Product and Service [Axis] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Calculation of Weighted-Average Shares Schedule of Weighted Average Number of Shares [Table Text Block] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Entity Small Business Entity Small Business Warranty Obligations Product Warranty Disclosure [Text Block] Preferred stock par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Weighted-average grant-date fair values, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Equity Component [Domain] Equity Component [Domain] 2022 Lessee, Operating Lease, Liability, to be Paid, Year One Repurchase of common stock (in shares) Repurchase of common stock (in shares) Stock Repurchased During Period, Shares Foreign currency translation adjustments Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Issuance of common stock under stock plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period Increase (decrease) to compensation expense Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates Increase (decrease) in compensation expense due to revised estimated forfeiture rates. Statement [Line Items] Statement [Line Items] Accrued income taxes Increase (Decrease) in Accrued Taxes Payable Unbilled revenue Increase (Decrease) in Contract with Customer, Liability Weighted- Average Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Long-term investments Debt Securities, Available-for-sale, Noncurrent Purchases of investments Payments to Acquire Investments Domestic Tax Authority Domestic Tax Authority [Member] Repurchase Program October 2018 Repurchase Program October 2018 [Member] Repurchase Program October 2018 [Member] 4-5 Years Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value. Financial assets at fair value Fair value Fair value Debt Securities, Available-for-sale Japanese Yen Japan, Yen Contingent consideration liability, upper range Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High Maturities and sales of investments Proceeds from Sale, Maturity and Collection of Investments Short-Term Investments Short-term Investments [Member] 2025 Lessee, Operating Lease, Liability, to be Paid, Year Four General Stock Option Plan General Stock Option Plan [Member] General stock option plan. Entity Address, State or Province Entity Address, State or Province Significant Other Observable Inputs (Level 2) Fair Value, Inputs, Level 2 [Member] Gains (losses) recognized in current operations Derivative, Gain (Loss) on Derivative, Net Total fair value Debt Securities, Available-for-sale, Unrealized Loss Position Type of Restructuring [Domain] Type of Restructuring [Domain] Amortized cost Debt Securities, Available-for-sale, Amortized Cost Amortized cost of non-current investments Debt Securities, Available-for-sale, Amortized Cost, Noncurrent Revenue from External Customers by Products and Services [Table] Revenue from External Customers by Products and Services [Table] Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Entity Shell Company Entity Shell Company Local Phone Number Local Phone Number Other comprehensive income (loss), net of tax Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Foreign exchange rate changes Deferred Revenue, Foreign Currency Exchange Adjustment Deferred Revenue, Foreign Currency Exchange Adjustment Money market instruments Money Market Funds, at Carrying Value Tax rate adjustment Effective Income Tax Rate Reconciliation,Other Reconciling Items, Percent Total assets Assets Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward] Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward] Plan Name [Domain] Plan Name [Domain] Common stock shares authorized (in shares) Common Stock, Shares Authorized Geographical [Domain] Geographical [Domain] Discrete tax expense related to tax return filings Effective Income Tax Rate Reconciliation, Tax Settlement, Percent Schedule of Nonvested Restricted Stock Units Activity Schedule of Nonvested Restricted Stock Units Activity [Table Text Block] Product and Service [Domain] Product and Service [Domain] Research, development, and engineering expenses Research and Development Expense Shares repurchased at cost (in shares) Stock Redeemed or Called During Period, Shares Decrease in reserves for income taxes, net of deferred tax benefit Unrecognized Tax Benefits, Period Increase (Decrease) Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] All Currencies [Domain] All Currencies [Domain] Measurement Frequency [Axis] Measurement Frequency [Axis] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations Reclassification of net realized (gain) loss on the sale of available-for-sale investments Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Entity Tax Identification Number Entity Tax Identification Number Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Corporate Bonds Corporate Bond Securities [Member] Subsequent Event [Line Items] Subsequent Event [Line Items] Geographical [Axis] Geographical [Axis] Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Basic (shares) Basic weighted-average common shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Basic Diluted (usd per share) Earnings Per Share, Diluted Effect of dilutive equity awards (in shares) Weighted Average Number Diluted Shares Outstanding Adjustment Components of Cash, Cash Equivalents, and Investments Components Of Cash Cash Equivalents And Investments [Table Text Block] Components of cash cash equivalents and investments. Costs to fulfill contract Capitalized Contract Cost, Gross Subsequent Events Subsequent Events [Text Block] Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Available-for-sale investments: Other Comprehensive Income (Loss), Net of Tax [Abstract] Weighted-average common and common-equivalent shares outstanding: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Singapore, Dollars Singapore, Dollars Deferred income taxes Deferred Income Tax Liabilities, Net Vesting period for stock option plans Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Fair Value Measurements Fair Value Disclosures [Text Block] Distribution networks Distribution Rights [Member] Accounts payable Accounts Payable, Current Restructuring charges (Note 16) Restructuring charges Restructuring Charges Derivative Instruments and Hedging Activities Disclosures [Table] Derivative Instruments and Hedging Activities Disclosures [Table] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year Three Assets and Liabilities Measured at Fair Value on a Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Foreign Tax Authority Foreign Tax Authority [Member] China, Yuan Renminbi China, Yuan Renminbi Cost of Revenue Cost of Goods and Service Benchmark [Member] Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Remainder of fiscal 2021 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Inventories Increase (Decrease) in Inventories Schedule of Restructuring Charges Restructuring and Related Costs [Table Text Block] Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Non-current investments, amortized cost of $542,015 and $390,417 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020 Non-current investments Long-term Investments Financial Instruments [Domain] Financial Instruments [Domain] Derivative [Table] Derivative [Table] Beginning balance Ending balance Standard and Extended Product Warranty Accrual Amortized cost of current investments Debt Securities, Available-for-sale, Amortized Cost, Current Cost of revenue Cost of Goods and Services Sold Restructuring and Related Activities [Abstract] Restructuring and Related Activities [Abstract] Movement in Deferred Revenue [Roll Forward] Movement in Deferred Revenue [Roll Forward] Shares (in thousands) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] State income taxes, net of federal benefit Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent Lease, cost Lease, Cost Income Statement Location [Domain] Income Statement Location [Domain] Lessor, Lease, Description [Line Items] Lessor, Lease, Description [Line Items] Expiration period from grant day Expiration Period Of Stock Option Plan Expiration period of stock option plan. Accrued interest receivable Interest Receivable Property, plant, and equipment, net Property, Plant and Equipment, Net Foreign currency translation adjustments: Currency translation adjustments [Abstract] Currency translation adjustments [Abstract] Other liabilities Other Liabilities, Noncurrent Schedule of Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Earnings Per Share [Abstract] Earnings Per Share [Abstract] Derivative asset Net amount of assets presented Derivative Asset Balance as of December 31, 2020 Balance as of July 4, 2021 Accounts Receivable, Allowance for Credit Loss Document Quarterly Report Document Quarterly Report Total Unrealized Losses Debt Securities, Available-for-sale, Unrealized Loss Position, Accumulated Loss Reclassification of credit loss (recovery) on investments Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax Trademarks Trademarks [Member] Outstanding, in dollars per share Outstanding, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Reclassification of credit loss (recovery) on investments into current operations Other Comprehensive Income (Loss), Financial Liability, Fair Value Option, Reclassification Adjustment from AOCI for Derecognition, after Tax Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Liabilities: Liabilities, Fair Value Disclosure [Abstract] Stock-based compensation expense Share-based Payment Arrangement, Expense Exercisable, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Europe Europe [Member] Weighted-Average Grant Date Fair Value Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Document Fiscal Period Focus Document Fiscal Period Focus Income tax expense (benefit) Effective Income Tax Rate Reconciliation, Percent Allowance for credit losses, non-current Debt Securities, Available-for-sale, Allowance for Credit Loss, Noncurrent EnShape GmbH EnShape GmbH [Member] EnShape GmbH Investments [Domain] Investments [Domain] Amortization of discounts or premiums on investments Accretion (Amortization) of Discounts and Premiums, Investments Sovereign Bonds Sovereign Debt [Member] Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Sovereign Bonds Sovereign Debt Securities [Member] Dividends (in dollars per share) Dividends Common stock par value (in dollars per share) Common Stock, Par or Stated Value Per Share Debt securities, available-for-sale, allowance for credit loss Debt Securities, Available-for-sale, Allowance for Credit Loss Current assets: Assets, Current [Abstract] Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Gross Carrying Value Finite-Lived Intangible Assets, Gross Leases [Abstract] Leases [Abstract] Hungary, Forint Hungary, Forint Entity Central Index Key Entity Central Index Key Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Security Exchange Name Security Exchange Name Exercised, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Indefinite-lived intangible asset excluding in-process technologies Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member] Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member] Diluted (shares) Weighted-average common and common-equivalent shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Diluted Fair Value, Measurements, Recurring Fair Value, Recurring [Member] Income Taxes Income Tax Disclosure [Text Block] Current Fiscal Year End Date Current Fiscal Year End Date Summary of Stock Option Activity Share-based Payment Arrangement, Option, Activity [Table Text Block] Stock Repurchase Program Stockholders' Equity Note Disclosure [Text Block] Write-offs, net of recoveries Accounts Receivable, Allowance for Credit Loss, Writeoff Recognized period costs capitalized Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount Employee service share based compensation recognized period costs capitalized amount. 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Five Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Options vested or expected to vest as of reporting date, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Foreign Currency Gain (Loss) Foreign Currency Gain (Loss) [Member] Not Designated as Hedging Instrument Not Designated as Hedging Instrument [Member] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Net cash provided by (used in) investing activities Net Cash Provided by (Used in) Investing Activities Non-current accrued income taxes Accrued Income Taxes Repurchase Program March 2020 Repurchase Program March 2020 [Member] Repurchase Program March 2020 [Member] Outstanding forward contracts Derivative Asset, Notional Amount Net change related to available-for-sale investments Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Vested (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Derivative Instruments and Hedging Activities Disclosures [Line Items] Derivative Instruments and Hedging Activities Disclosures [Line Items] Expected term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term Total current liabilities Liabilities, Current Total intrinsic value Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value Shares based compensation arrangement by shares based payment award options exercisable intrinsic value. Workforce reduction (as a percent) Restructuring and Related Cost, Number of Positions Eliminated, Inception to Date Percent Euro Member Countries, Euro Euro Member Countries, Euro Foreign exchange rate changes Goodwill, Foreign Currency Translation Gain (Loss) Agency Bonds Agency Bonds [Member] Agency bond. Options vested or expected to vest, in dollars Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Entity Address, Postal Zip Code Entity Address, Postal Zip Code Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Title of 12(b) Security Title of 12(b) Security Statement [Table] Statement [Table] Asset-Backed Securities Asset-backed Securities [Member] New Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Prepaid Expenses and Other Current Assets Prepaid Expenses and Other Current Assets [Member] Unrecognized compensation expense Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Statistical Measurement [Axis] Statistical Measurement [Axis] Gross amounts of recognized liabilities Derivative Liability, Fair Value, Gross Liability Subsequent Event Subsequent Event [Member] Cover [Abstract] Cover [Abstract] Intangible assets, net Net Carrying Value Finite-Lived Intangible Assets, Net Goodwill Balance as of December 31, 2020 Balance as of July 4, 2021 Goodwill Balance as of December 31, 2020 Balance as of July 4, 2021 Deferred Revenue Foreign tax rate differential Decrease in effective tax rate Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent Unrealized losses, less than 12 months Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Accrued income taxes Accrued Income Taxes, Current Schedule of Goodwill Schedule of Goodwill [Table Text Block] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Common stock, $.002 par value – Authorized: 300,000 shares in 2021 and 2020, respectively, issued and outstanding: 176,707 and 175,790 shares in 2021 and 2020, respectively Common Stock, Value, Outstanding Schedule of Derivative Instruments in Statement of Financial Position, Fair Value Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block] Completed technologies Developed Technology Rights [Member] less than 1 year Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Operating lease, cost Operating Lease, Cost Deferral of revenue billed in the current period, net of recognition Deferred Revenue, Additions Schedule of Allowance for Credit Loss Activity Accounts Receivable, Allowance for Credit Loss [Table Text Block] Unrealized losses, 12 months or greater Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Exercisable, in dollars Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value. Options vested or expected to vest, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term EX-101.PRE 10 cgnx-20210704_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 cgnx-20210704_htm.xml IDEA: XBRL DOCUMENT 0000851205 2021-01-01 2021-07-04 0000851205 2021-07-04 0000851205 2021-04-05 2021-07-04 0000851205 2020-03-30 2020-06-28 0000851205 2020-01-01 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-04-05 2021-07-04 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-07-04 0000851205 2020-12-31 0000851205 2019-12-31 0000851205 2020-06-28 0000851205 us-gaap:CommonStockMember 2021-04-04 0000851205 us-gaap:AdditionalPaidInCapitalMember 2021-04-04 0000851205 us-gaap:RetainedEarningsMember 2021-04-04 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-04-04 0000851205 2021-04-04 0000851205 us-gaap:CommonStockMember 2021-04-05 2021-07-04 0000851205 us-gaap:AdditionalPaidInCapitalMember 2021-04-05 2021-07-04 0000851205 us-gaap:RetainedEarningsMember 2021-04-05 2021-07-04 0000851205 us-gaap:CommonStockMember 2021-07-04 0000851205 us-gaap:AdditionalPaidInCapitalMember 2021-07-04 0000851205 us-gaap:RetainedEarningsMember 2021-07-04 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-07-04 0000851205 us-gaap:CommonStockMember 2020-03-29 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-03-29 0000851205 us-gaap:RetainedEarningsMember 2020-03-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-29 0000851205 2020-03-29 0000851205 us-gaap:CommonStockMember 2020-03-30 2020-06-28 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-03-30 2020-06-28 0000851205 us-gaap:RetainedEarningsMember 2020-03-30 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-30 2020-06-28 0000851205 us-gaap:CommonStockMember 2020-06-28 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-06-28 0000851205 us-gaap:RetainedEarningsMember 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-28 0000851205 us-gaap:CommonStockMember 2020-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0000851205 us-gaap:RetainedEarningsMember 2020-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0000851205 us-gaap:CommonStockMember 2021-01-01 2021-07-04 0000851205 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-07-04 0000851205 us-gaap:RetainedEarningsMember 2021-01-01 2021-07-04 0000851205 us-gaap:CommonStockMember 2019-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0000851205 us-gaap:RetainedEarningsMember 2019-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0000851205 us-gaap:CommonStockMember 2020-01-01 2020-06-28 0000851205 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-06-28 0000851205 us-gaap:RetainedEarningsMember 2020-01-01 2020-06-28 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-06-28 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2021-07-04 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2021-07-04 0000851205 cgnx:GViVenturesInc.Member 2021-07-04 0000851205 us-gaap:RestructuringChargesMember 2020-03-30 2020-06-28 0000851205 us-gaap:USTreasurySecuritiesMember 2021-07-04 0000851205 us-gaap:USTreasurySecuritiesMember 2020-12-31 0000851205 us-gaap:CorporateBondSecuritiesMember 2021-07-04 0000851205 us-gaap:CorporateBondSecuritiesMember 2020-12-31 0000851205 us-gaap:AssetBackedSecuritiesMember 2021-07-04 0000851205 us-gaap:AssetBackedSecuritiesMember 2020-12-31 0000851205 us-gaap:SovereignDebtMember 2021-07-04 0000851205 us-gaap:SovereignDebtMember 2020-12-31 0000851205 us-gaap:MunicipalBondsMember 2021-07-04 0000851205 us-gaap:MunicipalBondsMember 2020-12-31 0000851205 cgnx:AgencyBondsMember 2021-07-04 0000851205 cgnx:AgencyBondsMember 2020-12-31 0000851205 us-gaap:OtherCurrentAssetsMember 2021-07-04 0000851205 us-gaap:OtherCurrentAssetsMember 2020-12-31 0000851205 us-gaap:USTreasurySecuritiesMember us-gaap:ShortTermInvestmentsMember 2021-07-04 0000851205 us-gaap:CorporateBondSecuritiesMember us-gaap:ShortTermInvestmentsMember 2021-07-04 0000851205 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2021-07-04 0000851205 us-gaap:SovereignDebtSecuritiesMember us-gaap:ShortTermInvestmentsMember 2021-07-04 0000851205 us-gaap:MunicipalBondsMember us-gaap:ShortTermInvestmentsMember 2021-07-04 0000851205 us-gaap:CorporateBondSecuritiesMember cgnx:LongTermInvestmentsMember 2021-07-04 0000851205 us-gaap:AssetBackedSecuritiesMember cgnx:LongTermInvestmentsMember 2021-07-04 0000851205 us-gaap:USTreasurySecuritiesMember cgnx:LongTermInvestmentsMember 2021-07-04 0000851205 cgnx:AgencyBondsMember cgnx:LongTermInvestmentsMember 2021-07-04 0000851205 us-gaap:MunicipalBondsMember cgnx:LongTermInvestmentsMember 2021-07-04 0000851205 us-gaap:SovereignDebtSecuritiesMember cgnx:LongTermInvestmentsMember 2021-07-04 0000851205 us-gaap:SovereignDebtSecuritiesMember 2021-07-04 0000851205 us-gaap:ContractTerminationMember 2021-07-04 0000851205 us-gaap:ContractTerminationMember 2020-12-31 0000851205 us-gaap:DistributionRightsMember 2021-07-04 0000851205 us-gaap:DevelopedTechnologyRightsMember 2021-07-04 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2021-07-04 0000851205 us-gaap:OtherIntangibleAssetsMember 2021-07-04 0000851205 us-gaap:TrademarksMember 2021-07-04 0000851205 us-gaap:DistributionRightsMember 2020-12-31 0000851205 us-gaap:DevelopedTechnologyRightsMember 2020-12-31 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2020-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2020-12-31 0000851205 us-gaap:TrademarksMember 2020-12-31 0000851205 cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember 2021-07-04 0000851205 cgnx:SualabMember us-gaap:DevelopedTechnologyRightsMember 2020-03-30 2020-06-28 0000851205 cgnx:SualabMember us-gaap:InProcessResearchAndDevelopmentMember 2020-03-30 2020-06-28 0000851205 cgnx:SualabMember cgnx:CustomerContractsAndRelationshipsMember 2020-03-30 2020-06-28 0000851205 cgnx:EnShapeGmbHMember cgnx:CustomerContractsAndRelationshipsMember 2020-05-26 0000851205 cgnx:EnShapeGmbHMember cgnx:CustomerContractsAndRelationshipsMember 2020-06-28 0000851205 cgnx:EnShapeGmbHMember cgnx:CustomerContractsAndRelationshipsMember 2020-03-30 2020-06-28 0000851205 us-gaap:NondesignatedMember 2021-01-01 2021-07-04 0000851205 currency:CNY us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:CNY us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:EUR us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:EUR us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:KRW us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:KRW us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:MXN us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:MXN us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:JPY us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:JPY us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:HUF us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:GBP us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:GBP us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:TWD us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:TWD us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:CAD us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:CAD us-gaap:NondesignatedMember 2020-12-31 0000851205 currency:SGD us-gaap:NondesignatedMember 2021-07-04 0000851205 currency:SGD us-gaap:NondesignatedMember 2020-12-31 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2021-07-04 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2020-12-31 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2021-07-04 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2020-12-31 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2021-04-05 2021-07-04 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2020-03-30 2020-06-28 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2021-01-01 2021-07-04 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2020-01-01 2020-06-28 0000851205 srt:AmericasMember 2021-04-05 2021-07-04 0000851205 srt:AmericasMember 2020-03-30 2020-06-28 0000851205 srt:AmericasMember 2021-01-01 2021-07-04 0000851205 srt:AmericasMember 2020-01-01 2020-06-28 0000851205 srt:EuropeMember 2021-04-05 2021-07-04 0000851205 srt:EuropeMember 2020-03-30 2020-06-28 0000851205 srt:EuropeMember 2021-01-01 2021-07-04 0000851205 srt:EuropeMember 2020-01-01 2020-06-28 0000851205 country:CN 2021-04-05 2021-07-04 0000851205 country:CN 2020-03-30 2020-06-28 0000851205 country:CN 2021-01-01 2021-07-04 0000851205 country:CN 2020-01-01 2020-06-28 0000851205 cgnx:AsiaExcludingChinaMember 2021-04-05 2021-07-04 0000851205 cgnx:AsiaExcludingChinaMember 2020-03-30 2020-06-28 0000851205 cgnx:AsiaExcludingChinaMember 2021-01-01 2021-07-04 0000851205 cgnx:AsiaExcludingChinaMember 2020-01-01 2020-06-28 0000851205 cgnx:StandardProductsandServicesMember 2021-04-05 2021-07-04 0000851205 cgnx:StandardProductsandServicesMember 2020-03-30 2020-06-28 0000851205 cgnx:StandardProductsandServicesMember 2021-01-01 2021-07-04 0000851205 cgnx:StandardProductsandServicesMember 2020-01-01 2020-06-28 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2021-04-05 2021-07-04 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2020-03-30 2020-06-28 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2021-01-01 2021-07-04 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2020-01-01 2020-06-28 0000851205 us-gaap:EmployeeStockOptionMember 2021-07-04 0000851205 srt:MinimumMember cgnx:GeneralStockOptionPlanMember 2021-01-01 2021-07-04 0000851205 srt:MaximumMember cgnx:GeneralStockOptionPlanMember 2021-01-01 2021-07-04 0000851205 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-07-04 0000851205 us-gaap:PerformanceSharesMember 2021-01-01 2021-07-04 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2020-12-31 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-07-04 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2021-07-04 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2021-04-05 2021-07-04 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2020-03-30 2020-06-28 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-06-28 0000851205 us-gaap:CostOfGoodsTotalMember 2021-04-05 2021-07-04 0000851205 us-gaap:CostOfGoodsTotalMember 2020-03-30 2020-06-28 0000851205 us-gaap:CostOfGoodsTotalMember 2021-01-01 2021-07-04 0000851205 us-gaap:CostOfGoodsTotalMember 2020-01-01 2020-06-28 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2021-04-05 2021-07-04 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2020-03-30 2020-06-28 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-07-04 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-06-28 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2021-04-05 2021-07-04 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2020-03-30 2020-06-28 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2021-01-01 2021-07-04 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2020-01-01 2020-06-28 0000851205 cgnx:RepurchaseProgramOctober2018Member 2018-10-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2021-01-01 2021-07-04 0000851205 cgnx:RepurchaseProgramOctober2018Member 2020-01-01 2020-06-28 0000851205 cgnx:RepurchaseProgramMarch2020Member 2020-03-12 0000851205 us-gaap:ForeignCountryMember us-gaap:RevenueCommissionersIrelandMember 2021-04-05 2021-07-04 0000851205 us-gaap:ForeignCountryMember us-gaap:StateAdministrationOfTaxationChinaMember 2021-04-05 2021-07-04 0000851205 us-gaap:ForeignCountryMember country:KP 2021-04-05 2021-07-04 0000851205 us-gaap:DomesticCountryMember 2021-04-05 2021-07-04 0000851205 us-gaap:EmployeeStockOptionMember 2021-04-05 2021-07-04 0000851205 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-07-04 0000851205 us-gaap:EmployeeStockOptionMember 2020-03-30 2020-06-28 0000851205 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-06-28 0000851205 us-gaap:RestrictedStockMember 2021-04-05 2021-07-04 0000851205 us-gaap:RestrictedStockMember 2021-01-01 2021-07-04 0000851205 us-gaap:RestrictedStockMember 2020-03-30 2020-06-28 0000851205 us-gaap:RestrictedStockMember 2020-01-01 2020-06-28 0000851205 2020-05-26 0000851205 us-gaap:OneTimeTerminationBenefitsMember 2020-03-30 2020-06-28 0000851205 us-gaap:ContractTerminationMember 2020-03-30 2020-06-28 0000851205 us-gaap:OtherRestructuringMember 2020-03-30 2020-06-28 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OneTimeTerminationBenefitsMember 2020-12-31 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:ContractTerminationMember 2020-12-31 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OtherRestructuringMember 2020-12-31 0000851205 us-gaap:AccruedLiabilitiesMember 2020-12-31 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OneTimeTerminationBenefitsMember 2021-01-01 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:ContractTerminationMember 2021-01-01 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OtherRestructuringMember 2021-01-01 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember 2021-01-01 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OneTimeTerminationBenefitsMember 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:ContractTerminationMember 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OtherRestructuringMember 2021-07-04 0000851205 us-gaap:AccruedLiabilitiesMember 2021-07-04 0000851205 us-gaap:SubsequentEventMember 2021-08-05 2021-08-05 shares iso4217:USD iso4217:USD shares pure iso4217:CNY iso4217:EUR iso4217:KRW iso4217:MXN iso4217:JPY iso4217:HUF iso4217:GBP iso4217:TWD iso4217:CAD iso4217:SGD cgnx:group 0000851205 --12-31 2021 Q2 false P4Y 10-Q true false 001-34218 COGNEX CORP MA 04-2713778 One Vision Drive Natick MA 01760 508 650-3000 Common Stock, par value $.002 per share CGNX NASDAQ Yes Yes Large Accelerated Filer false false false 2021-07-04 176707164 269158000 169097000 508185000 336332000 68432000 50320000 122477000 91520000 200726000 118777000 385708000 244812000 31302000 30397000 65407000 66343000 76843000 60153000 149267000 129291000 0 14798000 0 14798000 0 19571000 0 19571000 92581000 -6142000 171034000 14809000 -639000 336000 -1647000 -2667000 1723000 3291000 3277000 8520000 -127000 203000 -295000 20000 93538000 -2312000 172369000 20682000 15940000 -1170000 24923000 1347000 77598000 -1142000 147446000 19335000 0.44 -0.01 0.84 0.11 0.43 -0.01 0.82 0.11 176626000 172283000 176454000 172345000 179991000 172283000 179982000 175499000 0.060 0.055 0.120 0.110 77598000 -1142000 147446000 19335000 -61000 -836000 -646000 -1788000 -138000 12451000 -2096000 8590000 0 85000 0 -75000 68000 955000 68000 2805000 -206000 11411000 -2164000 5860000 -337000 1903000 -3107000 -5462000 -337000 1903000 -3107000 -5462000 -543000 13314000 -5271000 398000 77055000 12172000 142175000 19733000 217037000 269073000 189818000 102258000 0 0 190747000 103240000 803000 831000 149157000 125696000 1788000 5632000 68503000 60830000 65646000 37220000 692878000 601691000 542015000 390417000 0 0 543965000 395125000 76972000 79173000 21277000 22582000 242906000 244078000 13702000 15555000 425618000 434704000 7603000 7794000 2024921000 1800702000 32304000 16270000 76653000 77264000 11644000 9379000 76445000 21274000 7888000 8110000 204934000 132297000 16362000 18120000 306355000 314952000 15227000 14257000 40963000 48915000 11626000 9959000 595467000 538500000 0.01 0.01 400000 400000 0 0 0 0 0 0 0.002 0.002 300000000 300000000 176707000 176707000 175790000 175790000 353000 352000 874883000 807739000 593290000 487912000 -39072000 -33801000 1429454000 1262202000 2024921000 1800702000 147446000 19335000 22739000 22808000 8510000 11162000 -4000 -1214000 1853000 2582000 0 19571000 1816000 8783000 0 2534000 -1840000 -328000 68000 2805000 0 -75000 0 -114000 -973000 -1395000 23488000 8957000 3844000 3804000 9521000 1664000 28830000 25461000 16058000 143000 206000 15806000 -5588000 -25411000 55220000 32586000 -1711000 1534000 194725000 76180000 511625000 317540000 270696000 387765000 6550000 6985000 -247479000 63240000 44407000 48235000 20877000 51036000 21192000 18972000 0 1039000 2338000 -22812000 -1620000 -2018000 -52036000 114590000 269073000 171431000 217037000 286021000 176608000 353000 854491000 540686000 -38529000 1357001000 277000 1000 9662000 9663000 178000 1000 14397000 14398000 10730000 10730000 0.060 10597000 10597000 77598000 77598000 -61000 -138000 -138000 68000 68000 -337000 -337000 176707000 353000 874883000 593290000 -39072000 1429454000 171688000 344000 664132000 713208000 -50191000 1327493000 1359000 2000 38262000 38264000 8018000 8018000 0.055 9469000 9469000 -1142000 -1142000 -836000 12451000 12451000 -85000 -85000 955000 955000 1903000 1903000 173047000 346000 710412000 702597000 -36877000 1376478000 175790000 352000 807739000 487912000 -33801000 1262202000 1175000 2000 44405000 44407000 258000 1000 20876000 20877000 22739000 22739000 0.120 21192000 21192000 147446000 147446000 -646000 -2096000 -2096000 68000 68000 -3107000 -3107000 176707000 353000 874883000 593290000 -39072000 1429454000 172440000 345000 639372000 753268000 -37275000 1355710000 1822000 3000 48232000 48235000 1215000 2000 51034000 51036000 22808000 22808000 0.110 18972000 18972000 19335000 19335000 -1788000 8590000 8590000 75000 75000 2805000 2805000 -5462000 -5462000 173047000 346000 710412000 702597000 -36877000 1376478000 Summary of Significant Accounting Policies<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020 for a full description of other significant accounting policies.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, excess and obsolete inventory charges (Note 5), intangible asset impairment charges (Note 8), restructuring charges (Note 16) and financial statement reclassifications necessary to present fairly the Company’s financial position as of July 4, 2021, and the results of its operations for the three-month and six-month periods ended July 4, 2021 and June 28, 2020, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended July 4, 2021 are not necessarily indicative of the results to be expected for the full year.</span></div> New Pronouncements<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs" </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.</span></div> New Pronouncements<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs" </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.</span></div> Fair Value Measurements<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July 4, 2021 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:49.998%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.714%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted Prices in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">482,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,961 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,293 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’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. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s debt securities and forward contracts are reported at fair value based on 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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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. 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.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. in 2017 was written down to zero in 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of July 4, 2021. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next year. </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets for potential impairment as of May 26, 2020, which resulted in operating lease asset impairment charges of $2,534,000 (refer to Notes 6 and 16) that were included in "Restructuring charges" on the Consolidated Statements of Operations, and intangible asset impairment charges of $19,571,000 (refer to Note 8) in the second quarter of 2020. These fair value measurements were based upon the present values of future cash flows using significant inputs that were not observable in the market, and were therefore classified as Level 3. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No triggering event occurred in the six-month period ended July 4, 2021 that would indicate a potential impairment of long-lived assets. However, the Company continues to monitor global economic conditions, as events or changes in circumstances could result in an impairment of long-lived assets in a future period.</span></div> <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July 4, 2021 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:49.998%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.714%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted Prices in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">482,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,961 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,293 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 200000 0 0 482236000 0 0 130961000 0 0 90265000 0 0 18960000 0 0 6997000 0 0 5293000 0 0 47000 0 0 585000 0 0 0 0 2500000 2534000 19571000 Cash, Cash Equivalents, and Investments<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,837</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">266,609 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">200</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,464 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">217,037</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269,073 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">92,939</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,403 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">66,452</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,714 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,756</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,196</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,660 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,404</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">190,747</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103,240 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">415,784</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">203,428 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">65,509</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,058 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,022</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,960</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,006 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,593</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,735 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,097</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,440 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">543,965</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">395,125 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">951,749</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">767,438 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents are highly liquid investments with insignificant interest rate risk and maturities of ninety days or less at the time of acquisition. Cash equivalents consist primarily of government and institutional money market funds; treasury bills consist of debt securities issued by the U.S. government; 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; 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. All of the Company's securities as of July 4, 2021 and December 31, 2020 were denominated in U.S. Dollars.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $2,992,000 and $1,560,000 as of July 4, 2021 and December 31, 2020, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s available-for-sale investments as of July 4, 2021 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.243%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.392%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">437 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,939 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,164 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,189 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,196 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,404 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">414,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,874 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(543)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">415,784 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,276 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">315 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(82)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,509 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,677 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,921 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,592 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,593 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,096 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,097 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">731,833</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,521</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(642)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">734,712</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July 4, 2021 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:30.711%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.654%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,565 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(546)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,565 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(546)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,088 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(85)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,088 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(85)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,946 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,946 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">196,599</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(642)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">196,599</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(642)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's allowance for credit losses on debt securities was zero as of July 4, 2021 and December 31, 2020. There was no activity recorded in the allowance for credit losses during the three-month and six-month periods ended July 4, 2021. The Company recorded gross credit losses and gross credit recoveries totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020.</span></div><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $68,000 and $0, respectively, for both the three-month and six-month periods ended July 4, 2021. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $962,000 and $7,000, respectively, for the three-month period ended June 28, 2020, and $2,826,000 and $21,000, respectively, for the six-month period ended June 28, 2020. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of July 4, 2021 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:25.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.289%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">5-8 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,452 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">161,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,870 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,234 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,941 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">482,236 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,939 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,917 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,961 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,510 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,013 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,404 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,593 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,196 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,293 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">190,747</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">253,962</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,065</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">86,744</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">31,240</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,954</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">734,712</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,837</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">266,609 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">200</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,464 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">217,037</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269,073 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">92,939</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,403 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">66,452</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,714 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,756</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,196</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,660 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,404</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">190,747</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103,240 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">415,784</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">203,428 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">65,509</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,058 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,022</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,960</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,006 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,593</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,735 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,097</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,440 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">543,965</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">395,125 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">951,749</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">767,438 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 216837000 266609000 200000 2464000 217037000 269073000 92939000 35403000 66452000 32714000 24756000 25160000 4196000 8660000 2404000 1303000 190747000 103240000 415784000 203428000 65509000 67058000 38022000 96458000 18960000 19006000 4593000 5735000 1097000 3440000 543965000 395125000 951749000 767438000 2992000 1560000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s available-for-sale investments as of July 4, 2021 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.243%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.392%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">437 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,939 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,164 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,189 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,196 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,404 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">414,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,874 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(543)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">415,784 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,276 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">315 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(82)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,509 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,677 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,921 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,592 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,593 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,096 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,097 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">731,833</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,521</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(642)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">734,712</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 92502000 437000 0 92939000 66164000 291000 3000 66452000 24562000 197000 3000 24756000 4189000 7000 0 4196000 2401000 3000 0 2404000 414453000 1874000 543000 415784000 65276000 315000 82000 65509000 37677000 345000 0 38022000 18921000 39000 0 18960000 4592000 12000 11000 4593000 1096000 1000 0 1097000 731833000 3521000 642000 734712000 The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July 4, 2021 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:30.711%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.654%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,565 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(546)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,565 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(546)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,088 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(85)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,088 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(85)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,946 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,946 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">196,599</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(642)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">196,599</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(642)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table> 179565000 546000 0 0 179565000 546000 13088000 85000 0 0 13088000 85000 3946000 11000 0 0 3946000 11000 196599000 642000 0 0 196599000 642000 0 0 0 0 85000 160000 85000 68000 68000 0 0 962000 7000 2826000 21000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of July 4, 2021 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:25.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.289%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">5-8 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,452 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">161,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,870 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,234 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,941 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">482,236 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,939 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,917 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,961 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,510 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,013 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,404 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,593 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,196 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,293 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">190,747</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">253,962</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,065</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">86,744</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">31,240</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,954</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">734,712</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 66452000 161596000 139870000 77234000 30143000 6941000 482236000 92939000 37917000 105000 0 0 0 130961000 24756000 30896000 20090000 9510000 0 5013000 90265000 0 18960000 0 0 0 0 18960000 2404000 4593000 0 0 0 0 6997000 4196000 0 0 0 1097000 0 5293000 190747000 253962000 160065000 86744000 31240000 11954000 734712000 Inventories<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">22,229</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,800 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,996</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,780 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">42,278</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,250 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">68,503</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,830 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded provisions for excess and obsolete inventories of $1,111,000 and $1,816,000 for the three-month and six-month periods ended July 4, 2021, respectively, and $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, which reduced the carrying value of the inventories to their net realizable value. Estimates in 2020 took into account the global economic conditions resulting from the COVID-19 pandemic.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">22,229</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,800 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,996</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,780 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">42,278</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,250 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">68,503</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,830 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 22229000 26800000 3996000 4780000 42278000 29250000 68503000 60830000 1111000 1816000 7718000 8783000 Leases<div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of July 4, 2021. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of July 4, 2021.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month and six-month periods ended July 4, 2021 was $2,021,000 and $4,023,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July 4, 2021 were $2,014,000 and $4,075,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month and six-month periods ended July 4, 2021 was $38,000 and $78,000, respectively.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month and six-month periods ended June 28, 2020 was $2,147,000 and $4,053,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended June 28, 2020 were $2,091,000 and $3,954,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month and six-month periods ended June 28, 2020 was $23,000 and $62,000, respectively.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:82.648%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.224%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,598 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,302 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,580 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,018 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,367</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The discounted present value of the future lease cash payments resulted in a lease liability of $24,250,000 and $26,230,000 as of July 4, 2021 and December 31, 2020, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of July 4, 2021 or December 31, 2020. </span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average discount rate was 3.8% and 4.0% for the leases outstanding as of July 4, 2021 and December 31, 2020, respectively. The weighted-average remaining lease term was 4.8 and 5.1 years for the leases outstanding as of July 4, 2021 and December 31, 2020, respectively. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management closed eleven leased offices in 2020, prior to the end of their lease terms, as a part of the Company's restructuring plan (refer to Note 16). The carrying value of the lease assets associated with the majority of these offices was reduced to zero as of June 28, 2020, resulting in operating lease asset impairment charges of $2,534,000 for the three-month period ended June 28, 2020 that are included in "Restructuring charges" on the Consolidated Statements of Operations. Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices, which obligations totaled $2,264,000 and $2,877,000 as of July 4, 2021 and December 31, 2020, respectively, and are included in "Operating lease liabilities" on the Consolidated Balance Sheets.</span></div> 2021000 4023000 2014000 4075000 38000 78000 2147000 4053000 2091000 3954000 23000 62000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:82.648%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.224%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,598 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,302 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,580 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,018 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,367</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 4598000 7302000 5531000 2500000 1580000 1018000 3838000 26367000 24250000 26230000 0.038 0.040 P4Y9M18D P5Y1M6D 0 2534000 2264000 2877000 Goodwill<div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:83.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.776%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">244,078 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,172)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">242,906</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets, including goodwill, for potential impairment during the second quarter of 2020. Based on this assessment, management concluded that events and circumstances did not indicate the fair value of the reporting unit was less than its carrying value. Factors that management considered in this qualitative assessment included macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, changes in the composition or carrying amount of net assets, and market capitalization.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:83.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.776%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">244,078 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,172)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">242,906</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 244078000 -1172000 242906000 Intangible Assets<div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,217</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,835</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,382</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,578</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,520</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,058</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">710</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">464</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">246</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">110</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">94</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">73,675</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,973</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,702</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,217 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,820 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,418 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">710 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">436 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,675 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,120 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,555 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:5pt"><span><br/></span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of July 4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:81.623%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.445%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,803 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,286 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,594 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,080 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,757 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">730 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,702</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets, including intangible assets, for potential impairment during the second quarter of 2020. Based on this assessment, management concluded that certain of the Company's finite-lived intangible assets failed the recoverability test, and recorded impairment charges for these assets equal to the amount by which their carrying value exceeded their fair value. The Company also measured the fair value and recorded an impairment charge for its indefinite-lived intangible asset related to in-process technologies. The fair values were established, with the assistance of an outside valuation advisor, using the income approach based on a discounted cash flow model that estimated future revenue streams and expenses attributable to those revenue streams provided by management.</span></div>This review resulted in intangible asset impairment charges totaling $19,571,000 in the second quarter of 2020, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab Co. Ltd. ("Sualab") as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Completed technologies, in-process technologies, and customer relationships acquired from Sualab were impaired in the amounts of $10,070,000, $5,900,000, and $3,382,000, respectively. In addition, customer relationships acquired from EnShape GmbH that had a gross carrying value of $447,000 and accumulated amortization of $228,000 on the measurement date were reduced to zero, resulting in an impairment charge of $219,000. The Company did not record impairment charges related to intangible assets during the three-month or six-month periods ended July 4, 2021. <div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,217</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,835</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,382</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,578</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,520</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,058</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">710</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">464</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">246</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">110</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">94</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">73,675</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,973</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,702</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,217 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,820 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,418 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">710 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">436 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,675 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,120 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,555 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 38060000 38060000 0 24217000 13835000 10382000 10578000 7520000 3058000 710000 464000 246000 110000 94000 16000 73675000 59973000 13702000 38060000 38060000 0 24217000 12397000 11820000 10578000 7160000 3418000 710000 436000 274000 110000 67000 43000 73675000 58120000 15555000 <div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of July 4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:81.623%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.445%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,803 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,286 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,594 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,080 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,757 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">730 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,702</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 1803000 3286000 2594000 2080000 1757000 1452000 730000 13702000 19571000 10070000 5900000 3382000 447000 228000 0 219000 Warranty Obligations<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 changes in 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’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. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:80.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.029%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,406 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,693 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,235)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,864</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:80.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.029%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,406 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,693 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,235)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,864</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 5406000 1693000 1235000 5864000 Derivative InstrumentsThe Company’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. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities of up to 95 days 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. <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:46.122%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.746%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">490,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,228 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,457 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,342 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,000,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,925,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,519 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,776 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,391 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,808 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,235,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,149 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,330,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,494 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,820 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,287 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Taiwanese Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,150 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,362 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,435 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,285 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,010 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Singapore Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,550 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,149 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,110 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.859%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.642%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.359%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">585</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents 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):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:19.281%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.826%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.826%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.668%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.540%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">585</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">585</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:25.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.357%"/><td style="width:0.1%"/></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr style="height:24pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(746)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,148</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,180)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> P95D <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:46.122%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.746%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">490,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,228 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,457 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,342 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,000,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,925,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,519 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,776 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,391 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,808 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,235,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,149 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,330,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,494 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,820 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,287 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Taiwanese Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,150 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,362 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,435 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,285 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,010 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Singapore Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,550 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,149 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,110 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 490000000 75228000 0 0 35000000 41457000 50000000 61342000 21000000000 18483000 6925000000 6377000 130000000 6519000 155000000 7776000 600000000 5391000 600000000 5808000 1235000000 4149000 1330000000 4494000 2820000 3881000 1675000 2287000 42150000 1511000 38035000 1362000 1435000 1160000 1285000 1010000 1550000 1149000 1465000 1110000 <div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.859%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.642%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.359%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">585</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 47000 265000 585000 38000 <div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents 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):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:19.281%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.826%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.826%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.668%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.540%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">585</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">585</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 47000 265000 585000 38000 0 0 0 0 47000 265000 585000 38000 <div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:25.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.357%"/><td style="width:0.1%"/></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr style="height:24pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(746)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,148</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,180)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> -746000 60000 2148000 -8180000 Revenue Recognition<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:36.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">108,418</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,966 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,254</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,214 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,967</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">117,015</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,569 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,706</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,898 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">97,944</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,301 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">41,067</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,246 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">76,972</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,248 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">269,158</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169,097 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">508,185</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336,332 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.402%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">234,322</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158,807 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">456,648</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">311,662 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">34,836</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,290 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">51,537</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,670 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">269,158</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169,097 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">508,185</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336,332 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Costs to Fulfill a Contract</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $25,328,000 and $6,846,000 as of July 4, 2021 and December 31, 2020, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.</span></div><div style="margin-top:3pt;text-align:justify"><span><br/></span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the six-month period ended July 4, 2021 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">831 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases to the allowance for credit losses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">803</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July 4, 2021 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,274 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,155)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">76,445</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:36.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">108,418</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,966 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,254</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,214 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,967</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">117,015</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,569 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,706</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,898 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">97,944</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,301 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">41,067</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,246 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">76,972</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,248 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">269,158</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169,097 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">508,185</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336,332 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 108418000 68966000 216254000 129214000 59967000 35987000 117015000 84569000 59706000 31898000 97944000 58301000 41067000 32246000 76972000 64248000 269158000 169097000 508185000 336332000 <div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.402%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">234,322</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158,807 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">456,648</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">311,662 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">34,836</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,290 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">51,537</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,670 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">269,158</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169,097 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">508,185</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336,332 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 234322000 158807000 456648000 311662000 34836000 10290000 51537000 24670000 269158000 169097000 508185000 336332000 25328000 6846000 <div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the six-month period ended July 4, 2021 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">831 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases to the allowance for credit losses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">803</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 831000 0 28000 0 803000 <div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July 4, 2021 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,274 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,155)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">76,445</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 21274000 69372000 14155000 -46000 76445000 Stock-Based Compensation Expense<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Plans</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of July 4, 2021, the Company had 15,692,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU2ODBhYWMxZmMxNDQ3ZTlhNTY0NDFhOWNhM2I1OTE0L3NlYzplNjgwYWFjMWZjMTQ0N2U5YTU2NDQxYTljYTNiNTkxNF83Ni9mcmFnOjgzYzM3YTJjN2FlYzQ0ZTViN2Y3NDkzZjY4NjgzYjhlL3RleHRyZWdpb246ODNjMzdhMmM3YWVjNDRlNWI3Zjc0OTNmNjg2ODNiOGVfNDE2_213de581-5b03-46bc-bd29-cbc6f74883a5">four</span> or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Options</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s stock option activity for the six-month period ended July 4, 2021:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:37.699%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.273%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.126%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.983%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term (in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.73 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">469 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89.19 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,167)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38.51 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(171)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50.95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of July 4, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,101</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">48.07</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.91</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">298,370</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of July 4, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,652</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38.46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.72</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">168,497</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of July 4, 2021 (1)</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,474</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47.27</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.81</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">281,063</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.5</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.3</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.31</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.27</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.8</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risk-free rate</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected dividend yield</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected volatility</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected term</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant-date fair values of stock options granted during the three-month and six-month periods ended July 4, 2021 were $32.07 and $33.47, respectively, and during the three-month and six-month periods ended June 28, 2020 were $19.13 and $18.52, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic values of stock options exercised for the three-month and six-month periods ended July 4, 2021 were $11,621,000 and $53,948,000, respectively, and for the three-month and six-month periods ended June 28, 2020 were $39,359,000 and $53,814,000, respectively. The total fair values of stock options vested for the three-month and six-month periods ended July 4, 2021 were $1,830,000 and $37,430,000, respectively, and for the three-month and six-month periods ended June 28, 2020 were $1,287,000 and $37,951,000, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Restricted Stock Units (RSUs)</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the six-month period ended July 4, 2021: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">554 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.27 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87.46 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56.61 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54.60 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 4, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">808</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">64.31</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended July 4, 2021 were $75.98 and $87.46, respectively, and during the three-month and six-month periods ended June 28, 2020 were $56.97 and $51.53, respectively. There were 13,000 and 15,000 RSUs that vested during the three-month and six-month periods ended July 4, 2021, respectively. There were no RSUs that vested during the three-month and six-month periods ended June 28, 2020.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock-Based Compensation Expense</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company segments its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 8% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $255,000 in 2021 and an increase to compensation expense of $1,787,000 in 2020.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July 4, 2021, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $63,625,000, which is expected to be recognized over a weighted-average period of 1.8 years.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July 4, 2021 were $10,730,000 and $1,651,000, respectively, and for the six-month period ended July 4, 2021 were $22,739,000 and $3,464,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended June 28, 2020 were $8,018,000 and $1,277,000, respectively, and for the six-month period ended June 28, 2020 were $22,808,000 and $3,841,000, respectively. Stock-based compensation expense recognized for the three-month and six-month periods ended June 28, 2020 included credits of $1,401,000 relating to grants cancelled as a result of the Company's workforce reduction in the second quarter of 2020. No compensation expense was capitalized as of July 4, 2021 or December 31, 2020.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.812%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.941%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">351</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">363 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">599</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">717 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,064</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,067</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,767 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,315</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,254 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">15,073</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,324 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,730</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,018 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">22,739</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,808 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 15692000 P5Y P10Y P3Y <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s stock option activity for the six-month period ended July 4, 2021:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:37.699%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.273%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.126%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.983%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term (in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.73 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">469 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89.19 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,167)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38.51 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(171)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50.95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of July 4, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,101</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">48.07</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.91</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">298,370</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of July 4, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,652</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38.46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.72</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">168,497</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of July 4, 2021 (1)</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,474</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47.27</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.81</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">281,063</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (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.</span></div> 8970000 44.73 469000 89.19 1167000 38.51 171000 50.95 8101000 48.07 P6Y10M28D 298370000 3652000 38.46 P5Y8M19D 168497000 7474000 47.27 P6Y9M21D 281063000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.5</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.3</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.31</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.27</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.8</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td></tr></table></div> 0.015 0.016 0.013 0.016 0.0031 0.0043 0.0027 0.0043 0.39 0.37 0.39 0.37 P7Y1M6D P6Y P5Y9M18D P6Y 32.07 33.47 19.13 18.52 11621000 53948000 39359000 53814000 1830000 37430000 1287000 37951000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the six-month period ended July 4, 2021: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">554 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.27 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87.46 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56.61 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54.60 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 4, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">808</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">64.31</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 554000 51.27 296000 87.46 15000 56.61 27000 54.60 808000 64.31 75.98 87.46 56.97 51.53 13000 15000 0 0 2 0.08 0.12 255000 1787000 63625000 P1Y9M18D 10730000 1651000 22739000 3464000 8018000 1277000 22808000 3841000 -1401000 0 0 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.812%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.941%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">351</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">363 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">599</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">717 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,064</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,067</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,767 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,315</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,254 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">15,073</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,324 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,730</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,018 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">22,739</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,808 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 351000 363000 599000 717000 3064000 2401000 7067000 7767000 7315000 5254000 15073000 14324000 10730000 8018000 22739000 22808000 Stock Repurchase ProgramIn October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July 4, 2021, the Company repurchased 3,075,000 shares at a cost of $142,225,000 under this program, including 258,000 shares at a cost of $20,877,000 during the six-month period ended July 4, 2021, leaving a remaining balance of $57,775,000. 1,215,000 shares at a cost of $51,036,000 were repurchased during the six-month period ended June 28, 2020 under this October 2018 program. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 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 awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions. 200000000 3075000 142225000 258000 20877000 57775000 1215000 51036000 200000000 Taxes<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.355%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit) at U.S. federal statutory corporate tax rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">21</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">21</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State income taxes, net of federal benefit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign tax rate differential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discrete tax benefit related to stock options</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(191)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discrete tax expense related to tax return filings</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">141 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax rate adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">17</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">14</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises that resulted in a favorable impact to the effective tax rate of 2% and 4% for the three-month and six-month periods ended July 4, 2021, respectively, and 191% and 29% for the three-month and six-month periods ended June 28, 2020, respectively. In addition to stock option exercises, other discrete adjustments recorded included the final true-up of the prior year's tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 1% for the three-month period ended July 4, 2021 and no impact for the six-month period ended July 4, 2021, and an unfavorable impact to the effective tax rate of 141% and 17% for the same periods in 2020.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excluding the impact of these discrete items, the Company’s effective tax rate was an expense of 18% of pre-tax income for both the three-month and six-month periods ended July 4, 2021, compared to a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the same periods in 2020. The decrease in the effective tax rate for the six-month period, excluding the impact of discrete items, was due to a lower percentage of the Company's pre-tax income being earned and taxed in higher tax jurisdictions. There was an adjustment in the three-month period in 2020 to bring the year-to-date effective tax rate to 19%.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six-month period ended July 4, 2021, the Company recorded a $935,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $370,000 for the six-month period ended July 4, 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s reserve for income taxes, including gross interest and penalties, was $16,255,000 as of July 4, 2021, which included $15,227,000 classified as a non-current liability and $1,028,000 recorded as a reduction to non-current deferred tax assets. If the Company’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 $450,000 to $500,000 over the next twelve months.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 25% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in an impact to the effective tax rate of 5% for both the three-month and six-month periods ended July 4, 2021, and an impact of 5% for the same periods in 2020.</span></div>Within the United States, the tax years 2017 through 2020 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2016 through 2020 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company is under audit by the IRS for the tax years 2017 and 2018. Additionally, the Company is under audit by the Commonwealth of Massachusetts for tax years 2017 and 2018. Management believes the Company is adequately reserved for these audits. The final determination of tax audits could result in favorable or unfavorable changes in our estimates. <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.355%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit) at U.S. federal statutory corporate tax rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">21</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">21</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State income taxes, net of federal benefit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign tax rate differential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discrete tax benefit related to stock options</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(191)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discrete tax expense related to tax return filings</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">141 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax rate adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">17</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">14</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div> 0.21 -0.21 0.21 0.21 0.02 -0.01 0.02 0.01 -0.05 0.05 -0.05 -0.05 0.01 -0.02 0.01 0.02 0.02 1.91 0.04 0.29 0.01 1.41 0 0.17 0 0.18 0 0 0.01 -0.04 0.01 0.04 0.17 -0.51 0.14 0.07 0.02 0.04 1.91 0.29 0.01 0 1.41 0.17 0.18 0.18 0.01 0.19 0.19 935000 370000 16255000 15227000 1028000 450000 500000 0.125 0.25 0.25 0.21 -0.05 -0.05 -0.05 0.05 2017 through 2020 2016 through 2020 Weighted-Average Shares<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.355%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">176,626</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,283 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">176,454</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,345 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,365</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,528</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,154 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">179,991</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,283 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">179,982</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,499 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:5pt"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options to purchase 701,000 and 591,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 4, 2021, respectively, and 5,801,000 and 6,328,000 for the same periods in 2020, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 500 and 1,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 4, 2021, respectively, and 27,000 and 14,000 for the same periods in 2020, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Additionally, because the Company recorded a cumulative net loss during the three-month period ended June 28, 2020, potential common stock equivalents of 3,120,000 were not included in the calculation of diluted net loss per share for this period.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.355%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 28, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">176,626</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,283 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">176,454</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,345 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,365</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,528</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,154 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">179,991</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,283 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">179,982</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,499 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 176626000 172283000 176454000 172345000 3365000 0 3528000 3154000 179991000 172283000 179982000 175499000 701000 591000 5801000 6328000 500 1000 27000 14000 3120000 Restructuring Charges<div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2020, the majority of these actions were completed and no additional charges are expected to be incurred in future periods in relation to this restructuring plan. There were no restructuring charges recognized during the three-month or six-month periods ended July 4, 2021. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restructuring charges incurred in the three-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:69.221%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:28.579%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Incurred in the Three-months Ended June 28, 2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">One-time termination benefits</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other associated costs</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,798 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One-time termination benefits included severance, health insurance, and outplacement services for 181 employees who were either terminated during the second quarter of 2020, or were notified during the second quarter of 2020 that they would be terminated at a future date. For employees not required to render service beyond a minimum retention period, the one-time termination benefits were recognized in the three-month period ended June 28, 2020. Otherwise, these benefits, including retention bonuses for selected employees, were recognized over the service period, which was completed by December 31, 2020. </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract termination costs included operating lease asset impairment charges for offices closed prior to the end of the contractual lease term. These costs also included the write-off of leasehold improvements and other equipment related to these abandoned offices that had no alternative use, as well as other associated operating costs, such as utilities, that the Company is obligated to pay for the remainder of the lease term. These contract termination costs were primarily recognized in the second quarter of 2020 when the Company ceased using the property for economic benefit. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other associated costs primarily included legal fees related to the employee termination actions, which were recognized when the services were performed.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity for the six-month period ended July 4, 2021 in the Company’s restructuring reserve which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.081%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">One-time Termination Benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Termination Costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other Associated Costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,624 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">750 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,389</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,117)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(131)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1,263)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">507</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">616</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,123</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 0.08 0 0 <div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the restructuring charges incurred in the three-month period ended June 28, 2020 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:69.221%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:28.579%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Incurred in the Three-months Ended June 28, 2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">One-time termination benefits</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other associated costs</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,798 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 10386000 3995000 417000 14798000 <div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity for the six-month period ended July 4, 2021 in the Company’s restructuring reserve which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.081%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">One-time Termination Benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Termination Costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other Associated Costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,624 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">750 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,389</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,117)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(131)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1,263)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance as of July 4, 2021</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">507</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">616</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,123</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 1624000 750000 15000 2389000 1117000 131000 15000 1263000 0 3000 0 3000 507000 616000 0 1123000 Subsequent EventsOn August 5, 2021, the Company’s Board of Directors declared a cash dividend of $0.060 per share. The dividend is payable on September 3, 2021 to all shareholders of record as of the close of business on August 20, 2021. 0.060 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.21.2
Cover Page
6 Months Ended
Jul. 04, 2021
shares
Cover [Abstract]  
Document Type 10-Q
Document Quarterly Report true
Document Period End Date Jul. 04, 2021
Document Transition Report false
Entity File Number 001-34218
Entity Registrant Name COGNEX CORP
Entity Central Index Key 0000851205
Current Fiscal Year End Date --12-31
Document Fiscal Year Focus 2021
Document Fiscal Period Focus Q2
Amendment Flag false
Entity Incorporation, State or Country Code MA
Entity Tax Identification Number 04-2713778
Entity Address, Address Line One One Vision Drive
Entity Address, City or Town Natick
Entity Address, State or Province MA
Entity Address, Postal Zip Code 01760
City Area Code 508
Local Phone Number 650-3000
Entity Current Reporting Status Yes
Entity Interactive Data Current Yes
Entity Filer Category Large Accelerated Filer
Entity Small Business false
Entity Emerging Growth Company false
Entity Shell Company false
Title of 12(b) Security Common Stock, par value $.002 per share
Trading Symbol CGNX
Security Exchange Name NASDAQ
Entity Common Stock, Shares Outstanding 176,707,164
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Income Statement [Abstract]        
Revenue $ 269,158 $ 169,097 $ 508,185 $ 336,332
Cost of revenue 68,432 50,320 122,477 91,520
Gross margin 200,726 118,777 385,708 244,812
Research, development, and engineering expenses 31,302 30,397 65,407 66,343
Selling, general, and administrative expenses 76,843 60,153 149,267 129,291
Operating income (loss) 92,581 (6,142) 171,034 14,809
Foreign currency gain (loss) (639) 336 (1,647) (2,667)
Investment income 1,723 3,291 3,277 8,520
Other income (expense) (127) 203 (295) 20
Income (loss) before income tax expense (benefit) 93,538 (2,312) 172,369 20,682
Income tax expense (benefit) 15,940 (1,170) 24,923 1,347
Net Income $ 77,598 $ (1,142) $ 147,446 $ 19,335
Net income (loss) per weighted-average common and common-equivalent share:        
Basic (usd per share) $ 0.44 $ (0.01) $ 0.84 $ 0.11
Diluted (usd per share) $ 0.43 $ (0.01) $ 0.82 $ 0.11
Weighted-average common and common-equivalent shares outstanding:        
Basic (shares) 176,626 172,283 176,454 172,345
Diluted (shares) 179,991 172,283 179,982 175,499
Cash dividends per common share (usd per share) $ 0.060 $ 0.055 $ 0.120 $ 0.110
Restructuring charges (Note 16) $ 0 $ 14,798 $ 0 $ 14,798
Intangible asset impairment charges (Note 8) $ 0 $ 19,571 $ 0 $ 19,571
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Statement of Comprehensive Income [Abstract]        
Net income $ 77,598 $ (1,142) $ 147,446 $ 19,335
Available-for-sale investments:        
Net unrealized gain (loss) on available-for-sale investments, net of tax (138) 12,451 (2,096) 8,590
Reclassification of credit loss (recovery) on investments into current operations 0 (85) 0 75
Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations (68) (955) (68) (2,805)
Net change related to available-for-sale investments (206) 11,411 (2,164) 5,860
Foreign currency translation adjustments:        
Foreign currency translation adjustments (337) 1,903 (3,107) (5,462)
Other comprehensive income (loss), net of tax (543) 13,314 (5,271) 398
Total comprehensive income $ 77,055 $ 12,172 $ 142,175 $ 19,733
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Statement of Comprehensive Income [Abstract]        
Tax effect of unrealized gain (loss) on available-for-sale investments $ (61) $ (836) $ (646) $ (1,788)
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Balance Sheets - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Current assets:    
Cash and cash equivalents $ 217,037 $ 269,073
Current investments, amortized cost of $189,818 and $102,258 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020 190,747 103,240
Accounts receivable, allowance for credit losses of $803 and $831 in 2021 and 2020, respectively 149,157 125,696
Unbilled revenue 1,788 5,632
Inventories 68,503 60,830
Prepaid expenses and other current assets 65,646 37,220
Total current assets 692,878 601,691
Non-current investments, amortized cost of $542,015 and $390,417 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020 543,965 395,125
Property, plant, and equipment, net 76,972 79,173
Operating lease assets 21,277 22,582
Goodwill 242,906 244,078
Intangible assets, net 13,702 15,555
Deferred income taxes 425,618 434,704
Other assets 7,603 7,794
Total assets 2,024,921 1,800,702
Current liabilities:    
Accounts payable 32,304 16,270
Accrued expenses 76,653 77,264
Accrued income taxes 11,644 9,379
Deferred revenue and customer deposits 76,445 21,274
Operating lease liabilities 7,888 8,110
Total current liabilities 204,934 132,297
Non-current operating lease liabilities 16,362 18,120
Deferred income taxes 306,355 314,952
Reserve for income taxes 15,227 14,257
Non-current accrued income taxes 40,963 48,915
Other liabilities 11,626 9,959
Total liabilities 595,467 538,500
Shareholders’ equity:    
Preferred stock, $.01 par value – Authorized: 400 shares in 2021 and 2020, respectively, no shares issued and outstanding 0 0
Common stock, $.002 par value – Authorized: 300,000 shares in 2021 and 2020, respectively, issued and outstanding: 176,707 and 175,790 shares in 2021 and 2020, respectively 353 352
Additional paid-in capital 874,883 807,739
Retained earnings 593,290 487,912
Accumulated other comprehensive loss, net of tax (39,072) (33,801)
Total shareholders’ equity 1,429,454 1,262,202
Total liabilities and shareholders' equity $ 2,024,921 $ 1,800,702
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Statement of Financial Position [Abstract]    
Amortized cost of current investments $ 189,818 $ 102,258
Allowance for credit losses 0 0
Allowance for credit losses, current 803 831
Amortized cost of non-current investments 542,015 390,417
Allowance for credit losses, non-current $ 0 $ 0
Common stock par value (in dollars per share) $ 0.002 $ 0.002
Common stock shares authorized (in shares) 300,000,000 300,000,000
Common stock, shares issued (in shares) 176,707,000 175,790,000
Common stock, shares outstanding (in shares) 176,707,000 175,790,000
Preferred stock par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock shares authorized (in shares) 400,000 400,000
Preferred stock shares issued (in shares) 0 0
Preferred stock shares outstanding (in shares) 0 0
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Cash flows from operating activities:    
Net income $ 147,446 $ 19,335
Adjustments to reconcile net income to net cash provided by operating activities:    
Stock-based compensation expense 22,739 22,808
Depreciation of property, plant, and equipment 8,510 11,162
Loss on disposal of property, plant, and equipment 4 1,214
Amortization of intangible assets 1,853 2,582
Intangible asset impairment charges 0 19,571
Excess and obsolete inventory charges 1,816 8,783
Operating lease asset impairment charges 0 2,534
Amortization of discounts or premiums on investments 1,840 328
Realized gain on sale of investments (68) (2,805)
Credit loss on investments 0 75
Revaluation of contingent consideration 0 (114)
Change in deferred income taxes 973 1,395
Accounts receivable (23,488) (8,957)
Unbilled revenue 3,844 3,804
Inventories (9,521) (1,664)
Prepaid expenses and other current assets (28,830) (25,461)
Accounts payable 16,058 143
Accrued expenses 206 15,806
Accrued income taxes (5,588) (25,411)
Deferred revenue and customer deposits 55,220 32,586
Other 1,711 (1,534)
Net cash provided by operating activities 194,725 76,180
Cash flows from investing activities:    
Purchases of investments (511,625) (317,540)
Maturities and sales of investments 270,696 387,765
Purchases of property, plant, and equipment (6,550) (6,985)
Net cash provided by (used in) investing activities (247,479) 63,240
Cash flows from financing activities:    
Net proceeds from issuance of common stock under stock plans 44,407 48,235
Repurchase of common stock (20,877) (51,036)
Payment of dividends (21,192) (18,972)
Payment of contingent consideration 0 (1,039)
Net cash provided by (used in) financing activities 2,338 (22,812)
Effect of foreign exchange rate changes on cash and cash equivalents (1,620) (2,018)
Net change in cash and cash equivalents (52,036) 114,590
Cash and cash equivalents at beginning of period 269,073 171,431
Cash and cash equivalents at end of period $ 217,037 $ 286,021
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Statement of Shareholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning Balance at Dec. 31, 2019 $ 1,355,710 $ 345 $ 639,372 $ 753,268 $ (37,275)
Beginning Balance (in shares) at Dec. 31, 2019   172,440      
Increase (Decrease) in Stockholders' Equity          
Net issuance of common stock under stock plans 48,235 $ 3 48,232    
Issuance of common stock under stock plans (in shares)   1,822      
Repurchase of common stock (51,036) $ (2)   (51,034)  
Repurchase of common stock (in shares)   (1,215)      
Stock-based compensation expense $ 22,808   22,808    
Cash dividends per common share (usd per share) $ 0.110        
Payment of dividends $ (18,972)     (18,972)  
Net income 19,335     19,335  
Net unrealized gain (loss) on available-for-sale investments, net of tax 8,590       8,590
Reclassification of credit loss (recovery) on investments 75       75
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (2,805)       (2,805)
Foreign currency translation adjustment (5,462)       (5,462)
Ending Balance (in shares) at Jun. 28, 2020   173,047      
Ending Balance at Jun. 28, 2020 1,376,478 $ 346 710,412 702,597 (36,877)
Beginning Balance at Mar. 29, 2020 1,327,493 $ 344 664,132 713,208 (50,191)
Beginning Balance (in shares) at Mar. 29, 2020   171,688      
Increase (Decrease) in Stockholders' Equity          
Net issuance of common stock under stock plans 38,264 $ 2 38,262    
Issuance of common stock under stock plans (in shares)   1,359      
Stock-based compensation expense $ 8,018   8,018    
Cash dividends per common share (usd per share) $ 0.055        
Payment of dividends $ (9,469)     (9,469)  
Net income (1,142)     (1,142)  
Net unrealized gain (loss) on available-for-sale investments, net of tax 12,451       12,451
Reclassification of credit loss (recovery) on investments (85)       (85)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (955)       (955)
Foreign currency translation adjustment 1,903       1,903
Ending Balance (in shares) at Jun. 28, 2020   173,047      
Ending Balance at Jun. 28, 2020 1,376,478 $ 346 710,412 702,597 (36,877)
Beginning Balance at Dec. 31, 2020 $ 1,262,202 $ 352 807,739 487,912 (33,801)
Beginning Balance (in shares) at Dec. 31, 2020 175,790 175,790      
Increase (Decrease) in Stockholders' Equity          
Net issuance of common stock under stock plans $ 44,407 $ 2 44,405    
Issuance of common stock under stock plans (in shares)   1,175      
Repurchase of common stock (20,877) $ (1)   (20,876)  
Repurchase of common stock (in shares)   (258)      
Stock-based compensation expense $ 22,739   22,739    
Cash dividends per common share (usd per share) $ 0.120        
Payment of dividends $ (21,192)     (21,192)  
Net income 147,446     147,446  
Net unrealized gain (loss) on available-for-sale investments, net of tax (2,096)       (2,096)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (68)       (68)
Foreign currency translation adjustment $ (3,107)       (3,107)
Ending Balance (in shares) at Jul. 04, 2021 176,707 176,707      
Ending Balance at Jul. 04, 2021 $ 1,429,454 $ 353 874,883 593,290 (39,072)
Beginning Balance at Apr. 04, 2021 1,357,001 $ 353 854,491 540,686 (38,529)
Beginning Balance (in shares) at Apr. 04, 2021   176,608      
Increase (Decrease) in Stockholders' Equity          
Net issuance of common stock under stock plans 9,663 $ 1 9,662    
Issuance of common stock under stock plans (in shares)   277      
Repurchase of common stock (14,398) $ (1)   (14,397)  
Repurchase of common stock (in shares)   (178)      
Stock-based compensation expense $ 10,730   10,730    
Cash dividends per common share (usd per share) $ 0.060        
Payment of dividends $ (10,597)     (10,597)  
Net income 77,598     77,598  
Net unrealized gain (loss) on available-for-sale investments, net of tax (138)       (138)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (68)       (68)
Foreign currency translation adjustment $ (337)       (337)
Ending Balance (in shares) at Jul. 04, 2021 176,707 176,707      
Ending Balance at Jul. 04, 2021 $ 1,429,454 $ 353 $ 874,883 $ 593,290 $ (39,072)
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.21.2
Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Statement of Stockholders' Equity [Abstract]        
Cash dividends per common share (usd per share) $ 0.060 $ 0.055 $ 0.120 $ 0.110
Tax effect of unrealized gain (loss) on available-for-sale investments $ (61) $ (836) $ (646) $ (1,788)
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Summary of Significant Accounting Policies
6 Months Ended
Jul. 04, 2021
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020 for a full description of other significant accounting policies.
In the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, excess and obsolete inventory charges (Note 5), intangible asset impairment charges (Note 8), restructuring charges (Note 16) and financial statement reclassifications necessary to present fairly the Company’s financial position as of July 4, 2021, and the results of its operations for the three-month and six-month periods ended July 4, 2021 and June 28, 2020, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended July 4, 2021 are not necessarily indicative of the results to be expected for the full year.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.21.2
New Pronouncements
6 Months Ended
Jul. 04, 2021
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"
The amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs"
The amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"
The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements
6 Months Ended
Jul. 04, 2021
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July 4, 2021 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$200 $— 
Corporate bonds— 482,236 — 
Treasury bills— 130,961 — 
Asset-backed securities— 90,265 — 
Agency bonds— 18,960 — 
Municipal bonds— 6,997 — 
Sovereign bonds— 5,293 — 
Economic hedge forward contracts— 47 — 
Liabilities:
Economic hedge forward contracts— 585 — 

The Company’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.
The Company’s debt securities and forward contracts are reported at fair value based on 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.
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. 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.

The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. in 2017 was written down to zero in 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of July 4, 2021. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next year.
Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis

Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets for potential impairment as of May 26, 2020, which resulted in operating lease asset impairment charges of $2,534,000 (refer to Notes 6 and 16) that were included in "Restructuring charges" on the Consolidated Statements of Operations, and intangible asset impairment charges of $19,571,000 (refer to Note 8) in the second quarter of 2020. These fair value measurements were based upon the present values of future cash flows using significant inputs that were not observable in the market, and were therefore classified as Level 3.
No triggering event occurred in the six-month period ended July 4, 2021 that would indicate a potential impairment of long-lived assets. However, the Company continues to monitor global economic conditions, as events or changes in circumstances could result in an impairment of long-lived assets in a future period.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments
6 Months Ended
Jul. 04, 2021
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
July 4, 2021December 31, 2020
Cash$216,837 $266,609 
Money market instruments200 2,464 
Cash and cash equivalents217,037 269,073 
Treasury bills92,939 35,403 
Corporate bonds66,452 32,714 
Asset-backed securities24,756 25,160 
Sovereign bonds4,196 8,660 
Municipal bonds2,404 1,303 
Current investments190,747 103,240 
Corporate bonds415,784 203,428 
Asset-backed securities65,509 67,058 
Treasury bills38,022 96,458 
Agency bonds18,960 19,006 
Municipal bonds4,593 5,735 
Sovereign bonds1,097 3,440 
Non-current investments543,965 395,125 
$951,749 $767,438 

Cash equivalents are highly liquid investments with insignificant interest rate risk and maturities of ninety days or less at the time of acquisition. Cash equivalents consist primarily of government and institutional money market funds; treasury bills consist of debt securities issued by the U.S. government; 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; 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. All of the Company's securities as of July 4, 2021 and December 31, 2020 were denominated in U.S. Dollars.
Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $2,992,000 and $1,560,000 as of July 4, 2021 and December 31, 2020, respectively.
The following table summarizes the Company’s available-for-sale investments as of July 4, 2021 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Treasury bills$92,502 $437 $— $92,939 
Corporate bonds66,164 291 (3)66,452 
Asset-backed securities24,562 197 (3)24,756 
Sovereign bonds4,189 — 4,196 
Municipal bonds2,401 — 2,404 
Non-current:
Corporate bonds414,453 1,874 (543)415,784 
Asset-backed securities65,276 315 (82)65,509 
Treasury bills37,677 345 — 38,022 
Agency bonds18,921 39 — 18,960 
Municipal bonds4,592 12 (11)4,593 
Sovereign bonds1,096 — 1,097 
$731,833 $3,521 $(642)$734,712 
The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July 4, 2021 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$179,565 $(546)$— $— $179,565 $(546)
Asset-backed securities13,088 (85)— — 13,088 (85)
Municipal bonds3,946 (11)— — 3,946 (11)
$196,599 $(642)$ $ $196,599 $(642)
The Company's allowance for credit losses on debt securities was zero as of July 4, 2021 and December 31, 2020. There was no activity recorded in the allowance for credit losses during the three-month and six-month periods ended July 4, 2021. The Company recorded gross credit losses and gross credit recoveries totaling $0 and $85,000, respectively, for the three-month period ended June 28, 2020, and $160,000 and $85,000, respectively, for the six-month period ended June 28, 2020.

The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $68,000 and $0, respectively, for both the three-month and six-month periods ended July 4, 2021. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $962,000 and $7,000, respectively, for the three-month period ended June 28, 2020, and $2,826,000 and $21,000, respectively, for the six-month period ended June 28, 2020. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of July 4, 2021 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 Years5-8 YearsTotal
Corporate bonds$66,452 $161,596 $139,870 $77,234 $30,143 $6,941 $482,236 
Treasury bills92,939 37,917 105 — — — 130,961 
Asset-backed securities24,756 30,896 20,090 9,510 — 5,013 90,265 
Agency bonds— 18,960 — — — — 18,960 
Municipal bonds2,404 4,593 — — — — 6,997 
Sovereign bonds4,196 — — — 1,097 — 5,293 
$190,747 $253,962 $160,065 $86,744 $31,240 $11,954 $734,712 
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.21.2
Inventories
6 Months Ended
Jul. 04, 2021
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories consisted of the following (in thousands):
July 4, 2021December 31, 2020
Raw materials$22,229 $26,800 
Work-in-process3,996 4,780 
Finished goods42,278 29,250 
$68,503 $60,830 

The Company recorded provisions for excess and obsolete inventories of $1,111,000 and $1,816,000 for the three-month and six-month periods ended July 4, 2021, respectively, and $7,718,000 and $8,783,000 for the three-month and six-month periods ended June 28, 2020, respectively, which reduced the carrying value of the inventories to their net realizable value. Estimates in 2020 took into account the global economic conditions resulting from the COVID-19 pandemic.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.21.2
Leases
6 Months Ended
Jul. 04, 2021
Leases [Abstract]  
Leases Leases
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of July 4, 2021. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of July 4, 2021.
The total operating lease expense for the three-month and six-month periods ended July 4, 2021 was $2,021,000 and $4,023,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July 4, 2021 were $2,014,000 and $4,075,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month and six-month periods ended July 4, 2021 was $38,000 and $78,000, respectively.
The total operating lease expense for the three-month and six-month periods ended June 28, 2020 was $2,147,000 and $4,053,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended June 28, 2020 were $2,091,000 and $3,954,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month and six-month periods ended June 28, 2020 was $23,000 and $62,000, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2021$4,598 
20227,302 
20235,531 
20242,500 
20251,580 
20261,018 
Thereafter3,838 
$26,367 
The discounted present value of the future lease cash payments resulted in a lease liability of $24,250,000 and $26,230,000 as of July 4, 2021 and December 31, 2020, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of July 4, 2021 or December 31, 2020.
The weighted-average discount rate was 3.8% and 4.0% for the leases outstanding as of July 4, 2021 and December 31, 2020, respectively. The weighted-average remaining lease term was 4.8 and 5.1 years for the leases outstanding as of July 4, 2021 and December 31, 2020, respectively.
Management closed eleven leased offices in 2020, prior to the end of their lease terms, as a part of the Company's restructuring plan (refer to Note 16). The carrying value of the lease assets associated with the majority of these offices was reduced to zero as of June 28, 2020, resulting in operating lease asset impairment charges of $2,534,000 for the three-month period ended June 28, 2020 that are included in "Restructuring charges" on the Consolidated Statements of Operations. Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices, which obligations totaled $2,264,000 and $2,877,000 as of July 4, 2021 and December 31, 2020, respectively, and are included in "Operating lease liabilities" on the Consolidated Balance Sheets.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill
6 Months Ended
Jul. 04, 2021
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2020$244,078 
  Foreign exchange rate changes(1,172)
Balance as of July 4, 2021$242,906 
The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets, including goodwill, for potential impairment during the second quarter of 2020. Based on this assessment, management concluded that events and circumstances did not indicate the fair value of the reporting unit was less than its carrying value. Factors that management considered in this qualitative assessment included macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, changes in the composition or carrying amount of net assets, and market capitalization.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.21.2
Intangible Assets
6 Months Ended
Jul. 04, 2021
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060 $38,060 $ 
Completed technologies24,217 13,835 10,382 
Customer relationships10,578 7,520 3,058 
Non-compete agreements710 464 246 
Trademarks110 94 16 
Balance as of July 4, 2021$73,675 $59,973 $13,702 
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060 $38,060 $— 
Completed technologies24,217 12,397 11,820 
Customer relationships10,578 7,160 3,418 
Non-compete agreements710 436 274 
Trademarks110 67 43 
Balance as of December 31, 2020$73,675 $58,120 $15,555 

As of July 4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2021$1,803 
20223,286 
20232,594 
20242,080 
20251,757 
20261,452 
Thereafter730 
$13,702 

The adverse impact of the COVID-19 pandemic on our business in 2020 triggered a review of long-lived assets, including intangible assets, for potential impairment during the second quarter of 2020. Based on this assessment, management concluded that certain of the Company's finite-lived intangible assets failed the recoverability test, and recorded impairment charges for these assets equal to the amount by which their carrying value exceeded their fair value. The Company also measured the fair value and recorded an impairment charge for its indefinite-lived intangible asset related to in-process technologies. The fair values were established, with the assistance of an outside valuation advisor, using the income approach based on a discounted cash flow model that estimated future revenue streams and expenses attributable to those revenue streams provided by management.
This review resulted in intangible asset impairment charges totaling $19,571,000 in the second quarter of 2020, primarily related to lower projected cash flows from the technologies and customer relationships acquired from Sualab Co. Ltd. ("Sualab") as a result of the deteriorating global economic conditions from the COVID-19 pandemic. Completed technologies, in-process technologies, and customer relationships acquired from Sualab were impaired in the amounts of $10,070,000, $5,900,000, and $3,382,000, respectively. In addition, customer relationships acquired from EnShape GmbH that had a gross carrying value of $447,000 and accumulated amortization of $228,000 on the measurement date were reduced to zero, resulting in an impairment charge of $219,000. The Company did not record impairment charges related to intangible assets during the three-month or six-month periods ended July 4, 2021.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.21.2
Warranty Obligations
6 Months Ended
Jul. 04, 2021
Product Warranties Disclosures [Abstract]  
Warranty Obligations Warranty Obligations
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 changes in 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’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. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2020$5,406 
Provisions for warranties issued during the period1,693 
Fulfillment of warranty obligations(1,235)
Balance as of July 4, 2021$5,864 
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments
6 Months Ended
Jul. 04, 2021
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivative Instruments Derivative InstrumentsThe Company’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. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities of up to 95 days 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 Company had the following outstanding forward contracts (in thousands):
July 4, 2021December 31, 2020
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Chinese Renminbi490,000 $75,228 — $— 
Euro35,000 41,457 50,000 61,342 
Korean Won21,000,000 18,483 6,925,000 6,377 
Mexican Peso130,000 6,519 155,000 7,776 
Japanese Yen600,000 5,391 600,000 5,808 
Hungarian Forint1,235,000 4,149 1,330,000 4,494 
British Pound2,820 3,881 1,675 2,287 
Taiwanese Dollar42,150 1,511 38,035 1,362 
Canadian Dollar1,435 1,160 1,285 1,010 
Singapore Dollar1,550 1,149 1,465 1,110 

Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
July 4, 2021December 31, 2020Sheet
Location
July 4, 2021December 31, 2020
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$47 $265 Accrued expenses$585 $38 

The following table presents 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):
Asset DerivativesLiability Derivatives
July 4, 2021December 31, 2020July 4, 2021December 31, 2020
Gross amounts of recognized assets$47 $265 Gross amounts of recognized liabilities$585 $38 
Gross amounts offset — Gross amounts offset — 
Net amount of assets presented$47 $265 Net amount of liabilities presented$585 $38 

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$(746)$60 $2,148 $(8,180)
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition
6 Months Ended
Jul. 04, 2021
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Americas$108,418 $68,966 $216,254 $129,214 
Europe59,967 35,987 117,015 84,569 
Greater China59,706 31,898 97,944 58,301 
Other Asia41,067 32,246 76,972 64,248 
$269,158 $169,097 $508,185 $336,332 

The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Standard products and services$234,322 $158,807 $456,648 $311,662 
Application-specific customer solutions34,836 10,290 51,537 24,670 
$269,158 $169,097 $508,185 $336,332 

Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $25,328,000 and $6,846,000 as of July 4, 2021 and December 31, 2020, respectively.

Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.

The following table summarizes the allowance for credit losses activity for the six-month period ended July 4, 2021 (in thousands):
Balance as of December 31, 2020$831 
Increases to the allowance for credit losses— 
Write-offs, net of recoveries(28)
Foreign exchange rate changes— 
Balance as of July 4, 2021$803 
The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July 4, 2021 (in thousands):
Balance as of December 31, 2020$21,274 
Deferral of revenue billed in the current period, net of recognition69,372 
Recognition of revenue deferred in prior period(14,155)
Foreign exchange rate changes(46)
Balance as of July 4, 2021$76,445 

As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense
6 Months Ended
Jul. 04, 2021
Share-based Payment Arrangement [Abstract]  
Stock-Based Compensation Expense Stock-Based Compensation Expense
Stock Plans
The Company’s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of July 4, 2021, the Company had 15,692,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the six-month period ended July 4, 2021:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 20208,970 $44.73 
Granted469 89.19 
Exercised(1,167)38.51 
Forfeited or expired(171)50.95 
Outstanding as of July 4, 20218,101 $48.07 6.91$298,370 
Exercisable as of July 4, 20213,652 $38.46 5.72$168,497 
Options vested or expected to vest as of July 4, 2021 (1)7,474 $47.27 6.81$281,063 
 (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.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Risk-free rate1.5 %1.6 %1.3 %1.6 %
Expected dividend yield0.31 %0.43 %0.27 %0.43 %
Expected volatility39 %37 %39 %37 %
Expected term (in years)7.16.05.86.0
Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month and six-month periods ended July 4, 2021 were $32.07 and $33.47, respectively, and during the three-month and six-month periods ended June 28, 2020 were $19.13 and $18.52, respectively.
The total intrinsic values of stock options exercised for the three-month and six-month periods ended July 4, 2021 were $11,621,000 and $53,948,000, respectively, and for the three-month and six-month periods ended June 28, 2020 were $39,359,000 and $53,814,000, respectively. The total fair values of stock options vested for the three-month and six-month periods ended July 4, 2021 were $1,830,000 and $37,430,000, respectively, and for the three-month and six-month periods ended June 28, 2020 were $1,287,000 and $37,951,000, respectively.
Restricted Stock Units (RSUs)
The following table summarizes the Company's RSUs activity for the six-month period ended July 4, 2021:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 2020554 $51.27 
Granted296 87.46 
Vested(15)56.61 
Forfeited or expired(27)54.60 
Nonvested as of July 4, 2021808 $64.31 
The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended July 4, 2021 were $75.98 and $87.46, respectively, and during the three-month and six-month periods ended June 28, 2020 were $56.97 and $51.53, respectively. There were 13,000 and 15,000 RSUs that vested during the three-month and six-month periods ended July 4, 2021, respectively. There were no RSUs that vested during the three-month and six-month periods ended June 28, 2020.
Stock-Based Compensation Expense
The Company segments its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 8% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $255,000 in 2021 and an increase to compensation expense of $1,787,000 in 2020.
As of July 4, 2021, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $63,625,000, which is expected to be recognized over a weighted-average period of 1.8 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July 4, 2021 were $10,730,000 and $1,651,000, respectively, and for the six-month period ended July 4, 2021 were $22,739,000 and $3,464,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended June 28, 2020 were $8,018,000 and $1,277,000, respectively, and for the six-month period ended June 28, 2020 were $22,808,000 and $3,841,000, respectively. Stock-based compensation expense recognized for the three-month and six-month periods ended June 28, 2020 included credits of $1,401,000 relating to grants cancelled as a result of the Company's workforce reduction in the second quarter of 2020. No compensation expense was capitalized as of July 4, 2021 or December 31, 2020.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Cost of revenue$351 $363 $599 $717 
Research, development, and engineering3,064 2,401 7,067 7,767 
Selling, general, and administrative7,315 5,254 15,073 14,324 
$10,730 $8,018 $22,739 $22,808 
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.21.2
Stock Repurchase Program
6 Months Ended
Jul. 04, 2021
Equity [Abstract]  
Stock Repurchase Program Stock Repurchase ProgramIn October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July 4, 2021, the Company repurchased 3,075,000 shares at a cost of $142,225,000 under this program, including 258,000 shares at a cost of $20,877,000 during the six-month period ended July 4, 2021, leaving a remaining balance of $57,775,000. 1,215,000 shares at a cost of $51,036,000 were repurchased during the six-month period ended June 28, 2020 under this October 2018 program. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 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 awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.21.2
Taxes
6 Months Ended
Jul. 04, 2021
Income Tax Disclosure [Abstract]  
Income Taxes Taxes
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Income tax expense (benefit) at U.S. federal statutory corporate tax rate21 %(21)%21 %21 %
State income taxes, net of federal benefit2 %(1)%2 %%
Foreign tax rate differential(5)%%(5)%(5)%
Tax credit(1)%%(1)%(2)%
Discrete tax benefit related to stock options(2)%(191)%(4)%(29)%
Discrete tax expense related to tax return filings1 %141 % %17 %
Tax rate adjustment %18 % %— %
Other1 %(4)%1 %%
Income tax expense (benefit)17 %(51)%14 %%

The Company recorded discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises that resulted in a favorable impact to the effective tax rate of 2% and 4% for the three-month and six-month periods ended July 4, 2021, respectively, and 191% and 29% for the three-month and six-month periods ended June 28, 2020, respectively. In addition to stock option exercises, other discrete adjustments recorded included the final true-up of the prior year's tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 1% for the three-month period ended July 4, 2021 and no impact for the six-month period ended July 4, 2021, and an unfavorable impact to the effective tax rate of 141% and 17% for the same periods in 2020.
Excluding the impact of these discrete items, the Company’s effective tax rate was an expense of 18% of pre-tax income for both the three-month and six-month periods ended July 4, 2021, compared to a benefit of 1% of pre-tax loss and an expense of 19% of pre-tax income for the same periods in 2020. The decrease in the effective tax rate for the six-month period, excluding the impact of discrete items, was due to a lower percentage of the Company's pre-tax income being earned and taxed in higher tax jurisdictions. There was an adjustment in the three-month period in 2020 to bring the year-to-date effective tax rate to 19%.
During the six-month period ended July 4, 2021, the Company recorded a $935,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $370,000 for the six-month period ended July 4, 2021.
The Company’s reserve for income taxes, including gross interest and penalties, was $16,255,000 as of July 4, 2021, which included $15,227,000 classified as a non-current liability and $1,028,000 recorded as a reduction to non-current deferred tax assets. If the Company’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 $450,000 to $500,000 over the next twelve months.
The Company has defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 25% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in an impact to the effective tax rate of 5% for both the three-month and six-month periods ended July 4, 2021, and an impact of 5% for the same periods in 2020.
Within the United States, the tax years 2017 through 2020 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2016 through 2020 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company is under audit by the IRS for the tax years 2017 and 2018. Additionally, the Company is under audit by the Commonwealth of Massachusetts for tax years 2017 and 2018. Management believes the Company is adequately reserved for these audits. The final determination of tax audits could result in favorable or unfavorable changes in our estimates.
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.21.2
Weighted-Average Shares
6 Months Ended
Jul. 04, 2021
Earnings Per Share [Abstract]  
Weighted-Average Shares Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Basic weighted-average common shares outstanding176,626 172,283 176,454 172,345 
Effect of dilutive equity awards3,365 — 3,528 3,154 
Weighted-average common and common-equivalent shares outstanding179,991 172,283 179,982 175,499 

Stock options to purchase 701,000 and 591,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 4, 2021, respectively, and 5,801,000 and 6,328,000 for the same periods in 2020, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 500 and 1,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 4, 2021, respectively, and 27,000 and 14,000 for the same periods in 2020, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Additionally, because the Company recorded a cumulative net loss during the three-month period ended June 28, 2020, potential common stock equivalents of 3,120,000 were not included in the calculation of diluted net loss per share for this period.
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.21.2
Restructuring Charges
6 Months Ended
Jul. 04, 2021
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring Charges
On May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures.

As of December 31, 2020, the majority of these actions were completed and no additional charges are expected to be incurred in future periods in relation to this restructuring plan. There were no restructuring charges recognized during the three-month or six-month periods ended July 4, 2021.

The following table summarizes the restructuring charges incurred in the three-month period ended June 28, 2020 (in thousands):
Incurred in the Three-months Ended June 28, 2020
One-time termination benefits$10,386 
Contract termination costs3,995 
Other associated costs417 
$14,798 

One-time termination benefits included severance, health insurance, and outplacement services for 181 employees who were either terminated during the second quarter of 2020, or were notified during the second quarter of 2020 that they would be terminated at a future date. For employees not required to render service beyond a minimum retention period, the one-time termination benefits were recognized in the three-month period ended June 28, 2020. Otherwise, these benefits, including retention bonuses for selected employees, were recognized over the service period, which was completed by December 31, 2020.
Contract termination costs included operating lease asset impairment charges for offices closed prior to the end of the contractual lease term. These costs also included the write-off of leasehold improvements and other equipment related to these abandoned offices that had no alternative use, as well as other associated operating costs, such as utilities, that the Company is obligated to pay for the remainder of the lease term. These contract termination costs were primarily recognized in the second quarter of 2020 when the Company ceased using the property for economic benefit.

Other associated costs primarily included legal fees related to the employee termination actions, which were recognized when the services were performed.

The following table summarizes the activity for the six-month period ended July 4, 2021 in the Company’s restructuring reserve which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsOther Associated CostsTotal
Balance as of December 31, 2020$1,624 $750 $15 $2,389 
Cash payments(1,117)(131)(15)(1,263)
Foreign exchange rate changes— (3)— (3)
Balance as of July 4, 2021$507 $616 $ $1,123 
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Events
6 Months Ended
Jul. 04, 2021
Subsequent Events [Abstract]  
Subsequent Events Subsequent EventsOn August 5, 2021, the Company’s Board of Directors declared a cash dividend of $0.060 per share. The dividend is payable on September 3, 2021 to all shareholders of record as of the close of business on August 20, 2021.
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.21.2
Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jul. 04, 2021
Accounting Policies [Abstract]  
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"
The amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs"
The amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"
The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements (Tables)
6 Months Ended
Jul. 04, 2021
Fair Value Disclosures [Abstract]  
Assets and Liabilities Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July 4, 2021 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$200 $— 
Corporate bonds— 482,236 — 
Treasury bills— 130,961 — 
Asset-backed securities— 90,265 — 
Agency bonds— 18,960 — 
Municipal bonds— 6,997 — 
Sovereign bonds— 5,293 — 
Economic hedge forward contracts— 47 — 
Liabilities:
Economic hedge forward contracts— 585 — 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments (Tables)
6 Months Ended
Jul. 04, 2021
Cash and Cash Equivalents [Abstract]  
Components of Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
July 4, 2021December 31, 2020
Cash$216,837 $266,609 
Money market instruments200 2,464 
Cash and cash equivalents217,037 269,073 
Treasury bills92,939 35,403 
Corporate bonds66,452 32,714 
Asset-backed securities24,756 25,160 
Sovereign bonds4,196 8,660 
Municipal bonds2,404 1,303 
Current investments190,747 103,240 
Corporate bonds415,784 203,428 
Asset-backed securities65,509 67,058 
Treasury bills38,022 96,458 
Agency bonds18,960 19,006 
Municipal bonds4,593 5,735 
Sovereign bonds1,097 3,440 
Non-current investments543,965 395,125 
$951,749 $767,438 
Summary of Available-for-Sale Investments
The following table summarizes the Company’s available-for-sale investments as of July 4, 2021 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Treasury bills$92,502 $437 $— $92,939 
Corporate bonds66,164 291 (3)66,452 
Asset-backed securities24,562 197 (3)24,756 
Sovereign bonds4,189 — 4,196 
Municipal bonds2,401 — 2,404 
Non-current:
Corporate bonds414,453 1,874 (543)415,784 
Asset-backed securities65,276 315 (82)65,509 
Treasury bills37,677 345 — 38,022 
Agency bonds18,921 39 — 18,960 
Municipal bonds4,592 12 (11)4,593 
Sovereign bonds1,096 — 1,097 
$731,833 $3,521 $(642)$734,712 
Gross Unrealized Losses and Fair Values for Available-for-Sale Investments The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July 4, 2021 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$179,565 $(546)$— $— $179,565 $(546)
Asset-backed securities13,088 (85)— — 13,088 (85)
Municipal bonds3,946 (11)— — 3,946 (11)
$196,599 $(642)$ $ $196,599 $(642)
Effective Maturity Dates of Available-for-Sale Investments
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of July 4, 2021 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 Years5-8 YearsTotal
Corporate bonds$66,452 $161,596 $139,870 $77,234 $30,143 $6,941 $482,236 
Treasury bills92,939 37,917 105 — — — 130,961 
Asset-backed securities24,756 30,896 20,090 9,510 — 5,013 90,265 
Agency bonds— 18,960 — — — — 18,960 
Municipal bonds2,404 4,593 — — — — 6,997 
Sovereign bonds4,196 — — — 1,097 — 5,293 
$190,747 $253,962 $160,065 $86,744 $31,240 $11,954 $734,712 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Inventories (Tables)
6 Months Ended
Jul. 04, 2021
Inventory Disclosure [Abstract]  
Schedule of Inventories
Inventories consisted of the following (in thousands):
July 4, 2021December 31, 2020
Raw materials$22,229 $26,800 
Work-in-process3,996 4,780 
Finished goods42,278 29,250 
$68,503 $60,830 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.21.2
Leases (Tables)
6 Months Ended
Jul. 04, 2021
Leases [Abstract]  
Lessee, Operating Lease, Liability, Maturity
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2021$4,598 
20227,302 
20235,531 
20242,500 
20251,580 
20261,018 
Thereafter3,838 
$26,367 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill (Tables)
6 Months Ended
Jul. 04, 2021
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2020$244,078 
  Foreign exchange rate changes(1,172)
Balance as of July 4, 2021$242,906 
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.21.2
Intangible Assets (Tables)
6 Months Ended
Jul. 04, 2021
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060 $38,060 $ 
Completed technologies24,217 13,835 10,382 
Customer relationships10,578 7,520 3,058 
Non-compete agreements710 464 246 
Trademarks110 94 16 
Balance as of July 4, 2021$73,675 $59,973 $13,702 
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Distribution networks$38,060 $38,060 $— 
Completed technologies24,217 12,397 11,820 
Customer relationships10,578 7,160 3,418 
Non-compete agreements710 436 274 
Trademarks110 67 43 
Balance as of December 31, 2020$73,675 $58,120 $15,555 
Schedule of Intangible Assets, Future Amortization Expense
As of July 4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2021$1,803 
20223,286 
20232,594 
20242,080 
20251,757 
20261,452 
Thereafter730 
$13,702 
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.21.2
Warranty Obligations (Tables)
6 Months Ended
Jul. 04, 2021
Product Warranties Disclosures [Abstract]  
Changes in Warranty Obligations
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2020$5,406 
Provisions for warranties issued during the period1,693 
Fulfillment of warranty obligations(1,235)
Balance as of July 4, 2021$5,864 
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments (Tables)
6 Months Ended
Jul. 04, 2021
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Outstanding Forward Contracts Table
The Company had the following outstanding forward contracts (in thousands):
July 4, 2021December 31, 2020
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Chinese Renminbi490,000 $75,228 — $— 
Euro35,000 41,457 50,000 61,342 
Korean Won21,000,000 18,483 6,925,000 6,377 
Mexican Peso130,000 6,519 155,000 7,776 
Japanese Yen600,000 5,391 600,000 5,808 
Hungarian Forint1,235,000 4,149 1,330,000 4,494 
British Pound2,820 3,881 1,675 2,287 
Taiwanese Dollar42,150 1,511 38,035 1,362 
Canadian Dollar1,435 1,160 1,285 1,010 
Singapore Dollar1,550 1,149 1,465 1,110 
Schedule of Derivative Instruments in Statement of Financial Position, Fair Value
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
July 4, 2021December 31, 2020Sheet
Location
July 4, 2021December 31, 2020
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$47 $265 Accrued expenses$585 $38 
Offsetting Assets
The following table presents 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):
Asset DerivativesLiability Derivatives
July 4, 2021December 31, 2020July 4, 2021December 31, 2020
Gross amounts of recognized assets$47 $265 Gross amounts of recognized liabilities$585 $38 
Gross amounts offset — Gross amounts offset — 
Net amount of assets presented$47 $265 Net amount of liabilities presented$585 $38 
Derivative Instruments, Gain (Loss)
Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$(746)$60 $2,148 $(8,180)
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition (Tables)
6 Months Ended
Jul. 04, 2021
Revenue from Contract with Customer [Abstract]  
Revenue from External Customers by Geographic Areas
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Americas$108,418 $68,966 $216,254 $129,214 
Europe59,967 35,987 117,015 84,569 
Greater China59,706 31,898 97,944 58,301 
Other Asia41,067 32,246 76,972 64,248 
$269,158 $169,097 $508,185 $336,332 
Revenue from External Customers by Products and Services
The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months EndedSix-months Ended
July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Standard products and services$234,322 $158,807 $456,648 $311,662 
Application-specific customer solutions34,836 10,290 51,537 24,670 
$269,158 $169,097 $508,185 $336,332 
Schedule of Allowance for Credit Loss Activity
The following table summarizes the allowance for credit losses activity for the six-month period ended July 4, 2021 (in thousands):
Balance as of December 31, 2020$831 
Increases to the allowance for credit losses— 
Write-offs, net of recoveries(28)
Foreign exchange rate changes— 
Balance as of July 4, 2021$803 
Deferred Revenue, by Arrangement, Disclosure
The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July 4, 2021 (in thousands):
Balance as of December 31, 2020$21,274 
Deferral of revenue billed in the current period, net of recognition69,372 
Recognition of revenue deferred in prior period(14,155)
Foreign exchange rate changes(46)
Balance as of July 4, 2021$76,445 
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense (Tables)
6 Months Ended
Jul. 04, 2021
Share-based Payment Arrangement [Abstract]  
Summary of Stock Option Activity
The following table summarizes the Company’s stock option activity for the six-month period ended July 4, 2021:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 20208,970 $44.73 
Granted469 89.19 
Exercised(1,167)38.51 
Forfeited or expired(171)50.95 
Outstanding as of July 4, 20218,101 $48.07 6.91$298,370 
Exercisable as of July 4, 20213,652 $38.46 5.72$168,497 
Options vested or expected to vest as of July 4, 2021 (1)7,474 $47.27 6.81$281,063 
 (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.
Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Risk-free rate1.5 %1.6 %1.3 %1.6 %
Expected dividend yield0.31 %0.43 %0.27 %0.43 %
Expected volatility39 %37 %39 %37 %
Expected term (in years)7.16.05.86.0
Schedule of Nonvested Restricted Stock Units Activity
The following table summarizes the Company's RSUs activity for the six-month period ended July 4, 2021:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 2020554 $51.27 
Granted296 87.46 
Vested(15)56.61 
Forfeited or expired(27)54.60 
Nonvested as of July 4, 2021808 $64.31 
Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Cost of revenue$351 $363 $599 $717 
Research, development, and engineering3,064 2,401 7,067 7,767 
Selling, general, and administrative7,315 5,254 15,073 14,324 
$10,730 $8,018 $22,739 $22,808 
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.21.2
Income Taxes (Tables)
6 Months Ended
Jul. 04, 2021
Income Tax Disclosure [Abstract]  
Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Income tax expense (benefit) at U.S. federal statutory corporate tax rate21 %(21)%21 %21 %
State income taxes, net of federal benefit2 %(1)%2 %%
Foreign tax rate differential(5)%%(5)%(5)%
Tax credit(1)%%(1)%(2)%
Discrete tax benefit related to stock options(2)%(191)%(4)%(29)%
Discrete tax expense related to tax return filings1 %141 % %17 %
Tax rate adjustment %18 % %— %
Other1 %(4)%1 %%
Income tax expense (benefit)17 %(51)%14 %%
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Weighted-Average Shares (Tables)
6 Months Ended
Jul. 04, 2021
Earnings Per Share [Abstract]  
Calculation of Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months EndedSix-months Ended
 July 4, 2021June 28, 2020July 4, 2021June 28, 2020
Basic weighted-average common shares outstanding176,626 172,283 176,454 172,345 
Effect of dilutive equity awards3,365 — 3,528 3,154 
Weighted-average common and common-equivalent shares outstanding179,991 172,283 179,982 175,499 
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.21.2
Restructuring Charges (Tables)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jul. 04, 2021
Restructuring and Related Activities [Abstract]    
Schedule of Restructuring Charges
The following table summarizes the restructuring charges incurred in the three-month period ended June 28, 2020 (in thousands):
Incurred in the Three-months Ended June 28, 2020
One-time termination benefits$10,386 
Contract termination costs3,995 
Other associated costs417 
$14,798 
 
Schedule of Activity in Restructuring Reserve  
The following table summarizes the activity for the six-month period ended July 4, 2021 in the Company’s restructuring reserve which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsOther Associated CostsTotal
Balance as of December 31, 2020$1,624 $750 $15 $2,389 
Cash payments(1,117)(131)(15)(1,263)
Foreign exchange rate changes— (3)— (3)
Balance as of July 4, 2021$507 $616 $ $1,123 
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Assets:    
Money market instruments $ 200 $ 2,464
Financial assets at fair value 734,712  
Corporate Bonds    
Assets:    
Financial assets at fair value 482,236  
Treasury Bills    
Assets:    
Financial assets at fair value 130,961  
Asset-Backed Securities    
Assets:    
Financial assets at fair value 90,265  
Agency Bonds    
Assets:    
Financial assets at fair value 18,960  
Sovereign Bonds    
Assets:    
Financial assets at fair value 5,293  
Municipal Bonds    
Assets:    
Financial assets at fair value 6,997  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 200  
Economic hedge forward contracts 0  
Liabilities:    
Economic hedge forward contracts 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value 0  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments  
Economic hedge forward contracts 47  
Liabilities:    
Economic hedge forward contracts 585  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 482,236  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 130,961  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 90,265  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 18,960  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 5,293  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value 6,997  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 0  
Economic hedge forward contracts 0  
Liabilities:    
Economic hedge forward contracts 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value $ 0  
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Dec. 31, 2019
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]        
Contingent consideration liability   $ 0   $ 0
Operating lease asset impairment charges $ 2,534,000 0 $ 2,534,000  
Restructuring Charges        
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]        
Operating lease asset impairment charges $ 2,534,000      
GVi Ventures, Inc. [Member]        
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]        
Contingent consideration liability, lower range   0    
Contingent consideration liability, upper range   $ 2,500,000    
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Dec. 31, 2020
Cash and Cash Equivalents [Line Items]          
Debt securities, available-for-sale, allowance for credit loss $ 0   $ 0   $ 0
Credit loss on investments 0 $ 0   $ 160  
Gross recoveries   85   85  
Gross realized gains on sale of investments 68 962 68 2,826  
Gross realized losses on sale of investments 0 $ 7 0 $ 21  
Other Current Assets          
Cash and Cash Equivalents [Line Items]          
Accrued interest receivable $ 2,992   $ 2,992   $ 1,560
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Debt Securities, Available-for-sale [Line Items]    
Cash $ 216,837 $ 266,609
Money market instruments 200 2,464
Cash and cash equivalents 217,037 269,073
Current investments 190,747 103,240
Non-current investments 543,965 395,125
Total 951,749 767,438
Treasury Bills    
Debt Securities, Available-for-sale [Line Items]    
Current investments 92,939 35,403
Long-term investments 38,022 96,458
Corporate Bonds    
Debt Securities, Available-for-sale [Line Items]    
Current investments 66,452 32,714
Long-term investments 415,784 203,428
Asset-Backed Securities    
Debt Securities, Available-for-sale [Line Items]    
Current investments 24,756 25,160
Long-term investments 65,509 67,058
Agency Bonds    
Debt Securities, Available-for-sale [Line Items]    
Long-term investments 18,960 19,006
Municipal Bonds    
Debt Securities, Available-for-sale [Line Items]    
Current investments 2,404 1,303
Long-term investments 4,593 5,735
Sovereign Bonds    
Debt Securities, Available-for-sale [Line Items]    
Current investments 4,196 8,660
Long-term investments $ 1,097 $ 3,440
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)
$ in Thousands
Jul. 04, 2021
USD ($)
Debt Securities, Available-for-sale [Line Items]  
Amortized cost $ 731,833
Gross unrealized gains 3,521
Gross unrealized losses (642)
Fair value 734,712
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 18,960
Agency Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 18,921
Gross unrealized gains 39
Gross unrealized losses 0
Fair value 18,960
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
Fair value 130,961
Treasury Bills | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 92,502
Gross unrealized gains 437
Gross unrealized losses 0
Fair value 92,939
Treasury Bills | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 37,677
Gross unrealized gains 345
Gross unrealized losses 0
Fair value 38,022
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 482,236
Corporate Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 66,164
Gross unrealized gains 291
Gross unrealized losses (3)
Fair value 66,452
Corporate Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 414,453
Gross unrealized gains 1,874
Gross unrealized losses (543)
Fair value 415,784
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
Fair value 90,265
Asset-Backed Securities | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 24,562
Gross unrealized gains 197
Gross unrealized losses (3)
Fair value 24,756
Asset-Backed Securities | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 65,276
Gross unrealized gains 315
Gross unrealized losses (82)
Fair value 65,509
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 5,293
Sovereign Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 4,189
Gross unrealized gains 7
Gross unrealized losses 0
Fair value 4,196
Sovereign Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 1,096
Gross unrealized gains 1
Gross unrealized losses 0
Fair value 1,097
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value 6,997
Municipal Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 2,401
Gross unrealized gains 3
Gross unrealized losses 0
Fair value 2,404
Municipal Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 4,592
Gross unrealized gains 12
Gross unrealized losses (11)
Fair value $ 4,593
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)
$ in Thousands
Jul. 04, 2021
USD ($)
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months $ 196,599
Unrealized losses, less than 12 months (642)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 196,599
Total Unrealized Losses (642)
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 179,565
Unrealized losses, less than 12 months (546)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 179,565
Total Unrealized Losses (546)
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 3,946
Unrealized losses, less than 12 months (11)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 3,946
Total Unrealized Losses (11)
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 13,088
Unrealized losses, less than 12 months (85)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 13,088
Total Unrealized Losses $ (85)
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.21.2
Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)
$ in Thousands
Jul. 04, 2021
USD ($)
Debt Securities, Available-for-sale [Line Items]  
less than 1 year $ 190,747
1-2 Years 253,962
2-3 Years 160,065
3-4 Years 86,744
4-5 Years 31,240
5-8 Years 11,954
Fair value 734,712
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
less than 1 year 66,452
1-2 Years 161,596
2-3 Years 139,870
3-4 Years 77,234
4-5 Years 30,143
5-8 Years 6,941
Fair value 482,236
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
less than 1 year 92,939
1-2 Years 37,917
2-3 Years 105
3-4 Years 0
4-5 Years 0
5-8 Years 0
Fair value 130,961
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
less than 1 year 24,756
1-2 Years 30,896
2-3 Years 20,090
3-4 Years 9,510
4-5 Years 0
5-8 Years 5,013
Fair value 90,265
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
less than 1 year 0
1-2 Years 18,960
2-3 Years 0
3-4 Years 0
4-5 Years 0
5-8 Years 0
Fair value 18,960
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
less than 1 year 4,196
1-2 Years 0
2-3 Years 0
3-4 Years 0
4-5 Years 1,097
5-8 Years 0
Fair value 5,293
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
less than 1 year 2,404
1-2 Years 4,593
2-3 Years 0
3-4 Years 0
4-5 Years 0
5-8 Years 0
Fair value $ 6,997
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.21.2
Inventories - Schedule of Inventories (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Dec. 31, 2020
Inventory Disclosure [Abstract]          
Raw materials $ 22,229   $ 22,229   $ 26,800
Work-in-process 3,996   3,996   4,780
Finished goods 42,278   42,278   29,250
Inventories 68,503   68,503   $ 60,830
Excess and obsolete inventory charges $ 1,111 $ 7,718 $ 1,816 $ 8,783  
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.21.2
Leases - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Dec. 31, 2020
Lessor, Lease, Description [Line Items]          
Operating lease, cost $ 2,021 $ 2,147 $ 4,023 $ 4,053  
Operating lease, payments 2,014 2,091 4,075 3,954  
Lease, cost 38 23 78 62  
Operating lease liability $ 24,250   $ 24,250   $ 26,230
Weighted average discount rate 3.80%   3.80%   4.00%
Weighted average remaining lease term 4 years 9 months 18 days   4 years 9 months 18 days   5 years 1 month 6 days
Carrying value operating lease right-of-use assets impaired   $ 0   $ 0  
Contract termination costs          
Lessor, Lease, Description [Line Items]          
Operating lease liability $ 2,264   $ 2,264   $ 2,877
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.21.2
Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)
$ in Thousands
Jul. 04, 2021
USD ($)
Leases [Abstract]  
Remainder of fiscal 2021 $ 4,598
2022 7,302
2023 5,531
2024 2,500
2025 1,580
2026 1,018
Thereafter 3,838
Total $ 26,367
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill (Details)
$ in Thousands
6 Months Ended
Jul. 04, 2021
USD ($)
Goodwill [Roll Forward]  
Balance as of December 31, 2020 $ 244,078
Foreign exchange rate changes (1,172)
Balance as of July 4, 2021 $ 242,906
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.21.2
Intangible Assets (Details) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
May 26, 2020
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Gross Carrying Value $ 73,675 $ 73,675  
Accumulated Amortization 59,973 58,120  
Net Carrying Value 13,702 15,555  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Net Carrying Value 13,702 15,555  
Distribution networks      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Gross Carrying Value 38,060 38,060  
Accumulated Amortization 38,060 38,060  
Net Carrying Value 0 0  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Net Carrying Value 0 0  
Completed technologies      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Gross Carrying Value 24,217 24,217  
Accumulated Amortization 13,835 12,397  
Net Carrying Value 10,382 11,820  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Net Carrying Value 10,382 11,820  
Customer relationships      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Gross Carrying Value 10,578 10,578  
Accumulated Amortization 7,520 7,160  
Net Carrying Value 3,058 3,418  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Net Carrying Value 3,058 3,418  
Customer relationships | EnShape GmbH      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Accumulated Amortization     $ 228
Non-compete agreements      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Gross Carrying Value 710 710  
Accumulated Amortization 464 436  
Net Carrying Value 246 274  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Net Carrying Value 246 274  
Trademarks      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Gross Carrying Value 110 110  
Accumulated Amortization 94 67  
Net Carrying Value 16 43  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Net Carrying Value 16 $ 43  
Indefinite-lived intangible asset excluding in-process technologies      
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks      
Net Carrying Value 13,702    
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]      
Remainder of fiscal 2021 1,803    
2022 3,286    
2023 2,594    
2024 2,080    
2025 1,757    
2026 1,452    
Thereafter 730    
Net Carrying Value $ 13,702    
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.21.2
Intangible Assets - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Dec. 31, 2020
May 26, 2020
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges $ 0 $ 19,571 $ 0 $ 19,571    
Accumulated amortization 59,973   59,973   $ 58,120  
Distribution networks            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Accumulated amortization 38,060   38,060   38,060  
Completed technologies            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Accumulated amortization 13,835   13,835   12,397  
Completed technologies | Sualab            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges   10,070        
Customer relationships            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Accumulated amortization 7,520   7,520   7,160  
Customer relationships | EnShape GmbH            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges   219        
Intangible assets acquired   0   $ 0   $ 447
Accumulated amortization           $ 228
Customer relationships | Sualab            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges   3,382        
Non-compete agreements            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Accumulated amortization 464   464   436  
Trademarks            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Accumulated amortization $ 94   $ 94   $ 67  
In-process technologies | Sualab            
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks            
Intangible asset impairment charges   $ 5,900        
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.21.2
Warranty Obligations - Changes in Warranty Obligations (Detail)
$ in Thousands
6 Months Ended
Jul. 04, 2021
USD ($)
Movement in Standard Product Warranty Accrual [Roll Forward]  
Beginning balance $ 5,406
Provisions for warranties issued during the period 1,693
Fulfillment of warranty obligations (1,235)
Ending balance $ 5,864
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments (Details)
6 Months Ended
Jul. 04, 2021
Not Designated as Hedging Instrument  
Derivative Instruments and Hedging Activities Disclosures [Line Items]  
Remaining maturity of foreign currency derivatives (up to) 95 days
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments - Outstanding Forward Contracts Table (Details) - Not Designated as Hedging Instrument
€ in Thousands, ₩ in Thousands, ¥ in Thousands, ¥ in Thousands, £ in Thousands, Ft in Thousands, $ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands
Jul. 04, 2021
CNY (¥)
Jul. 04, 2021
USD ($)
Jul. 04, 2021
EUR (€)
Jul. 04, 2021
KRW (₩)
Jul. 04, 2021
MXN ($)
Jul. 04, 2021
JPY (¥)
Jul. 04, 2021
HUF (Ft)
Jul. 04, 2021
GBP (£)
Jul. 04, 2021
TWD ($)
Jul. 04, 2021
CAD ($)
Jul. 04, 2021
SGD ($)
Dec. 31, 2020
CNY (¥)
Dec. 31, 2020
USD ($)
Dec. 31, 2020
EUR (€)
Dec. 31, 2020
KRW (₩)
Dec. 31, 2020
MXN ($)
Dec. 31, 2020
JPY (¥)
Dec. 31, 2020
HUF (Ft)
Dec. 31, 2020
GBP (£)
Dec. 31, 2020
TWD ($)
Dec. 31, 2020
CAD ($)
Dec. 31, 2020
SGD ($)
Euro Member Countries, Euro                                            
Derivative [Line Items]                                            
Outstanding forward contracts   $ 41,457 € 35,000                   $ 61,342 € 50,000                
China, Yuan Renminbi                                            
Derivative [Line Items]                                            
Outstanding forward contracts ¥ 490,000 75,228                   ¥ 0 0                  
Mexico, Pesos                                            
Derivative [Line Items]                                            
Outstanding forward contracts   6,519     $ 130,000               7,776     $ 155,000            
Japanese Yen                                            
Derivative [Line Items]                                            
Outstanding forward contracts   5,391       ¥ 600,000             5,808       ¥ 600,000          
Hungary, Forint                                            
Derivative [Line Items]                                            
Outstanding forward contracts   4,149         Ft 1,235,000           4,494         Ft 1,330,000        
United Kingdom, Pounds                                            
Derivative [Line Items]                                            
Outstanding forward contracts   3,881           £ 2,820         2,287           £ 1,675      
Taiwanese Dollar                                            
Derivative [Line Items]                                            
Outstanding forward contracts   1,511             $ 42,150       1,362             $ 38,035    
Canada, Dollars                                            
Derivative [Line Items]                                            
Outstanding forward contracts   1,160               $ 1,435     1,010               $ 1,285  
Singapore, Dollars                                            
Derivative [Line Items]                                            
Outstanding forward contracts   1,149                 $ 1,550   1,110                 $ 1,465
Korean Won                                            
Derivative [Line Items]                                            
Outstanding forward contracts   $ 18,483   ₩ 21,000,000                 $ 6,377   ₩ 6,925,000              
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Derivatives, Fair Value [Line Items]    
Derivative asset $ 47 $ 265
Derivative liability 585 38
Not Designated as Hedging Instrument | Prepaid Expenses and Other Current Assets    
Derivatives, Fair Value [Line Items]    
Derivative asset 47 265
Not Designated as Hedging Instrument | Accrued Expenses    
Derivatives, Fair Value [Line Items]    
Derivative liability $ 585 $ 38
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments - Offsetting Assets (Details) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Derivative Instruments and Hedging Activities Disclosure [Abstract]    
Gross amounts of recognized assets $ 47 $ 265
Gross amounts offset 0 0
Net amount of assets presented 47 265
Gross amounts of recognized liabilities 585 38
Gross amounts offset 0 0
Net amount of liabilities presented $ 585 $ 38
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Not Designated as Hedging Instrument | Foreign Currency Gain (Loss)        
Derivative Instruments, Gain (Loss) [Line Items]        
Gains (losses) recognized in current operations $ (746) $ 60 $ 2,148 $ (8,180)
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Revenue Disaggregated by Geography (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Disaggregation of Revenue [Line Items]        
Revenue $ 269,158 $ 169,097 $ 508,185 $ 336,332
Americas        
Disaggregation of Revenue [Line Items]        
Revenue 108,418 68,966 216,254 129,214
Europe        
Disaggregation of Revenue [Line Items]        
Revenue 59,967 35,987 117,015 84,569
Greater China        
Disaggregation of Revenue [Line Items]        
Revenue 59,706 31,898 97,944 58,301
Other Asia        
Disaggregation of Revenue [Line Items]        
Revenue $ 41,067 $ 32,246 $ 76,972 $ 64,248
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Revenue Disaggregated by Products and Services (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Revenue from External Customer [Line Items]        
Revenue $ 269,158 $ 169,097 $ 508,185 $ 336,332
Standard products and services        
Revenue from External Customer [Line Items]        
Revenue 234,322 158,807 456,648 311,662
Application-specific customer solutions        
Revenue from External Customer [Line Items]        
Revenue $ 34,836 $ 10,290 $ 51,537 $ 24,670
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Additional Information (Details) - USD ($)
$ in Thousands
Jul. 04, 2021
Dec. 31, 2020
Revenue from Contract with Customer [Abstract]    
Costs to fulfill contract $ 25,328 $ 6,846
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Schedule of Allowance for Credit Loss (Details)
$ in Thousands
6 Months Ended
Jul. 04, 2021
USD ($)
Accounts Receivable, Allowance for Credit Loss [Roll Forward]  
Balance as of December 31, 2020 $ 831
Increases to the allowance for credit losses 0
Write-offs, net of recoveries (28)
Foreign exchange rate changes 0
Balance as of July 4, 2021 $ 803
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Deferred Revenue Activity (Details)
$ in Thousands
6 Months Ended
Jul. 04, 2021
USD ($)
Movement in Deferred Revenue [Roll Forward]  
Balance as of December 31, 2020 $ 21,274
Deferral of revenue billed in the current period, net of recognition 69,372
Recognition of revenue deferred in prior period (14,155)
Foreign exchange rate changes (46)
Balance as of July 4, 2021 $ 76,445
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense (Details)
3 Months Ended 6 Months Ended
Jul. 04, 2021
USD ($)
group
$ / shares
shares
Jun. 28, 2020
USD ($)
$ / shares
shares
Jul. 04, 2021
USD ($)
group
$ / shares
shares
Jun. 28, 2020
USD ($)
$ / shares
shares
Dec. 31, 2020
USD ($)
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Weighted-average grant-date fair values, in dollars per share | $ / shares $ 32.07 $ 19.13 $ 33.47 $ 18.52  
Total intrinsic value $ 11,621,000 $ 39,359,000 $ 53,948,000 $ 53,814,000  
Total fair values of stock options vest $ 1,830,000 1,287,000 $ 37,430,000 37,951,000  
Groups within the employee population | group 2   2    
Estimated annual forfeiture rate for unvested options for senior management 8.00%   8.00%    
Estimated annual forfeiture rate for unvested options for all other employees 12.00%   12.00%    
Increase (decrease) to compensation expense     $ 255,000 1,787,000  
Unrecognized compensation expense $ 63,625,000   $ 63,625,000    
Weighted average period to be recognized     1 year 9 months 18 days    
Stock-based compensation expense 10,730,000 8,018,000 $ 22,739,000 22,808,000  
Tax benefit from compensation expense 1,651,000 1,277,000 3,464,000 $ 3,841,000  
Credits relating to grants cancelled   $ 1,401,000      
Recognized period costs capitalized $ 0   $ 0   $ 0
Employee Stock Option          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Shares available for grant under stock option plans (in shares) | shares 15,692,000   15,692,000    
Expiration period from grant day     10 years    
Performance Shares          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period for stock option plans     3 years    
Restricted Stock Units (RSUs)          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Granted (in dollars per share) | $ / shares $ 75.98 $ 56.97 $ 87.46 $ 51.53  
Vested (in shares) | shares 13,000 0 15,000 0  
Minimum | General Stock Option Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period for stock option plans     4 years    
Maximum | General Stock Option Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period for stock option plans     5 years    
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
6 Months Ended
Jul. 04, 2021
USD ($)
$ / shares
shares
Shares (in thousands)  
Outstanding, shares | shares 8,970
Granted, shares | shares 469
Exercised, shares | shares (1,167)
Forfeited or expired, shares | shares (171)
Outstanding, shares | shares 8,101
Exercisable as of reporting date, shares | shares 3,652
Options vested or expected to vest as of reporting date, shares | shares 7,474
Weighted- Average Exercise Price  
Outstanding, in dollars per share | $ / shares $ 44.73
Granted, in dollars per share | $ / shares 89.19
Exercised, in dollars per share | $ / shares 38.51
Forfeited or expired, in dollars per share | $ / shares 50.95
Outstanding, in dollars per share | $ / shares 48.07
Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares 38.46
Vested and expected to vest, outstanding, in dollars per share | $ / shares $ 47.27
Weighted- Average Remaining Contractual Term (in years)  
Outstanding, in years 6 years 10 months 28 days
Exercisable, in years 5 years 8 months 19 days
Options vested or expected to vest, in years 6 years 9 months 21 days
Aggregate Intrinsic Value (in thousands)  
Outstanding, in dollars | $ $ 298,370
Exercisable, in dollars | $ 168,497
Options vested or expected to vest, in dollars | $ $ 281,063
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Share-based Payment Arrangement [Abstract]        
Risk-free rate 1.50% 1.60% 1.30% 1.60%
Expected dividend yield 0.31% 0.43% 0.27% 0.43%
Expected volatility 39.00% 37.00% 39.00% 37.00%
Expected term (in years) 7 years 1 month 6 days 6 years 5 years 9 months 18 days 6 years
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) - Restricted Stock Units (RSUs) - $ / shares
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Shares (in thousands)        
Nonvested as of December 31, 2019 (in shares)     554,000  
Granted (in shares)     296,000  
Vested (in shares) 13,000 0 15,000 0
Forfeited or expired (in shares)     (27,000)  
Nonvested as of March 29, 2020 (in shares) 808,000   808,000  
Weighted-Average Grant Date Fair Value        
Nonvested as of December 31, 2019 (in dollars per share)     $ 51.27  
Granted (in dollars per share) $ 75.98 $ 56.97 87.46 $ 51.53
Vested (in dollars per share)     56.61  
Forfeited or expired (in dollars per share)     54.60  
Nonvested as of March 29, 2020 (in dollars per share) $ 64.31   $ 64.31  
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense $ 10,730 $ 8,018 $ 22,739 $ 22,808
Cost of Revenue        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense 351 363 599 717
Research, Development, and Engineering Expenses        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense 3,064 2,401 7,067 7,767
Selling, General, and Administrative        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense $ 7,315 $ 5,254 $ 15,073 $ 14,324
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.21.2
Stock Repurchase Program (Details) - USD ($)
shares in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jul. 04, 2021
Jun. 28, 2020
Mar. 12, 2020
Oct. 29, 2018
Equity, Class of Treasury Stock [Line Items]          
Stock repurchased during period, value $ 14,398,000 $ 20,877,000 $ 51,036,000    
Remaining authorized repurchase amount $ 57,775,000 $ 57,775,000      
Repurchase Program October 2018          
Equity, Class of Treasury Stock [Line Items]          
Authorized common stock to be repurchased         $ 200,000,000
Repurchase of common stock (in shares)   3,075      
Stock repurchased during period, value   $ 142,225,000      
Shares repurchased at cost (in shares)   258 1,215    
Shares repurchased at cost   $ 20,877,000 $ 51,036,000    
Repurchase Program March 2020          
Equity, Class of Treasury Stock [Line Items]          
Authorized common stock to be repurchased       $ 200,000,000  
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.21.2
Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details)
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Income Tax Disclosure [Abstract]        
Income tax expense (benefit) at U.S. federal statutory corporate tax rate 21.00% (21.00%) 21.00% 21.00%
State income taxes, net of federal benefit 2.00% (1.00%) 2.00% 1.00%
Foreign tax rate differential (5.00%) 5.00% (5.00%) (5.00%)
Tax credit (1.00%) 2.00% (1.00%) (2.00%)
Discrete tax benefit related to stock options (2.00%) (191.00%) (4.00%) (29.00%)
Tax rate adjustment 0.00% 18.00% 0.00% 0.00%
Other 1.00% (4.00%) 1.00% 4.00%
Income tax expense (benefit) 17.00% (51.00%) 14.00% 7.00%
Discrete tax expense related to tax return filings 1.00% 141.00% 0.00% 17.00%
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.21.2
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Dec. 31, 2020
Income Tax Contingency [Line Items]          
Discrete tax benefit related to stock options 2.00% 191.00% 4.00% 29.00%  
Discrete tax expense related to tax return filings 1.00% 141.00% 0.00% 17.00%  
Effective tax rate excluding discrete items (as a percent) 18.00% 1.00% 18.00% 19.00%  
Decrease in reserves for income taxes, net of deferred tax benefit     $ 935    
Interest and penalties included in reserve     $ 370    
Income tax expense (benefit) at U.S. federal statutory corporate tax rate 21.00% (21.00%) 21.00% 21.00%  
Decrease in effective tax rate 5.00% (5.00%) 5.00% 5.00%  
Liability for uncertain tax positions $ 16,255   $ 16,255    
Reserve for income taxes classified as a noncurrent iability 15,227   15,227   $ 14,257
Increase to non-current deferred tax liability     1,028    
Minimum Decrease In Income Tax Expense Due To Release In Reserves 450   450    
Maxiumum Decrease In Income Tax Expense Due To Release In Reserves $ 500   $ 500    
Tax years open to examination by Internal Revenue Service     2017 through 2020    
Tax years open to examination by various taxing authorities for other entities     2016 through 2020    
Foreign Tax Authority | Revenue Commissioners, Ireland          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate 12.50%        
Foreign Tax Authority | State Administration of Taxation, China          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate 25.00%        
Foreign Tax Authority | KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate 25.00%        
Domestic Tax Authority          
Income Tax Contingency [Line Items]          
Income tax expense (benefit) at U.S. federal statutory corporate tax rate 21.00%        
XML 84 R73.htm IDEA: XBRL DOCUMENT v3.21.2
Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Earnings Per Share [Abstract]        
Basic weighted-average common shares outstanding (in shares) 176,626 172,283 176,454 172,345
Effect of dilutive equity awards (in shares) 3,365 0 3,528 3,154
Weighted-average common and common-equivalent shares outstanding (in shares) 179,991 172,283 179,982 175,499
XML 85 R74.htm IDEA: XBRL DOCUMENT v3.21.2
Weighted-Average Shares (Details) - shares
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Common stock equivalents excluded from calculation of diluted net loss per share (shares)   3,120,000    
Employee Stock Option        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Anti-dilutive securities excluded from computation of earnings per share (shares) 701,000 5,801,000 591,000 6,328,000
Restricted Stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Anti-dilutive securities excluded from computation of earnings per share (shares) 500 27,000 1,000 14,000
XML 86 R75.htm IDEA: XBRL DOCUMENT v3.21.2
Restructuring Charges - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
May 26, 2020
Restructuring and Related Activities [Abstract]          
Workforce reduction (as a percent)         8.00%
Restructuring charges $ 0 $ 14,798 $ 0 $ 14,798  
XML 87 R76.htm IDEA: XBRL DOCUMENT v3.21.2
Restructuring Charges - Activity in Restructuring Reserve (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 04, 2021
Jun. 28, 2020
Jul. 04, 2021
Jun. 28, 2020
Restructuring Cost and Reserve [Line Items]        
Restructuring charges $ 0 $ 14,798 $ 0 $ 14,798
Accrued Expenses        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     2,389  
Cash payments     (1,263)  
Foreign exchange rate changes     (3)  
Balance at end of period 1,123   1,123  
One-time Termination Benefits        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges   10,386    
One-time Termination Benefits | Accrued Expenses        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     1,624  
Cash payments     (1,117)  
Foreign exchange rate changes     0  
Balance at end of period 507   507  
Contract Termination Costs        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges   3,995    
Contract Termination Costs | Accrued Expenses        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     750  
Cash payments     (131)  
Foreign exchange rate changes     (3)  
Balance at end of period 616   616  
Other Associated Costs        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges   $ 417    
Other Associated Costs | Accrued Expenses        
Restructuring Reserve [Roll Forward]        
Balance at beginning of period     15  
Cash payments     (15)  
Foreign exchange rate changes     0  
Balance at end of period $ 0   $ 0  
XML 88 R77.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Events (Details)
Aug. 05, 2021
USD ($)
Subsequent Event  
Subsequent Event [Line Items]  
Dividends (in dollars per share) $ 0.060
EXCEL 89 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $F!!5,'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " !)@053HT)98^\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M:L,P#(=?9?B>R$GI_IC4EXV>.ABLL+&;L=76-$Z,K9'T[>=X;Z#_@2>H^!+,:;T;5=%-JOV('("X"H#^A4+%.B2\U='YRB] Q[\$H? MU1ZAYOP6')(RBA1,P,+/1"8;HX4.J*@/9[S1,]Y_AC;#C 9LT6%'$:JR B:G MB?XTM@U< 1.,,+CX74 S$W/U3VSN #LGQVCGU# ,Y;#(N;1#!>_/F]>\;F&[ M2*K3F'Y%*^CD<<4ND]\6CT_;-9,UKZN"WQ=\N:VYX ]B>?&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !)@053@TU@%!<% #B% & 'AL+W=OJ6@N8IWFUR=R^ _)T5:JMVPMA";O<91DEYVUUNDGQ\G\M8AY M=BY3D<"=I50QUW"J5DZ6*L$#&Q1'#G/=@1/S,.F,1_;:3(U',M=1F(B9(ED> MQUSMKD0DMY<=VCE<> E7:VTN..-1RE=B+O3OZ4S!F5.J!&$LDBR4"5%B>=F9 MT$]7'C,!]HDOH=AF1\?$?,I"RC=S!\,!'&8%+_\?=\0QP'NB0"V#[ -X10OLI377//Q2,DM M4>9I4#,']E-M-,"%B>F5N59P-X0X/9[*C5!D!ATP92)7F?D)@E$\'V\ QPE##O 7#%4\-<\.B=N[XPPE]%LS97($%6O_$3/JGKH M)_XU661:01+\C4CV2LF>E>R=D+R6?@ZIJD=NPTB0ISQ>"%7' M@FNX+NUZ/48O$)Z/)<_'-CPO8A6:L0*-]<3CVL[#=:;/=T\W7\GT^66&4%&W M\BBW#=<4ND_QB-R#W;R3W\2NUK)P*1?^+OJ4N7V,[,@]*?ZEN5(FJ6[#S >R M;X(K-.D;Y+I=RKH>ENZ456BL7<(?L]W"Q:P6#!=K&(2T\F+J_2>JO5&^5.!.W!C5&9EK2"@B M%9G*' 8!C 49U"<8KOXXP2 KFZ>X.^\A7_D[N0^@V<)EZ%M2Q,8:)-U>EPVI M-QQB1D8KMZ>X1>\))T$ DXCL['! 'N Y\IS4MQTN"5'D2VBGH]<*II(89U4! M:*L24').S1GT\ZO<)K6,N-P3](+_AI%5M8"V*@8E69F",R4W8>+7-R&NB:8? MJ^H!:U4/2K29S#1XR9]A>G)<-"BZ=#AP,;:J(K"&BF#)8(%T&@47Z+O8"&"5 M_S/U3+#)18/(H.]V/2B9&%'E_0PWZT,9W]?,8O85)BN;6O7VWZ#X M#5T@L,K_&6[?I>G"++I8)YH*S@^HM62X8@-950Y8JW)@IHA@_C "5U+5SGL: M=!ZX6@DR\7U8#T-1$4$AB3%6U8"UJ@;SF$<1N7^K)7[ MW\1"K4R"W8&"7L.(C%.>U#??_YOQL\KP62O#GZ\%-!8&A,LT E4^SW!/?@TU M+#_DDE#VT^)G,A=^KH"PEJEAVB_C&(KC7$O_[8RD,-W<\"@7Y,=SUV4DA02V M:WIL25^5 \W;%C%!=8Z=O%"1G6P#0+3NZ>O&$EE^![NUX<&(S?O_IHG,,I. M+9H:A)XF\^L)MB_@5=[OX;9]<-KO.F1N-U3(ILQ MU,:A.Z2#WLC9'&,Y1]M.9J39S;6,^&:*6NQ E5?+#;Q)L6U5/5[L_CUR,U S M$HDEA+KG0WB_*C;4BA,M4[N)M9!:R]@>K@4/A#(/P/VEE/IP8EY0;FN._P50 M2P,$% @ 28$%4_,53%,M!@ 0!D !@ !X;"]W;W)KUL&M"N:=?TP[(-B,;90 M67)%VDG__8Z2(MGD26ZW+[$E/W?D<[SC/62NG\OJJUI+J2JK3:+AL5I-U;:225H;;?(I\[Q@NDFR8G)[7;_[6-U> MESN=9X7\6!&UVVR2ZON=S,OGFPF=O+[XE*W6VKR8WEYODY5\D/KS]F,%3]/. M2YIM9*&RLB"5?+J9O*-7"R:,08WX*Y//ZN [,50>R_*K>;A/;R:>F9',Y5(; M%PE\[.5,YKGQ!//XUCJ==&,:P\/OK]Y_JZ4+C>M,#FB4YNKZORF50&#=[,ESKZM37$ M*RM,HCSH"G[-P$[?SLI"E7F6)EJFY$'#!V2!5J1\(G]L9968U53D@GQ^F).S M-V^)6B>55"0KR)_K2(E7GY,W1\_54P\2,^^FRG<1=,PDV, E.WI>%7BNR M*%*9(O;SFBPEZCE*RCQ?T:\B\Z[J+V+ >^? MY%X6.XDE36,8U(9FP]O?LB"F?G0]W1^NA0NC0>S%X3%L[L)\+Z*1?PQ;N##. M \Y9!SMBZ7BH!J-4?ZU*I6"+JE99@?$,G$&AJ84LL(BZ,$JCT*8P=V$\ M\D//RI$%,J@0$1U8U;"C&I[(7263:KD^A]:TAYZ[->5Q3F 3)+( ^E)66;$B M\@7:NI+HQABZ\Z?):#02#]#I@>HY M6!"%)H6-E9J\P:F T#I$SJ]"DOQ4'%Q5XU+=0A'AC9(&S0:*K #!4E6R6'XG*Y"H(\Q;=\>D>&PQ1U"P%UO$ M,5ZETW1:;]4;I4F1UF)W<"(H?IF/+%T,Y M.SN"B@9W=LIZMFP\N?5:5EUBM_6,KS!#EH6%-F47Q3R[G#%7++;[-NIJ@&^O M?"@_L;H')4P>)1S,Y"M]G;R\[FCD[!&VO:=,XZ'@;IUSG]LR!H%=,$[M0D=@ M)I>"V(Z'BV->$ UT/-K+-3JNU^Y_EKUPY^O'PK/9N[ +2D-;V" P!GL[M\DC M@W(Q5.R]B*/C*NX#'-SOAZO<=Z1C&/JQL\XN#)@Z&SH"HR(4(K"I(KB8C1P2:*^TZ+C4NDM4MB1G.Y76\Z@]X_G6^ D/XN%="F$O@HNZ\"X]9[/% MG$5V4T51=$!'T%Y2T7%--<_RG3F5_PCI""/M-!@7A9+&G$7,)HVA!DGWZHG& MHVGWY><33)%RIY4&!*BNL6QCO9YAXWJFS;;&/1IQYNH)&@:!+>$"WLE[/ ML'$],TO4FJ39/DMED:JZR-I\JZ/P(Z77CA =U8'GI &*\GT[(!C,E@ +'#50 M>JP7.VQ<[,!I5E>[I=[5A]8E,%Y!;9U]*+4D-,#)YMMDE6UIC^.0H0'P;TRXG4IJJ(?+FE3.RN!WCP.O!0+E?:# 33R9HLZ2/5 MW];W$MZ"UDI15I2K4G DZ>)Z<(.OYC@V!(OXK:0[M?>,3"A/0GPW+Y^*ZT%H M9D09S;4Q0>!O2V>4,6,)YO%W8W30^C3$_>=7ZS_9X"&8)Z+H3+#?RT*OK@>C M 2KH@FR8?A"[GVD34&KLY8(I^XMV#38D@:0G*JA[0AV-"#.G8KW!W19#J18H>D08,U\V#5MVS0 MJ^0F41ZUA*\E\/1T)K@2K"R(I@5ZU/ '6: 5$@LT$Q7DWLHDQ9:B3SP7%447 MZ-OC'3K[<(X^H)*CKRNQ4807:A)HF(VQ&>2-Y]O:Z2UEUBW25'W/T");&T=GV) M5'.'EFLJWW::9>EX- FV^\O315U@G$2'J+LN"B=9D@P/87,/;!S':8LZB#)M MHTQ[1;W9DI*1)T8OH,)?*,(H!+VE2ML]=]6CX[#U,'Q7QPV'$X.5_\"&7L)) M@/Z#?JJC-T$\V#&:>NA"<8FGLPT2@\HN.XU7'\[C[, M5X0O*4C'[.$*T?U!X',:.XEY;.'2,S7VP-!E&1T2/WF2(>F7X%3:G1/G!V5V?LVR5(0VX;K^GK7CK:-W(UM M7YSQ6WPUPY[Q.]/XV=[BS7S=-7XA_@M02P,$% @ 28$%4]8)>@ZD @ M[08 !@ !X;"]W;W)K M+H?13JH7G0,8LB^XT&,O-V9SZ_LZR:&@NBLW(/!))E5!#6[5VM<;!31UH(+[ M81 ,_((RX<4C=[90\4B6AC,!"T5T6114_9P E[NQU_,.!X]LG1M[X,>C#5W# M$LSS9J%PYS[3RR\2[@"X.=/EH36\E*RA>[N4_'7F 3 M @Z)L0P4;UN8 N>6"-/X47-ZC:0%'J\/[!]=[5C+BFJ82OZ5I28?>T./I)#1 MDIM'N?L$=3W7EB^17+LKV=6Q@4>24AM9U&#,H&"BNM-]W8=D M:10^98@S\50*+3E+J8&4+ W>< B,)C(C4UG@Z.5V)K9 [D4B"R"7"ZHP( ?# M$LJO2(<\+V?D\N**7! FR%,N2TU%JD>^P>RLAI_4F4RJ3,(3F?3)@T1B3>8B MA;0%/SN/'YS!^]B5IC7AH363\"SAYY)W21!](&$0]EKRF?X-+KHD'#IXT%;. M_ZG/_UG]53/ZS9ST'5__!%\S&BB$W!/=$\@R M=!.K5PJT0,Y^X8BNT?K()9=:7Q'K,UO*.%UQZ*!E=C3E@%.X!6W<%+<-8:4[ M<+K61+=Q9X#]W1Z_V):887_P.FC61A2]"9JW!/5NAL,FJFJ.?_3]%J#6SC@U M260I3/6*FM/&F^^<);TYG_1NI[V6\QEZ>66]?^BK'\$#56LF-.&0H530O4%[ M496Y5ALC-\X]5M*@%[EECO\C4#8 GV=2FL/&"C1_N/@W4$L#!!0 ( $F! M!5,:F U""@< %H= 8 >&PO=V]R:W-H965T&ULO9EM M_BL;-]&'&B?4 "'))9G+)M+W.M)=)[MK7"B@Q27O:M2LRU+4 M;Q]EH5XN9V3V_L5]_KS4YHO%U<5*/,L'J;^N[FKXM.AFR?)25DVN*E3+I\O9 M-3F_8;$9T%K\F#/1M[(HC S@8Z_ M=Y/.NGN:@>Z>7E+)ZA3#Z)=:'OUH73=:%7N!H.",J^V?\7K+A"# 228&$!W ^BQ ]AN &L=W2IK MW;H56EQ=U.H%U<8:9C,7;6S:T>!-7IG'^*!K^#6'(D78XWA^^ '\[IVGG-&WG8U-.K^M:5AJ)I@$_ MSSTSLFY&ULX83,THFB6"V*#47,B_U_E&%' +9ZRV4T7M5&:9;:XHX9CQB\5F M&!.'691@SCJS/:5!IS3P*]WYGE<;V>C2:)PC4:I:Y_] "J2JT4@]H1,2)_.8 MQ*U3)P33.0UCDP7F";9?FF LM"F$!08E-8RRS4J%(2Y M:2?%U@RN^&P=" >.$_ [&,?'8889#; [/F$7G] ;G^LT56L("GB62GB*CX4\ M[%>,V390,2,'@N1R.+0]"1(2CAUVF-$P2B*WPU'G<.1U^&OUF!<%//I:;F2U MEBZ!D7UG'L;91&#'J%L<[<=PK[A-D::55G4OG2N+6+:,XQ&PDS&&%8S:1 M)W&G+/8JNZOE2N09DJ] 5),'YG$KO920'WOEQ:4[MA6%41"-=-M6C%,ZH3OI M="=>W5^4%L41$A-;8D)C/G[H#C-,HH2X11+<8PE[9?ZAJM/TR%(5!G2.2;A= M@2S!\X#P_ZE4[;S82_J )5$X"I/#CB4A+-^). WP30ZD(71TM0:'5L!N/6_5 M&OZL3+SFJ)+:J9M8>GB4<#J6[3!+R!2"2,]?0KVJ/X-FH?/J&142>C!/&NXF M"O=@2?FX-+K, %@3U8?T6"=^KO^B5/8"Y=$IC=GW#&B"Q\O8:1?@P5+:%]>3 MG/A1_JG2HGK.@5"[ $X_;@GVB+-!!W4K2"@9Z[,-28SQ,"'V)?90)/%1G761"^@J<@W<]K77I*<6 M\6.K:\M6XLWT9$[_;1@QR@9)L?/>-B,1Y1-R[XC<$FD-@=X M%(7C!'*9<1I-9!#M:4']M'B7>&@=4KON$Q(%XT@ZS!+&DPF5@]V9GPY=N=AU MI-N-5;L7AL69R95JT]AA9J R%=Z>%M1/BS'6!JO J=8& W35 MXUKGL(H)F+]2/EWO9 MR'JS[88-0/L&UG<2A7'6@"-HT[2H=9DH03=9?U &-^@&U+P@&)S+'C2<(@LDZO M''8,-N<3"XKU#&/$VV(\+$4MEZK(9-U\_UU,"?_0;GCTF_<@KZT_R 5VO]5+59B=ZC@*,46-T-0?WG97J+)O& MY&U[;K#6#?3R&10U9\QM7N%QN'TF^Y$8G&D>.-149:FJ01@P/1 'AO$<'Q\+ M=P3.$>'1G&/>_D!X..?)D5,Z@V?SDUD-E]-HHJ*RGK',S]CK+,O-RPI85>:L MZ!3$IV*5PRIS"K7A&?,@CBVM#CO,.9M:_SUDF1^R]U(+^ HZ6%%7\"#Z R/U"AAUV7ZZ)]8;$[;U/E"DJ">;<$^#)G..U& MV!SC V<3M@,/64)MLX_G'8LQA/'6ZQG+3MF*]=,EC*G:"=,DR <=V$N0QI1 M.K6]8SUWF9^[%B':=3ATXP>? [']1L.Y/W48NO>GB\&++_/6\7=1/^=5 XWA M$XS$9QQB4&]?Y&T_:+5JWX4]*@V[B?9R*04(-P;P^Y-2^OV#>;W6O4Z]^A=0 M2P,$% @ 28$%4U(/O/>2 P 10T !@ !X;"]W;W)KWVHMH+3V*( M-8Y-;0>Z_?6UG1 2"('I<@'Y.!_/>SC.<:9[(5]51H@&/W+&U9MA?\^72+-V1%])?M4IHSOXZ2TIQP104'DJQG MWB/ZL$"1=7 6_U"R5XUC8*6\"/%J3_Y(9QZT1(211-L0V/SLR((P9B,9CN]5 M4*_.:1V;QX?H'YUX(^8%*[(0["M-=3;SQAY(R1H73'\6^T^D$N0 $\&4^P;[ MTG8T\4!2*"WRRMD0Y)27O_A'58B& QI>< @JA^!6A[!R")W0DLS)>L8:SZ=2 M[(&TUB::/7"U<=Y&#>7V;UQI:>Y2XZ?G"\&58#3%FJ3@"3/,$P)6-IP"=TLL M"=<9T33![!Z\!U]6S^#NW3UX!R@'?V>B4)BG:NIK0V+C^4F5]:G,&ES(^F?! M!@ .'T ]3AONAW?R;) (3(N<.VNV_TUT4(ZB($+EYX(=Y*&_FF-S40:_"1 MP'38A MZL8=U;BC-[8!%_S]C:TP.N.)A@%$T0GVN5DX@4,4=Y/'-7G\^X5NB.@"C\^: M\[0O^BQ:N.,:=]R+NQ!Y;M:P>9(FKV"+)=AA5A!P9YY@J6 ,2P6VQ RVS#SL M[KN8R_#C)M$ PN"$^YI5BWU2LT]N9W>$"N!"9T*ZSK$:RJN=X)/SOQ]6GQ/X M6RQ; A \SA=XLX2'@P:J5'&=OXK]"AH3$CT=@5F1Z2T M&7Z4;Z[*0+?+Z#+MEW&<<2CHE;$T^R-B%F;Z/Y9"E2)N=SDZ57'%JBW@.#=1 M_^ \%?#F]5#%;U9WV+4:KMNU%1QG*.H?HA<4W+@:KL_47I,V\W&JHOZQ>H'Y M+?U_/CW/P/M,2G"_L<>U+QA_8;FA7 %&UL8'#F+C+,L]>WFBQ=9M>U^$-IMH M=YB9]QPBK8&YOQ9"'T[L3KI^#%H^R^]#O.%7IJZK:_7.R4VK];K?IRQQO6OY5[WL(O&]DU3,%MMUWU^XZS MRC1JZA6)HG35,-$NKB[,LYONZD(>5"U:?M.A_M TK'M^SVOY>+G BY<'MV*[ M4_K!ZNIBS[;\CJO/^YL.[E9C+Y5H>-L+V:*.;RX7U_C=.B:Z@;'X4_#'_N0: MZ:'<2_E%W_Q<72XBK8C7O%2Z"P;_'OB:U[7N"73\<^QT,;Y3-SR]?NG]1S-X M&,P]Z_E:UG^)2NTN%_D"57S##K6ZE8\_\>. $MU?*>O>_$6/1]MH@-Z7HD^R5;L> M?6PK7GW=?@7:QP&0EP&\)\$.?SG4;U$4OT$D(MBA9WVN>?L6D=PTCP)RZ.A/ M:OJC/G]JIVV,TS:=;!#D6\>4:+=#P HE>/\N\)YX?$]LWA-[WO,;9+AH2]EP MUQP,;5/35B?RPQ6.LSA.+U8/IZYQF!64)J/55\J245D2],!U]3>$[1!%2D*J ME[(M1(1 -;!G MIHKP)WWM].'08W+B'$(R6LQ!8]3S M&[2O6:O>(,@]Q/\YB+UVLTM\9LG*$QS-M-M&&..4N+7GH_8\J/U7V4/U:%$E M^KWL6?W_].>6M'@FWK; !,=N[<6HO0AJOVYDI\2_H]]%JUB[%?<0O*SON7+6 MN\(6DB=TIM8V(DGN\32.IMH=!?7^/-.'1+-GHM-.1>6.=5ONKM"1I68>&@X3 M7"09]B@^H0T.*O[X5'*(#SW_\A[ PQ4'+S^ 8-D]!S5CAYOQO* YK/(LIQ[5 M9%)-@JI_'\M2S:&&O,[9Y+RS;1.24$\LXXE$F+XJFB$C2WDP<.\@)7DC#HU) M53T!QXKM' %UN#ZV!F%;4>*I@WBB' YC[I:S6OP+57L+*U*M%2H*'U(SK#FV MU"S3?"[9803%V\,_/ $0)T'1ZXY70J'Z6 G/24W.!XAMDOE43DC$82;>\@=6 M'\;H $KK"#?1#&M"(')G?G-*MJEG2;9-EMA7G_$$1APFXWH'!4^7#+U4YQTX M>EQ2L"=/ MJ8*[)Y?78885KX?#RQ$(=A>%T>,PYPSL4#@TKME&C#;$EHG%L! MZ[#+H2Q[9$[8PV'N?6[O15V#+SL.I?C@UF@CC.;QG,I.J\@S[60"'3D'N@$1 MPCW%Q*;5LD@(GHESF>$T]:F;H$;"4+OI.)"@>EE,'O&F=KR#'1S$**24?_E M;&1!$I!,)KB1,-S&&-VS9U^ $IM0.(V2>7RZS&(/?)(F5Y2XSF&GL MF^F)2R3,I0\O)?.8YB9.AS,&"-6*PWI=>(+4!E"2$&+%J&U&89WK<_"$*A)& MU>\ZEYRZ;,K@#%MY[V*1=X%%)AB1,(Q^^]8MK%.Z@SA%G)%D+MZVRU*<1Q[Q M$YI(_JJ#BF&5\NU;;S+1A83IA!QV-,^RU+/6H!.%Z!D*G;KY M]3MNZN!+FB3S%'>:%;E/_40A&J:0,Y>^/_2FK/[@C$[G*&P"+4F=/ ,%9)>?52PKW_0%>QH?E?-/H[9(^ M^$*'%E;SQVL=#V[7V=B)XSC*YHYSF.7$=VA()SC1,)QN^?X8P'/Y3K$V:98D M@CR:JW78)3BB'B31"4DTC*0;]FQV_F9?K0/6PA&!=D+M3%J+S(/&=$ M=((4#4/J1.AKMGC4QHY5"FR3);BV\"B>R$3#FZ8SI<"546P M6A*28Y_?)^K1,/4^;C:\-&[?R(Z+K3YK+H?=*WB=H^':'!"8P9JUF+[051IV MYE[.., '?+0FQV%&(NPYD(DG.L9A.IK)&3?AKU(>.[9?"3G-Q>-7" )E' 9E./3\:/OM?G4.7O^'K];#Y]NIVZ&+\F?6 ,G\BO_@-02P,$% @ 28$%4Y2< MW)UC"0 1C4 !@ !X;"]W;W)KMJ> JJ: +4]M;-#-3.[G]V)(-YV[(SM0+._?F7'1)%T)?-J MOD >1_*]5X]SCNRW M5;W*6O6VOILVZUIFB[[1JIB2*!+359:7!V^6;??!].QDG=W)&]G^M;ZNU;OIKI=%OI)EDUZ]1E\K7JOK6O?F\.#V(NHAD(>=MUT6F_MW+F2R* MKB<5Q]]#IP>[:W8-]U\_]7[5)Z^2^9HU!FQT@.:;IJU60V,5P2HOM_^S[T,A]AI@ZFE A@;DN0WH MT(!:#4CL:<"&!LR^0N)IP(<&W&I ?5<00P/1UWY;K+[2%UF;G9W4U0.J.[3J MK7O1#U??6A4X+[N9==/6ZMMM^J>F38NJ6W2SS&JY MK(J%K)N?T>7?F[Q]1!/TU\T%.OSI"#7=UPW*2_3GLMHT6;EH?D$_&>]/IJV* ML+O.=#Y$<[Z-AGBB^;-JLP)H-@LWFU6KE9JE-VTU_P:TO@BW_K18Y-TLSPIT MG>6+B4IAEJUS.)++<%]?9*M6LRKE95:7>7D'U>!J))SY?+/:%/V _-$N98U4 M>FK76';+^5ZB?U:-U>M4C?ENX,ENX$E_&>:YS+F\R\LN1'2>%5DYERAKT86< M'R.*?T$DPBDT?-L^1=]GMVG=GV'*>8RCD^G]_GBY.,JXB;EP,8*F-"8F[-*% MQ9P2D9BP*QBN2O2%53I4TV,[]X^>4['9MG^^7[&8,!;!<;%= M7*QO1SUQ?2[GBD<:%8X*H']UU"V]?@58:S8P5_CN:CQ8A7\IALN;9M,70&T- M\^UZ:[JKH4VIKC:\7JL:@.U5@":'6C)AQ=]98+&@PGVK.]T%TX:#*=?,)-.FBRZ8)1>:[)>\GZ3#+C[P\MB=>SA)G7U_P'$_ MS@Q4$Q\.,U^_FY6J:N#H#HV--9Q2>ZNZ'(69P6F^P6'"Z8+;E&I'+_+_J3EY MI]0$.BP4Y1^A3H??9WF1?2WD1'F*29,54F5R+YNVJ[S27Z7LZ]]FW\'47"Y* M>&I1]]48RDQ,$Q9F(PM_7F1-D]_F\^T*ZY9_+97T0EUZZ+"6\^I>UH]]HGM9 M@9DP)\:8VWD$,686F@AQF FA++JB[P;LL!NQHVU*ZFNEWU _3 H7'CPP39?N M)FH3<3(=@YG):EK$85Y4UDT9LU+9D+J6Y?P1M;7BP&*;>+;X[V8;.ABYRX03 MS@2Q(Q^#F9%KRL1ASKPL%P'-]MNF/$8DZ30;B4"WX7(?CFG$8D]0_36+#8(IS9 #0UM\7[%T!O2KPS[&R^ "XB/(WM 018F8HD]E5* M\S(.$S-H3W[/:E6L-% LEW4Q)3%+J5TLE\0I8W:QW-Z$8)@ZQ7)QL4+9DN * MP$VXL@T>ZB5:%)"P*!AU*6.%FPT7,&<\%HE'KQ"M"@C^ *-"]ESM,\C]35:% MN,Q.$R*LR3$CKN&TYL6%IR?/[D:T1B!AC?!^?H4 [I3RU!.@YGH2YOK7J.JA MR_UZ)A&V535Q2=U F0%K6B=A6G\'53U0,-$D3,(D_%Q9/71CR.J4 MB=3:JPC N ;,#%,S+@DS;EA4$\!,8LR ;@)I4H4>(JE-0$-:X*7'/U["N?Z8+M)>OI2\ I,2T.V)@X>.U- P90 M..$>O\ TA;,PA;_&X##WW)L09]^[8"YYFS S9,W>+,S>[V!QABM8-PX\ZIQI M_F9A_GZNPV$N%T\(QJE-LPR@3Q-G!KIWSS5,GV&/PUPBPBQFMEJX',>9X6G" M8N-W:7^4RV'0$7.46KE=C<+,U#21L; )_EAWP "/[#QO, (R$]4,RL(,^@9O MP(![NA3;U'G% (]MP,S(-2^R%QUM.^Z@.$81Z[42!J,'R# 6LR8Q2Q)J[Q\NCJ>4./?Q -R$II'O M_BG7;,Q?>MJLBO5I78>+Q8$39LKC*+)4Q&P AHL%])9PQE);D@ XSB*1V!L7 M@)O0A!,/[7*M%'A8*8RZB+'"S3C@YF,A?(\2<*T(./D =\ US_/Q6]MO?(K( M9?94"/O>#G=U K:G#]B1;V5H@<## N']O %W10+Q^7^^]QC7V-WKEU@##I Y M9C2USTBX^]B68PU\??E2TLJ CRF#UUH##A XCGVK2C,X#S/X:ZP!=ZE;,3*- M[%D+W)8V8&;(FKIYF+K?P1H,5[#N?GAT']>DS,.D_%QKP"%W&CDG:Y<0YF):083 M84_[L;9 N ?8KBT8 9F):NH48>I\@RT0@&NFU'8% CIRIKYEH0E1A GQC:9 M %89,@7C.#-^39@B3)BO, 7"94/8% ! 5^<"(- 4 #C0% XT!1,]WY1TOW" MZ/>L5CJV086\50VCXUCU4V]_M+-]TU;K_DK8U':@W:_?V0D9H,"J[4MB7^ZYY_SD?#?82?6L4P!#7C,N M]-!+C=G<^KZ.4\BH;LD-"/RRDBJC!K=J[>N- IHX4,;]* AZ?D:9\$8#9YNK MT4#FAC,![^9(,O< F!!QB8R-0?&UA IS; M0)C&2QG3JR@M\'"]C_[)G1W/LJ0:)I)_9XE)AU[?(PFL:,[-@]Q]AO(\+L%8 M9%?Z!AZ) ]GL9.B6@ M\UZ&;@EP1_>+LSOAIM30T4#)'5'6&Z/9A5/?H5$O)FR=+(S"KPQQ9C210DO. M$FH@(0N#+RP"0^2*+%*J()4\ :4_D-E+SLP;:5I,2>/J MFEP1)LAC*G--1:('OL'D+(4?EXF,BT2B,XFTR;W$P)K,1 ))#7YZ&=^[@/=1 ME$J9:*_,.+H8\&O.6R3H?"11$(4U^4S^!AO?2;><648&3^?5L:/NZ4V"N_]SPMTG8JNX^@ZYZJ2ZI0D;,L2P&(B&U D MEEF&C47;JB2-7"?.ZK;7==56$/0=@6V6VU'0"GH#?WOX"VN=NMUCKVF=5Q@= M.\UJG<+*Z4B&;B5#]Z(,C_25P&J%/=7*G@L&ULM5;;;ALW$/V5P18H8L#1S;)CI+( V4G;I$CK6+T\%'V@ M=D=:-EQR0W(MZ>][AKN2UX#MI_1%6I(S9\YSQ:SM'?KYS/71*,M MWWH*354IO[]FX[97V3@[;-SI31EE8SB?U6K#2XY_U+<>J^$1I= 5VZ"=)<_K MJVPQ?GL]%?DD\*?F;>A]DWBR95=9E3P6C4FWKGMS]SY990W(;JJ4P:#2MOV7^VZ./04+D?/*$PZA4GBW1I*+-^IJ.8S[[;D11IH M\I%<3=H@IZTD91D]3C7TXGS9)H/ZP_!\TAV$E_3W8A6B1['\\X*!Z=' -!F8_B_1_5;8M A4LZ]T MC%S0:D^Q9/*-P0F49;'DO/$ZBJRR!;W?Y:6R&Z8;5U4ZI 94=0TTM3),T='G M1OG(WNSICFOG(Y L29O0>/3Z\ZF !B;KHB!ZIMRA!&R ><$OG!S)9L38(&4, M%3KDQH7&0\'SUT;[ENJ&+7L([-&_.=?B@'KPL/;:YKH63U[]M%C M;P(AI4,+X M2!@(2ZWL_OOO+B?C-S\@OM8VP&A#T8_$+X2QF53VK#RQ] &]XYRK%7LZ&Z=* M'B4A1>M&XL A][I.$PO)<=#%".WEM^]]E]\!?6AYN5K;3E&6E;*8J^*4[-RX MC>4=_CQ8JF3@E4AEG3?924I;,I VQ,2C:#56-85^-F[]=*KB7\RNM'^:0'1( ME,'#RC UIP@Q:L[+YB-AWN453-BD%?2N6T%6NR)TY=;'3X(?&\LTN6QKK[78MKL4.KH&_5HZ M4[ /'7F2?HQ[260%3TNYDN\E*UAS!Z!"26O<\ _\#BRZV' QH-][CG4-WV^J M7JDM'\H*$?CM6WGOTTPZYD[C3-LBY10.=6US8(B\8G;PKL8#0FJ^LYS:5-IY M\-0%,>Q=Q16CNN3!(;V!GFUOY>/N\4VS:*_R!_'V0?0)Q:GALN$U5$>#-^<9 M^?:1T2ZBJ]/%OG(1SX3T6>)=QEX$<+YV*.MN(0:.+[WY?U!+ P04 " !) M@053"D$7);H% "N#@ &0 'AL+W=OO'DS%(_OG/\2*J(H5K6QX:2H8FS>#(=!553+L.\: MLEA9.%_+B%>_'(;&DRS3IMH,)Z/1ZV$MM2U.C].W*W]Z[-IHM*4K+T);U]*O MS\BXNY-B7&P^7.ME%?G#\/2XD4N:4;QIKCS>AKV74M=D@W96>%J<%-/QF[-# MMD\&/VFZ"UO/@C.9._>%7R[+DV+$@,B0BNQ!XM\MG9,Q[ @P?NM\%GU(WKC] MO/%^D7)'+G,9Z-R9GW49JY/BJ! E+61KXK6[^X&Z?%ZQ/^5,2'_%76<[*H1J M0W1UMQD(:FWS?[GJ>'C.ADFW89)PYT )Y5L9Y>FQ=W?"LS6\\4-*->T&.&VY M*+/HL:JQ+YY^!&]7WEG76D4@.X;C881?7AVJSL=9]C%YQ,=K\<'96 7QSI94 M/MP_!)X>U&0#ZFSRI,/WK=D7H\.!F(PFXR?\'?1)'B1_!X_X^^27TNJODG4P M$.?.!F=T*;,L; D"*"#U_,$MQ(6VTBHMC9CA8Z9%_#*=A^BAHE^?0'38(SI, MB [_%>U_UX>8*H6WJ.V2D=M2^C*(FP:IDG@QG=V\!*/C[_;&DX$H9KINC%ZL MV3A6M+T7O2XNK7(UB<]R1:$0GV$@$:/,<;3%%HUXLQM!1D.7'$&1CQ@#@E:* M&N8RH&T-5DH178HAF\8[J:H405O0V9#7#NMR):0Q3G4U8N.:8N5*9]QRG>R5 M-*J%.T:H,[K(Z!B-M.P.OFJ1/0Y28=F-)^665F]JBXXE[RF'-%K.M<$:O' ( M3*V@2^(^1W:E7L"6P&[89P;6@!B<4$9Z\)8"A(Y$X1#*"QD:3)O <5*Z#RG= M!IT<0HIU(RU\.%>\)Q?J8,R+K2>$3]'79/1WN@( MZCIW8$_G6J<3]@W NDT95*4DN81HS=6HL8\ MUPT^\9K@Y'+X]-IX#35DU[5<"U5)NP22F(/T6P8;Q=,J F#>D"11,XJOX%PA MD4YHD$L2<*EO==FB"@]A!5*MUW&=&HO*L'&$6G!:;_(XWB<"FNJ6MO<,4Y+UY\3M(\ M.CQZ^49<2,7SH3\9&-\[3(6NR7=[@.G]"7*]T5V1P/88QGNC\?,PS!1^@NU6 M/(XM)CCP8#5KKB+7#NMYI"75);+!9#J[PD!45"Z9GC2:>4A7N@EY7.8A!D,; MI,H#/+GP/<@?+\\^70LTCK39^'[),WY:\0#,@II3*HWC:K3X-"#@B9SE!#XY0JG[XF^=-=S/B0?.;DF6/,A8\Q"F)-RM M:8PV1G4:'CM$?C@J=S*H7TJ#G*+X[=#AI<(?\3G2H=$M$QMLL-%TA6&7M+J&B+%)I-9W#"UJ^2I MQNE@Y^V>"69;%ESE7;NL\H3C.N5FW85O_R]Z"6XIE13WA1QQNZER2A^DQ[SG M'U(\3_KH?\IT'Y86MQL.A()A/Y[SI9V8ZUJSRD\H A,3.(0( &0(W&7Y_3#9)#W2Q5\F!K M2 !]/7VZB>.U\S=AI504=X6QX:2WBK$\&HU"ME*%#$-7*HN5A?.%C'CTRU$H MO9(Y'RK,:#H>[XT*J6WO])C???&GQZZ*1EOUQ8M0%87TFW-EW/JD-^DU+[[J MY2K2B]'I<2F7ZDK%/\LO'D^C5DJN"V6#=E9XM3CIG4V.SG=H/V^XUFH=.K\% M>3)W[H8>/N8GO3$9I(S*(DF0^'.K+I0Q) AF?*ME]EJ5=+#[NY'^@7V'+W,9 MU(4S_]1Y7)WT#GHB5PM9F?C5K7]3M3^[)"]S)O#_8IWVSG9Z(JM"=$5]&!84 MVJ:_\JZ.0^? P?B9 ]/ZP)3M3HK8RO(>(Q'(\BA-.6458+.D^"IL\(VA.7SL95$+_8 M7.7WSX]@5&O9M+'L?/I#@7^KS%",=_IB.IY.?B!OUGHZ8WFSESU]KT-F'#D; MQ+_.YB%Z@./?/]"QT^K881T[_W\T_R=!XH.VTF9:&G$6@L(+:7/QNY9S;734 M<">N9!32M\=R@>>.-"H$\55EE??:+L6Y##J(/U9*+)Q!@=*[*.=&U56JO[-, M++>*Y5:QZ2CVZENE25]T8JY$T5&_(/6W6_6^53]G]3((MQ#(]T;4Z19OM85: M5P6H">^.Q#\J%R'LB]<9=&'Q2B^M7NA,VB@^PT O_K1N'I2_9>L_VK*"D6]_ M5[?*B-F[.EQ'!%*U00'Y&Q">MDA]E2+[!HK'^/^O?SF83J8_BPOG2^=E5&+N M8$/[?N=@VI_.]MKG/SQ[NA&(A-ENF\S&_<.]2?O,^@=SF=W C4 !2&%KU@_' M_>G>[G;[4MEL\T#UY BQ^WC965UIDNDY/ZVO?[AX7[[=.5NE0[=OO3 MPUG[]$OFK"MT)E8J7Q(8_%KZ7. MUT;'_:WD#NR.7B]@]V#K)>'NPA6EM!M^ MM?]S$,5S"2)0>X6H(EK.154ZRUC-I3:MB)(@0_8(G4,.$--"6#=-H=X; M^HQJ4D2(4CBD1&:P&T@CI4$D/$V&3YJ>JWGLYI:$/0[$BW[ B\+ER@QR#]LL MKTEJ86SQ>J6SE9#&B- I 9WP3K([50"GL4KEF"N2!7.\*_BU\][-&=^YF&^Z MA^JXY>@F'+90@2"A [6/J#(75- >E2^H;.D%QY/$-H2P>6TDIT-Q*2VZ/^58 M:**1@#0&39:0=A6B1N]E7B+5'2IAW>%E:DJV('2Y(S'!]2D; 7#PH1OZ0Y=BVXU)J2 R,WL>TT0X-UL4N%>C$IRDNKRWI MV5#\'8C"0E64J;*JD#*5ZK4N:>[CF:ERU?62:SB$1/F<0&($N$*.D#%&WRBC M5\[EY+C,5EK=DEN9\E1HV [.1! +;: (S:1.SS:^84L=K\K46I>F2H7XIH M"F..&9+P)CR[PL>1'5M7-IO*\8 RK\/-UMJZ1IMHTFA7STH*&VI0D(H2I.WR MA^9W\OUCVS<0E2RN0[=%J,PPK 6=^&,A?KW6XAJ":"#N8W;*AI2MZ7BR+];( MZQH%#<_ GVLFA>_*NWK#(:4''T!D+O<6$*=#P#J^U_FHL72&R@'VPD]"5OBV M<=Q^MOC43&%I[)-/J@^'.6!RA-?H2A6GD[; M2"PJYK-GPP=:H &&G'DSI@-OIOW=\;@_QGC8J&.' Y,1>V#5710;)?U0 M?')VL'@XN+]J4*>3_L&P?E]::GE]=&F:"KB) 3;4@$M#%4X!I,'IH($Y[;N[XX JIPV<. M#/1=Y?=X4ZC4%]+W!DPSSBX'AJ>6NJ_S$+<52#H4A9LR@&4::U:4/)Z3,NVS MJJ#))2-0@["4KVU'F'K1Z^52<5C3\7Z/8 AH1I7*"ZUK0\O)JT)NF!WGBAV M6F+(Y(',\0B+R38055V?%Y^O/[X?H$+@7:YH-*9BJ[R8$X&H$%()38&Q9 LY M2G"BJPS(>-K_+;8[D4A5<0D3IWM<%>-^/2>FZJS[Y%.Y[XI!]/PRT2-A?K;# MF'_+H:.X?7*4G3V&R&3O78(PLV--Y*RF]U4U4P/S?%T\[KX-H\BP$@O07WBAT[+4EULM;WNQUWYRXB&6A M"T/N!@7=SM0M12BZH[G_Q9TL7E'..$%V)G#S9YQ]R3[>U62J;JQ/7?B,.E=I M:%5+OC!DA3:F6[7V;7LG>9:NXK;;TX7F)1!*O$0_?J!%+0WM:?_!5!+ P04 " !)@053U"7T M&)0( !$& &0 'AL+W=ORTP69FBZ+H!UJF;2&2Z"6I9+R_ON=2DBTK3B8M M9C^,0XGDO><^>,\5Y_))J@>]%L*P+U59ZZO)VIC-^6RF\[6HN#Z3&U%C9BE5 MQ0T>U6JF-TKPA=U4E3/?=>-9Q8MZ M+OBM$$]Z,&9DR5S*!WKX>7$U<0F0*$5N2 +'GT?Q7I0E"0*,WSN9DYU*VC@< M]])_L+;#ECG7XKTL_UDLS/IJDD[80BQY4YI?Y=-/HK,G(GFY++7]94_MVM"= ML+S11E;=9B"HBKK]R[]T?AAL2%_:X'<;?(N[5611?N"&7U\J^<04K88T&EA3 M[6Z *VH*RKU1F"VPSUR_YWKM,/IEW__>%(^\%+71#N/U@OU2?XMA7LOR X9A]E;=::?5\OQ.)P_PP@=TC]'NFM_ZK OS7E&7-#A_FN M[[TB+]A9'EAYP2N66S/'QK-_W\RU4A23MVIC[;J[&3!@F-XMB)W8S21&R1TNH! M):BHX?FFU8VZPGPGC$.V"]48,,0EC@MQ?IPY;A*P3RA,NE%;-B_*4K/,=[(@ M8T'DA&[ WDNUD8H;P>82F!D A)'/ M])O)#=:"W,=,[S!UBK1=ZHPA0"*D(G MB6+F1XX7N^Q>/@J%HUYW,D+'RV*6.C'F/C9UD1<;7G9S .^&S',"TMTH!<0' MSO4RUTG"A'ENX/BA^PQ?Z$5.DH9P1."$?OHBPCAR(C@RABNB=.R"('5"K5%(D4IE@?>'V?A4F#6E"( 4 MRR+G5J,!,FV8]9LJ](--%)3KWCM(W!I'QVS9@F_QJ%@I-#09F\\&#$-+> YM MNB"F.'L.JSL&;*,*)&H!=-BR(J?4A*P[-MH4IB$)\&$US.IE Z==,',8F5XH M1"W$W PC6FC=(,;SK<7X^>S^;*#M CL/$^5-DN82SEO("LXJI1D0YT%1)E6]=ZB'O_>-;"@&J7QFWRC#3F3?%+*'%L'H<4_N_K" M3O/A^1F*[OT*,WM8!PJPTE"5YZJQ$_V9V\47OJ0GJ1;MQLF=$AN.XRN^H'W4G:G(0&CLBX7- M-3UALN[0P_:R6%C=M[RDQ&#WMC&UGJ]D4].4D>P$91VEW05!T-2)YT2QVSZ^ MT5H':/5&V):PW)ZQ3P?49JQ);9^*I-9#[W[WEQ2D5? MM!/$>$>HS@.1^AE0!*<]\[U">5'L@Q@2N[ICP"/4EV8LV2EOJ? 8"7HLV*UJ M27% &N='>"\$O LDR8A>PQ2&0TPP<#J'_1U*N; HU-2_[EMA/P*^'[$;A89]D@8.'QR+ M@=S_Y>TXS4Z8EV1(=&I-D&3QZ<%!VH_&JUY*02]PW#1%^D6GN]V[H _FQDF$ M-BF,VPP:;QM, 0=ZN"C+!HER%.UHU:<#8N"43;:R4@9T+-SE" (S9L@G1/D/ MH>2;ZZJMI. 1VEC+]IN[0.LUY ;*V]=P+*"=\IVZL[428EI12EA]NOC2/6V$ M*B2<)^CK\@#8V=#DO>+V9!QJLO0[?$^K<7K)=$-91SA..I))(V*80^)P+/PQ MTA;;#EHMF)_VM-/R5<]67Y<[MOB8U%:?$KYO;TP6#_J(Y)M%V'=2/]X+]KUO$F,M!H;W.:RH;.=ETW=> M^\]\>H^^]'B'=4\M;UOIX:!_0'/;JIZQ.V!0U&8-/6BL]KT+G2$S/ /56:;% MV/,.PY>8E<>_.!;[L#+H-=ZL9;D02G>49C_#4$!03WB>-U536O1=)XDLP0:Z M(D1W3+J/=W+V?H0L)8O$EN?#85G#%O*G/_H4! M^J)IT(V":=B-PFG4C:)IVHU:]GO.75T+AX(?H_U%AX%1D*%CD9%>R9ST0IY7[LNP:H4H' @W,QE M(%#/W8E P?,"EKF.#U8]:+Q&[=9+&+[2E;4M9MN-?4T$_()N[/BMSHMJ;0>W MM\;/ DN\[6W."?,CNOEH8P/[;>N0QIBT$?'L70_F/">+PD&[=^RR<3:XV:V$ M6MG[:_KRQ+=0>\F[>[N[(K]I;X;WR]O[]8]B8EF*)K>Y9$DV8:N^LVP&.7;R,H.UX+C+-("S"^E-/T#*=C]Q\'U?P%02P,$% @ 28$%4_M. MRJDU P U@8 !D !X;"]W;W)K&ULG57;;MLX M$/V5@="'+J!8-\>6 ]M +BV:!8H&:9L^+/:!EL8648JCDE0<[]=W2-FN6VRR MB[Y(G-&<,V?(X6B^)?/5-H@.GEJE[2)JG.LNDL16#;;"CJA#S5_69%KAV#2; MQ'8&11U K4KR-)TDK9 Z6LZ#[\XLY]0[)37>&;!]VPJSNT)%VT6410?'O=PT MSCN2Y;P3&_R([G-W9]A*CBRU;%%;21H,KA?1979Q-?;Q(>!!XM:>K,%7LB+Z MZHW;>A&E7A JK)QG$/QZQ&M4RA.QC&][SNB8T@-/UP?VMZ%VKF4E+%Z3^B)K MURRB,H(:UZ)7[IZV[W!?S[GGJTC9\(3M$%OD$52]==3NP:R@E7IXBZ?]/IP MRO090+X'Y$'WD"BHO!%.+.>&MF!\-+/Y12@UH%F>*8T+N3:@^^&L#Y,^ )O"?M&@MO=(WUS_B$A1S5Y U(L,M M 01FF**#X:@+DVM%CN=@6#;\XT'C _C[FL@=#)_@ M^"M;?@=02P,$% @ 28$%4T-Q&4(E!@ DA$ !D !X;"]W;W)K&ULW5AM;]LV$/XKA)%B':#:LOS:(@F0I"NV85V+9"\8 MAGV@)2<5Q?_V>(R5;CEVO7;=]V(=$),4[/G?W\.[D\[4V[VPAA&,/ MI:KL1:]P;O5B,+!I(4IN^WHE*KS)M2FYP]0L!W9E!,^\4*D&21Q/!R675>_R MW*^]-9?GNG9*5N*M8;8N2VXVUT+I]45OV&L7;N6R<+0PN#Q?\:6X$^['U5N# MV6"K)9.EJ*S4%3,BO^A=#5]!XW(L;H10I HP_&IV][9$DV!VWVE]YVV'+@EMQH]7/,G/%16_>8YG(>:W< MK5Y_+1I[)J0OU7VCDX:Q7Z\6UAG$_K<3.L=;G6.O<_S)SOH8.?9#(=B-+E>\VGQAF0J+W BV M,A(W0JI-6,RP@%MGG*3WJ='6LDSFN3"BL"[YC;Z6>I MKK(Z=99)_)&RL+//KI1B.J>]5G0QI(I;*W.)T_E6HEHV6_KL!GAPQUN1DOLS M_))>!11.,_'@1)4Q;9@3!G3E+L#R4HR[+D;XP&HE8)I-C2 5?7(1L*SI7Z7_ M6C$4^KVR2E4-'F+@3\A$NXMN?C"WP4 O6$YZBJW]2%;6\2HC>\GXG(&-&]:0 M\<#VUFX_+;3"L24B=B]*B@^PX(%48R-&9IFPK!=*+D,0(B9LRE7P+_Q>V[ 7 MNZ!-9GR#*>"P>Y""+^"B%=^0$GB"X@-W< *!1"H,D2&*MTXZKQZ1 3% :\&R]Z0HCQ+.2\H*';^5#,X.@ MU)EE@I+%GGZVQIEG281A%,>QESL;8SJB*7G%KH3/W&IS"DO*;;%ST^URE]DI9B\K=GL44^"*5=)M_("BC^<[\V?S3PO'WJ5$)ELP]C+CE MQG \VPO$Y#_FQAZDEAS/.WP=1<\GX_\W.0[#,MK9/TV.&?^J=C6<=3H:5'HX M&:C0'EKVU"=P75OHM5^^8+\(;D*+P5Z*5)0+)+S1,&)7I:Z1+F\%]9T9%N&Z M7%)6#00^ Y4GS^%VJ440"YYZH6;:')@^''S,5VM(NA4/&# ML$#^+!E'R23>^1;G)J-F?I"=_98]QU" CK&PY4PF U\*#I;10D-#7TL+'EYN MP)I4EX"< NJB=N$UJC0G[%:"9KE,44F8H:[7>AR="G<,*BAW@#1@6_O6663/ M@,G@2V#K8&:HS!/=1OWY$W_(N!\_^;3R_?$^.L!A/+UVU/67E.",^W.O=M(? MPEG 81O'E*EJ2W$A4 KQ2OV%%])PFO]7B,8P^F7P5DI-V9#N_:H MW\D[1 *K4^DIX[,<;2CY[]HT7 \]:&L&^=4(-*VAPWDOC-ZZKI-]HN8.T=&^ M]]S/+B'EH1_CT@37%=PLA0UW"[<_U/1C"3"DO*,9S].?/VHT>[=[WFH.ZC%= M-5ZMK._FR/X[AT=( 0#RIM./=Z(LT5K6AOI 4*422^UD, T,4Z'=IB\9UNEM M=\1[S-5.5MF[EP41//9[#/R4VAU M#YS[YE%@6WODAUQ\C8X:^8K=T;>P[1_[W!MTOI/1.B_]KP'4SR/7A$_F[>KV M!X>K\)V]VQY^K7B-8,N*ON)RB,;]V:07 MYQK7J9G0 =N?82[_!%!+ P04 " !)@053M$4@2:4# "R!P &0 'AL M+W=OW#KA8<;_V,.Q!L1E;JRSY4G+2[->/E)TTW7:[82^))).'ATO0U M8H"GQE@_3^H0VNLT]46-C?)CUZ+E+VM'C0J\I2KU+:$JHU-CTCS++M)&:9LL M9O'L@18SUP6C+3X0^*YI%.V6:-QVGDR2_<$'7=5!#M+%K%45?L3PN7T@WJ4' ME%(W:+UV%@C7\^1F+S>H[^+N7,N*^7QUIE?=!GJ>7*50(EKU9GPP6U_Q"&? M<\$KG/'Q%[:][?E9 D7G@VL&9V;0:-O_JZ=!AR.'J^P;#OG@D$?>?:#(\DX% MM9B1VP*)-:/)(J8:O9F,_^& MYP6\=S;4'KZW)98O_5-F<:"2[ZDL\UT,MYB'D^CB.L]Y^]-K M6"JC;!%-V.T."VQ62' VB4IG\!WDT^DHN[P"KG.N8@OXU$<'4N&9RV@^'2(E0^>IM=Q!14N4'R"+II65LQEDQN?_YR?_=F\A9:YH>-+H"; MTW7<7)UG07Q,.1(+I*N*DRM!)@'*CL12J'@L'-?&UTY18$487.*..4//Z$YDU#Y&\5Y\ M1]QYED=5Q&%7B$GG-;)ZO M4DX(6T=!F'56!]BRND;$8' +FI%?5L 8WK&FCGP?_24OK\LHFQXRX 2-#DKF MWU$V@VQLUZB"G&CAY#I$$RTC,RI;\@RB7AOC>":UOG( M3^P.JJC&=386F66.^\HXIJU:UL#H/R+O\3]U>GHT1QND*KX6K+P@]R/U<'IX MD&[Z.?QLWK]F[Q55VLH=KMDU&U^>)T#]"]%O@FOC5&9Y>,;'9U MX^(=-A+@\$PO_@102P,$% @ 28$%4]&SL:,&!0 0@L !D !X;"]W M;W)K&ULO59I;QLW$/TK [7H :RM/;22G-H&?*1I M"B0-DC1%4?0#M3O2$N$N%9)KQ?WU?<.593E*7!0%"A@6CYV9-X]OACS=6/?> M-\R!/K:F\V>C)H3UD_'85PVWRA_;-7?865K7JH"I6XW]VK&JHU%KQGF:3L>M MTMWH_#2NO7+GI[8/1G?\RI'OVU:YVTLV=G,VRD9W"Z_UJ@FR,#X_7:L5O^'P MZ_J5PVR\\U+KECNO;4>.EV>CB^S)Y42^CQ^\T[SQ>V.23!;6OI?)\_ILE H@ M-EP%\:#P<\-7;(PX HP/6Y^C74@QW!_?>?\QYHY<%LKSE36_Z3HT9Z/YB&I> MJMZ$UW;S$V_S*<5?98V/_VDS?%L6(ZIZ'VR[-0:"5G?#K_JXY6'/8)Y^P2#? M&N01]Q HHKQ609V?.KLA)U_#FPQBJM$:X'0GA_(F..QJV(7SYUU0W4HO#-.% M]QS\Z3C K6R.JZV+R\%%_@474WIAN]!X>MK57#^T'P/.#E-^A^DR?]3AS[TY MIG224)[FV2/^BEV.1?17?,'?,VOKC3:&5%?30<)TK7UEK.\=TQ\7"Q\75)HF);6H.ATMZ+O M=(<5VWM0X+]_0L^<]7!657W;&R4F+]$ P$1P>M''>NDXQ-9 7U,Q3])INC_X MYJMYGN4_T)5MUX;%/G#5=-;8E69/^23)LQEE13(O2LK2I)CG=!75S ZUC) ( MX1N]]K);SN8T2\H\I2))RSF]M-U1!<]P3&KEF-$%D-\L2VDRG<#[E-XZ5:,] M";X,RR<3RJ9TJ8SJ*N%#&(",;FFK(D">%YZ*84CZ;?,K%=(:=3[BXYHK;!>(5620D?4#(/,GB M2E8F95E":I_2EQ#[H-M(SK(/4BIJ$&($3_P1EX3G(1LAP'Y&GAM P=\@2G\@ MR=]9N:&%/$0+Q?==H-%5@G5=^P0UJZ7:,GW%75U2_O MGE\?92>T!G)N=45@P/:X'7J/^H66D%GD& ):K>"^)@5J;N2.@@]CN]61P5U4 M;YE)8%"9OI9"/: M 6&.UC;@V#5R%BS:B0BH[IV8"";/*/Z:/O3*A8$B 7 , M%7AI!\*T]M&C]V*;X [I<.E&/S"5\')NC<*470#5NW0A/M7=?HN3TYT.O(5^ M>+Y+I4WT(3JH+*A3"VUTN$4]>$24[BL;3B+MI5$URJW8QSQA['<.&>D8T9*X M5(,,%K>T:735R)IV5"GG;H6$&V5ZA@XKYB$1V04B-^P$LM*^GY M ^#[+Q_"5-TAT@A4!SEF7/^/UQQ-ATJ$9+6W+B'1XJ -B NMAM0:\1686]QI M0E&-.A):,:^4;VB)RJ36UFP&*1Q4/53,'4A";V35^DC6MO@Q"4/'5$) /#;K M#TV XD8+MSC*>Q$>?^["'>^]:] L5_'U)O<<( ]/G-WJ[H%X,;R+[C\?7I%:.R TOMF$2[#J^DA8VH#/'88-'+COY /M+BQ+<3B3 [ME\ M_C=02P,$% @ 28$%4P[7^P,^! #@D !D !X;"]W;W)K&ULI5;;;N,V$/T50BV*+N#&ESC9-'$"Y-)%6V#18-,V#T4? M:&ID$:%(A1<[_ON>H63%FTWRTA=;I&;.G#.<&6JQ-Q(;8N+1=Z[]1<+EZ+1 MEFZ]"*EII-]>D7&;\V):[#:^Z%4=>6-\L6CEBNXH_M7>>JS& TJI&[)!.RL\ M5>?%Y?3T:L[VV>!O39NP]RQ8R=*Y!U[\5IX7$R9$AE1D!(F_-5V3,0P$&H\] M9C&$9,?]YQWZIZP=6I8RT+4S][J,]7EQ4HB2*IE,_.(VOU*OYXCQE#,A_XI- M9SN?%4*E$%W3.X-!HVWW+Y_Z/.PYG$S><)CU#K/,NPN46=[(*"\6WFV$9VN@ M\4.6FKU!3EL^E+OH\5;#+U[<2^^EC5OQQ]+HE>1,A<4X IG?CU6/(=O MX-UZ5R8512]74Q W.BCC0O)X_N=R&:)'A?S[3JSY$&N>8\W_9TK?1>%F/ VM M5'1>H-L"^345KT*+/VL2UZYII=VB393S91 1>Q2B1ME2*90+4;A*5,E4VB#2 M2K1]0C;/"9$QN\&)V#A(0[G@2Y%:]$^M48Q>*VDR'F*X':!01NHF''Q%JY%; M(4UP8DD]+2"%M STF,A&=O\FW*8F2VO"T&A)Z4HK@95%+.>%JJ5=@::V0FFO M4A.BM(HW(!V]O2?J,4FCD:4EP@+]P;J-13 (W+AD2F%=%+5<0QX17L@'_&H+ M0E(IE\ M!8;;4URBMP[$?:V9)%)K5YA83(6>(D\H8+T,CO7*RP9YM24O0#50 M&,%)F50R?C>1S%8TSFJ.Q'LPIK4T269%G*$=()+D$O* HW:6,QA2VQI-O@L1 M:^W+GUKI8:K0C5S.. 2;*CR@RCUBQ^=2^>&[D]GTXUG850#PA\,3&I!5A<&) M(UMN!VF5U 9(PJ.J@,;%Y36RDP*R,0,S29GETKYA!UZPD6($\S;TS/A;)].&YS1 M96ZT*VFX)L4=SV/$X=;W$TFD^.Q>T@,6=AK[=U"*RA3'Y752V.SI5B.CK^^5!\ MZOJXX:I"A%.^.:LBO\DT<1.ZW M[KH:=H?+_K*[XY[-NR^%S]*O-!@9JN Z.?AX5 C?W;[=(KHVWWA+%W%_YL<: M'RSDV0#O*^?B;L$!AD^@B_\ 4$L#!!0 ( $F!!5.8(0$='P8 (8/ 9 M >&PO=V]R:W-H965T,;2 5DNR M;"M=$B"77K<.0=-M&(8]T!)M$Y5)CZ3J>+]^WR%E1\[29.M>;/'P7+]S(7F\ M,?:36TKIZ6;5:'!]J5/3TVK6^4EE>67+M:";L]EXW9G RRP8[P02V6G@G#T^.U M6,AKZ7]>7UFLAGLMM5I)[9319.7\9'"6O3@OF#\P_*+DQO6^B2.9&?.)%V_K MDT'*#LE&5IXU"/Q]EA>R:5@1W/BSTSG8FV3!_O=.^ZL0.V*9"2@)E M^@6!O!/(@]_14/#R4GAQ>FS-ABQS0QM_A%"#-)Q3FI-R[2UV%>3\Z:6TZK-@ M9.BM=MZV -R[XZ&';N885IV>\Z@G_X*>";TWVB\=O=2UK _EA_!I[UB^<^P\ M?U#AN[9Y3FF14)[FV0/Z1OM 1T'?Z#\%2D+7]$;6"Z47=,85HKR2CBZ5JQKC M6BOI][,9V%$]?SS@1;'WH@A>%/\;[J_1\W$IZ<*LUD)OO_VFS+/I]X[0MZA, MC5JR5NIJ2U:Y3Z@@C99C(>+@O%QL23E:6Z4KM19-LT5I.\C)FKQ!X7FU !=Y M6%@;#SDE&IHK+<"/+P6CE2U$:,6(^DPT$ 9G M+;5!94-]S5)W'.9L6.G09)RBN36KOHE_1"=OXBYQ4.XY]2 A>"TMBR$B61FV M6M$2R8>NUJM&_15,W%4)PD;8FB 1ZL"A1?T2$/K6QFI!>.V:<3H:4RVV+D 6 M$ X8R)MU+"60YTU;^59$&!X/@ 32Q5XA,QB:"GD)$'1BW_6QL[*2*(I9(R/ M:[$-BPC" @,ZTE'7CIT."7(2^.]JB_:",(BV MU,TAN@3&JYFT-,H"):6+7>)^,IQ4],+/UY>'B\L>P-C NA_?;OKT^O@%72S1 M\(#H@]1([TQ1<90F:9K2$YJ.DSPO*31X_CT(NZ^7K34T&@>V(DN*\93&46B2 M):,BIQ]0-$+3K\A\GO%&V,S*I"A'-$F.\B@[24;3*;V7-ZH"]Y5TAK)1IR@9 M9T>4C2/C-)E.)_1. &;V]3>I:=(I'2>CHZRW*M.2WK1Z@1*&3IRG*#+*DGSG M;I(5T)N,.CM%4AP5=,[MY99TA0S7E"E_R=9BE=(Q]B#;1N M&<=!8_2RF 0A,+[5\5H4;RB(+M34_8WQ<-5M4 G"=47ZSR(\XZXZ**0?N^;: M'E#/XU"E5VS^EV#^'M)UN.X]4MC_BNDK2OOE0=?? \65E6NA:AZ;N/QUP\P M0MM-2;\;,D^HF.(G1S[.JLJVLB?TA,;(YQ,40)@&M]WO>2ABGJ)B>)1P:A86 M(S%>$!E0GBXX GN#\4M3;;-4U9(VTNX5P@6^:Y+FD2F:HY^8A9]^Q M/OO>Q2^WO)S/9;P#]0JG?VIUE5#U*^'V"H7AX&5D?&08_&BJ:!_T5WOYZUOY MCTLKY7>KWH4<(^WFD'"0ZG>MEI27]U7!X=97]/OKS7W<*;=7AIS8S'NRU\ M+O%0EI89L#\WN#IW"S:P?WJ?_@U02P,$% @ 28$%4TK9=+SV!0 MPX M !D !X;"]W;W)K&ULO5=M;]LV$/XK!Z_86D"- M]6ZY2P(D6;MU6+&BV=8/PS[0$FT3E42-I)*ZOW[/49+M]"7ML*$?$I,Z\NZY MYUY(GMYJ\\9NI73TMJE;>S;;.M<]F<]MN96-L">ZDRTD:VT:X3 UF[GMC!25 MW]34\S@,\WDC5#L[/_7?7IKS4]V[6K7RI2';-XTPNTM9Z]NS632;/KQ2FZWC M#_/STTYLY+5TOW5Z=S4(&)&M9.M8@\',CKV1=LR+ ^'O4.=N;Y(W'XTG[,^\[?%D)*Z]T M_5I5;GLV*V94R;7H:_=*W_XD1W\RUE?JVOK_=#NL31#OR<+2A"#^Q(1XWQ![W8,BC_$$X<7YJ]"T97@UM//"N^MT IUH.RK4SD"KL M<^>OY(UL>TFO9*DWK6*F3N<.BED\+TU]+2M9'5W_QR M]JCB"=5E?*_"G_OZA,(TH#B,HWOT)7LO$Z\O^8R7:Z,;N@)6@VP TVY+5YYC M:>C/BY7UW_^ZQV"Z-YAZ@^E_H_5?*Z'?MO!"UZ@EU6[(B54MQX)2[Z2E2EFQ MV1BY$4Y6*)I!@6J'ZF4%JQUMI-X8T6U520*%[+.ZHKZ#U$%].3+RG:52]^!J M1WI-E6Y4J6#MH>)ENK>BK>RC)T!DI'S<'"4 7:NW=S\@GCL:PXE)*RDN_"R\ M3W0!$*H4EAY0%!9!&A48Y46PS',,XB@/XBQE8;P,XBBEI[U!LZ)LB14+2K)@ M62PHBA9!&&54I$&6+^E'..P0[:NM:@4O780Y)5%0+ M:+H)EFE)6!$D8T:_@ MPM"%58+2* A98QS$:4Z+/%@N8LI3S!A1G"^#*.-1A%&X7&"4 6]49!@E21XD M2?R_!&[Z[';=UXS#M8,)82KJC*[ZTEG"G*PT-ZJ4')TX28,DCID!D%>$S$": MY4'N^4FB*,CSF"ZZKD8XV9G'MI.E6B,!IV0CJ^N>19:@K$ARA#R(ER%E49 E M"XK3(%^$7\SVE;: Z30]Z^NUJFL2A[+?R]9[63G)4 \@O:Q[9@L$SUX:V0E5 MD7R+8]#*P77M4Z/LC9$M]E@KG9W16#ZP U]4Y0-Y*6K1EI*N_0'+>T7#-041 M #R(,_!6!&$8>MF#/"C2?)A:+KH[0>$5/\A2-BL81\KZX 1("B:3S[9Z=T(7 MI:]9RTU#JAM.L^#@^H6'&GA5^X^_*+%2-=H+O-MO-_OM&.*XM][39A!B>0T/ M6,M( F!64W^=0FKI%BUFZSF%#FW8:^&8)&6H!1_2.M6,"2]J]&Y/#DX/0>/ M6P45X+IO1[>F*IO0*P[[[5:VA[+T9K@GOQO21%0W'A'4L!*N<&]<&H9-X@LS M?TK#8Z#U472.T.+B(<'\ >T0C%%E!;HMTW+DP^#"%$(.RN@O$I&QHC_%FVBW(IV WZ0UC2,#XKN8KSC#N"%R9<0^86!_TJJU<8W M$.[>0-^;0[< F!O. Y2QVN!:,X#VT*K>B(G)6EI.(5Z'TWTGA3GYV$UW?O28 M0$IM_)-IO H.[XK]U_VK[&)XC!R6#T^Z%\)LN&O7&ULO5E;<]LV&OTK M&&VZZ\S0-"^B*&5MSSAIVFUGVF3B3?NPLP\P"4F8D(0"@%;<7[_G TB:LB0[ M:9-]D7C!=[\=@.=;I3^8M1"6?:JKQEQ,UM9N7IR=F6(M:FY"M1$-WBR5KKG% MK5Z=F8T6O'1$=7661-'LK.:RF5R>NV=O]>6Y:FTE&_%6,]/6-==W+T6EMA>3 M>-(_>"=7:TL/SB[/-WPEKH5]OWFK<7TWBWX M38JM&5TSLN1&J0]T\U-Y,8E((5&)PA('CK];\4I4%3&"&A\[GI-!)!&.KWON M/SC;8;,2[OH_5S?&:J3+?Q\1-AV$39VPZ5?T[Z,< MJ4I?F TOQ,4$96B$OA63)\4PMX"]K7ACV+_7PBWBS=W?_S9/XOR?AAG'P#N% M;[DN#;-K;E%W!OG-9,.*,5O1L2T4RM-8II:> U,;>F\8;TJBM5H6%BS]R[:1 MUK"3R;OK]V;R/&17A@@1WSO6A3> U$$YMN8EB[-@MDB"*(J8H<"!]2V7%;^I M!$-/8BL$SH)S*30C[E[2A@P-.ZL'G;3PRZ'05MHUE(0A0A<2EFR@J6#B8\LK M9I53 UWJ ]KB+:]:08K: WZ#5VKXPTN%OVB-5ZGD5C@WK$0C-*]@Y*T@5]U" MTZ5J=:?=FTX[BLI25>B2LEDQZPSTK5+^(]1'DZNKI:K;18D15O6FLL3"'%N(O9]Z(0]0T, M26/'*6+S8)%'[!F;3L,\93]V;I[.%FR^".,%$M$[NF0G<1#/\N M)J32W*DTCX-HEKH%/R%:92E=V+I/%.<&V0@6&,O(N0TG/W_T!7BHO>?;1%+OONWVZH MF3 +B&=:?8?8H(NW;C)NUPJ=T@FC]5WS=V^HG5)<\,S-3M=&:6&7JC[BX5%W M_-@W29_Z1:LU\7VP2IJ'"=HTD"3_Z-.BX&9]3U2*HN+:KSS4/U\J##K7SM!U M"JNTGUN.WG.\GX =BZ)2+@>[,>.&AFH>M/WP8 3)Z^+ \SW78Z;,%75$HI!KB5WUJH4U?U[* ;-2;*X14ITN 3 8K42>IC?IC,6&P;? M=_;:@@O/J9O*G]63RE;W667OFXCSUI:FX30/*)_( M)W ");O+MS\C:=R*O*@8*51:>QE" 1".+HTX0P[3NT<1? M\$$3_[PA<9/$A5[R[A^L>F;[W<)W0^O,O@*?_,(Q( MOA(@O>K*]U?5PXMC"#3+"'1E,8W2'G\FBQF;YX3N?O/$)W$&8#D+9\>09P)D MFDW#6;0G<1=V1G,(FTUIBG]ANW'.^;I=)L_"Q=S'UUG[#;L,?+?H&AIJ*@_L)>VEQ[C>@ZD]> _.\^\(Y!/_ ^<$5-Y' MU!P8Q,EW;MU!%5\3]"?D.@[04FIL2; =UX .N_LA+6[=Q">W/E36:P;?MIO2 M&=6;YTIO" ((&@(,Y!^ 2H_Q_$:$$VPD\.LV-@=//<#I69+YE :%*T0?%MQ^ M!FTNHX/:JA0 H?.GLVP)TXR/QZV:XG R-V=X@W)&_1QH(OO=[^NP5/DL05Q MNY+QK!UGT4&32"L*>6\:M*?]K.6?H$ CEM*.M3@T)H^.F'XL1D$^'L3 *(?& MXNX<_HP)UK%/$K ?(9 TF,Z> "#_?Z?L=W>@LG@^=DJ2YW_:*?OLX14,SK%7 MYM.#6.3Z*5\\8>CG3S5?%R0&XY\ZBB_0:>0!J_.UZTG*SVS:@3:%J"J/"WB_ M/]S=&0$#T=<(J%:0KF5;= W?>PS*0\&NN1&I;P*_'ND9;K/--]+25O!"T=8T1^/GQ*TVV 7Z&?J$KZOGMM\>?''W1] QKN M&\Z)9P3\$6#*M8! M.C_23VU(;9_CHEG)1@@WE8!F9E.64&HP%,4LQV^.WVLD ]X'_4&OI^1E+1M) M'Q(HI[$TC3.6!0E *H&A/&78D*0)05;?BG#AJH_."EWS\!<$- ]]AS@;??.I MA5ZY+UNT_V\;ZS__#$^'CV=7_IO1_7+_Y>T7KF&E8958@C0*\VS"M/^:Y6^L MVK@O2#?*6E6[R[7@V,G3 KQ?*F7[&Q(P?%*\_!]02P,$% @ 28$%4_[T MVZ7" P ^P@ !D !X;"]W;W)K&ULK5;;CMLV M$/V5@5JT+XIUL;TV4MO >I.B*1#$V$W;AZ(/M#26"%.D0E+VNE^?(2D[,KJ[ M:-(^V.*(,X=G+IS1XJCTWM2(%AX;()*6ILF!FI%B7M[)1NF"51 M5XEI-;+2&S4BR=/T)FD8E]%JX=]M]&JA.BNXQ(T&TS4-TZ0-2L.5!(V[972;O5Y/G+Y7^)WCT0S6X#S9 M*K5WPKMR&:6.$ HLK$-@]#C@'0KA@(C&IQXSNASI#(?K,_K/WG?R9H83Q_W ,NODT@J(S5C6],3%HN Q/]MC' M86 P3Y\QR'N#W/,.!WF6;YAEJX561]!.F]#P!M?7!U[O/$S>&\_==R>X,_;K;&:JN&O%S G M%\R)QYS\#^'[-J1W$CX45FU14QRR>0RV1KA33V=1,(U&QP C46']T-LGC/ \*'16))B!NH V.QL!E(;J2 MRPKRZ?QYF#R-Y[.9WR\[[=0='\,?7S6N *%%S54)Z,KP*?8"V<%9,>+NVI9; M;YE@L@@1FL[B67!C!%F<9R]X-,WB='SC]X^H\2H8_X:;Q, MGWMR5V$99OT< MHQ%\D/">T1&0Y<'DOQ8$H\Y8EMRU2":^JCPV/8H9L@[DO"\]9VIH0GA3=!'N M6D(@J17HVW)_R-/>?AP46L.&Q7;.QS_KB,H(=IWM*!TAVH:Z-,TP7UAN#L"! M:8[4">CH'?,A&M1>#(Q\)$UBY8%E94*,.?$H?-Y++CI/?J=5 TB^J!-BB NP M(R6 3(+4:EY@'-@".S NV)8+ZD-TCBRA8*8FKZ@S42VBI/EZY3._3IZB(.R' M"?07E-OKS!!9K;JJ!C>YR4+O:;9?+&*W-!V3UN'==P(A2[?35QE04_0Q:NDJ MD)K2+I+$_\ LBA-(K)3EM"Z=IC3,CU4S>JJ+)H.!U*"N_-AU+#MIPVRZO+U, M]MLPT+ZHA\\"*JB*2T.W=D>FZ6A&@U2'41L$JUH_WK;*TK#TRYJ^3E [!=K? M*67/@CO@\KVS^@Q02P,$% @ 28$%4X8XKP#5!@ [1( !D !X;"]W M;W)K&ULK5AK;]RV$OTKQ-9N76"]#WDWME/;@).T MJ.]%T*!.V@]%/W"ED9>)1*HDE;7OK[]G2+ULRV[Z &PM*S%UE26:!J2SFR6+Q8EY* MI2<79^'>.WMQ9FI?*$WOK'!U64I[]XH*LSN?+"?MC9_5S=;SC?G%625OZ)K\ MA^J=Q6[>2 713LW6 OV9&/,)]Y<9>>3!1M$ M!:6>)4C\?*;75!0L"&;\T+)QB2 MAB$)=D=%PWY,[F'J+X MQCQMV%Y%MN0)MA?BK=%^Z\3W.J/L/O\<)G1V)*T=KY)G!?ZG+F9BL9J*9)$L MGY%WU/EU%.0=/2'O2J>F) 'WQ!OETL*XVI+X[7+CO 42?G]&Q:I3L0HJ5G^J M8CR"SW,'-G$)8*=&IZI0,J#4Y,)O27S0RE,FKKWTH,HI(RL+X;"MO;%W(C6V M,A8/A8>'<6$"YVM35E+???W52;(\_LX)%:UD,KI%*3N:"F,%Y3F%@N@$3,5. M.H&_W!0H5?=2O-]:HL-RD&AQK6[OWT#>[D23-FPTB>0D[!;//;IZ9)0XV)"F M7/EOA?3BP^QZ]F5>0_2^.$B6W^(GK,,EQ&W@.KFIT.APB&XKM5$G$N:/[/AG M9E0[:EGW.C*%8%G27H'O8,VT:^8*JWAEG*66,@CLA<750<)7!J&EQO)6MZ5" M MBN0[WA\W5@+7"_[-9#0H/UL&A)5,' M WK AD*P#*EL)%0 IE4.WHC!!%:R=;'@4N-\T'VCU?^@G;ERI25J$MFV!,!YUMM)"08,TP5GR::*G_FM M9&$.(P&B%(:.R.5G0'93 ([P,_5MG3XN0$9GLA^L7.U'ZT'G^R(,CUQ;@:(B MJTSF!#TJQ"G;4$7QQ=TT\ %+479R^G>$#ZKWOO09T@[\ /DL'&9T>+6O^U!"W'@Q?#-9**$%9M6MDM[\- CR:16?^.B:LFT\OCWE@G M49EM4N$Z)W(FOK_E>+0K]XR%_&&R.8E93] SS&+4#$2GJ!6?EMAJ:;* 4'CBQ(=: *M&4 MQ;Z'(1@PO\4QE6)C_%BCIV8J=$L77+-=]@83H?%R!.Y-5-C&C6U=XMH\].8P MXSB,A ;$"/Q,O*D[EB^J!C\V*Z38.SU:3Q>+!7O>905%3O8S-VOD8?08@(,[ M6=OTAP8XJ ?G52EC=_"(!D8#!P^(D857Y/H&%8,";;(T-?]S8B*&]Y8MILHXAPA:NWP_K;JO2;>_7 MWG(]39+C0)X6TCF5*XXS0($VI@_3VO))2."\ND&S]7=!Y]YRNL!X8*8^-W[9B.F> MB9"G6$YE?',0#=.,;]C!B\/0B_2A%VVRH]6# M+O;(KPW26E76W(9J %SV5NN(:L1Q;[V(:_.98O UW6(F[:@ 6N/;P3U$BRWW M,E08YXO/QX/1$V?ER)&V^J\$$#?GM3AN66)(+/ M!'B>&Q1)LV$%W1>NB_\#4$L#!!0 ( $F!!5/']&$KIP, *\) 9 M>&PO=V]R:W-H965TJ"ED46$(K4D%,;D'4R%:>*J%-.NHLK:Y2A*35U@S,U(-2AHIE:Z9)5,?$M-H9(5WJD62I>D\ MJ1F7T6;E^^[T9J5:*[C$.PVFK6NF3]7*V'\/QS#W$D:0=X:J^K.F1C47(8O>^IT&#@LWG+(.H?,\PZ! M/,N?F&6;E59'T&XVH;F&7ZKW)G)!?RM%2-(IS%D M:39^!V_2KW3B\29OX-TR+;D\&+A#'58)?V[WQFK:&'^]@S_M\:<>?_K_E?Q/ M0-#WLZ[?A/XCTE)R)O)6,!H&9J!4@DZ;@>^Y!%NIUC!9F!^NX%.E$2_J0:)@ MQY]>=I#N)^AD)T,B9 MOI>\-73/#D#;[*9$P5U#3H:Z XQ8%@O!C0G<<3RJ:SJ-3[ M.(;5V$/23G*)CF'?VL!.*DN]N6A=++_1GK>A*[C#U$GT M/ 5()BV_.#N-X![I>/+<;6JO&;226R>X9<*),>NH?^,Z9Y>]R./IMZ7PMBBX M@V+"D1U,AQM5-TR>:#FYTBX^H^NH]I&[:$(9\Y9<84V]/H-*$4.C+)T[SL2+ M/,'SD?0YI*-,DYU8_TH*&NVY/>L0].:FXS7Z6KE/!I=HC?K@GPJ&.+;2AONT M[^U?(]MP"3]/#T^9CTP?.%4&@26YIJ/+600Z/ ^"857CK^2]LG3!^V9%+RK4 M;@*-EXHTZ@P7H'^C;?X&4$L#!!0 ( $F!!5,%A*I;- 8 %H/ 9 M>&PO=V]R:W-H965TOVUK L2W9<9Q7 M($DWK .*%&G6?1CV@9;.%E>*=$@JCO?K=T=*LN(X68=]L27R^-QS[^+9VMBO MKD#T\%@J[KD^'09066P@W,"C7M+(PMA:=7NQRZE461AT.E&J:CT718 M"JE[%V=A[9.].#.55U+C)PNN*DMA-U>HS/J\E_2:A5NY+#PO#"_.5F*)G]'_ MMOIDZ6W8HN2R1.VDT6!Q<=Z[3$ZN)BP?!+Y(7+O.,[ E[SPWZS\%VLF4N'%X;];O,?7'>F_4@QX6H ME+\UZU^PMN>0\3*C7/B%=92=D'!6.6_*^C Q**6._^*Q]D/GP&STPH&T/I & MWE%18/E>>'%Q9LT:+$L3&C\$4\-I(BC?>'@)YUC_O3\D"BUO-*&UU7Z*N"OE1K M:-*'=)0FK^"-6SO' 6_\378*G<,M*N$QATO."^DE.OCC6JH)8QV(U$/;>97A#B*U!BL\ MRV?&>=>G!2]+^3>"] [FE2-;G(/2Y*CZP>DBSRTO,8XDF,PSH8!Z\^7#^X/D M& @[QU)F [BCY;VT,E7E@?12F;E0H?"I/V48:89R)]A@W:.DTD6U@=GW@8%9 M+"0)9LJXBL '<.F"3S##Z7XRUCI-S5+AZ&-&.U@C990R!4*.8L8 M6ANV3_(^D3QZE\) M2P*U3VPD^C D2*]&\ZN1@42??_U.V#6*4U])A MOZ[R!KA?AX\=M.4U-[IR=6CB!P9!M@;WG[&A%FMK_T:;&\/6AY*LO%1A_O?;1&]F'%#W-7,EEPVK%/S1F\?=K5]N)X&>]+6_%XZ_Q('9'&,.7Z@HZ. M!D>'/;#Q)A=?O%F%V]/<>+J+A4>:WE3U+$#["V-\\\(*VNOTQ3]02P,$% M @ 28$%4V+9OL5? @ ,@4 !D !X;"]W;W)K&ULI91M;],P$,>_RBD@7DU-FG8/C+92NPT!TL2T\O "\<))KHTUQQ=L9]V^ M/6<[#45B$X@WL<^^^]W_')]G.S)WMD9T\- H;>=)[5Q[GJ:VK+$1=D0M:M[9 MD&F$8]-L4]L:%%4(:E2:9]E)V@BID\4LK-V8Q8PZIZ3&&P.V:QIA'E>H:#=/ MQLE^X59N:^<7TL6L%5M+,?GJZGW#PY?).[L MP1Q\)071G3?>5_,D\X)08>D\0?!PCQ>HE >QC!\],QE2^L##^9[^-M3.M13" MX@6IK[)R]3PY2Z#"C>B4NZ7=.^SK.?:\DI0-7]A%W_QU F5G'35],"MHI(ZC M>.C/X2#@+'LB(.\#\J [)@HJ+X43BYFA'1COS30_":6&:!8GM?\I:V=X5W*< M6ZR[PN*/#K6#JWO^VEGJ&.LWT[)'K"(B?P)Q M>D76WA2E=8_1Z?LIQ!4[[7 MM,J?!7[HU BRZ1'D63Y^AC<9:IP$WN1O:X1OR\(ZPS?B^S/XZ8"?!OST?X[P M'Q$?-2R[+?]^.(['< 2N1KB@IA7Z\=6+LWQ\^L;"BH2I@#9P*0U?UFA#EXOLU%VDD&+W)4U.XW@$T,'#VFA%8^B4 C<+VML'38% M^TZB!' $0JD86I.JD-,QE3,3JQ#!\"I+11:]4726"[76X_IR\BS"1G\Z^/3@ M'C=HMJ%;+934:1>O]+ Z/ C+V >_W.-K@??-F*)X^^/ YED1)K>K*Q;-!F5+S:CB,IJ1:QR/?D,/*PH=:)[R& MY3 V@70AF^IJ.!F-7@YK;=W@_%2^W83S4]^FRCJZ"2JV=:W#^I(J_W V& \V M'V[MLDS\87A^VN@ES2C=-32V%K74[87@Y\L/<2M M9\69S+W_S"_7Q=E@Q("H(I/8@\:_>[JBJF)'@/%;YW/0A^2-V\\;[V\E=^0R MUY&N?/6S+5)Y-C@9J((6NJW2K7_X@;I\7K _XZLH?]5#MGTQ'2C3QN3K;C,0 MU-;E_WK5\;"UX63TQ(9)MV$BN',@0?E:)WU^&OR#"FP-;_P@J]D^'":'9P=!T M82YSF,D385ZJ]]ZE,JHWKJ#B\?XA(/>X)QO(_ M];%=J%G2KM"AB.JN*70BM7/O#L>3 S68V;JI[&+-QJFD[;WH;G7M MC*])?=(KB@/U"08:,8HFU(B6 ,T&9T MB=$Q&NW8'7S5*GL\P*="W 0R'E*6KH>NT:,4 N60E=5S6V$-7C@$YE2T!7%G M([O"+F!+8#<>,0-K0(Q>F4H'\"8!8D>B\@@5E(X-YDOD.)+N8TJW08M#=>7K M1CNX*GS#-#&?7844X+[3KN5V'&=A'Z&4/+K86%C:-B]LH9Q/JM3W"(RAP&SH M2@$@-,O>TI> WT1E4!Y(NY#R+%! 9]@\)GS(1>;\"AM-Y6,;&/'7J&LR.AR= M0%U7OI#I(;1?URC[?><64IBU\^0;:]3Q>'0X&1VH6S)D[_6\0AT.U0?O,(Q; M!, ']98H8_DH%%_YF)X7Y*8^J=1)>"=67*#&!\&^$4BGJ4JB%#1/&+:I5#4F MN&WPB=<4)Y?#RVL3+-207==ZK4RIW1)(4@[2;SG8*)Y6"0#S!I%$S2A^!^<& MB71"@UQ$P(6]MT6+*CR&%,(M>"T]%I,YVOY;F-L68DYG$/\ M1Z@$$E( 97$+3(?VL?ES&I4Z?[U&L_G_2*,X*P:WU+6WNN5EO.)D5WN?1)HG MTY/]5^JM-CP?]&9Z,+XWF I=D^_V -.W/=C;C>X& K;',#X*!**I9,CXQF'M*E;6(>EWF(P=!% M;?( %Q>A!_GC]>7'6X7&T2X;?UD*C)]6/ "SH.8DI?%L4TF,!P=/Y"PG\,D1"ML7?^NLX7X6'CB[)3D*(&/-0YA$N%O3 M&&V,ZC0\;O:^O[BXV6>\_YHC+8+@#->[,U-VT1^.!IW,JETW":AZ:_A&M!GX8Z\[LV*U$)^'.#\]5Y;N==5*Q^D%5M1K MS.9ZCH?CW.+X[9#A">%/^%S9*$1K:9,=+D17&'JBU35$BDU59G'#U*Z22XWE M8.?M@0EF6Q9<&7R[+/.$XSKE9MV%[^AO>@EN24J*&T*.N-U4.:7W.F#>\P\I MGB=]]+]D>@1+A_L,!T+!L)]+EMMD:S9.F?GNE2<#E_._FY*[?L .MVX--86E MW(W8.5HF7R#ZK_WUZR+?.KZ8Y[L;N 'G456TP-;1T;$O=Y"Y M3[C1R&.)*R0%-L#ZPONT>>$ _:7T_ ]02P,$% @ 28$%4^(NE$U P M$0< !D !X;"]W;W)K&ULC55M;]LV$/XK!VT8 M&L"-9/DEMF<;B-,6Z]"@69)V'X9]H*231(0B59*RZ_[Z'BE%5HLF[1=)1]X] M]SS'XVE]4/K!E(@6/E="FDU06ENOPM"D)5;,G*L:)>WD2E?,DJF+T-0:6>:# M*A'&430/*\9EL%W[M1N]7:O&"B[Q1H-IJHKIXPZ%.FR"(72<"5!8[X)+L>KW=3Y>X>/' ]F\ U.2:+4@S/>9IL@ MAN0\OU4<3.2[=H=Q93;N,:/C+1(%PC M,XU&JK@U\.*>)0+-V3JTE,7YAFF'N&L1XR<0YW"MI"T-O)899M_&A\2NIQ@_ M4MS%SP+^W8ASB*8CB*-X_ S>I)<\\7B3GTM^Q4TJE%-MX+_+Q%A-7?+_,SFF M?8ZISS%](L>E,4A59#*#=YPE7'#+*4=7X@R8A0$-UYUPBVFC-9<%[)CAYD>% M?S:GN[XK4[,4-P'=3X-ZC\'VOD3(E:"[YY"M.]3N O(O1,BZ;2Z93#D3P$ZL MQ8"UQD\-=ZRM@@2A&HC(G8C]283N121.!"&"RH%.\ C= <(++BFM:@RE,6\4+RG*=,6GA/!#5\D"IQ>CS[M[)N7(.^PST*F)Q!6^N5 M:SL\TMW0#S3+N*3#;-I>_IT21_3\X[=%/([_A"NE:Z6914@4<>C7IXMX%$_F MO7VOO=(C4"7$R6T\B4;+^;BW??Z7"4L?2(9Q!6C+]KB_C$;Q?'9R+U"FQ^]2 MCQ<$&?7F=2-YRFLZDF_=YJ/E\J*W[M0>-8T=^9W7;!0O)[WU.E5253R%$K/" M-8,^,)T!K?IN'\@_(0]Z=O7K +/%2>6/[E X&%,5ZL(/8T- C;3MQ.I7^WE_ MV8ZYDWO[L[AFNJ C!H$YA4;G%[, =#N 6\.JV@^]1%D:H?ZSI'\6:N= ^[FB MKNL,EZ#_"VZ_ E!+ P04 " !)@053'-K))?T% #O$ &0 'AL+W=O M49/DEMM(5V!>'(GEWSQWON2-S]J3-@YTI MY>![D9?VO#=S;GXZ&-C13!72OM9S5>+*1)M".OPTTX&=&R7'E5"1#U@01(-" M9F7OXJR:NS479WKA\JQ4MP;LHBBD65ZI7#^=]VAO-?$YF\ZQWU]M^)JI)[LQ!N_)4.L'__%Q?-X+ M/""5JY'S&B3^>537*L^](H3QK='9:TUZP&X<]&"VLTT4CC B*K*S_RN]-'#8$ MDN" &L$6(6[-E2A?"N=O#@S^@F,WXW:_*!RM9)&<%GI#^7.&5S-4,Y=7$L[ M(^!_X=VW1?8H(MH7,5I"O6*?"WQ;Y:P@$ 18PVJ&/MR'@E3[>$8+* MW]THP%^70^L,)L[?'69$:T949L0A,[J8Z[+2JR?P@W'?%^Y.,Y[$IW8N1^J\ MARRURCRJ7G/*(V]-[5K+-DYYI)%MUJFQA^AF"B8Z1]IFY12.LQ)G],*BC#TY M!3R%)32' &_52!5#98#3:B:H/3L"1B.2\-B/HHA$0>J302TQ@\T#5IRLQ/@N M:MM81H 1$0EH#V07,*J+28#J6)22(.9PCW7(+LP2AEF>6T@927D*/"0BX'"M MS5P;Z10,-6(&!"!"!IR1F JXM%:Y_E".'M!;JT8+D[E,H0E!XC "%A(:!7"G M'Y5!9I>-#D%H&D%"(ER[6939*)O+O%E#\($ 2KBWO3 &$6\%EZ8!B44,-."$ MB> 9/D%#$B<" \&)8,E!A%%(0@QDA*$(D]T0\(0$C$'J?4454U6.EHU^FI 4 M85,,71 ]0R](F') !#Q\YC4E01H#HD+4O^NR/]KC72@XJ@^!IQ@Y%N*)IR%% M?U,/,LM]5>IC;^K?88J\Q)Q.U?N9<[]% M N?--0TL^P?/PG/$$UN6RU>_))B>;RS(+5S6X]H,E*SXOT6?76Y=%MHXU#^& M#T9;V_R^EYF!KS)?J%5ZG>Z>_I&G0!@P'(B*=14H]J9>\-S80PJ*E&,IHN G M*XYTD".,&*907.UNN+*')$D*<6N\)LT^NE#@[:Z:/AOI=;J'(0+A<W9I$Y,HQA0788NG8=(S"N%Y81Q7NQI2[6,3 MQHG!,:4G#;?VL2H"NE95L0S9@D4TX1Q'G(1H[0B.(X'(_0H&')5V\"AJ>11U M\JA.J2\EAB&O,NT3?F.X?-E=)YK%W#<_0;1NVS_!J6D%=[&&FZ_A3CS(]\10^*>M]0!MX4LW59SU"?!]0VF&O MO-<.\V6#U1MZ_\OL+DN.@,8I\M378.1(=+)5!]:CW5V'&$0Y"9($V1.>M-)M MSFZL[7( ^X&(:@+LBFTL(0YL5F&:;N3Y7K3;NSHH$+<4B#O3\-UDHJHW =Q( MYYU= EZAE?VYWM)IZ\=[2[7JT]2S0+4(BQ7"\0KA_]-Y7N7N#86ED@9HG\&? M.,!*W>?-B/=%,Q+]L!F%_:09U0G]/!V;IH)G&%$\P\B/>(HU// U+2:,"U_L M D*%KWH1)H>O>B)AN!0=NN3%)*7^,A4^RZYU<@98G.E+5SW<6E^B:*M_+0W]KJLT'_JVJ01+A8G0BM[JFX1DD:BA<:T&#C$5HH,ZV>VOY) ML2A=_1YM9]O7_&7]B%UOK_\5<"/-%)\&D*L)B@:O_>/9U,_K^L/I>?6D'6J' M#^1J.%-RK(S?@.L3K=WJPQMH_\=Q\2]02P,$% @ 28$%4]N>10=Z @ M(04 !D !X;"]W;W)K&ULA53?3]LP$/Y73M$> M0.J(Z[2EK=I*%(;&)"0$VWB8]N FU\;"L3/;H?#?[^RT69&@>TG.Y_N^^Y'[ M,ML:^^1*1 \OE=)NGI3>U],T=7F)E7!GID9--VMC*^'I:#>IJRV*(H(JE7+& M1FDEI$X6L^B[LXN9:;R2&N\LN*:JA'U=HC+;>=)/]HY[N2E]<*2+62TV^(#^ M1WUGZ91V+(6L4#MI-%A<)"0:@P M]X%!T.L9+U&I0$1E_-EQ)EW* #RT]^S7L7?J924<7AKU* M?SI-Q @6N1:/\ MO=E^Q5T_P\"7&^7B$[9M;,83R!OG3;4#4P65U.U;O.SF< 8LP\ ? ?@L>XV M4:SR2GBQF%FS!1NBB2T8L=6(IN*D#A_EP5NZE83SBQO]C-H;*]'!R7>Q4NA. M9ZDGYG"?YCN691'";\UZ@S8H >< M\?X1OJQK,XM\V7_:?(4KZ7)E7&,1?EVLG+>T%[^/9!AT&08QP^"## \DEZ)1 M"&8-!T-];Y9'B8(*IZX6.98K=!"UH\>!O=B2[ODT4JA''P"SGN<3X(QZHT9 M@T<2U&>I/]?6Y.@<9+W)9$1\YV,&UU)+6KL"-L84#@8$/1\#G_3XD!'#:-P; MLBP8K#?.&+PWX?1@;2NTFRC.T%^C?;O!G;?3_T6[]O_"VY_'K; ;J1TH7!.4 MG9T/$["M(-N#-W44P!G0YL4F*?*0%'4XVRG]:&I$"\^-D&8>U-:VTR@R18T-,^>J14DGE=(- MLZ3J;61:C:ST08V(DC@>1PWC,EC,O.U6+V:JLX)+O-5@NJ9A^F6%0NWFP2@X M&.[XMK;.$"UF+=OB/=IO[:TF+1I02MZ@-%Q)T%C-@^5HNLJG3*YW(>Q*X@%%A8A\#H]X27*(0#HC+^[#&#(:4+/)8/Z->^=^IEPPQ> M*O&#E[:>!Y, 2JQ8)^R=VGW"?3^YPRN4,/X+N]XWRP,H.F-5LP^F"AHN^S][ MWM_#4< D?B,@V09L%ED"=4=1L0=8]0#)&P!C6"MI:P,?98GE__$1%3-4E!PJ M6B4G ;]TXASB+(0D3D8G\-*AP]3CI:<[_+7<&*OI$?P^@9D-F)G'S-[$- 8Q MA*\M:F:YW(+/$L(-9QLNN'T)83DW+"IP'1#2#^@F#Q75' M< AJR"A<1BB8J:%E+\03:X"1!S-0*4%DHZER";96G6&R-&=3^(E,]W."*RRP MV:"&=!3"LE&=M'"'CL4E&54%%3<%$WX(\ ZR,/\P<4H"%V$:)TY,(0_S=.3$ M#)(PCV,GYC *\XD7QR3&HPD\U$C[HK(N6SA))X27C,-T? &OC2(Z>LP-ZJVG MK('"E=B_Z\$Z;(5E3X9_[OU*63.]Y=+05544&I]?$ EU3]->L:KUU-@H2T3S M8DV;#;5SH/-**7M07()A5R[^ E!+ P04 " !)@053(]3.4'4" R!0 M&0 'AL+W=ORAZH*651(0B72X5)7_?)64K;I&X%XE+[LS.D%S..F,? MJ$9T\-0H3?.H=FXSC6/*:VP$G9@-:EXIC6V$X]!6,6TLBB* &A6G27(6-T+J M:#$+&[Q([VQN"=K(UY\,&78AXE7A JS)UG$/Q[ MQ$M4RA.QC-];SF@HZ8'[XQW[Q^"=O:P%X:51/V3AZGET$4&!I6B5NS7=9]SZ M.?5\N5$4OM#UN:>3"/*6G&FV8%;02-W_Q=-V'_8 %\D;@'0+2(/NOE!0>26< M6,RLZ<#Z;&;S@V UH%F#H7JP5TO$L=DSK%^-\ M2['J*=(W*,[@VFA7$WS0!19_XV.6,VA*=YI6Z4'"KZTZ@20;09JDXP-\D\'C M)/!-_N=1Z *^:"=T)=DK+(G0$5Q)RI6AUB+\7*[)6;XIOPZ4S8:R62B;O5'V MCANH:+F.*6$GX;7=/Y#@*$!,2[P?=#R%E5!"YR&%85>88[-&"Y-Q.($$ MWD&:9:/D_ *X$?B::\"GOCI8X5Z4'(U'X_/T^!\^/LUGV!YFH$I'[Y,S>&V# MX[U[W*"M0K<2Y*;5KK_2P^SP("S[/GA)[U^3:V$KJ0D4E@Q-3LY/([!]A_:! M,YO0%6OCN,?"L.9'#:U/X/72&+<+?('AF5S\ 5!+ P04 " !)@0534(Y2 MY*\# "N" &0 'AL+W=O7YS9!NRD[3J@19!D&X9A'VCI;!&E2)>DZG2_?D?*<9PF\8!] M&"!(QY=[[H7W\#3=*?W)=(@6[GHAS2SHK-V>1Y%I.NR9.5-;E+2R5KIGEH9Z M$YFM1M9ZI5Y$:1R74<^X#.93/W>EYU,U6,$E7FDP0]\S_76)0NUF01+<3USS M36?=1#2?;MD&;]#^NKW2-(H.*"WO41JN)&A..W,D@XMD MI=0G-WC?SH+8.80"&^L0&'V^X 4*X8#(C<][S.!@TBD>R_?H;WWL%,N*&;Q0 MXG?>VFX6U &TN&:#L-=J]S/NX_$.-DH8_X;=N+>8!- ,QJI^KTP>]%R.7W:W MS\.10AV_H)#N%5+O]VC(>WG)+)M/M=J!=KL)S0D^5*]-SG'I#N7&:EKEI&?G M[Z5E-D+>.^4:G=<"&"RA:>17W+3 M"&4&C?#G8F6LII+YZX39_& V]V;S%\S>$)/:@>RH]5.KSZ7Y))RCZ;G9L@9G M ?'0H/Z"P7S1*VWYW]@"?[# QK@:11PREM;( =LAK)4@,G*Y@5=CT+3:=5$)M.!I(\S!-*DBRL,X*2.(PJU.X\%6.FCA.)LF$Z?C6N-6B MJJ$*BS2&+(R+&CXJ^6-#R 0,;*,1Z7:@^*HDAKS,";V$6\U:NK:7(Z%UD):95_FXNRHI5O)GDB(LB@). M4*$X4*'X[U0(X>U@'?OVQ>P3 &_NJ $9?(XG)VV]P),G)1 "&LM[?\#KT3X[ MMH^C_?%$W"&J9RBVHW32,Q++/*'5'\CT>"L^SC@%.D@+U^C:9TN3Y-N:;B$F M[JN3RB+.W""E>DQ^XX#JS:^HZT4I:JW8L=_5"@=AMH?:V4O1\X X=?E/D_4$L#!!0 ( M $F!!5,61"RYB0( '(% 9 >&PO=V]R:W-H965TE=1OA:E&S N_1_JPWFJQP0,EXA=)P)4%CO@PNQ_-UXOR]PR^.K=E;@\MD MJ]23,[YERR!R@E!@:AT"H]\S7J$0#HAD_.TQ@X'2!>ZO=^@W/G?*9( TL985?7!I*#BLONSE[X. M>P$7T9& N ^(O>Z.R*N\9I:M%EJUH)TWH;F%3]5'DS@NW:7<6TVGG.+LZI%I MS:1]A1];P0OF*F7@XP/;"C1GB] 2A7,,TQYNW<'%1^!F<*ND+0U\D1EF_\:' M)&W0%^_TK>.3@-\;<0Y1,H(XBL>F9BDN ^I M@_H9@]5#B9"^,UDRVQV;&MB@18W #.1*4"/2'7M?U1@F,W,VAS433*;>1>5P MC2E66]0P&?O21_ !IJ,DF@$5\)D;_TQH).RH7!VY,0UFD#6:R\+KJ%%SE<%X M-/L\@9M&Y%P(:FCK& YH)%'C43R9GOTGAM[ *_1/P.NXF"5PZ'["O3ZH4!>^ MVPVDJI&V:XEA=Q@HEUT?O;MWT^B6Z8*3(H$YA4;GGZ8!Z*[#.\.JVG?55EGJ M4;\L:2BB=@YTGBME=X8C&,;LZ@U02P,$% @ 28$%4]!8&H*%!0 H X M !D !X;"]W;W)K&ULG5?[;]LV$/Y7#EXQ)(!6 M2[)>R9( >?2YMC/J/C ,^X&6SA91B?1(*D[VU^](R;+<.4Y6((A%\N[XW=UW M1_)L+=4W72(:N*LKH<]'I3&KT_%8YR763#^7*Q2TLI"J9H:&:CG6*X6L<$IU M-0Y]/QG7C(O1Q9F;FZJ+,]F8B@N<*M!-73-U?X657)^/@M%FXB-?EL9.C"_. M5FR),S2?5U-%HW%OI> U"LVE (6+\]%E<'J56GDG\(7C6@^^P7HRE_*;';PI MSD>^!805YL9:8/1SB]=85=80P?B[LSGJM[2*P^^-]9?.=_)ESC1>R^HK+TQY M/LI&4.""-97Y*->OL?,GMO9R66GW']:=K#^"O-%&UITR(:BY:'_971>'IRB$ MG4+H<+<;.90WS+"+,R77H*PT6;,?SE6G3>"XL$F9&46KG/3,Q0TJ?LML9."- MT$8U%'"CX>@3FU>HC\_&AC:QHN.\,WC5&@P?,)C >RE,J>&%*+#8U1\3N!YA MN$%X%1XT^+:IGH,?>1#Z87# WJ3W>.+L3?Z?QTP4\!J+)1=+N+14X8:CAANN M\TKJ1B'\>3DG<:+17P=01#V*R*&('D#Q>V.TH3WM=D2O-5,%7%/@K'T-+OK[ M8G_0J"W@4[UB.9Z/J$(UJEL<77PJD2S7*R;NH60%&!HO9$75:/>6 QR+#D?> MXSCB@N1EHTE"'Y\"Y>(>NE3 #>98SU'!)' S/EPW2J'([^&#M"7'*O@\N]D= M;*.O[0*--5\*9K IOL$#!)S"M 9I[(5A!C__ ME(5!^"M-;+Y>-$K")'9B4>!%<0IQJY0$WB0*X3=)+4S 5VH,86 7W&*0>5$V M@<0["5O=Q)ND*;S'.YZ3]!2UA&?+BX 2"N!5,O31-X"VC,%NL?Z" I#,: M>Y.38##*_ Q>-V+)%">;E'PN# 1>N('K!1'9]2;=/I$7G41PI8B/NH2I;(BH MH9=1N"=>E@4DF:0QS8192KSAZQ; #668*8A"+XC)+\(:P"3S_$EL32)A9K_]P(<9Y8.M*%I;P=A9;%%&B5,BP0-%$?=%$1\LBAD= M.453(<@%/%"F1,B9(;K8D15[R043.2=V3:7FEF@>O&1)L8J\QH&G^Z9F[E1_I&:?)/0#5?N"G)8USX%2NL0]H9@J7#%> -[1!4-C MVX$EA5#1N6?[B"';% Y-91VE]"\DJEWFN6IPH/0,8J+J,^+V(0(F/0&3PUUY ML: =C3L#W-[["'30Q,,]>-MSC>WNX%8MI2UKEDIJW5Y1;*XI6L"JBJX7?1%T ML;!!JCI.V/-I7?*\A#6JWB!%Q]YV0%!:Z;["M1T:=P@(+2M>N+1MZ.+2KZ$@ MNACIQ)2]QU@V2Q<,NH^8$I#1+CGU'H-JQ11!_%'J/L*T1Y9?M7&J+1)M02K, MY5+P?QP3OV?+(>EA$ 9:$;MS!VZ;HP',7]CQ/#_)\?W/UX!7=XN'H'7FW]^9WV.C#71(7"[J$6^<&A.:#KMXQ-!\R M=-%W=KUI^(_VSWG^>W),-OJ?RH5XB_UX(9*!]S=[L0.!=\V B',]K%S M=^D'6J2--OE UTOJ9,=#!]GQH-70XUJZ=Y&NJWR]@'1S_;/K\OVU;$5;]]N M[YE:6E\J7)"J_SRE0U:U[Z%V8.3*O4'FTM"+QGV6](1$905H?2&EV0SL!OVC M].)?4$L#!!0 ( $F!!5.HY>#KO00 +<, 9 >&PO=V]R:W-H965T M:E8A(HDI2OO3K.Y2TRKIUE")M\[++ZYDSG#/DZ/1.Z?>F1+1P7U>-.5N4 MUK8GRZ7)2JR%>:%:;&AFIW0M+'5UL32M1I'WF^IJR3TO7M9"-HOU:3]VI=>G MJK.5;/!*@^GJ6NB'P7)^VHL ;M#^W5YIZRPDEES4V M1JH&-.[.%AO_Y#QQZ_L%OTB\,P=M<)YLE7KO.J_SLX7G"&&%F74(@OYN\0*K MR@$1C=]'S,5DTFT\;._1O^M])U^VPN"%JM[)W)9GBW0!.>Y$5]EK=?<]COY$ M#B]3E>E_X6Y8&R4+R#IC53UN)@:U;(9_<3^>P\&&U/O(!CYNX#WOP5#/\E)8 ML3[5Z@ZT6TUHKM&[VN\FQ/ZNBMV%9H MCD^7EBRX= M8/A/#+Z\MZ@;44VV#&P?X!6J0HNVE!EL**_,4\<^:\0E[HEI189G"\I,@_H6 M%^NW)5E5%66=; JP+J1CZLD_T$ NC2@*C86PF%-Z#31E,^2YDP%1*SY0$T2M MUW\.74NSEN"ST8UO#&2JH\-\ +6#7-4RDV3M2+IEJC.BR+S^D A M<"/O'P]0P!]@C#=U&@2>]CUO;FI#)&0F##P#WTM9Z*?4BE.VBF-J<#]F/ K= M)%\Q[H?PLM-TK4&THA4)!!%;I0GX?L(\/X(T9%&\@E?D,(4++DK9"+,Y^-B&(0LX-S%D,*?>BZ&812SN(]PX/LL MCCELVK8B03IGGIL6,[FC%-JG"QA5=6[* (&E04RB97SE0>2S*$B ARQ.O/]" M+_&DEWA6+S?TUN<=18G2=^/B)IK,A9#4KS&7%GY4QL#&O:#2/CREDEG\SU*) MNV#$(R[9P*4B+C0O1C;]E%ML]@J EFX#E0/^70=_%=*YJ'IXNCK(]4O,L-Y2 M@"C-!SD\@S3PX763N8O9D5*?Y/7U5RGW^;?P3DN+S]5N9Q@T5%T1OJ9']I:X MT:HCGAX#U154-32 ]UDIF@)!4T; T/X ])CC(W>(GA?,"2"9!)#,"N 2=ZC) M#1AO#N92<*.U8T(EF&5P*4U&'G8:GPK_+/IGAS_?L]I?!BX7IRS*L55&VB^F M!.XSGH0P'!5=IWU !UY;655D0.Z?12+=V-'XH^CO2RQ*YX!>AL.JZP!N\IL M6\+0>S^._) NA.A3RCD*X^-YV=#+%(;1D\I9'A23=,Q%7S*/#_Q05TZC4U6^ M&8K1#\N'DOZ-T(6D6Z["'6WU7B3TENBA3!XZ5K5]:;I5EF+:-TOZLD#M%M#\ M3BF[[S@#T[?*^D]02P,$% @ 28$%4Y:M/G>F!0 '@X !D !X;"]W M;W)K&ULM5?K;]LV$/]7#MXK 119;\E9$L!)TZT% MN@9)TWT8]H&6SC812=1(RH[WU^](R;+3.D8';%\D/NY]OSN2%VLAG]024<-S M5=;J%XRKABO1U<7 M=NU.7EV(5I>\QCL)JJTJ)C?76(KUY<@?;1?N^6*IS<+XZJ)A"WQ _=C<29J- M!RD%K[!67-0@<7XYFOKGUZFAMP2?.:[5WAB,)S,AGLSD77$Y\HQ!6&*NC01& MOQ7>8%D:063&7[W,T:#2,.Z/M]+?6M_)EQE3>"/*WWFAEY>C; 0%SEE;ZGNQ M_A5[?V(C+Q>ELE]8][3>"/)6:5'US&1!Q>ONSY[[.'P+0] S!-;N3I&U\@W3 M[.I"BC5(0TW2S,"Z:KG).%Z;I#QH2;N<^/35@Q;YT]DU^57 C:@HUXK9<-T^ MFS'"R2NE@MNZP.(E_YC,'&P-MK9> M!T<%OF]+%[S(@< +_"/RPL'WT,H+7_-]R22>S:SO=VQ#4-,PE9+5"[3C/Z8S MI27AYL\CRJ)!66251:\IZU /8@XVYO"QL7&>&EARO3D4W^,2/RT1YJ*DLN+U M K1)4U];_&]4H&G;9)35FQ^_RP(__5F!LII%LRL(TDQ"I*56_/FL,BF#!B47 M!:!)'%#8-]!'_1QLT!3\;N&.Q=G>:+I82%PPC?"QU4JSNC"&,65\?H,Y5C.4 M$/I6D@>9,TD]^!ZBR$U#^(7"3D(@2B:035Q_0@!$F7.3FQ/?\9/T%,+,C7V@ M8IPC-[1D-CXW7%J2U#^%V',G\0'E^QZ07M_SC=[,]5)(W(F9!)/,"T$GB@,C)DBB!V$W-Q$\R)YJD?4(5K%#MK*/F0V,M[.HAD2=D=^I$:61, M2MW F)19DS+?\9+0$KRC;!4%MVDC62996RV=4F<_W;U>!0P:(2T3:34$;?V2 M;6>8!B4J)'I.P.>UI9ZWNI7H#HY][8Y$R%F9MR4SR[,-L*8I-S;P-1 %K^S& MO$L9"0-IX-&[\*4U[I$RBX,2/K.R1?5E::HM* ^5YG$K;&D:R:M!\G[I*5CT<"=CD.5#P=&YJM!NK)&" MM8M@JVR-OZCX]=95UKO*=JZ>PZ>E1.S*N>_ \+"M[^W""R"^;VLDT/75>63K MGJNGLSE)[Y+INS'\0-_$?L-A?+M%2T%=IJ!6 AN.90&>&_JT[;E1:'^$^&$V M\*P$08J7ICN%$]H(#=%N--!IE!6<4!0WR*2B2G)]JA^/2C,S_R. 2@9 )7P-[%%[#W])+#FR() K'/V+ M#O^3@ON'1_4?]?1M[>S\?:V)Q['I6[%OLKAMX<$D@2PU#?)SQWSBQ]2;$S=Y MK7D'U-SCR$V\KS2^[-Q>1LJ2R #H2&;3(;/I-V?VMFI*L2%(/U#D>8ZP?S?8 MOQ\Q%XN:TD%7B"[ -T)I=0@ 1ZWY=@#T/:)+O^TJO9GY_O4- M^^L;]>2<=>>]@<3A9B/J'DNU$B4O6 =K^E56$;GYD7A8U[I.[.D@6D5'K#K] M/QN-B:11+G&%=8OFW(W-R1C2J4B@FTSHF_JI*4:J_GSIT'5\1<^,QICMT!%D MT+Z@.)._%+Z0CM,( B>BXS^E<4K?E+X/]"2@?0<66).79/1E<6/G# P\/<])PW-529S/-] - AH8=(-#&@/@76\=V>O M4"[LRT11$MM:=]?W875X_$R[._^.O'LY?6"2O%10XIQ8/3>EPTEVKY%NHD5C M7P SH>D]88=+>L"A- 2T/Q=";R=&P? DO/H'4$L#!!0 ( $F!!5-;_NZE M0P, +$' 9 >&PO=V]R:W-H965T$ ]N\Y.FG5L%*3$N;/O MOOO.OIPG*V-O78%(L"Z5=M.H(*J.X]BE!9;"]4V%FE=R8TM!K-IE["J+(@M. MI8J3P>!U7 JIH]DDS%W:V<34I*3&2PNN+DMA[TY1F=4T&D:;B2NY+,A/Q+-) M)98X1[JI+BUK<8>2R1*UDT:#Q7P:G0R/3T?>/AA\D;AR6S+X3!;&W'KE(IM& M T\(%:;D$01_?N$9*N6!F,;/%C/J0GK';7F#?AYRYUP6PN&945]E1L4T.HH@ MPUS4BJ[,Z@.V^8P]7FJ4"R.L6MM!!&GMR)2M,S,HI6Z^8MWNP_\X)*U#$G@W M@0++=X+$;&+-"JRW9C0OA%2#-Y.3VA_*G"RO2O:CV85.38EP+=;HH'09?G0< [^&>>\$ZZ5!E76X1O)PM'EBOC^XX0HR[$*(08_27$%:9& MIU))$>K-Y'"C)6$&(,.S927TW4O> MS#S'4+7=^CX8"UNY7%KS2_H?Y*DCVTWWA/^I/PE3@7^0SEO2KB.==J2)"=B6 MM/=LB;]X=I0,#]\ZD U/;X9K[B*NH8]=5AN ?5@)!_SD1G&7<,=P75C$5^56 M3<%R (;OKS_O]ES=#/H9<, M]_@3Y#"$?=M*'=T^:&ZNO+L;U#8<)-Z_<>?7.W.CX3:B[V-DDC?+HB;)?KVQ MMQU[KR UHR^#U&+&@/=@C=1+_.CKW6++?!/;HA+^F/GHN,>DMV J7P2N]>D- MWS0(HP;GS2.@S>9M 0762+75D'-5Z:4+20U'?@Q5D;SU^F'+.F0HLA_^DSUYD-J TS+XWXW7FJ(6!O'!(:>FO6G_K?XZTV6J)=ALO"\='7 MFIJ.VLUV]]%)TX;OS9O+[).P2\F[J3!GUT'_&UL?511;]HP$/XKITR:5HDVD 0* M#)!*UVF;5 F5;GV8]F"2"['JV-1VH/WW.SLAI5OA)?9GWWWWG2]WDYW2CZ9 MM/!<"FFF06'M9AR&)BVP9.9";5#23:YTR2Q!O0[-1B/+O%,IPJC;'80EXS*8 M3?S90L\FJK*"2UQH,%59,OTR1Z%VTZ 7[ _N^+JP[B"<339LC4NT/S<+32AL M63)>HC1<2="83X.KWGB>.'MO\(OCSASLP66R4NK1@>_9-.@Z02@PM8Z!T;+% M:Q3"$9&,IX8S:$,ZQ\/]GOVKSYUR63&#UTH\\,P6TV 80(8YJX2]4[MOV.33 M=WRI$L9_85?;QJ, TLI853;.I*#DLE[9<_,.!P[#[A&'J'&(O.XZD%?YA5DV MFVBU ^VLBF\1QZ8JRM)IN.?G9V8.7C=GYU18U50&6!=-HX-,]6PDT M9Y/04A1G&Z8-X[QFC(XP#N!625L8N)$99F_]0U+72HSV$N?12<(?E;B ;M*! MJ!OU3O#%;W!U2#%VA*0$ B1$./NJ>NYLSP ME*3\(S%5)9'OE=*D,):D4$F@=SGH#*(!K5$G&L8>)_W$XSCIPTV>4S>[5\VX MJ%P_ SY5W+X VS&=&8@[\: /'S\,HU[TF5 _&M*W1Q3_/52C@B(WVW-'M64" MI7U?VZ@S&O4.M!$>1K3V.\EH!._].>%!8Y:HUW[\&(I725OW:'O:3KBKNK%? MS>OQ>,OTFDL# G-R[5Y<]@/0]&ULG59;;]LV%/XK!UHQ)( ;W7Q+8ANPW17K@**!XVX/ MPQYHZ=@B2I$>2=7Q?OT.*5FQ4\<+]D+Q2\1&FXDJ!Q M/0ZF\=V\Y^2]P.\<=^9H#BZ3E5+?W.)3/@XB%Q *S*RSP.CS'>'ZP_M'G3KFLF,&Y$G_PW!;C8!A CFM6";M0NU^QR<<'F"EA_ B[ M6K9+PEEEK"H;98J@Y++^LJ>F#D<*P^@5A:112-ZJD#8*J4^TCLRG]8%9-AEI MM0/MI,F:F_C:>&W*ADN'XJ/5=,I)STX6:*RN,EMI+CH(&K)5L)-->C MT)(/)QEFC;U9;2]YQ5X*GY6TA8%?9([Y&?WY9?W^!?V0_U,4-1%VO'E\()VWKG7I[Z9OJS60."Q3,8@Y31VAN.97_ MS^F*I(CA?UWPV&T]=KW'[BL>'^GBYY5 4&LXB_8YD"^:="_+G=FR#,HKIHH;C'-$OFO_?F+)#*-11_(;A3^?!$WMH M[M$!HKDJMTSN?_YIF,2#>_."'TT4L"MX5@#W1!%57B/L=)+H?IIENJ(=?**V M9M#X[?@>U,&!-$KPW,,R8X+)#.'1/9;F!_ZT=%@>X3P[T*%EP?'IW -=XS]] MQK_>7BK+1.N4&8?;!\RP7)%T&C7_5H2(AXMS!GAFK(]M0S M7;AQ)XX'U_1-8S?VW-!)^NDU4#^C;B6I"'2EY(;N&84!]=SX2L7)/5R1Y/'\ M-+(3>-Y!+W+D[<=]&@]*+M0X2<]R.3SJ0"72M7:-V=!-J*2MFU&[V_;^J6]Y MX;-X_>/PF5X%+@T(7)-J=#,@WNJZ&=<+J[:^GZV4I>[HIP7]OZ!V G2^5LH> M%LY!^T&ULO9IK;YM(%(;_RLA;K5JIC8&Y0=:QE,M6[:I1 MLTW;_3S!XW@4#-YAG#32_O@=,/$APDQP(/F2@,VY_%"+D5^D*UD:K^99WHIC#W5U^-\I:68E8.6R3CP/#9> M"I6.II/RLPL]G61KDZA47FB4KY=+H>]/9)+='8W\T<,'W]3UPA0?C*>3E;B6 ME]+\6%UH>S;>1IFII4QSE:5(R_G1Z-@_/(U(,:"\XJ>2=WGM&!53N2J3I(AD\_BW"CK:_LUB8/WX(?K'?9#4A6L2+LR0O?Z*[ZEIOA.)U;K)E-=AFL%3I MYK?X50E1&^"3E@%!-2#H.@!7 W YT4UFY;3.A!'3B<[ND"ZNMM&*@U*;GLFC5!)_LZ&^W%YAMZ^>8?>()6B M[XMLG=O(^61L["2*5,9QE?#))N&@)>&_ULD!\LA[%'B!OV/XJ7OXF8P/$/;+ MX=[CX6,KW5:_8*M?4,;#+?$V*ATZ(N%M)%Q&(BV1SK-4WMO2ZAN[>%6:&[TN M2[%+HDTD5D8J%NKMU"[;R?BVKL..:P@CVXL>Y4BV.1)GCA]5*M)8B02)ZNXP M:%[=)L'=>9QFNE5IH61Z"1KW$6/(K)M1-:S MCGP;B0^L$6]H1,(@P&RW1N$VC]"9QW==KM1[=**2Q"51M T8]93(]X ZWL B M50'K*OG8BYB_6R6_!D#?F4HYK0\G(KZQ4+LL"%:"SC5-@(/?EPX^X,%W\^$9 MDN&&9)$7,-JB&$# =U/@^%JF\?V32\^'U>S3OC+!.O;9T#*QYIT51LQKD0DX MX+M!<)G=2FW;B/1II6!-^V%?I6 Y^]'02D4-I6@0X=U"!0"#P V#\W6J8K6R MB3PE5 "K.O!["A74_L4' PM5!:P+Q:*(MP@%" C<"/A[G1DY^_TWGWE_7&@5 MRWQS;#NJX[(=1N=E^Y CV]^CSS/;/JC8IEVUIP!P"5PP^7/.$NSI8K10LZN9:'R MG= S9#\UVAJ2W9DT\=*6!Z EX$Y5:PVY4UK@2N!N%IXUL;#SQ(!)@9M)KWN' MVZNZ=Y(8>(:]OIX .(;=WX;U6 :GAH M'X2;1JBM*L!#[.;AJU=E_U89 UIQ7P.& 8]X: N&FQZLK3S 5.QFZNN7IUM? MCH'&N*_C(P!%,K3C(TW'UU(3 C@E;IR^>DVZFP "-"9]724!*I*A725INLJV MLM0>*[EY^NIEZ6XY"."8]'6Q!&A(AG:QI'.;28"CY D':^];-;=*IP9]-0NI MT=>K7.I;<95(]#E=K4'[H+^I($!6TM<%$V <<7><^Y@*=ZABQ^4P7XE8'HU6 M6A9"R=$4.;*D0$_JIN=S^G/:Y"=IL: 4 $K=OKJC\Z ,^IN+9\ULZ:]IF'+ M8RT***1N%+[ W;Z7P:" 2]K75-/:DW1W$[D_:6C36KN>5U. 'G5#[V4*T-E* M4. B==OO#OH#RZB[2WR&_DW?[7H23@&%U(W"E]%_?]/ (NLK]-F0#8VM--F M3:?M>+[. (G,C<07JD,W=\" EZROH69 -#:TH69-0^UX:L^ A\S-PY<1O[L- M8+4=R[Z.F0'1V-".F34=<_M> ,<,C<.7T;^[NT^ UJRON:8 \?XT.:8-YN[ M]AT&#A#D;@C^2+,VN7'_#I\# GE?B\N!4WRX%RMX9W/+@6W>V%"S>\!KAI]VK4.=",]S6J''C#A]ZNY,=%"V7WKPIOCDQV:I\V?HJ,R9; MEH<+*692%Q?8[^=99AY.BO>WM^_K3_\'4$L#!!0 ( $F!!5-)(F/@*@, M /\* 9 >&PO=V]R:W-H965T=UW(0R[@QZ=NU*#GHBTS'C<"6)RI*$RL?,/SWW P.P%C,&:[4U)L:5N1!W9G(1 M]1W/*((80FTH*+[N801Q;)A0QY^"U"GW-,#M\8;]BW4>G9E3!2,1_V*17O6= MKD,B6- LUE.Q_@:%0VW#%XI8V2=9%[:>0\),:9$48%20,)Z_Z4,1B"T \E0# M@@(0O!70+ #-YX#6'D"K +3>"F@7 .NZF_MN S>FF@YZ4JR)--;(9@8V^A:- M\6+<%,JUEOB5(4X/OE FR8S&&9 )4)5)P"K0BAR,05,6JT/RF=Q MJW%# W/#@GR8DP=[R)MD(KA>*7+.(X@J\*-Z?*<&[Z*CI;?!QMMA4$OX/>,- M$G2/2. %7I6>U^!Q@W@M"_#Q]#V"!-W\#]DYI@-,O4-RU?\]74 M'Y$SI0"S3GE$+AF=LYAI!FI3$A'!7WH*828EXTMK]4-P62X,J6**W%[B!N1" M0Z)^U\AKE?):5EYKC[P1IA[)L1I)*/!@BD!2>[;$A<#'J@3FG!W+:0[)^P%& M^GX[R'46.T+;I=!VK="?J56&<8@Q7$"HB25A28KQ3:S\%95+4%7_3_N%F*#= M;'G>,]&CW*Z]WZWQZTP[SG5*YSJUSDU!:9F%.K.)'E5YLL-[7/(>?\3BZY;R MNO\MI]U_R\1)*>FD5M+7&2,SW!I#HH[(!!\Q(_[6 M3>6_\T X(MCW@"22HEGE=>/7_$>[LH(G6<&[965I6BLKJ"@9SWM9,N[619\ M%J#IL!3NFW&=WX+E:MG%G=G>Y=GZR#\=Y[W8$TW>&DZPKAE76/<+I/0:QQ@L MF7=;^42+U+83F3\BT@0)7S+TES,K$3*_9UMBRC!C(@!VV.N MWFP9SXA42[ZSQ9XCB0TH2VW/<0([(S2WYE-C>^+S*2MD2G-\XB"*+"/\GP=, MV7%FN=:+X1/=)5(;[/ET3W;XC/+S_HFKE5U'B6F&N: L!X[;F77OWJU= S > M?U \BI-GT%(VC'W1B\=X9CDZ(TPQDCH$47\'7&":ZD@JCZ]54*OFU,#3YY?H M:R->B=D0@0N6_DECF$W Z Q@6 &&US*,*L#H6@:_ OC7 H(*$)C: ME\4RE5X22>93SH[ M;>*IA_,=AFT*C#-=6<]2Z[>4H63\P41R0WH7UA]+>B! MI)A+<0,DC^$Q/Z"0F3; ^R5*0E/Q 6[A\_,2WK_[ .^ YO![P@JAO,74EBH? M'=6.*NZ'DML[PSV$CRR7B8!5'F/<@5_VXX,>O*WJ4!?#>RG&@]<;\))F?B[AVA4$XT,T>ALXAL) J."4TE1M^Y!-2K9I'BK#MY; MH5B5+55'*,DC!&6#B&-,):1,='9MR1<8/GTR'^:J((?3C;SHL>[S>"/3KV7Z MO3(7KSF#.I'IZ[?9):&,Y9]/<.%?DK!J>[C!&1%!+2+H%?$3U^ESC-@!N=JL MKF\L:*4>^HW,>EW>)#:N$QM?E1A)Z;\8PTY=R:;,NGN ;2^5>]Q** @;]6Z[ M3 *OT5:7PZS:+E[H!=WBPUI\^#WB=8OA]Z@/+S9;V&JE<4/ZQ1BK=@Q]2G;I MGM2Z)[VZ?Y,)LZKW>J\_^>?>[)]>WV:KB/(EZH3:.Y M1*XV27]7ZK1/"/IE-,N0[,T4*B%B1R_(V MJ:WUI'IOYK.&_<&]6[@=]J5[MRKGT-?PY5C\D?"=_HY3W"HJ9Z#G2%Y.FN5" MLKV9C#9,JCG+/"9J.D>N'=3[+6/R9:$)ZGE__A]02P,$% @ 28$%4Q/U MGE5S! R!, !D !X;"]W;W)K&ULO9A;;Z,X M%,>_BA7-PXS4%-^XC=)(3;JK[6IF54UF=A]6^^ 0)T$%G+%-,OWV:PB%% S) M0Y67!,,YQS\?#G]?)@?'4=%6YXR=2MV/#-/UD*F M3)NFW#AJ)SE;E4YIXF (/2=E<3::3LI[3W(Z$;E.XHP_2:#R-&7R9<83<;@; MH='KC6_Q9JN+&\YTLF,;ON#ZQ^Y)FI931UG%*<]4+#(@^?IN=(\^STGI4%K\ M'?.#.KD&Q5"60CP7C)$4DP_&S"CJJ^RP<3Z]? MH_]>#MX,9LD4GXODGWBEMW>C8 16?,WR1'\3AS]X-2"WB!>)1)6_X%#9PA&( MQQPY8 O=2"5 RD'>B0KA_7 -)M.I#@ 65B; M:,5%F9O2VXPFSHK7N-#2/(V-GY[.F=K>@.(7_/8SC_; M<10T3E0QSX[,N(?YSSRY!9#> PQLKC/A]T?>'0+""K=X5MWQV2O3B&N4XC+ M>*0WWE*#!8]R&>N8FQS<[\V(V3+A8_.9C95)#?CWBW$"CYJGZK^!+DG=)2F[ MI -OS9:WHY=7>A4?\'Z*D1<0?^+L3_-C,?,\#X:UV1LH6D/10:BOICI>3&W* M9Z,^<::TS,L:L($>([FG!!"V*"TVU*-V1K=F=,\FKJS1J+C@3>7:(-TN /)A M)YL6,R^$/K&3>C6I-TR:2VG 3"+KC\G&Z'4Z1Z9OVF:TF$&"*;0S^C6C/\CX ME\C&T66KPDU(HWP(.47D6W&FLOT+"?N @00XS9GURSTJ-M3$ZA1=G1&VH7< M".^GNFA'LHY[I #4JBX9E M]O*RZ$HH1:X?T#9HUPY#0G%?831:BX;%]EXIKL19'\8XEYQ/>""9VKY;P1O_PNRPSL475*&QKG\4*D;ZI&S?*AX>5 M[_*BZ"X?J1N2-J5E+>J3GB4F;C04#R\R%V+/)8\WV?F2:"02AU?;6C:*1X85 M[\*2(%TAHRALR[+%*O#Z5)DT:D>&U>[BDJCBG.YU$0P[&^*N%:&=W9%S'=]']02P,$% @ 28$%4[M1AT^2!@ "P !D !X;"]W;W)K M&ULO9IM;]I($,>_R@KU12N5XGU>5TFD)KG>M6JE MJK1W+T[WPH$-6/4#M0UI3_?A;VTH8[+>38B1WP &[\S.,/O;^=L^N\N+;^52 MZPK]2).L/!\MJVKU>C(I9TN=1N6K?*4S\\MM7J1190Z+Q:1<%3J:-X/29$*" M0$S2*,Y&%V?-=Y^*B[-\725QIC\5J%RG:53\O-1)?G<^PJ-?7WR.%\NJ_F)R M<;:*%GJJJZ^K3X4YFNRMS.-49V6<9ZC0M^>C-_CU91C4 YHS_HSU7=GZC.I0 M;O+\6WWP;GX^"NH9Z43/JMI$9-XV^DHG26W)S./[SNAH[[,>V/[\R_K;)G@3 MS$U4ZJL\^2N>5\OSD1JAN;Z-UDGU.;_[0^\"XK6]69Z4S2NZVYT;C-!L759Y MNAML9I#&V?8]^K%+1&L P8X!9#> -//>.FIF>1U5T<59D=^AHC[;6*L_-*$V MH\WDXJS^5Z9587Z-S;CJXBHJER]1_8I^^[Z.-U&BLZI\B:)LCMYE&UU6:?T% M&J/I]G]#^2UZLXGB)+I)]-B4Q7AJQAR<^_Q:5^:$\@5ZAN(,?5GFZ]+8*\\F ME9EQ[7'5B8FWGW09!\T:E?IM/S'XY+N7=+&)7.X?)/F117_ MJ^=HEI=55R:VXT4SOEY+FPM)L:+T;++I\,OV?IG7[^]%7I9HG9D5FS3N%V:E M=OX36SN\Y9]R@KN]\[UW?ISWQ!SK3O?<18F 1H1/PT\AVN10KK*"0!%_( ZHIQM6%'&'?Z!5,1/JF/*V>Z;'.5, 5[4WS/YRWDW^"!D M%1 '0RC0B_KI=947J[R(*OU@CTN!2W0X0=929'X8/9 ^FS],$4*%(W\ (>J' MT+W\/65_H\ >R@=++%"(^ON?1VA=6WL)@05SY!901/TH>CP0J(TD$CI:%PI MHD<"R0T$:A-I[-#Z%(!$^T@W:C-(",8=1&# (>;GD%W1Q^YP#.C#!I-O#/#$ M^LHWUM$N8<:XZ^H-0(J=2K\Q&UA82<>28JWK1R=3<,QNH,:7:]C@PBO?1==S&$F&2.QHYWKJV[>>2N[*/W?XX0(D/)O XT(KW M%7C<[J8$)]*58D 6/Y7 XQT"#SO@Q0%>_&0"C]O-U5BY[E\ R$0?B2=LB2T_9Z01 2 PF\$3KMEI?@2=L@<>P2X MW", 1J*/N!,V?Q@.'026 "#I!Y!=S,=N;A*P(P?3=A*X)/MJ.]G1,P7.S *; MY*F4G>Q0=@[O "EY,EDG'WUC3@*V9!]-)SMNS 6N-E4"MJ0?6Q_763R+5U'R MX+8F6W?[!U-R$D D^R@Y:;-'A,[L 7ZD'S_WLO>4;4T!=M1@ DX!?U1? :>Z M!%S@6(P*&*1.I=^4S2)'OZ( 1.IDZDT]^J:< A*I/N)-=8FWP'%Q1P%_E)\_ M=C$?NZTIP(X:3+,IX)+JJ]F4W2$Q'CH4BVH]KW0JR:8Z'B!PN0=*J9,I-M6A MV+!C+8= KK"/8ML-%H=)O[^$)ZWG.>MG8S]&Q<(D$27ZU@P+7M7[8[%]W'1[ M4.6KYA'/F[RJ\K3YN-317!?U">;WVSRO?AW43XWN'_J]^!]02P,$% @ M28$%4W)5Y(#[ P UA( !D !X;"]W;W)K&UL MO9C1CMHX%(9?Q8IZT4K#)'8@0 5(P\QV=ZI6&I5.]V*U%P8,L<:)J>U =Y^^ M=LC$H"2NZ6[G!N)@G_/[V/^'Y9$J+ MXSEAJ%*T9P\"""++,/B MGSEA_# -8/#\XA/=ILJ\"&>3'=Z2!5&/NP>A6V$=94TSDDO*C)++,DM9W_2M4JGP2@ :[+!!5.?^.$/4DUH8.*M.)/E)SA4 M?:, K JI>%8-U@HRFA^_\;>J$"<#$.P8@*H!92'"8Z)2Y1U6>#81_ "$Z:VC MF8=RJN5H+8[F9E462NA?J1ZG9K=8IE? ?(+?OA9TCQG)E;P".%^#^WQ/I,K, M"] #OPLN)7C,]=HS^B]9@P^Z3639\QVF GS!K-!MO5/ S1Y3AI>,]'2KM]!! MSX*]OB-*=Y!OP"M <_ YY8748>0D5'I*1EBXJN3/C_)1A_SW!;L&4?\*H C! MQ\4=>/WJS7F44!>DK@JJJX+*L'%'V#NR5&!!5H6@BA)=CO,)23.AOS[H0>!> MD4S^[4@9URGC,F6_(V59PKTIX15@1%=:I3@'$(&,YRIM+[@1$\OZ:-V-8-:S<"[+'5RH+?85JM4 M1+3IT1.TBDEI$8,591!A9^$4OY7-X0ESX?SN]BGBV MHL/Q(!FTEQ1:SD'TB\Q>!3Y;XT$_Z1!D*0C],>CKL2JDA\F@A2"\F(+>>?8%99YT V]CT5.5W2G5?S0^Y9F MX_ MV+_E<#?J^(]!%HS('XS>?FN2L<-OL<5B?#$6?>7$32YVR;%4C-U4]+%_W'(X M[-XBL25A[";A!?ZO(B7./1&>W%*8&Y^/6&QI+O6^V^A1T?50ST <+U&.#<5W MY<7%DBO%L_(Q)7A-A.F@?]]PKIX;YBZDOLJ:?0=02P,$% @ 28$%4U#C M#@R-!0 L!X !D !X;"]W;W)K&ULO=E;;]LV M% ?PKT(8>VB!NA:OL@K'0"XMUF$%BJ;=, Q[8&PZ%JJ+*]).\^U'R:Z/ HJG M @KD);%LDW^2T?F%DA8/=?/5;HUQY'M95/9BLG5N]V8VLZNM*;5]7>],Y3_9 MU$VIG3]L[F=VUQB][AJ5Q8PEB9J5.J\FRT7WWL=FN:CWKL@K\[$A=E^6NGF\ M,D7]<#&ADQ]O?,KOMZY]8[9<[/2]N37NR^YCXX]FYU[6>6DJF]<5:J"]O]) ^G[R83LMI;5Y>GQGX$95X=?^OOIX7H-6 TTH"=&K!NW,>@;I0W MVNGEHJD?2--^V_?6ONBFVK7V@\NK]J]RZQK_:>[;N>6UMMM7I/U)WG[;YP== MF,K95T17:_*^.ACKRO8-,B5O-QO3+2'YH-V^R=TC\8G&DGI#+@\Z+_1=8:;^ M/)G>^DZ>-'YQ8YS_@GU)?B-Y13YOZ[WU 78QFC+Z["D M69**=#$[#"2+<[) D^F4D7]\XN#R'YO*7B23/%-L.%*>(R4:R:8\'BF#2*J\ M*7(X4ITC%1K)IR(>J8+(N4J%&$Y,SXDIFBBF,IZ8!HF<,I$,)\[/B7,T44[G M\<1YN*PTDY$Y9N?$#$U\I_.&>"3V9B@R"R)3+E(:.7EH D8E:.IUW>SJQF-# MKNJ C:=]]MRCSU7R%)BA[)>+_M1%?Q65$C*VB. -Q<%!R_[4]FD14IFI2"I8 M0W%LT,JGH3:49_,T4A84N*&X-VCQTQ"<-&4\4AD4P*&X.&C]TY I0G!T< 1K"(^:,\=BI!/10W)[/?M=I]\TCN2X$&,C#Z"\C<.JBOX@9RW@VO(:LM\_! 4(18*$\/,UH9+O!0!Z&RX,: MP ;D22+_^QFPPW!V4 !8R$Y$' ;B,%P9BF## !N&8W-IK7'3*[WZ:M:]4L4J$41AV;-M^\$N[K"S4$! MX*$YF:2Q3$"'X^B@!O#1Z'! A^/HH ;P$!V9T,B&@X,[''<'9X"'\&0)BUW+ M<<"'X_A]"T!&X'N7,?4N M!BZ7:.R?K@!J!$X-7O*CC9%@C,2-P6_QA<;$ L$7B?N"EKL<[8L$7R3N"UKN M,O2%)EGDTDD",1(G!JUX.9H8"<1(G!B\XF5HC/27I9'0WMUAG)D/^RI?Y3M= M_+3@)2 BU7,5O 1E)+Y-&5/P,KQ28B*)W'V28(W$K4$+7@X@(Z-_-T!&XLC@ M-3\:&07(*!P9_*;^:&04(*-P9-":5Z.148",PI%!"UZ-WL0H$$;APN %K\)' M4"H+6)OUGC^VSW(_Z.8^KRPIS,8W2UZG?L3-\?'H\<#5N^Z1Y%WM7%UV+[=& MKTW3?L%_OJEK]^.@?&Y#/.//X*R#O*B .TUROL8^_1K[K!T^ M@;B#?+<)_B&7?EU6?N'/_Z2LWM&$R)ARF0M O^\64@G=2_ZT,'1KAF[!T#W! M\(2W^CM0( BFC=57PH,";MKK9NCIYZ9O;_8WY2RK68-5$#E.;?5!0:]6T&M5 M\*);[C5AUVO!8Y"-&DH'O3U>_^8F.)!PCM'LV*@;1B<$!+6 H%7 C#"B.T^" M5IPW=X#@F-7SPNA P%E6LV,K[\;KG9 0UA+"5@E[3:XI_O"(,XAZCG\0_UE6 ML_"HA@(G\D_$']7Q1ZWQ3]],Z2#=@1%?2$Y!@6[+NV\O3K%8-2N+CJ)Q]?,Q MY/&Q41BZA[O7X"ER#\IO>FP4A9%_H-W>.\8RT)&;"X=$,<^9*EM/O5K?:>Z* MH_Q@?>3>CMV&]8E[.RVO+/_=EQ>H!YTHPB2BL-143B?4NRG*2TDY47Q='*(+ MKO217 Q3?8\#80ST^R7G:C&PO=V]R:W-H965T[?5CUP9,8L)K$6=M ^?=K.YD P61GMNT+Q,XY MY^9BG-N?Z%78V-' O2#1>T:,CR"PI2UO_H M>Y.((X(77B!X#<'K$-S@ L%O"/YS(P0-(7ANA+ AA-T(_@5"U! BG?LZ63K3 M"1)H.F9T!TRAI9IZT,.EV3+!I%0SZT$P^99(GIC>83DL'*[A V(,J5&&UPD6 MB.3\C>S]_)# ZU=OX!60$OYA3 ^O*>E6'.8 MEQG.#/RDGQ_U\&UIN?7M/?F^]7H%_]CD W""*_ .O^\D M%MX)7/"O/9&"-E*@(P47(GVLL)JDY0KR.E9*N3#-QEHFTC)J<]U.ZTQOCX?8 M '*#^!24G(,"Q_-/07,3*#R 3KR&K=?P95XKM)=;NC"NOEHJ//'K!AV_)M"H MDY3D'!0X<=CQ>P[R1V%@]ANU?J->OW?](QJ=AQQV_)U#N@.5G$/BCLK\'!)Y M9F=QZRQ^R4A"3M CR8G8FWS&YY,R\$*GX^-9J(4!%7F^8W8S;-T,>]U\T8><.(4-[TYI/?IK2HE\I;)3<6@DB@\Y) M#EWG4'PXO=(S673L5B,;B',L.)"B0H09:XA9$^UX MPG>6Q+P7U#EUDF>A%B;4,(X[0V,?%;H%9BM])>&@MY^Z7FE[VVO/6UWL=_IO MW9N9:^A/W)MY?:DYR-=WK/>(K4C)95Z6,I0SB.4)P>IK2]T0M-)E]B,5LFC7 MCVMYU<-, >3[):7BJ:$"M)?'Z;]02P,$% @ 28$%4P=?>_R) @ ^08 M !D !X;"]W;W)K&ULA95=;YLP%(;_BH5VT4I; M,1 (J0A2/U1MTZI&_=@NIETXX1"L&IO9IFG__6Q#6;:0Y ;\==[G/<8<9QLA MGU4%H-%KS;B:>Y76S;GOJU4%-5%GH@%N9DHA:Z)-5ZY]U4@@A0NJF1]BG/@U MH=S+,S>VD'DF6LTHAX5$JJUK(M\N@8G-W N\]X%[NJZT'?#SK"%K> #]U"RD MZ?F#2D%KX(H*CB24<^\B.+\,L UP*[Y3V*BM-K*I+(5XMITOQ=S#UA$P6&DK M0@+ /")WO#N1< M7A--\DR*#9)VM5&S#9>JBS;F*+=?Y4%+,TM-G,Z_@4E)H4_HIM6M!'1+.:W; M&KEQM"!OY@MH=+=D=$WL-BKTQ N0Z*X!:0;X&O4*)]>@"67J%'U E*/'2K2* M\$)EOC8V++)66YC#\.J 9#9J1TYSLT;P'>_#M?H@2E52M"'.NQY+NE!*G9/^5 MEWP2S]+,?QGA3P;^Y"#?L,(Q5A<5;[&F$0['6?' BH^QHC%6O,.*XR@89R4# M*SG&FHRQDAU6&&,\SIH.K.DQ5CS&FNZP@CC=PTH'5GJ,E8RQTET6#O:!0 &0 'AL+W=ORU,W-99:*6C/*<2Y! MU55%Y.L4F6@F7N@=)A9T4VH[X6?IEFQPB?IY.YD9GHAFD_8^1E9OEPPY;[0M+G#V(.\ M5EI4'=@HJ"AO_V3?G<,1( K/ *(.$#G=[49.Y8QHDJ52-"!MMF&S V?5H8TX MRFU1EEJ:56IP.OLH1-%0QN!ZAII0IF[@"BB'+Z6H%>&%2GUMMK')?MY13EO* MZ QE D^"ZU+!>UY@\2?>-_)ZC=%!XS2Z2/BY9@,(XC<0!5'XO)S!]=7-!=IA M;WWH:(?_LOY]((Y %(@US##':H42AJ&S M$)PZTI8P<82VD799%,?!^#;U=R>$C'HAHXM"C"=S+3G@/B\)WR!(HA':\NLQ7D MHN:ZO?[];/]XW+<]\SN]?7F>B-Q0KH#AVD"#P=CXEVTWMX$66]=!*Z%-/[IA M:1Y E#;!K*^%T(? ;M _J=DO4$L#!!0 ( $F!!5, *DX!(@8 .HD 9 M >&PO=V]R:W-H965TAYP7]A$9I;SS*O_LJQB.^57&4LJ\"R&V24/%TS6+^<-GS>\]?W$2K MM<_LIM/B\N>ER%B,9NK+ 35'_=LPN(XBZ1Q_%T$[94Y,\?J]7/T]WGC M=6-F5+()CW^/%FI]V1OTP((MZ396-_SA(RL:1+)X)) MX:P1)%&Z^Z2/12$J#CYN<8"% SS6 14.J.Z 6AQPX8#SRNR:DM=A2A4=CP1_ M "*SUM&RB[R8N;=N?I1F_7ZKA/XUTGYJ_"E5-%U%LYB!*RF9DN#UE"D:Q?(- M. ??;J?@]:LWX!6(4G"WYEM)TX4<]97.G/GWYT66ZUT6V)+E\S:^ !X^ ]"# MOL5]XG:?LOD%0'[N[EG,U&SA:@,H6H+P%N*4%'P27$DRH$$]1N@+?:;QE MMD[=10GR*!F!W(]#%(1DU+^O]MTAJSV(N(2(G1"OYO-MLM7UT16]2KA0T3]Y MK6PP=Y%(!0 9#D-4@VFQ&OC9@+#!)"5,XH3YJV;FPW4DC=0^"CU8 VBQ(OK/ M#C H 0;.P?H^2B/%SG_1Y+JPC2W=@+.] H-WCUI3)#L#[R,YIS'X@U$!OE"U M%9%Z G]>S60^A/]RC,.P!!=V4+WPJ.I9K-JK-R@!#IP ]Z9ZRE0NQXZ&#\NX MPQ=*(;YGA,/KA$2*,-6>00,O\&K]=]!L'V9%W_S.B*0(=1#J(;-]J$97?-C! M="B"5+,W +I,]L$9R?#1Z1&);^3"=^O%D;5KBD"C=BZ3?7!&)'RW2DQXLHE9 M-@+5\\R.F',6&GKWW?Q^PDQB5,!WR\#13-+D>(BA']9[\)#9/DRC!;Y;#'Z* M2086T1J@^M+)9@;1L VJD1=_V,5L&#:S>VA05U:;F3]H6SE!(R#0.SU&@48X MH%LXCJLA;&J!K88V,T<-*X\B;LDH)[.H3E]7^PWA0S?AGRZS0*,*T*T*QS(+ M;)*^[Y%P4._%0V;[,(T^0+<^_ RSP.9C0DA@7<5L5G[;"@4:M8%!%W,B:*Z/ M/-(HIL4*^VVU-&("PQ-D%2,BT"TB1U:PJ0NV"EJLVBMHQ .ZQ!?\"Z] M7=,- Q^2V4?7+H11 .16@-.E&&1D G7V?#$M0E6W2B!LZ2]D- =>&S@Z?E< MKS#U A/0E6 L8:ER-JZR3_12-0 9#4#=: !JDGOHUWGU@-$^1,/_J#O^1TUF MQP&NP[08H: %IF%_U 7[HR:O0QS4 5J,0MP"T' _.D'N1X;[41?]'\L>V+; K[/' :-]B(;_L9O_?VJK MO+DS-*R3A\4F:'DBQ49)L/O(X;BQ7P39*U!]Z%ML,&J!5SEMP*?''-@(!.[B MF %;3A :U2.-)4AK]8PP8+" MSYF>54=NAF'#_]C-_R=,.$8DGAG:)>VVNTQ%K.LM& M2TA:1(A4#FO=-*K3!=9T%N+$I&4R$4.+Q$V+=YHU&%TJ)JQ)FTO@$+55U% @ MZ>)(M0@2'*"/?N6]DNPMH"]4K*)4@I@MM9]W$6KP8O=BS>Y&\4W^JLF,*TVK M^>6::7H4F8'^?K[)WEXI7V\:_P=02P,$% @ 28$%4Q5]W>?0! M9!H !D !X;"]W;W)K&ULU5G?;YLZ%/Y7K&@/ MF]0VV.9'4J61VJ3I.JF[5=MMSPYQ QK8S#;->G7_^&L(Q80 R;KV(2\)F/,= M^SO'/I\-HQ47/V5 J0*_XXC)LUZ@5'+:[TL_H#&1)SRA3#]YY"(F2M^*95\F M@I)%#HJC/K(LMQ^3D/7&H[SM5HQ'/%51R.BM #*-8R*>+VC$5V<]V'MIN N7 M@.3R]PG8&R"V^AW0E*]<@ MHS+G_&=V<[TXZUG9B&A$?96Y(/KOB4YH%&6>]#A^%4Y[99\9L'K]XGV6D]=D MYD32"8]^A L5G/4&/;"@CR2-U!U??:8%(2?SY_-(YK]@5=A:/>"G4O&X .L1 MQ"%;_Y/?12 J .VG&8 * *H#[!8 +@!XWQ[L F#OVX-3 )Q] 6X!<.L W +P M"H"7)VL=W3PU4Z+(>"3X"HC,6GO++O+\YFB=D9!E4_%>"?TTU#@UOF:*L&4X MCR@XEY(J"8[!5R($R68(^#BEBH21_*1;O]U/P<^7?]?[K!L^I?X)P+ 5?M4-OR'/ +E- MZ(U,X'(RXMP=;AM-*)4(YVE>I/*J*(_ E#[I@IG0!7B@?L!XQ)?/Y<-)OD*H M !,])X2N:Q*\*.J:&5_KU#G1R#TH&@S=+\V K@7A@N;79 M.-W+:K;+:H/,L"0S["0SX7$2T8R*>HE\6%^<&XZA9235.M!,P\JV +Y9K@M7 MU01!/,!.+=G[F>LWIAL@P0J](./@/W*RRJ%1EI@M[:4 1+5D'0Q-84>NH>:+2,JT'N[=>IMI>NP)GR#X<'FGQDA 99[[%4 M"Z_5W"$X;$X=,HJ!NA6C/A@)B/\K#47C&6^"MJM\?:M:F'3L9J\:3&R[12F0 M40K4K11_L*:N"E?5$2 T:!F!T1&$7[<,=FH5,G4>V8>Z (PXH&YQ>.T"V#Y> M8#Q +5DS>H*Z3PY?.3OV]2Y#;S( 60I*LW%T$C5E'AWJX0&9VH[>[OB MO?\ MMFO7E&H?HUF3$79;4FW4 W6?'O8*#3:%'!_JB0&;^H_?[L2 M^OVL)[=/6QF M#39N2_G'IOSC[O)_S8X3P7TJY1^?%'#E3=>AGA2P41#\+B<%O/T.RAE:]:UC MO_).6[->YI\K)/!YRM3ZC6+96GX2.<\_!-3:+^#I!#:T3^'IY?J#AW&__OYR MHX<>,@DB^JB[LDX\73S$^I/&^D;Q)'^C/N=*IR2_#*@.K<@,]/-'SM7+3=9! M^6%I_#]02P,$% @ 28$%4S7_,0.9 @ ,@8 !D !X;"]W;W)K&ULA57=3]LP$/]73M$>0!HD3=L44!J)PM V":VB8SQ, M>W"32V+AV)GM-/#?SW;:T(VT>VG\\&R]KHO!&L">:Z7+N77B084X:IA]$^QFW?J86+Q5,N5]HN]C9I0=I MH[2HMLE&045Y]R4OVW/82PA'!Q+";4+H='=$3N4MT22)I6A!VFB#9@?.JLLV MXBBWE[+2TNQ2DZ>3)R(EX?H5OJT9+8@]*05G<%,27J "RF$PXN06-:'L%#[8 MD.^E:!3AF8I];3199#_=\B\Z_O ?P3W@NM2P2>>8?9WOF^\](;"G:%%>!3P M:\/.(9A\A# (1X^K6SCY<'H$=MR?T]C!C@_ WHL-FEK4UNY*&Z]$9K"4(FM2 M_79$UVDJ&\+@YX-@#$S9M";LUQ'Z24\_F!!GA*0Z== <1 M.0C[&#?)=!)$L;\9()[VQ-.CQ,;BABIWYZ8#0-LYI;8TE&HP@ZR15I8N$6J4 M5&1#RCJ.Z9ZR470Y'E86]23D;A>/I ML)99KV5V5(LIWO_S]W5Q$DW]8_;UW7*$L7+=2D(J&Z^Y)]ZM]0[SN^L!; M>-=-[XDT%:. 86Y2@_.9<2R[#M5-M*A=5U@+;7J,&Y:FJ:.T 68_%T+O)I:@ M_YM(_@!02P,$% @ 28$%4W MHZ0Y @ #P4 !D !X;"]W;W)K&ULE511;YLP$/XK%D^;- 5"DG:K$J2DV=1.ZQ2EVO8P M[<&! ZP:F]E':?[]SH:P3$J1]@(^^^[[OCO?>=EJ\V1+ &0OE51V%92(]4T8 MVK2$BMN)KD'12:Y-Q9%,4X2V-L S'U3),(ZBJ[#B0@7)TN_M3++4#4JA8&>8 M;:J*F^,&I&Y7P30X;>Q%4:+;")-ES0MX!/Q6[PQ9X8"2B0J4%5HQ _DJ6$]O M-@OG[QV^"VCMV9JY3 Y:/SGC/EL%D1,$$E)T")Q^SW +4CH@DO&[QPP&2A=X MOCZA?_*Y4RX';N%6RQ\BPW(5O ]8!CEO).YU>P=]/EY@JJ7U7]9VOM?$F#86 M==4'DUT)U?WY2U^'LP#"N1P0]P&QU]T1>95;CCQ9&MTRX[P)S2U\JCZ:Q GE M+N41#9T*BL-D"T8\W;98C$XGS#M$?<=(CQ*XA7 M[$$K+"W[J#+(_HT/2=T@,3Y)W,2C@)\;.6'1_!V+HW@Z@C<;4IYYO/DK>%\U MLBU842B.D#%NV1UDA5#%605&:.8#S=S3S/ZOLEQE ]_:M:1 99MA4VEMHVA M]<\O!,7N$2K[:T3(8A"R&,UW#VXX'1\U<6,$'IG.&MO:H;ZXN6/!0 U1X !D !X;"]W;W)K&ULK9EK;Z,X%(;_BI4=K;I2M\$V$#*;5IHFO4\[F:29[&BU']S$ M3= SH+3S/S[-6#"S5"0^-*".><)/B_G@A@=F/\CV%+*P4_7\8+SWI;SW<=^ M/UAMJ4N",[:CGKCRRGR7<''J;_K!SJ=D'3FY3A]IFMEWB>WU+D;1VM2_&+$] M=VR/3GT0[%V7^+\NJ<,.YSW82Q9F]F;+PX7^Q6A'-G1.^6(W]<59_TA9VR[U M IMYP*>OY[U/\.,21PZ1Q3>;'H+,,0BW\L+8C_#D;GW>T\([H@Y=\1!!Q+\W M.J:.$Y+$??PGH;WC;X:.V>.$?AUM7FSFA01TS)REO>;;\Y[5 VOZ2O8.G['# M+94;,D+>BCE!]!<-58>)[+"Q[C 1'I:4KW1)I( M%IB(#QNKCQ+U46/U4:(^:I[KQV1OK#Y*U$>1^OVX$D5E;$(XN1CY[ #\T%[P MPH.H%D;^HGK97EBVY]P75VWAQR\FU+??2%@ZP9T7<'\O2C(/P)_@RYX'G'AK MV]L 42 /Q%^#,?.X+PIM )[)BT/!R81R8CO!'\+^B7$PH8&]\0BG:T "<$O7 MF] [Y8+??[.PJ?\%; \\;]D^$/S@-%Z%Y55H&HT7<7'QFA<6/G1Z/NIS$?TP MAOV5C/1E'&E4$>G[O7,&-/T4( W!\=-W(:G%QS%>:N M!>;FT7T+U/.RZ@%X:/-$?JJB?&Y!F=]441[K*1.Z.@,81A3MG>QX M:H&JSHXO+2CO9<>T!>N][/C:@E6=';,6E'>R8]X"59,=SRTP[V3'H@6J.CN^ MM7DB*[-CV8*BS(Z^Z-C'MHV.;1M%6+T">[7W&7BD[@OU15?>B[9L4]&CPN4: M.C[2<43'[P\%_WP6U\ =IV[P;PU9/Y+UVOO.3A6O MVAXY!=_WQ ,SZHE1[L6N":=YQ)H="S4XD@>="G49X\*WIE2IH58281S;&1FS M@8&0E;=Z5-"*:I9!%1I9QRU;M5M^I#_M%3L%4QJPH":$PR-OV+$X4$NG=JW; M/)*\;+A, P[S,;V65MD4@;@LXI."-A@,S+S55Q7-,"IS"6;>66#M[N_)CG@T MH. []>K"F593B+J6*JVE$'VQ#_UVGX%FE[O"ZF:36%1M=ZI245FAWK998"+'I4(;5NI16$ MV6Q JC:EXNE#/6\U5_(PKE$L+?VPOO8O/#M\A7\0$5@S5Q1$,6 4WWCSZ+3$ M0JMKX=)R"X<="S59!8/FP%!+AM)^ M@.K[P3.Q#W%)G##'(7[=B)F6600[%@MEYM?Z ;:U6))GY)H)+(AU+ZUR\R*" M1E$L%0R;A4EPH8!A2\-58J4= =5WA#'QR%I,@[%4=8F%TBJ+]*ZU2JLMJA]> MVVMEE,,+S8((#](J-Q[HF>A*J10L#198WU0L9%4IE?8"5-\+YF++9,=\VDBL MM,"B0==BI146U4^Q[<6R%&(5V]=G:56;F06;J%\Y&]DF809[L0U%1CH8)H MXD&A7TU50'.(%$-\/_,-(OS@^TC\C>T%P*&OPE,[&XB'PH^_H<8GG.VBSQ(O MC'/F1H=;2M;4#PW$]5?&>'(2?NDX?LF^^!]02P,$% @ 28$%4Y,T!D+) M @ <0@ !D !X;"]W;W)K&ULM59=3]LP%/TK M5Q$/(+$F33]!:21HAV#:1T4'>YCVX":WC85C=[;3@K0?/]L-(:P?( U>$CNY MY_C<P(HAPFFFBT,QMV03GA"24,QD)16Z5C MN"!4PBUA!<+A"#6A3!T9]IO)" X/CN# DGS/1*$(3U7D:Y.2%>8GI?SSM?QP MA_Q/!6M T#Z&, B;6^##_? 1)@UH-1T\> [WC9&5FV'E9NCX6B^ZJ9ZE_O.S M"80K8Y7ZM6>95K5,RRW3?KEH1"G4VWQ;,W0=@]W+R[C=B_QEW9O-D+#;J6*> M*6M7RMJO5<8HF5)&]<,V=6N63FWI3K_SC[S-F%9_N[I.I:ZS5]U7H4TO*SKG MIFM3XQU<8CJG?%YK:_@#8XD+0E/X>&\^E@H5F-Z$;SI#"<-"2AMT9FU7>TK9 MK21UW[-C>M4RO?_NF-Z&WQL=LQFRLV/ZE;+^6]3D+$ED@4\UV>/)2;7RR7M: MWPR>/K'!FVR*DJ:[=U=L"=K8%G[M/+"'\13\30C].[*E3_67$?P%02P,$% @ 28$%4W$D M4Z2L @ Z < !D !X;"]W;W)K&ULK571;ILP M%/T5"_6AE;9 2$A019#:1%L[J5O5KMO#M <'+L&JP9EMDFY?OVM#$2E)MDY[ M 1N?8ZV@KYJ'( 39X*7JJ9DVN]/G==E>104#40:RAQ)1.RH!JGG$D?UV*^-(5)JS$FXE45514/GS$KC8SIRA\_SACJUR M;3ZX<;2F*[@'_;"^E3ASVR@I*Z!43)1$0C9S+H;G\]#@+> +@ZWJC(G)9"G$ MHYE$44,8V41K93:M!=4TCJ38$FG0&,T,K#>6C=FPTE3Q7DM<9B4K1,5>1JE&0"NTFS_66]O7]@^P\5'Q!O_(;XGC_<0Y\?IR\@&9#1 MT-*]7;J+1K1N^*T;OHTW>IT;F!NY@G1ES3#GCFD&BBR82KA0E03R[6*)<#R3 MWX^H&+4J1E;%^("*]U(HW+00E=E<9/BW)&)5LE^0$FIKL<_H.N;$QC3_[B8> M3R-WTS6S#_$G08O9T3INM8Y?I=4A)Z%O8A!RV]-0$8?!" M<1\S"O<+GK:"I_^EYM,_UOP88D=:V$H+7U'SCGO'"Q_V?HR^CWU,ST>WTX?- M'7A#)?8,13AD2/(&4\Q4UO=*/=%B;5OS4FAL]':8XU4,T@!P/1-"/T],MV\O M]_@W4$L#!!0 ( $F!!5/#:@"TN ( &8' 9 >&PO=V]R:W-H965T MS?=72=0]<=W=NV8!$Q*VTNRC_D>,YG,#M="WJL$4<-#GG$UN MJ\($M[7M_-67 M25!%GC/Y.,%,K$=.Q]D<7*=QHLV!.QXN68PWJ&^75Y)V;LT2I3ERE0H.$A!OP)<6UVEJ#R>1.B'NS.8]&CF<,88:A-@R,OE8XQ2PS1&3C1\7I MU)(&N+W>L+^SN5,N=TSA5&1?TT@G(V?@0(0+5F3Z6JP_8)6/-1B*3-E/6%>Q MG@-AH;3(*S YR%->?K.'J@Y; .)I!O@5P'\."%X!="M ]ZT*004(WJK0JP V M=;?,W19NQC0;#Z58@S31Q&86MOH63?5*N>F3&RWI-B6<'L]0IBMF?BPXYTK+ M@GI *SB&YHLC>$^]!ZT+H=0AM&:H69K1ZAAN;V;0.CB$ Z#[SXDH%..1&KJ: M3!HI-ZP,34I#_BN&NG IN$X4S'F$40-^MA_?WX-WJ3AUA?Q-A2;^7L*/1=8& M+S@"W_,[#7ZF?X+S-O@#"_>:TOD_]?D_J^\4HUNW2]?R!:_P?1*:.D.E,6<: M(V */F 4ISS>:A+X!?0?IG\HAVDA)?+P<;MK]K@(:A>!==']JZ;=[D3*F?]$7[Y ETS&IJ09+DC*:Y^0 M8UE.]7*CQ=*.K3NA:0C:94(/(4H30/<+(?1F8P3JIW7\&U!+ P04 " !) M@053+W*E2H0# O#0 &0 'AL+W=O_QQ_7B*.17E5.JP;>RX&KIY%H?KEU7[7):$G4E#I2; M+WLA2Z)-5V:N.DA*4DLJ"Q=Y'G9+PKBS6MBQ.[E:B$H7C-,["515ED0^W])" M')<.=$X#]RS+=3W@KA8'DM$'JK\<[J3IN9V5E)64*R8XD'2_=&[@]1;BFF 1 M?S!Z5+TVJ$-Y%.)KW?F4+AVOGA$MZ$[7)HCY>Z)K6A2U)3./?UJC3N>S)O;; M)^L_V>!-,(]$T;4H_F2ISI=.[("4[DE5Z'MQ_)FV 86UO9THE/T%QQ;K.6!7 M*2W*EFQF4#+>_)-O;2)Z!&-GFH!: AH2@E<(?DOPO]=#T!*"[_40M@0;NMO$ M;A.W(9JL%E(<@:S1QEK=L-FW;),OQNN%\J"E^);>_XK M]GJ+H5XE8M\MD[]^-5#P2=-2_3WC*.@I+\L8!G'B)=%+V&8,"[T8QN%+V'8,\WWL^ZB#O8@R[*(,9Z.\*:ED.Z)F M$H8[4_AME8DZ1]&ERC3$L)]R+P[@4)DQ#,<)Q@-AQB@$,0J#@3 3/E&"8# M M3-P%&<\&N:VDN8=GLI5TAI*WE05ZYU/+ 7UA,P/TSBX9:9 M@$$8>7"X9R9P<1#B9%H:V+NNX&R@'TTUI*D$ZYQQ,I?$6D\_D-YP_PWW1N)+I1;%:A M\T$)PS=6Z'R00GRQ0GAT#030&^^C,&ULO5;9;MLX%/T50NA#"TPC:K4#)]*/K 2-F;+14F4[HKJH SN!))U M61+Q_18*?I@[GG,RDOI/VB0XO% M#DIKJ7C9DG4$)67-GSRUA3@A:#O#!+\E^'U"^ (A: G!SWH(6T+XLQZBEF!3 M=YO<;>%61)'%3/ #$@:MK9F&K;YEZWI19A;*1@D]2S5/+>YA#ZP&= \ISQFU MXKU'Q]$5E23/!>1$088>OZ,[P;,Z51(1EJ$-B#U-0:*W*U"$%O*=ICYL5NCM MFW?H#:(,_;/CM=10.7.5#M:X=-,VL-LF,/^%P +TB3.UDVC-,L@&^*MQ?CS" M=W61NDKYQTK=^J,&/];%%<+A'\C'OC<0S_)'=':%_,32\5 ZO^9]_6KO9\4( MNF436'O!#Y;-5O 2K9\4"$8*M+3K%03Z\K?&HP\*2OEUQ%O8>0NMMW#M+F$13KPD.H>M+V%!$ >!W\'. MLHRZ+*/1+#=*[Q0B,E2=;C+9;K*1,L:=@_@WB#;IO$U>*UI#C$Y%"\+ ]WNB M7<*TL GNBW8)"Z,X#GM+8'T)"SPOCE\0+>FR3$:SO*FJ@J;$G)OO904IW=*T M/;=U224O:C,UIMZT\S3]#>IY^/EBP*_5KV6>;8 P">*>?@,P#_M3W--O !9Y M4="3>3T \\-X@GOZN2=WH:Y+;A\A$J6\9JHYW[K1[J%S8Z_WWOBM=[WT!L97 MYF%D[]YG\\VKZA,1.642%;#5KO#51"\VT3Q4FH[BE;V)'[G2HMGF3C_N0!B MGM]RKHX=XZ![+B[^!U!+ P04 " !)@0536B2VY"$" "4! &0 'AL M+W=O(!IYK M+O0RJ(QI[@C1>84UU1/9H+ [I50U-=95!Z(;A;3PH)J3* SGI*9,!&GBUS8J M361K.!.X4:#;NJ;JY1ZY[);!-#@M;-FA,FZ!I$E##[A#\]ALE/7(R%*P&H5F M4H#"&G3ZSP76RE_+).0_%,@A=0<@Q-XZ!VM\1,^3<$=DR M?@V'ZZ@:N@ GX6LE64U'HA!A;E*,F^5# ?5] =*& SRV? M0#A[!U$835^!9V_#UYA/()YZ>/@GG%@I1CVB48_(\\7_T*-4LH9,"J/LH-DS M,15D_C10P8_57OOUGV\DC,>$L4\XNY PD]IH,!+*EI>,<\B'I*])V5/-/96[ MG\I#*[5-"!10!4A0-JW3*E6PK@_3'DQR(58=F]D.M-]^9R=D; UH>TEL MY^Y_OSO;E]%.Z1>3(UIX+80TXR"W=G,;AB;)L6#F6FU0TI=,Z8)9FNIU:#8: M6>J="A'&4=0/"\9E,!GYM4<]&:G2"B[Q48,IBX+IMQD*M1L'G6"_L.#KW+J% M<#+:L#4NT3YM'C7-PD8EY05*PY4$C=DXF'9N9T-G[PV^<=R9@S&X3%9*O;C) M?3H.(@>$ A/K%!B]MGB'0C@APOA9:P9-2.=X.-ZK?_2Y4RXK9O!.B6>>VGP< M# -(,6.EL NU^X1U/C=.+U'"^"?L:MLH@*0T5A6U,Q$47%9O]EK7X< A[AQQ MB&N'V'-7@3SEG%DV&6FU ^VL2F^"X=)NRM)J^C#@Y(V-_!!IIC^Z1]21DU:\3ZM67Q2\',IKB'J M74(([#1)5"FM<>5"OF4K@9A8J]9L#I*@=J-\ ]4\" M/6MN\4IEF;D$28V,:J/I/&]1\W:"_CN"JWC8SC!H& 8G&6B7J0-(P-D")ZZIC5A.K-KY+K92EGN>'.?UD M4#L#^IXI9?<3%Z#Y;4U^ 5!+ P04 " !)@0534A] &,(" #;!@ &0 M 'AL+W=O:X?%<[\ MWDO.*A":24$4%'/O+KA=3.UY=^ ;@YT^&!.K9"WEBYU\SN?>R (!A\Q8#Q1? M6[@'SJTCQ/C5^?3ZD-;P<+SW_M%I1RUKJN%>\N\L-^7B;67R:Y=D^R:\\F8X]DC3:RZHR1H&*B?=/7+@\'!F%PPB#L#$+'W09RE$MJ M:#I34/8W>[,!)==8(QX3]*$]&X2Y#.Y.N8 NB ;*"3&X$7Y!UA@GPM9:.IR/7,-TAC??I9%WG11@Y/1([)@Q2F MU.2#R"'_V]Y'%;V4<"]E$9YU^*7A-V0479%P% ;/3TMR\>[RC-MQGZ&Q\^?YK M(7&-D*IC'>**C[BN@RB83(;!DAXL.0N&A8%M01!XS4HJ-D 4-9@Y-QZ\,LDQ M1A0/,TQ[ANE_5!1>DC?2W9$A@.E1,25Q%/V;!O^@X52@-JZM:I+)1IBV]_2K M?>>^:QO6G^-MVW^@:L.$)AP*-!W=)"A>M:VTG1A9N_:UE@:;H1N6^/&PO M=V]R:W-H965T#(IHQ7-2#EF!^&GYVPM4B3G-YP4*ZSC/"7"YJRI],1'&UNW";+E5 W)F<+DY'Y_#X"F.EH"6^)O2I[%P#YBH65,I=J\WZ%?:>>G, RGI)4N_ M);%8G8["$8CI@JQ3<?J6U0Y["BUA:ZO_@J9(-IB,0K4O!LEI96I E>?5) MGNM =!1QS0VZ,_L M^KY%?R+];)Q%&V/XF!E_946ZB6Q.%FEV(-BW?M4F7. MT<-PEYYS3O(EE:U.@(<7T)6[(2_Z]OD3X3'X\W<)"3X+FI5_60QR&X-<;9"[ MPZ!ONF/1^(@\4BX[,%A*.\113 0%"Y)P\$C2-2T_@B0',4M3PDM04%Y%%_P M;:1-956M'>BU%34\GF$T=H*3R6-W0PZEX'0,<5]J9L#"8W<+:V[ "L<>:J1Z M0?*:('G6('UA@J0R H(GDHFB*B8F?RL8O[LZ]!%T'&?+Y:$@GF)O.A"<#04] M/'7#@>#<)!A"MRO8\]UO?/?W\+VS%0!;@%(U6\ *M75+\$A+88J&/XQ&B)UA M,"HYKRN'PF 8BR$>#EP#X'P(B(.I!W?&(FAB$5AC\4EUK%(2FUC)IF2?-$?F0D)U5C,GED7SP<.\XO)K;X:;6> M[]/&]^D;^4[2%#"98-YDV-C?[,M#M,O]G]?K^0^==BARK%"?\TB.Z6KZB6EU M=0@$ U&7>F@U(!G'&F=0S$KV#"KI,V$Q2K\#W+[-5X9XVZ'AN"% M$@ZF(*O&2AB"F+R4MAW3#B@06[&K.;J://:.-QZFWPE,K=X@&3IP2&>S6K"W M\U" APPY-T B%#KA[A2VLQ&T#T=?R+/,54X7B0 +SK+] ^(. ^)[ACG )(@" M _<9!+'KNX9PN$.6#-W=W ?;(0C:IZ!+3N-$E'+K*J++EVHGZVFQ!!')(WFF M-F[F2VB8BES'8E$[FD#[;'+;MH:ZN")6:G.*1$XM.ZKK @X'B4&X7Q6YLHKT M'6KG"V@?,.:;<4)7(?A#,Y*MK-LI (;OX^ !6W*&=IK32Y6R/NZKAQ*.>LW0>/>NE>77G^%!D*:P_)_AF])5]D M)]_YD.Y?J(G:[?*NQ6V M)3Z$WL=60RVI(3NI?943GNI8FS0PT^8RIL..BU_/1DLVR$XVM])&GD1J8JBJ M_SY7W?;@]NY^^YE5?X6V@2/OG22F[>#(WL$_J5J0RQR8'B\U[HL"&YD MC=KV7,L[:/H^R@"W3('M;?T_]Z=7<-U7^Q-NV0+;V>*://^/]."6/O [H0_< M>6C[1O3Q"JZW.SV3SIN0C/*E?F6!"L$Q?KBB1 M$YL2D+\O&!.;+VJ!YNWBV;]02P,$% @ 28$%4_R+PRMY! RQ$ !D M !X;"]W;W)K&ULK5AM3^,X$/XKHQXZ@01-[*9Y MV2N5>-N[76FU"!;VLVFF;402]VR7@G0__ARG30)Y*^Q^:6/',_/,>/S,.),- M%X]RB:C@.8E3>3I8*K7Z9%ERML2$R2%?8:K?S+E(F-)#L;#D2B +C5 26]2V M72MA43J83LS8;TX'9+";N(D62Y5-6-/)BBWP M%M7=ZEKHD55H":,$4QGQ% 3.3P=GY-,Y=3,!L^(^PHVL/$/FR@/GC]G@2W@Z ML#-$&.-,92J8_GO""XSC3)/&\>]6Z:"PF0E6GW?:/QOGM3,/3.(%CW]&H5J> M#OP!A#AGZUC=\,T_N'5HG.F;\5B:7]ALU]H#F*VEXLE66"-(HC3_9\_;0%0$ M1EZ+ -T*4(,[-V107C+%IA/!-R"RU5I;]F!<-=(:7)1FNW*KA'X;:3DUO55\ M]GARKOT*X8(G>K,E,^&Z>LZ>$4[@-M\PX',PJ^'[RJPXRP(:J1 MP0%8()=,H(0HA;LT4O*X,O%CR=>2I:&>/'@UGEA*^Y(ALF9;W.4O'H @$W07BG'8J_+J.AV [QT!M2NYN+^'PX*AT)__M,#,J MXCTR9D9M\I'WCVQ'IJP# N,(P[,?PM6*HPW,O^N&;?<8-F\VYAWNTT M?_6,8A;)/0&X-0 GA+A>,P2O@.!U0M!L,<=(QP"X 'Q>16)/-%X#&H\T@_$+ M,/YO30F_GA+$;L$0%!B"??:$/<0(3&8\(G#%A=*8(&0*]P(6U("-W#%M!D;L MDOWL[O 8*I/PA++<,%TP]+/B9O;CB+>FJY ]QW-:(%<(FW0RR$]3:# \@;,G M%+IRPB[GX5I$,^S@$4)+(W3_M-%,'?(X9D+""D7NL?:\9,=&[W,#7O5P.T-O MU.)^R9]DM!^_? Q5KIPXKSAO2%I8AY3,2[JIM\(['P/FU(&-_.&XY>B1DHY) M-Q\WL]'',([K&,?V,!BW8"PYFW23]F_(-K<.S?&'=@N5DY++23>9]W-7<1Z; MC^-''?(:\\%Q6QPJZP'I+@CW.=/I:->H[ACXKV^$7S_VWI"V[4-90DCP3M:[ MP>S2D>W#A>X$A6[OURR&'RB2O+,J6JP7U"YTM5>T+!>TIUR\B8]1W12&'CUN M+@G$AB1O8ZFOT^FEJ\.D986@9-^<[4'9K6>\1>GO0)*@%V1986A/A>FMO#W8 MN]7O(AP4 2:]V,L:1+N;^+/%0N!"GW[XHC,OTE?4&=RS>(WO[.MI65[H.SK[ MRL'4Q[$Q.+DVMW(*:>"/VGI[6E83VEU-WJ96'XYZAT]&ULI5;9;MLP$/R5A8 "+5!;EX\TL WXZ@4$#1*T?2CZ0%MK MFP@ENB0=QW_?):6H24#+2?IBDQ1G9G>TI':PE^I&;Q -W.6BT,-@8\SV/ SU MK*3*F:&I6H=ZJY!E#I2+,(FB7I@S7@2C@5N[5*.!W!G!"[Q4 MH'=YSM1A@D+NAT$2\*/_97>7# T"2'@$D%2!Y H@[1P!I!4B?*G2/ #H5H/-< MA6X%<*F'9>[.N!DS;#10<@_*[B8V.W#N.S3YQ0M;)]=&T5-..#.Z-G)YTYJ0 MU1E,94[EIYE[@_,[.T9HP4]G-F:M\2TJJAT8:ZJJK=VEX;L%_*P9WVO AV1?[6%R[^$D:23\NA-MB#KO(8F2V!//]!2\:$-R MYN"1+YW_4Y^_6OV1&6E=4*GC2X\5U(8I;"U<05VR UTI!L:*WOH:W?C7>*&- MHOOA=X-8IQ;K.+'.$;$KKF]:*X4(BAGTE5(S/FYWHS>^-W8*UO/"9J=@J1Z7>_.5ZCUSK MUZ[UG^>:097#6_I ') I_VW?S-0OD1!#;F]MZ$'&#MIG93-/K^3Q>=D,[%8! M?"@#H$C.CH4P?T4(I;WA@R]XCFKM6B<-2[DK3'GWUJMU=S9V3,+7F]&46N"*IJ-VGKZ0T]Q,K4/>XH[]02P,$% @ 28$%4R6F65&P P /PT !D !X M;"]W;W)K&ULK5=M;Z,X$/XK%MH/6^D*F->D2B(U M+WM[*^VI:M3N9Q Q!J49Y9CVX&5D[0P M9A.]]L!F$UJ*+"W@@2%>YCEA_\XAHX>I@8WWA<=TFPBU8,TF.[*%-8BGW0.3 M,ZMAB=,<"I[2 C'83(U[?+?"G@)HB^<4#KPU1BJ4%TI?U>2O>&K82A%D$ E% M0>3/'A:098I)ZOBG)C4:GPK8'K^S?]'!RV!>"(<%S7ZDL4BFQLA ,6Q(F8E' M>O@*=4"^XHMHQO5_=*AM;0-%)1;H!3 YQ3@-<# M<&N >ZT'KP9XUWKP:X .W:IBUXE;$D%F$T8/B"EKR:8&.OL:+?.5%JI0UH+) MIZG$B=E:T.CU=BY3':,%S67]<:)WN,P T0UZ!"Y8&@EI MK9'HJ4@%1Y^7($B:\1MIWF?RN'[2SS\A"_&$,. 32\@0E5 KJL.95^$X/>&X MZ#LM1,+1JH@A[L OA_'! -Z2J6WRZ[SG=^X,$GXK,Q/9WA_(L1W@VOIWF] M'MZ_:;&7124+BG!5A$N(('\!AERLM..Q=EG5U$U7%BMZ7].K5^M^YON>;J"<__,N3,.>IT'C?-@T/ESE9!AW_/@S#=VVZZK&CVW M.K%8=O#X9SRK(9X/089-D.%@D/*LV$"JXJ0,P=LN99?3'9Z)N'7"WG2/&B6C M7RK![X1%"7+&5>]+ K?^C#%.+;^STP>3E MNFZ1/$X ?2$I0\\D*V&@3;%]/&SL_Z%18YIEA'&TDP]TTCKWL785MIL6FT[8 MG0S<.A#QU5U[E9)Y3=A6$OKF>'3211UF?F".PY--KLVPU][FT/3\<>OOI+&Z MJ+'INSVY<(ZY<*Y]B5RY*!ED@'N4'$\.[/Y>IU^IR^W0Y9E!CZSCP8-_ M[>3I:/LK:\@[V\' ,UU\6AR7S*HXK-:%, >VU3=QCB):%J(ZKIO5YK9_K^^X M)^MS?+? '>M+]76@+Z!'^NK30F9@FQ8<9;"1KFPSE*\K5MW6JXF@.WT=?:%" M7F[U,)%?.,"4@7R^H52\3Y2#YIMI]A-02P,$% @ 28$%4R+:_^"/ P M1 T !D !X;"]W;W)K&ULS5=-;]LX$/TKA-!# M"SC1M^4$MH'XH[M=;($@WNX>BCTPTM@20HDN2=GI_OH=4K)LRXJVZ.:0BT72 M[\UP9I[(T7C/Q9-, 11YSEDA)U:JU/;6MF6<0D[E-=]"@?^LN*I85<"^(+/.$LWL +U97LO<&8W5I(LAT)FO" "UA/KSKU=NKXF&,2?&>SER9CH4!XY M?]*33\G$J 0FTOYDR:7[*OL8Y%XE(JGM=DW$&>%=63/M>) M."&@G6Z"5Q.\-B%X@>#7!/]'/00U(?A1#V%-,*';5>PF<0NJZ'0L^)X(C49K M>F"R;]B8KZS00EDI@?]FR%/3E>+QT]4,4YV0.<]1?Y*:"BZ?]1C(%5FA.).2 M >%KLLRWC'\'("L0NRS&9TH%7#U>\ ?DCC$>5[:0^ QWQ39/PB[!Y%QC99* MDO<+4#1C\@,Z^K):D/?O/I!W)"O('RDO)2T2.;85QJEW:\=U3+,J)N^%F'SR MF1>;T&?RO9-7&" ?$B.Z]%A9'!J+^FC>35TG\C%;N],J7Z)&CCLZ!RTN09X7^3?G MJ&47:N0<;9U%'C:1A[V1ZW16B=Y!44)/+H>-Q>&;K'74["]Z]5I7%L.3U/NA MVZIT!V;HMPI]B0EOVF6^Q$1NU%WD41/RJ#?D!Y! 19P.R ++S/@6;WTU('C2 MXG&W03"FN]@8'3DLNB M Q4YPZ@EABY4-'Q!#NY) ^#V!X]-&E9\0'Z! @1EE1;N$FPV,JD$U8U<7Y:] MHR/O;>K@>#.Y_NOKP+\XBB/?#=LZN$2%7ABT=7")TE&"? M=(4YB(UIQR4&5A:JNJZ;U:;EOS.-;FM]YM[.W8[UA?Y$,%WHT7SU??&9"CQ* M)&&P1E?.=82B%57+7DT4WYJ>])$K['#-,,7/'! :@/^O.5>'B7;0?#A-_P50 M2P,$% @ 28$%4Q*T0F^4 P $ T !D !X;"]W;W)K&ULO5?;;MLX$/V5@; /"9"U1.J:P#:0V G:HD6#I)>'Q3[0$FT) MD427I.*F7U^24F0YEA7O%JT?+)*:,W-F.!R.QAO&'T1*J83O15Z*B95*N;ZP M;1&GM"!BQ-:T5&^6C!=$JBE?V6+-*4D,J,AM[#B!79"LM*9CLW;+IV-6R3PK MZ2T'414%X4]7-&>;B86LYX6[;)5*O6!/QVNRHO=4?E[?29+DXA;_A\_T<3OXZ!9$23@5D)7Q*625( MF8BQ+14+KAG\@? 0('X3?#,,_QE)9/]=P M% W$TFW3R37ZW /ZKK]5F7PZ@UE.A "VA$^JW(F*/T&=:/^\5P!X*VDA_ATP MY[7F/&/.&\Q>WF9O DG%LW(%:\HSEIS!(\DKVI>CM=[ Z-75]W&*//<\H-1<- M.G2YW8&8%86Z&84Q(QDL:#0ZH=_/!CG;*\7Y/:=RUBC>/988X\.IB#H7'1IF55]>75I$JF@) M^5J4&L7=,&$_>G'\>X001H=BB;>L\?]DWB2'RQ7:7@'(_:^G7MU2 M<=IS1>U:V%9]Y/V)4X^V)1@-U^!?.??7:+^\'CKX=J>1*RA?F99;*)NJPM<- M3;O:MO67IIE]L3Y#%_.Z.=^JJ;\5U%:LLE) 3I=*I3,*%3M>M]_U1+*U:1<7 M3*KFTPQ3],R>>)-M!^!$U_ E!+ P04 " !)@053,?#NI_<# M "#$0 &0 'AL+W=OV+$4I 8J"*.(0SD+;N.;99QH@'GB&X&=.&HCO905 M8\^Z\[F8!9&>$5202TV!U>4[+*"J-).:Q[\M:=!I:N!Q^\#^R2Q>+6:%!2Q8 M]2%^[<:X#$L\GW*V0UP_ MK=ATP[AOT,HO0G6@/$JN[A*%D_//-&( .)224^3D.IUJ9G&.;M.N[VZT@ F_--401>D%2J(DMLQGT0>G0Y1,##RR+>?_J2_/ M5C\Q8]1%VB;232(U$ZI>02@)>5!H5 M@ 8KH% 2^1%AB9Z&CT-4MN$KNO#-N_#52-VPQ9Y?.HF'4?2+[3_VXP9[H"W: MLS,5ES^/.W%[W+D]]A*9=(!(YSF("T35MJ82QL'CUGR;G7[NQ.6F'S9PFWF> MWM(/Z[/RLK/RTLNC]CNUF]$N_E!!5,KD0"7!E.'39DY^HM MSP">.'C5.7CE9=)I)>=0V(/-CW5'S<(/=$5-=J[>L@>8]-DUZ>R:>)ET!N;0 M9KSV+54U7X7U/J_V;E5SY,^(;74%(&R.^NFM$]T[V@.,K]VO< \T=;K:-]GK M/ENO.UNO>Z/0O+^X^$?5;:J8MH:CGR1RY3X_+)ZXHO$\N>5/PTXLBZ.WZC/R M,OTN-\"MU9X?Y]QQ>W#N0,G.5%SVX-(^KXXJ]?CL"L=JH9\NOG)ZZ <.QN[7 MM$_3XD;KHA]HF>NIB\F;B\G[L]_!QZ/L9[9AD VGJ%3G(+JVIL >$7=X]N!2 M%S+K03K?Y#Y%I[/AT:&R!KXVIWFA"N:&RGWEWXUV7PQNS3GYA_&[^&816\8S M_87!'&+?Z/>?)[YBOB94H I*)14-KU0EQO&PO=V]R:W-H965TM ]%'QB9MHF52)>D<@'Z\1U2LF0G$I7=;= 76Z)XYG(XG!E* MXRQY_4Y"&&^=C^W8G3P?BU3'C-,[B52:)$2^7-)8/)VU_-9N8,[6&VT&.N?C M+5G3!=7WVSL)=YU"RI(EE"LF.))T==:Z\$^O\,@ [(S?&7U2>]?(N/(@Q%=S M,UN>M3QC$8UII(T( G^/=$+CV$@"._[.A;8*G0:X?[V3?F6=!V<>B*(3$?_! MEGISUAJVT)*N2!KKN7CZA>8.!49>)&)E?]%3-G .14 W .P*\!O1I -P=T7P.&-8!>#NB]5T.0 X+W OHYH&^YS\BR3$^) M)N=C*9Z0-+-!FKFPRV710##C)K(66L)3!CA]/N.12"CZ0IZI0D=3J@F+U3'Z MC.X74W3TZ1A]0HRC+QN1*L*7:MS1H-1 .U&NX#)3@&L4=-&-X'JC4,B7=%F! MG[KQ?0>^ \X6'N.=QY?8*?#7-&XCKW>"L(?]"GLF37#>1GAHX5Z5.S^F/?PQ M[5=N^)1&;=3UJ^ '7':+Z.E:>=W&Z$$36"7&UY1'+^C/:YB'9IHFZB^'EEZA MI6>U].JL9BJ25%.D0<\#Y73%-&2UF&BZ1%H@V"315R2V)E551JA;/&Y[WD]5 M@>"&^2._!CAU WLUL+#!S-%;W &=04%G\'XZZ3/4*$7WZ33#\#R5'*T8@->5 MG+IUU%$S:8#U:CEU [TZ3AOT#1HX[1><]IV"PM6*VAJ9L0=4 K-1G"Z!/K3< M$<[,CD!'1"&"ME1&E.OC*F[=NOQA';D-N#IJOU-=V(!KBM=!P>W ':\4V(/F MP10B2165CU"JH*>">YM]M*E=)XA#&R96IJN@4II(+I-%E=.9SK[5:=JOQ_-1 M-QAW'BL,'1:&#IV&SKBF8*!&4"EA?3F)-0-3P4P(!+"HM+_*H.$;@[H#K]J@ M46'0J,&@'4'%/C_**3E&1*/[]J*-5G1))8DABQ*=:B%?4"3D5M@8W@5S59"Z M5>/:#.#&'67 JFTQ_4Z-X;?C#MCVO;*7\MX=J?1-1JCLG=P"@SH2&W!'02V) MWZDQ_';<(8E[#:GOE'3-R .4'?UB]WC*(RJA*>66QJU0K+;*YW+W=Y#?QT&Y MJ7,"FJ8=VHU+N['3[GFVM=]D)A3%1"FV8I !;.;G@D#@8U7I<-H-]M2C%9R$/C (Y]WGEVD(9CAY_37,&! M QX>UAA6]HR^NUVZ89PE:8**/3GC:*]=#?-\.$WA7J Y''7S2?DZ5H=8[XVM MOO!()(.#L]D#I@\DJ=X(R6Q38+*$T!LJ$>P6.U3IEML <*O_ M;K?*+L9WMS%70E*VYC:J+G*37] _Q3),1)(P95XM40E]U\P<';CK9.Z7_8H_ M^L#S)"X+-797JP]MC!IT^[@=.$LE+DLE=I?*NI5::&/CQ1)BD2DMLWB$WACF MV>L3--E F+IL*,L>QA^Y9&6AP8V%Y@.7S*T;-W4WN"Q+V%V6ZI;LM]MY>'&" MIN'-[61^\64V07?A[=UU^/,"S<.[^\MK&+F]NY/NQZY8 M0\)O7+$RR^.&XRV^M$RK7 M]OL"M,LBY3I[!5F,%M\P+NR;^U?CE_[IQ*\8G_JG8?:%HA2??3"Y(7+-N$(Q M78$JKSV '2.S;Q#9C19;^\[\06@M$GNYH00(,A/@^4H(O;LQ"HHO0>?_ E!+ M P04 " !)@053"$X$[?X" 6"0 &0 'AL+W=O4(9@94$C?PO,0M(:;.9&1L*SX9L4H23-&* U&5)>0O M,T18/79\9V^XPYM":H,[&6WA!MTC^7.[XFKG=BP9+A$5F%' 43YVIO[-,M'^ MQN$71K4X6 -=R9JQ1[WYEHT=3R>$"$JE9H#JMD-S1(@F4FD\M9Q.%U(##]=[ M]B^F=E7+&@HT9^0!9[(8.P,'9"B'%9%WK/Z*VGIBS9R-$+2!Z;X2X!9C2W:9V(]P" M2C@9<58#KKT5FUX8]0U:Z86I[I-[R=53K'!R\F"41-GE=(>X:@QP7T".!+@$ M52)U2P5ZI67"6\'M%KH 7?0:!%_B6?.9O MP>D5" 8&[MG*^;_HRP]'/Q(C[-HF-'SA";XEY!33C0 KQ)M. +^G:R&Y^O#_ MG.&/.O[(\$OIX&%)@X&/04L M3OZ!3$?U)UW]R=GZ'TXTA6J$=GFI]=A!@JC\0*LDEK&PO=V]R M:W-H965T M>FMCLDO?U_$:4JK/908"GRRE2JG!K5KY.E- $P=*N1\%0==/*1/>:.#.KM5H M('/#F8!K172>IE0]38#+[= +O=W!#5NMC3WP1X.,KN 6S/?L6N'.KU@2EH+0 M3 JB8#GTQN'E/ PLP%G\8+#5>VMB0UE(>6\WGY.A%UA%P"$VEH+BWP:FP+EE M0AT/):E7^;3 _?6._:,+'H-94 U3R>]88M9#K^^1!)8TY^9&;C]!&5#'\L62 M:_=+MJ5MX)$XUT:F)1@5I$P4__2Q3,0> 'GJ 5$)B%X#VD< K1+0>JN'=@EH MO]5#IP2XT/TB=I>X&35T-%!R2Y2U1C:[<-EW:,P7$[91;HW"IPQQ9G3G,@G) MV7@#"CN#W*ZI DU.9F HX_J4G!'MC@:^07\6Y<QSBK8*-=L).HD?!+SL])T/Y HB *:_1,_P07YR3J.WA0%\Z_ M>9__M?<7R6A5E6\YOM81/E?H,_N2)60J4[QY-'7O[E@I*E: MX$ABR>R;W=- MG]SQ>$M50GY^14KRV4"J?S4(:E>"VDY0^X@@%)&B>VSY^)[ 0\XVE*,S3> Q MYCEV %DJF9*8\CCGA52Y) GC.?8O$7BI[OLH5J\2U&L, M="P,.W.YQWN>:(ASQ0R#@V*AUMQ4Q0*J!!.K-Q9ITCLH4B\(]VM4U/+0K-.O ML9O5V%T?$^NB(,GC\G MP?_OBU+#BTH>=$6-4=0[;(H:LYJ>J+-J'[:$O_&ULI55M3]LP$/XK M5L0DD+;FI6DI51NI;VA,8D)EC _3/KC)M;%([,YV*/S[G9TT*RP-2'Q)[/,] MSW.^7.Y&.R$?5 J@R5.><35V4JVW0]=5<0HY51VQ!8XG:R%SJG$K-Z[:2J") M!>69&WA>W\TIXTXTLK8;&8U$H3/&X4825>0YE<]3R,1N[/C.WK!DFU0;@QN- MMG0#MZ#OMC<2=V[-DK Y;H=.P, M')+ FA:97HK=5ZCN8P.,1:;LD^Q*W_Z%0^)":9%78(P@9[Q\TZ T(CP"Z%:#[7H6P H3O5>A5@-YK0/<(H%\!^C;W9;)LIN=4TV@DQ8Y( MXXUL9F$_ET5C@ADWA76K)9XRQ.EH"4K+(M:%9'Q#9BF5&U#D"_E.I:3FHY/3 M.6C*,G6&UKO;.3D].2,GA''R(Q6%HCQ1(U=C)(;/C2O5::D:'%'MDFO!=:K( M@B>0-.#G[?A^"][%#-1I"/9IF :MA-^*K$.\\#,)O,!OB&?V%IQW2#"P<*_I M.A]37WQ,_;(=?DV?2=!O0K](9;>NJ*ZEZ[ZKHK ^R!(RJB$A$]-%F&988+\F M*_3"MO*[13&L%4.K&!Y1O,?>A2TV!NQT25%VK%.J""5;0"O79TU):><<=#SO M4TMLO3JV7BO/RVS$Y?_5],.4-'U+8Z;!8X0?X_&P!/_W\,/SB\%+K_F;/(NW M>,I[N@<])0>,VG1_16)1<%T60VVM!\S$]M57]JD_G/D-]KD_7)3SXQ]].@O M4$L#!!0 ( $F!!5/%O;5 LP0 )L6 9 >&PO=V]R:W-H965T1BJ[X#R0"$=$/VB;KG MAU]HV:%1IA?P1.:_X%#:N@,0[*7B:>FL,TAC5OR3Y[(0-0>MT^Z 2@=T[.!U M..#2 5\:P2L=O$LCC$J'O.M.T?>\<"NBR'PF^ &(S%JK91=Y]7-O7:^891/E M00G]--9^:GY/I1+[0.U%S+9@&1&QI1(,P6TV@+%Z 3$#31O=HN*)@O=!K>1;(*OCK/KD"KO<30"Z"+?DLS[FS*X FN;O;UIW_ M%WW]GZ,WBH&KN8)S/7S97.%2 3W,U83X\S=M#SXJFLJ_+-&\*IJ71_,NBA84 M,[-M2A4R?BZ33IM7JK,[ZG$ZCGZ.JGR-K/V^#0.QI M"-;/&O[RN(L-2;^2]'L,5#4^]SQ)@,;K@8C0-D+C*LS8FOF")(0%%! %'NDV M9BR+QC=@1T7,6U=OH3>J%1#AR;2]?I,JBXDUBR61$=B1%_WV4FWS8S4Y"3J$ MR,?M4:=5U*DUJBZC?@<=**5BO\7C4 ML;"0X1NR\^TL5M ISH80PXZX!F?(CK/>5$$M>.O8#B##-F1G6Q^LH%.L^= _ MPLH9HV::AG[(3K_/*J("W$K)@UB7*3R+%&R(A=T?@!1L$(;M&["+D5+JU+]Q MO*Z7&39$PW:BM5>R'TUP[3.USW=J;YI@@RULWX/UITDIV-BE=/ :&ZAA.]3. MP@2?,FS8&=8P#-L9UILE^)1I'2#%!FCXXF_0LR@II2Q?^"NK29&B4SML2ZE> M1]DIIP0!WS-5G*54=ZN3U-O\_/#H_@)>+V'+_16\7A?GI$:^.+;]I)=MS"1( MZ$:'D! :! &0 'AL+W=O:YED]H_T[[%V7\N. M.[@U\E&46"_I%24E5+R5>&^Z'S#4LPB\PD@7OZ3K>9]9TQ(9L3PN=6&I4>W-"AT/9HO6SPNLP MW[8[!\\M:"3?#O[KR,4:D OI/F<,_0(AC14#;-7#TG=@-^U^0I+%%Y(FZ?1A MNR87G_ZC,&]O])B.'M.(G7_0XQGD;$3.(G+V023Y\]-GD#L$Y?Z>X<]'_ORL MY;4XB!)TZ;=3:%(:*;EUI '_'&INXTB%/)LEEQ@ZG/MC)48=7 M\XO;O=".2*B\+)E\75!B^YO8!VB:>/H[@_XNQ6[M'R_8D.#G*V/P&(0+-?X. M\E=02P,$% @ 28$%4SW8N>)F P (!8 T !X;"]S='EL97,N>&UL MW5C1;MHP%/V5*)VF5IH:0D8@*R!M2$B3MJE2>=A;98@#EAPG2 MS87JN9W:Y)C;Q[CG^N%;US%T@RRF/??Z]/6W>:8N7CGF?O+FY*1Q?7:Q;3\M M@3/7LY*V]B ];^"\&L.HP_VH=W*CY&T[^9\?OY!TK)'=">G8B7__1'AK8#=M M9*<=*H2V!G;2MAN(VCM,[=U>M#Z6W7LTN_>/B;VJKOO=)!/K\@Y<8]"124J= M&\)[[H!P-I8,O!*2,KXTYB88)AG/I*/TOM)2?+ 4MP;V30^V7,63,I'),K:) M8/Z.J^%;P*H' AGGM<"F:PS];DZ4HE(,=:<<7!H?04[5'BUSK7 JR=)OMMRU M0WG30<:9C*FLP_CNRM3O50-33NA MG%_!\^AK\H![D6RL:5DHHFYJ0573T)@.\&^R&>Y-VM:S>)V627:KHT&I3+2! M2M>YH5*QR:;ENR3YB"[4JIP6":ZY>82:_VV>IU102?BF:%W[AYSE9RL.VB\E MN7RJ; NV:JP.&8,ZX8J+JS5@<4_'H8*CI%1GK?W\?\.OQ M,4W(G*M1#?;<=?LSC=D\C>I1EY"(:M2Z_0FFYX?UL5_'8B*F"QH/JJZ-F00?G!XMA](GW99QI%01"&6$8' ZN" 9:W,(2OG0W3!AY8'(CTM%SCJXU7 MR.XZP-9T5X5@,\4K$9LIGFM ['D#CRBRKS86!SRP5D]YZ]^$^W\!4$L#!!0 ( $F!!5.7BKL

-8?2 M0$3;8T.P6BP^0"X99K>]9!:GVKFT0!TAS MZ0;H)D$;JMH>3"8VVXB2V[_U5B@XLM*FY!5LFO7$;HW@N=T(497%))A. MDTG)I1H='>ZN=6TF_H:N1%9)K6"GVW$GQ:-]/>XVV8.T^$@;_G2-GLJ MOKSA #(?)5.XX$H:6S5G--?GP/@@X.1VJZ[TN2PJ84YY);X:76^E6KO+P%U, MO-MHVF'WVC;B@?D_S:A7*YF)4YW5I5!5VXY&% Y0V8WDTGQ'(S[20B[HLN7EN MJ.1:2?@8!\CC+-.UJJ0?R*=8))_28EZ">L'/"J"R]H'TR5#'$$OFG$O#[GA1 M"_:OX+8V;_$PN\RH]0)]]F/3<]G9SUH^\,+1?61Q"/?B8F%]FQ((!%#@! MDB;1:3G,)C-BG7R#7[-+@ZEC1NR.KUKGC[(H?![,$C-B35Q ;JO6[DO9L;5= MQJ#+WJ'OVB!5C(#XA#_GI(U]N.4 TFE-S!=BWXES]N@9DC)#9'F\7U8F&F"(E-L4OG>L$P183$BGB3U_42HD-1U-[H M2?!Z(3%[A,3VZ,_T>C$QCX3$'NE)^7H9,:6$U$K!@?3D7'V-&6%*B8B5LB]Y&+<1T\?$%!,- M,S#%/IR*BDM_("'"A!,-.4#U(_0Q,>M$U#,@*&;D8Z)3(-1S("AF[&-BWHFH M9T)0S,3'Q-034<^%H)BICXFI)R)7SVO^/68+N&)>0_X&-5ASQ,?$)!012^@E M%1^S2Y?!-;G12RSJQG;,0!&Q@7XSGM=@(8B<;F:_+EFSGUW[\XB8@F)B!;V6 M#ST-&&/6B8FMTU,_]"%BQHG?O<3I/)(^)F:<>(@Z9^RR(N6R(A\3,TX\4*7S M\JO[F.C4.[%Q]F".V55= 92/B1DG)C;.7LPVJON8F'%B8N/L;\W5JIL"QYAQ MXD'F6P"S/>!C8M*)WW_B!1AW>T_]=2&8=!)BZ:"8G4(\P0R4$!NH'_,XSYNW MG54VF(428@OU8_Y.WGQ,S$()L87Z,4_%2A@C\@XF9J&$V$+X()%?12:8A1+J M>1L4TZ\B$W0)V*!#;GX5F6 62H@MA&/Z562"62@AMA".Z5>1"6:AA'HEV)[) MZY=4SE_XAUDH);909YQUW,0EE0/!_>40"DFGY18/OO& M@Z&\X$7FIYDI)I]TF"4"/4.8*2:?=(BE J]%I8^)R20?M*> M8O))R9<0_+&VH;_[H*N/&_%,FI/MT6$N5E*)_!(N;V%_!H_XM6'NI5ES%42Q M6W>UJHO"/?U7ZIOF^>X/%+L_?QS]!U!+ P04 " !)@053>NU.;58" ". M+0 &@ 'AL+U]R96QS+W=O24'XIM$-!*LONVG(%]4 ]Z$G%&J$!<_M$G5/#X4@[- MN&]/PV[?#8O/X^$TK*K=.':_ZGI8[\JQ&>[:KIS.5S9M?VS&\[+?UEVS?F^V MI9;E,NK^=D;U]'@[<_'ZU97_F=AN-OMU^=VN_QS+:?S'X/JC[=^'72ECM7AM M^FT95U7]>;B>'NK+(=V=)U>+Y[=5U3^_I:J>.T@@2.8/4@C2^8,,@FS^((<@ MGS\H("CF#\H0E.@^_F#'B#H8?Z@M$09EP1)$ZP)M$[(=2+P.B'8B4#L MA&0G K,3HIT(U$[(=B)P.R'@N!WH)Z"X'>@GH+@=Z">@N!WH)Z"X'>@GH+@=Z">@N!WHIZ*X'>BGHK M@=Z*>BN!WCK9+"'06U%O)=!;46\ET%M1;R706U%O)=!;46\ET%M1;R70VU!O M(]#;4&\CT-M0;R/0VU!O(]#;)IO=!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>AOJ M;01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>OOD8R6!WHYZ.X'>CGH[@=Z. M>CN!WHYZ.X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'>,?G9A$#O M0+V#0.] O8- [T"]@T#OC'IG KTSZIT)],ZH=R;0.Z/>F4#OC'IG KTSZIT) M],ZH=R;0.T]^%OQ)O8?QZU"&:\_W&I__DU2/YWO+]?&7Y??)"3L7G.O;BN'I M+U!+ P04 " !)@0535:BY9Q(" !S+ $P %M#;VYT96YT7U1Y<&5S M72YX;6S-VM].VS 4!O!7J7*+&M?_-T2Y 6XW+O8"7G+:1DUBRS:LO/V<%) V ML0I4I'TWC5K;YSOQD7Y7O?KQ%"@M#D,_IG6URSE<,I::'0TNU3[06%8V/@XN MEZ]QRX)K]FY+3*Q6AC5^S#3F99YJ5-=7M[1Q#WU>W!W*SZGSX[J*U*=J<7/< M.&6M*Q="WS4NEW7V.+9_I2R?$^IRE7?$TLI<]^/YJF MW5+[SNQRO;]\W,_S2&Q^G'_'?\[XM?X'^Q @?4B0/A1('QJD#P/2AP7IXPM( M'U]!^N KE$901.4HI'(44SD*JAQ%58["*D=QE:/ RE%D%2BR"A19!8JL D56 M@2*K0)%5H,@J4&05*+(*%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*K!)% M5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K0I%5H\BJ4635*+)J%%DUBJP: M15:-(JM&D56CR*I19#4HLAH460V*K 9%5H,BJT&1U:#(:E!D-2BR&A19+8JL M%D56BR*K19'5HLAJ462U*++:_RGK3^_WGQP_/^O!=>-+/IO_:WS]&U!+ 0(4 M Q0 ( $F!!5,'04UB@0 +$ 0 " 0 !D;V-0 M&UL4$L! A0#% @ 28$%4Z-"66/O *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ 28$% M4YE&PO=V]R:W-H965T&UL4$L! A0#% @ 28$% M4_,53%,M!@ 0!D !@ ("!6PT 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ 28$%4QJ8#4(*!P 6AT !@ M ("!!AL 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ 28$%4Y2.@ >&PO=V]R:W-H965T,^ !X;"]W;W)K&UL4$L! A0#% @ 28$%4RN[?Y:6" M14 !D M ("!U$0 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 28$%4T-Q&4(E!@ DA$ !D ("!V%D M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M28$%4P[7^P,^! #@D !D ("!36D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$%4YS0VW1W"0 M7AP !D ("!17H 'AL+W=O&PO=V]R:W-H965TR' !X;"]W;W)K&UL4$L! A0#% @ 28$%4\?T82NG P KPD !D M ("!^(X 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 28$%4ZOLVXS!!0 H X !D ("!UYL 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$% M4]N>10=Z @ (04 !D ("!>JL 'AL+W=O&PO=V]R:W-H965TFP !X;"]W;W)K M&UL4$L! A0#% @ 28$%4U".4N2O P K@@ M !D ("!E;, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$%4ZCEX.N]! MPP !D M ("!][\ 'AL+W=O#@ &0 @('KQ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ 28$%4\'T$!6Z @ P8 !D ("!0LX 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 28$%4TDB M8^ J P _PH !D ("!_]L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$%4[M1AT^2!@ "P !D M ("!MN< 'AL+W=O&PO M=V]R:W-H965T 9 " @;'R !X;"]W;W)K&UL4$L! A0#% @ 28$%4Q)='A0D P )0H !D ("! M=?@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 28$%4SV(GZ5- @ 7@4 !D ("!EP(! 'AL+W=O&PO=V]R:W-H965T 9 " @;L5 0!X;"]W;W)K&UL4$L! A0#% @ 28$%4Y,T!D+) @ <0@ !D M ("!T!L! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 28$%4R]RI4J$ P +PT !D ("!HB0! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M28$%4R1;D/*Z @ P@8 !D ("!&BX! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$%4R+:_^"/ P 1 T !D M ("!L48! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 28$%4T!R/6S?!0 %1H !D ("!<%(! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$% M4S(-=1NL @ L@< !D ("!(U\! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 28$%4SW8N>)F P (!8 M T ( !$&D! 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ 28$%4WKM3FU6 @ CBT !H M ( !5G,! 'AL+U]R96QS+W=O XML 90 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 91 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 92 FilingSummary.xml IDEA: XBRL DOCUMENT 3.21.2 html 227 412 1 false 72 0 false 15 false false R1.htm 0001001 - Document - Cover Page Sheet http://www.cognex.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1001002 - Statement - Consolidated Statements of Operations Sheet http://www.cognex.com/role/ConsolidatedStatementsofOperations Consolidated Statements of Operations Statements 2 false false R3.htm 1002003 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 3 false false R4.htm 1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical Consolidated Statements of Comprehensive Income (Parenthetical) Statements 4 false false R5.htm 1004005 - Statement - Consolidated Balance Sheets Sheet http://www.cognex.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 5 false false R6.htm 1005006 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 6 false false R7.htm 1006007 - Statement - Consolidated Statements of Cash Flows Sheet http://www.cognex.com/role/ConsolidatedStatementsofCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 1007008 - Statement - Consolidated Statement of Shareholders' Equity Sheet http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity Consolidated Statement of Shareholders' Equity Statements 8 false false R9.htm 1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical Consolidated Statement of Shareholders' Equity (Parenthetical) Statements 9 false false R10.htm 2101101 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.cognex.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 10 false false R11.htm 2103102 - Disclosure - New Pronouncements Sheet http://www.cognex.com/role/NewPronouncements New Pronouncements Notes 11 false false R12.htm 2104103 - Disclosure - Fair Value Measurements Sheet http://www.cognex.com/role/FairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 2108104 - Disclosure - Cash, Cash Equivalents, and Investments Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestments Cash, Cash Equivalents, and Investments Notes 13 false false R14.htm 2116105 - Disclosure - Inventories Sheet http://www.cognex.com/role/Inventories Inventories Notes 14 false false R15.htm 2119106 - Disclosure - Leases Sheet http://www.cognex.com/role/Leases Leases Notes 15 false false R16.htm 2123107 - Disclosure - Goodwill Sheet http://www.cognex.com/role/Goodwill Goodwill Notes 16 false false R17.htm 2126108 - Disclosure - Intangible Assets Sheet http://www.cognex.com/role/IntangibleAssets Intangible Assets Notes 17 false false R18.htm 2130109 - Disclosure - Warranty Obligations Sheet http://www.cognex.com/role/WarrantyObligations Warranty Obligations Notes 18 false false R19.htm 2133110 - Disclosure - Derivative Instruments Sheet http://www.cognex.com/role/DerivativeInstruments Derivative Instruments Notes 19 false false R20.htm 2140111 - Disclosure - Revenue Recognition Sheet http://www.cognex.com/role/RevenueRecognition Revenue Recognition Notes 20 false false R21.htm 2147112 - Disclosure - Stock-Based Compensation Expense Sheet http://www.cognex.com/role/StockBasedCompensationExpense Stock-Based Compensation Expense Notes 21 false false R22.htm 2154113 - Disclosure - Stock Repurchase Program Sheet http://www.cognex.com/role/StockRepurchaseProgram Stock Repurchase Program Notes 22 false false R23.htm 2156114 - Disclosure - Taxes Sheet http://www.cognex.com/role/Taxes Taxes Notes 23 false false R24.htm 2160115 - Disclosure - Weighted-Average Shares Sheet http://www.cognex.com/role/WeightedAverageShares Weighted-Average Shares Notes 24 false false R25.htm 2164116 - Disclosure - Restructuring Charges Sheet http://www.cognex.com/role/RestructuringCharges Restructuring Charges Notes 25 false false R26.htm 2168117 - Disclosure - Subsequent Events Sheet http://www.cognex.com/role/SubsequentEvents Subsequent Events Notes 26 false false R27.htm 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.cognex.com/role/SummaryofSignificantAccountingPolicies 27 false false R28.htm 2305301 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.cognex.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.cognex.com/role/FairValueMeasurements 28 false false R29.htm 2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables Cash, Cash Equivalents, and Investments (Tables) Tables http://www.cognex.com/role/CashCashEquivalentsandInvestments 29 false false R30.htm 2317303 - Disclosure - Inventories (Tables) Sheet http://www.cognex.com/role/InventoriesTables Inventories (Tables) Tables http://www.cognex.com/role/Inventories 30 false false R31.htm 2320304 - Disclosure - Leases (Tables) Sheet http://www.cognex.com/role/LeasesTables Leases (Tables) Tables http://www.cognex.com/role/Leases 31 false false R32.htm 2324305 - Disclosure - Goodwill (Tables) Sheet http://www.cognex.com/role/GoodwillTables Goodwill (Tables) Tables http://www.cognex.com/role/Goodwill 32 false false R33.htm 2327306 - Disclosure - Intangible Assets (Tables) Sheet http://www.cognex.com/role/IntangibleAssetsTables Intangible Assets (Tables) Tables http://www.cognex.com/role/IntangibleAssets 33 false false R34.htm 2331307 - Disclosure - Warranty Obligations (Tables) Sheet http://www.cognex.com/role/WarrantyObligationsTables Warranty Obligations (Tables) Tables http://www.cognex.com/role/WarrantyObligations 34 false false R35.htm 2334308 - Disclosure - Derivative Instruments (Tables) Sheet http://www.cognex.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.cognex.com/role/DerivativeInstruments 35 false false R36.htm 2341309 - Disclosure - Revenue Recognition (Tables) Sheet http://www.cognex.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.cognex.com/role/RevenueRecognition 36 false false R37.htm 2348310 - Disclosure - Stock-Based Compensation Expense (Tables) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseTables Stock-Based Compensation Expense (Tables) Tables http://www.cognex.com/role/StockBasedCompensationExpense 37 false false R38.htm 2357311 - Disclosure - Income Taxes (Tables) Sheet http://www.cognex.com/role/IncomeTaxesTables Income Taxes (Tables) Tables 38 false false R39.htm 2361312 - Disclosure - Weighted-Average Shares (Tables) Sheet http://www.cognex.com/role/WeightedAverageSharesTables Weighted-Average Shares (Tables) Tables http://www.cognex.com/role/WeightedAverageShares 39 false false R40.htm 2365313 - Disclosure - Restructuring Charges (Tables) Sheet http://www.cognex.com/role/RestructuringChargesTables Restructuring Charges (Tables) Tables http://www.cognex.com/role/RestructuringCharges 40 false false R41.htm 2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Sheet http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Details 41 false false R42.htm 2407402 - Disclosure - Fair Value Measurements (Details) Sheet http://www.cognex.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.cognex.com/role/FairValueMeasurementsTables 42 false false R43.htm 2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails Cash, Cash Equivalents, and Investments (Details) Details http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables 43 false false R44.htm 2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) Details 44 false false R45.htm 2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) Details 45 false false R46.htm 2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) Details 46 false false R47.htm 2415408 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) Details 47 false false R48.htm 2418409 - Disclosure - Inventories - Schedule of Inventories (Details) Sheet http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails Inventories - Schedule of Inventories (Details) Details 48 false false R49.htm 2421410 - Disclosure - Leases - Narrative (Details) Sheet http://www.cognex.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 49 false false R50.htm 2422411 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Sheet http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Details 50 false false R51.htm 2425412 - Disclosure - Goodwill (Details) Sheet http://www.cognex.com/role/GoodwillDetails Goodwill (Details) Details http://www.cognex.com/role/GoodwillTables 51 false false R52.htm 2428413 - Disclosure - Intangible Assets (Details) Sheet http://www.cognex.com/role/IntangibleAssetsDetails Intangible Assets (Details) Details http://www.cognex.com/role/IntangibleAssetsTables 52 false false R53.htm 2429414 - Disclosure - Intangible Assets - Narrative (Details) Sheet http://www.cognex.com/role/IntangibleAssetsNarrativeDetails Intangible Assets - Narrative (Details) Details 53 false false R54.htm 2432415 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) Sheet http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail Warranty Obligations - Changes in Warranty Obligations (Detail) Details 54 false false R55.htm 2435416 - Disclosure - Derivative Instruments (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.cognex.com/role/DerivativeInstrumentsTables 55 false false R56.htm 2436417 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails Derivative Instruments - Outstanding Forward Contracts Table (Details) Details 56 false false R57.htm 2437418 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) Details 57 false false R58.htm 2438419 - Disclosure - Derivative Instruments - Offsetting Assets (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails Derivative Instruments - Offsetting Assets (Details) Details 58 false false R59.htm 2439420 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) Details 59 false false R60.htm 2442421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails Revenue Recognition - Revenue Disaggregated by Geography (Details) Details 60 false false R61.htm 2443422 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Details 61 false false R62.htm 2444423 - Disclosure - Revenue Recognition - Additional Information (Details) Sheet http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails Revenue Recognition - Additional Information (Details) Details 62 false false R63.htm 2445424 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details) Sheet http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails Revenue Recognition - Schedule of Allowance for Credit Loss (Details) Details 63 false false R64.htm 2446425 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) Sheet http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails Revenue Recognition - Deferred Revenue Activity (Details) Details 64 false false R65.htm 2449426 - Disclosure - Stock-Based Compensation Expense (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseDetails Stock-Based Compensation Expense (Details) Details http://www.cognex.com/role/StockBasedCompensationExpenseTables 65 false false R66.htm 2450427 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) Details 66 false false R67.htm 2451428 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) Details 67 false false R68.htm 2452429 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) Details 68 false false R69.htm 2453430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) Details 69 false false R70.htm 2455431 - Disclosure - Stock Repurchase Program (Details) Sheet http://www.cognex.com/role/StockRepurchaseProgramDetails Stock Repurchase Program (Details) Details http://www.cognex.com/role/StockRepurchaseProgram 70 false false R71.htm 2458432 - Disclosure - Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details) Sheet http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details) Details 71 false false R72.htm 2459433 - Disclosure - Income Taxes (Details) Sheet http://www.cognex.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.cognex.com/role/IncomeTaxesTables 72 false false R73.htm 2462434 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) Sheet http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) Details 73 false false R74.htm 2463435 - Disclosure - Weighted-Average Shares (Details) Sheet http://www.cognex.com/role/WeightedAverageSharesDetails Weighted-Average Shares (Details) Details http://www.cognex.com/role/WeightedAverageSharesTables 74 false false R75.htm 2466436 - Disclosure - Restructuring Charges - Narrative (Details) Sheet http://www.cognex.com/role/RestructuringChargesNarrativeDetails Restructuring Charges - Narrative (Details) Details 75 false false R76.htm 2467437 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details) Sheet http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails Restructuring Charges - Activity in Restructuring Reserve (Details) Details 76 false false R77.htm 2469438 - Disclosure - Subsequent Events (Details) Sheet http://www.cognex.com/role/SubsequentEventsDetails Subsequent Events (Details) Details http://www.cognex.com/role/SubsequentEvents 77 false false All Reports Book All Reports cgnx-20210704.htm a742021-10qxexhibit311.htm a742021-10qxexhibit312.htm a742021-10qxexhibit321.htm a742021-10qxexhibit322.htm cgnx-20210704.xsd cgnx-20210704_cal.xml cgnx-20210704_def.xml cgnx-20210704_lab.xml cgnx-20210704_pre.xml http://xbrl.sec.gov/currency/2021 http://xbrl.sec.gov/country/2021 http://fasb.org/srt/2021-01-31 http://fasb.org/us-gaap/2021-01-31 http://xbrl.sec.gov/dei/2021 true true JSON 95 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cgnx-20210704.htm": { "axisCustom": 0, "axisStandard": 22, "contextCount": 227, "dts": { "calculationLink": { "local": [ "cgnx-20210704_cal.xml" ] }, "definitionLink": { "local": [ "cgnx-20210704_def.xml" ] }, "inline": { "local": [ "cgnx-20210704.htm" ] }, "labelLink": { "local": [ "cgnx-20210704_lab.xml" ], "remote": [ "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-doc-2021-01-31.xml" ] }, "presentationLink": { "local": [ "cgnx-20210704_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-ref-2021-01-31.xml" ] }, "schema": { "local": [ "cgnx-20210704.xsd" ], "remote": [ "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd", "https://xbrl.sec.gov/country/2021/country-2021.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd", "https://xbrl.sec.gov/currency/2021/currency-2021.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021_ref.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021_doc.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-parts-codification-2021-01-31.xsd" ] } }, "elementCount": 548, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 1, "http://xbrl.sec.gov/dei/2021": 5, "total": 6 }, "keyCustom": 29, "keyStandard": 383, "memberCustom": 15, "memberStandard": 56, "nsprefix": "cgnx", "nsuri": "http://www.cognex.com/20210704", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001001 - Document - Cover Page", "role": "http://www.cognex.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101101 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2103102 - Disclosure - New Pronouncements", "role": "http://www.cognex.com/role/NewPronouncements", "shortName": "New Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2104103 - Disclosure - Fair Value Measurements", "role": "http://www.cognex.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2108104 - Disclosure - Cash, Cash Equivalents, and Investments", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestments", "shortName": "Cash, Cash Equivalents, and Investments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116105 - Disclosure - Inventories", "role": "http://www.cognex.com/role/Inventories", "shortName": "Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119106 - Disclosure - Leases", "role": "http://www.cognex.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2123107 - Disclosure - Goodwill", "role": "http://www.cognex.com/role/Goodwill", "shortName": "Goodwill", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2126108 - Disclosure - Intangible Assets", "role": "http://www.cognex.com/role/IntangibleAssets", "shortName": "Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2130109 - Disclosure - Warranty Obligations", "role": "http://www.cognex.com/role/WarrantyObligations", "shortName": "Warranty Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2133110 - Disclosure - Derivative Instruments", "role": "http://www.cognex.com/role/DerivativeInstruments", "shortName": "Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001002 - Statement - Consolidated Statements of Operations", "role": "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "shortName": "Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2140111 - Disclosure - Revenue Recognition", "role": "http://www.cognex.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2147112 - Disclosure - Stock-Based Compensation Expense", "role": "http://www.cognex.com/role/StockBasedCompensationExpense", "shortName": "Stock-Based Compensation Expense", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2154113 - Disclosure - Stock Repurchase Program", "role": "http://www.cognex.com/role/StockRepurchaseProgram", "shortName": "Stock Repurchase Program", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2156114 - Disclosure - Taxes", "role": "http://www.cognex.com/role/Taxes", "shortName": "Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2160115 - Disclosure - Weighted-Average Shares", "role": "http://www.cognex.com/role/WeightedAverageShares", "shortName": "Weighted-Average Shares", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2164116 - Disclosure - Restructuring Charges", "role": "http://www.cognex.com/role/RestructuringCharges", "shortName": "Restructuring Charges", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2168117 - Disclosure - Subsequent Events", "role": "http://www.cognex.com/role/SubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2305301 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.cognex.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables", "shortName": "Cash, Cash Equivalents, and Investments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002003 - Statement - Consolidated Statements of Comprehensive Income", "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2317303 - Disclosure - Inventories (Tables)", "role": "http://www.cognex.com/role/InventoriesTables", "shortName": "Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2320304 - Disclosure - Leases (Tables)", "role": "http://www.cognex.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2324305 - Disclosure - Goodwill (Tables)", "role": "http://www.cognex.com/role/GoodwillTables", "shortName": "Goodwill (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2327306 - Disclosure - Intangible Assets (Tables)", "role": "http://www.cognex.com/role/IntangibleAssetsTables", "shortName": "Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2331307 - Disclosure - Warranty Obligations (Tables)", "role": "http://www.cognex.com/role/WarrantyObligationsTables", "shortName": "Warranty Obligations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2334308 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.cognex.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2341309 - Disclosure - Revenue Recognition (Tables)", "role": "http://www.cognex.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2348310 - Disclosure - Stock-Based Compensation Expense (Tables)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseTables", "shortName": "Stock-Based Compensation Expense (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2357311 - Disclosure - Income Taxes (Tables)", "role": "http://www.cognex.com/role/IncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2361312 - Disclosure - Weighted-Average Shares (Tables)", "role": "http://www.cognex.com/role/WeightedAverageSharesTables", "shortName": "Weighted-Average Shares (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical", "shortName": "Consolidated Statements of Comprehensive Income (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R40": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id929a152b4d14e068586589cfb43abfe_D20200330-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2365313 - Disclosure - Restructuring Charges (Tables)", "role": "http://www.cognex.com/role/RestructuringChargesTables", "shortName": "Restructuring Charges (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id929a152b4d14e068586589cfb43abfe_D20200330-20200628", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "role": "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "shortName": "Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i8ca05f7d91244af0aca95032dce29128_I20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407402 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.cognex.com/role/FairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415408 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418409 - Disclosure - Inventories - Schedule of Inventories (Details)", "role": "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails", "shortName": "Inventories - Schedule of Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2421410 - Disclosure - Leases - Narrative (Details)", "role": "http://www.cognex.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004005 - Statement - Consolidated Balance Sheets", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422411 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "role": "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails", "shortName": "Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2425412 - Disclosure - Goodwill (Details)", "role": "http://www.cognex.com/role/GoodwillDetails", "shortName": "Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428413 - Disclosure - Intangible Assets (Details)", "role": "http://www.cognex.com/role/IntangibleAssetsDetails", "shortName": "Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2429414 - Disclosure - Intangible Assets - Narrative (Details)", "role": "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails", "shortName": "Intangible Assets - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9bb0a807385f4a159a150cfb7787d43c_D20200330-20200628", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2432415 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)", "role": "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail", "shortName": "Warranty Obligations - Changes in Warranty Obligations (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i7c46554e451a444081a70820eaa42a6c_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2435416 - Disclosure - Derivative Instruments (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i7c46554e451a444081a70820eaa42a6c_D20210101-20210704", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i022f696e80bb4d86b21a04a265caf3df_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2436417 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "shortName": "Derivative Instruments - Outstanding Forward Contracts Table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i022f696e80bb4d86b21a04a265caf3df_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2437418 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails", "shortName": "Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id1d3b659869048f2beb34a64bebbe802_I20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2438419 - Disclosure - Derivative Instruments - Offsetting Assets (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "shortName": "Derivative Instruments - Offsetting Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9fb01a645e334344aca4afb90843f015_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2439420 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)", "role": "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "shortName": "Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9fb01a645e334344aca4afb90843f015_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005006 - Statement - Consolidated Balance Sheets (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2442421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Geography (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i7d933acfc2194121ac83a0044c4e5a3b_D20210405-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2443422 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i67dacabc0b5e4edd9295daffc0cd9765_D20210405-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2444423 - Disclosure - Revenue Recognition - Additional Information (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails", "shortName": "Revenue Recognition - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i44b15152f6de4de298b8b3533548efc8_I20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2445424 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails", "shortName": "Revenue Recognition - Schedule of Allowance for Credit Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2446425 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails", "shortName": "Revenue Recognition - Deferred Revenue Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2449426 - Disclosure - Stock-Based Compensation Expense (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "shortName": "Stock-Based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2450427 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails", "shortName": "Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id8527359d12f4cbdbf5eddca8862f621_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2451428 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails", "shortName": "Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i864e4d71b8494fb48350e02621c14d03_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2452429 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "shortName": "Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i864e4d71b8494fb48350e02621c14d03_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2453430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails", "shortName": "Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i265b0a1dbb314251813933f2164d6535_D20210405-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006007 - Statement - Consolidated Statements of Cash Flows", "role": "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i9ca0ecf069974228bf32cc8f37b60484_D20210101-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:StockOptionPlanExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchasedDuringPeriodValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2455431 - Disclosure - Stock Repurchase Program (Details)", "role": "http://www.cognex.com/role/StockRepurchaseProgramDetails", "shortName": "Stock Repurchase Program (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "iff8f7beac2474c7ab595ab193aca8a26_I20181029", "decimals": "INF", "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2458432 - Disclosure - Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details)", "role": "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails", "shortName": "Income Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "2", "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2459433 - Disclosure - Income Taxes (Details)", "role": "http://www.cognex.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "2", "lang": "en-US", "name": "cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2462434 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)", "role": "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails", "shortName": "Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "lang": "en-US", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id929a152b4d14e068586589cfb43abfe_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2463435 - Disclosure - Weighted-Average Shares (Details)", "role": "http://www.cognex.com/role/WeightedAverageSharesDetails", "shortName": "Weighted-Average Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "id929a152b4d14e068586589cfb43abfe_D20200330-20200628", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "icd203802289346f4bab91bc8f30283b2_I20200526", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2466436 - Disclosure - Restructuring Charges - Narrative (Details)", "role": "http://www.cognex.com/role/RestructuringChargesNarrativeDetails", "shortName": "Restructuring Charges - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "icd203802289346f4bab91bc8f30283b2_I20200526", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2467437 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details)", "role": "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "shortName": "Restructuring Charges - Activity in Restructuring Reserve (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i678beb2415584ee0ae88d65112e7e32e_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i621603b8a1d7470593c6f6b4829641e7_D20210805-20210805", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:Dividends", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2469438 - Disclosure - Subsequent Events (Details)", "role": "http://www.cognex.com/role/SubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "i621603b8a1d7470593c6f6b4829641e7_D20210805-20210805", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:Dividends", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "ie3e7096a414c46228fa9671d8e338686_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1007008 - Statement - Consolidated Statement of Shareholders' Equity", "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "shortName": "Consolidated Statement of Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "ie3e7096a414c46228fa9671d8e338686_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20210704.htm", "contextRef": "idd7e528b86344f07b3aaf0d31736de7f_D20210405-20210704", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "reportCount": 1, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "shortName": "Consolidated Statement of Shareholders' Equity (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null } }, "segmentCount": 72, "tag": { "cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment", "label": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AccruedExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Accrued expenses.", "label": "Accrued Expenses [Member]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccruedExpensesMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "cgnx_AgencyBondsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency bond.", "label": "Agency Bonds [Member]", "terseLabel": "Agency Bonds" } } }, "localname": "AgencyBondsMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "cgnx_ApplicationSpecificCustomerSolutionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Application-Specific Customer Solutions [Member]", "label": "Application-Specific Customer Solutions [Member]", "terseLabel": "Application-specific customer solutions" } } }, "localname": "ApplicationSpecificCustomerSolutionsMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_AsiaExcludingChinaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Asia, Excluding China [Member]", "label": "Asia, Excluding China [Member]", "terseLabel": "Other Asia" } } }, "localname": "AsiaExcludingChinaMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYears": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 5.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available For Sale Securities Debt Maturities After Five Years", "label": "Available For Sale Securities Debt Maturities After Five Years", "terseLabel": "5-8 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYears", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 4.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value", "terseLabel": "4-5 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 6.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value", "terseLabel": "1-2 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available-for-sale securities, debt maturities after third year but before fourth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value", "terseLabel": "3-4 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available-for-sale securities, debt maturities after second year but before third year, fair value.", "label": "Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value", "terseLabel": "2-3 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash, cash equivalents, short term and long term investments.", "label": "Cash Cash Equivalents Short Term And Long Term Investments", "totalLabel": "Total" } } }, "localname": "CashCashEquivalentsShortTermAndLongTermInvestments", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Components of cash cash equivalents and investments.", "label": "Components Of Cash Cash Equivalents And Investments [Table Text Block]", "terseLabel": "Components of Cash, Cash Equivalents, and Investments" } } }, "localname": "ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_CurrencytranslationadjustmentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Currency translation adjustments [Abstract]", "label": "Currency translation adjustments [Abstract]", "terseLabel": "Foreign currency translation adjustments:" } } }, "localname": "CurrencytranslationadjustmentsAbstract", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "cgnx_CustomerContractsAndRelationshipsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer Contracts And Relationships [Member]", "label": "Customer Contracts And Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerContractsAndRelationshipsMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred Revenue, Foreign Currency Exchange Adjustment", "label": "Deferred Revenue, Foreign Currency Exchange Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "DeferredRevenueForeignCurrencyExchangeAdjustment", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]", "label": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]", "terseLabel": "Indefinite-lived intangible asset excluding in-process technologies" } } }, "localname": "DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent", "label": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent", "terseLabel": "Effective tax rate excluding discrete items (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Employee service share based compensation recognized period costs capitalized amount.", "label": "Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount", "terseLabel": "Recognized period costs capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period to be recognized" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "cgnx_EnShapeGmbHMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "EnShape GmbH", "label": "EnShape GmbH [Member]", "terseLabel": "EnShape GmbH" } } }, "localname": "EnShapeGmbHMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Estimated forfeiture rate for unvested options for all non-senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For All Non Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for all other employees" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Estimated forfeiture rate for unvested options for senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for senior management" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "cgnx_ExcessAndObsoleteInventoryCharges": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Excess and Obsolete Inventory Charges", "label": "Excess and Obsolete Inventory Charges", "terseLabel": "Excess and obsolete inventory charges" } } }, "localname": "ExcessAndObsoleteInventoryCharges", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ExpirationPeriodOfStockOptionPlan": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Expiration period of stock option plan.", "label": "Expiration Period Of Stock Option Plan", "terseLabel": "Expiration period from grant day" } } }, "localname": "ExpirationPeriodOfStockOptionPlan", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "cgnx_GViVenturesInc.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "GVi Ventures, Inc. [Member]", "label": "GVi Ventures, Inc. [Member]", "terseLabel": "GVi Ventures, Inc. [Member]" } } }, "localname": "GViVenturesInc.Member", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "cgnx_GeneralStockOptionPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "General stock option plan.", "label": "General Stock Option Plan [Member]", "terseLabel": "General Stock Option Plan" } } }, "localname": "GeneralStockOptionPlanMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The tax year(s) being audited in connection with the income tax examination for other entities.", "label": "Income Tax Examination Years Under Examination Other Entities", "terseLabel": "Tax years open to examination by various taxing authorities for other entities" } } }, "localname": "IncomeTaxExaminationYearsUnderExaminationOtherEntities", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "cgnx_IncreaseDecreaseInterestAndPenalties": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase decrease interest and penalties.", "label": "Increase Decrease Interest And Penalties", "terseLabel": "Interest and penalties included in reserve" } } }, "localname": "IncreaseDecreaseInterestAndPenalties", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase (decrease) in compensation expense due to revised estimated forfeiture rates.", "label": "Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates", "terseLabel": "Increase (decrease) to compensation expense" } } }, "localname": "IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LiabilityForUncertainTaxPositions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Liability for uncertain tax positions, total.", "label": "Liability For Uncertain Tax Positions", "terseLabel": "Liability for uncertain tax positions" } } }, "localname": "LiabilityForUncertainTaxPositions", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LongTermInvestmentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long-term investments.", "label": "Long Term Investments [Member]", "terseLabel": "Long-Term Investments" } } }, "localname": "LongTermInvestmentsMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "cgnx_MaxiumumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maxiumum Decrease In Income Tax Expense Due To Release In Reserves", "label": "Maxiumum Decrease In Income Tax Expense Due To Release In Reserves", "terseLabel": "Maxiumum Decrease In Income Tax Expense Due To Release In Reserves" } } }, "localname": "MaxiumumDecreaseInIncomeTaxExpenseDueToReleaseInReserves", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum Decrease In Income Tax Expense Due To Release In Reserves", "label": "Minimum Decrease In Income Tax Expense Due To Release In Reserves", "terseLabel": "Minimum Decrease In Income Tax Expense Due To Release In Reserves" } } }, "localname": "MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_NumberOfGroupsWithinEmployeePopulation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of groups within employee population.", "label": "Number Of Groups Within Employee Population", "terseLabel": "Groups within the employee population" } } }, "localname": "NumberOfGroupsWithinEmployeePopulation", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "integerItemType" }, "cgnx_OperatingLeaseRightOfUseAssetCarryingValueOfImpairedAsset": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset", "label": "Operating Lease, Right-Of-Use Asset, Carrying Value Of Impaired Asset", "terseLabel": "Carrying value operating lease right-of-use assets impaired" } } }, "localname": "OperatingLeaseRightOfUseAssetCarryingValueOfImpairedAsset", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_OutstandingForwardContractsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Outstanding forward contracts table.", "label": "Outstanding Forward Contracts [Table Text Block]", "terseLabel": "Outstanding Forward Contracts Table" } } }, "localname": "OutstandingForwardContractsTableTextBlock", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_RepurchaseProgramMarch2020Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Repurchase Program March 2020 [Member]", "label": "Repurchase Program March 2020 [Member]", "terseLabel": "Repurchase Program March 2020" } } }, "localname": "RepurchaseProgramMarch2020Member", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "cgnx_RepurchaseProgramOctober2018Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Repurchase Program October 2018 [Member]", "label": "Repurchase Program October 2018 [Member]", "terseLabel": "Repurchase Program October 2018" } } }, "localname": "RepurchaseProgramOctober2018Member", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "cgnx_SellingGeneralAndAdministrativeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Selling, general, and administrative.", "label": "Selling General And Administrative [Member]", "terseLabel": "Selling, General, and Administrative" } } }, "localname": "SellingGeneralAndAdministrativeMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]", "terseLabel": "Aggregate Intrinsic Value (in\u00a0thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value", "terseLabel": "Exercisable, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award options vested fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value", "terseLabel": "Total fair values of stock options vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.", "label": "Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value", "terseLabel": "Total intrinsic value" } } }, "localname": "SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_StandardProductsandServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Standard Products and Services [Member]", "label": "Standard Products and Services [Member]", "terseLabel": "Standard products and services" } } }, "localname": "StandardProductsandServicesMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_SualabMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sualab", "label": "Sualab [Member]", "terseLabel": "Sualab" } } }, "localname": "SualabMember", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "cgnx_TaxyearsopentoexaminationbyInternalRevenueService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tax years open to examination by Internal Revenue Service", "label": "Tax years open to examination by Internal Revenue Service", "terseLabel": "Tax years open to examination by Internal Revenue Service" } } }, "localname": "TaxyearsopentoexaminationbyInternalRevenueService", "nsuri": "http://www.cognex.com/20210704", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "Greater China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "country_KP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF", "terseLabel": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF" } } }, "localname": "KP", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_CAD": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Canada, Dollars", "terseLabel": "Canada, Dollars" } } }, "localname": "CAD", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_CNY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "China, Yuan Renminbi", "terseLabel": "China, Yuan Renminbi" } } }, "localname": "CNY", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_EUR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Euro Member Countries, Euro", "terseLabel": "Euro Member Countries, Euro" } } }, "localname": "EUR", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_GBP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "United Kingdom, Pounds", "terseLabel": "United Kingdom, Pounds" } } }, "localname": "GBP", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_HUF": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Hungary, Forint", "terseLabel": "Hungary, Forint" } } }, "localname": "HUF", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_JPY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Japan, Yen", "terseLabel": "Japanese Yen" } } }, "localname": "JPY", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_KRW": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Korea (South), Won", "terseLabel": "Korean Won" } } }, "localname": "KRW", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_MXN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Mexico, Pesos", "terseLabel": "Mexico, Pesos" } } }, "localname": "MXN", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_SGD": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Singapore, Dollars", "terseLabel": "Singapore, Dollars" } } }, "localname": "SGD", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_TWD": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Taiwan, New Dollars", "terseLabel": "Taiwanese Dollar" } } }, "localname": "TWD", "nsuri": "http://xbrl.sec.gov/currency/2021", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2021", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r616" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r617" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r614" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r615" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AmericasMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Americas [Member]", "terseLabel": "Americas" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Currency [Axis]", "terseLabel": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r271", "r278", "r336", "r338", "r509", "r510", "r511", "r512", "r513", "r514", "r534", "r572", "r575", "r611", "r612" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r271", "r278", "r336", "r338", "r509", "r510", "r511", "r512", "r513", "r514", "r534", "r572", "r575", "r611", "r612" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r155", "r309", "r312", "r537", "r571", "r573" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r155", "r309", "r312", "r537", "r571", "r573" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r271", "r278", "r326", "r336", "r338", "r509", "r510", "r511", "r512", "r513", "r514", "r534", "r572", "r575", "r611", "r612" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r271", "r278", "r326", "r336", "r338", "r509", "r510", "r511", "r512", "r513", "r514", "r534", "r572", "r575", "r611", "r612" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r156", "r157", "r309", "r313", "r574", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r156", "r157", "r309", "r313", "r574", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r36", "r499" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "auth_ref": [ "r199" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Schedule of Allowance for Credit Loss Activity" } } }, "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r5", "r16", "r160", "r161" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, allowance for credit losses of $803 and $831 in 2021 and 2020, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r95" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "negatedLabel": "Amortization of discounts or premiums on investments" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r12", "r13", "r391", "r545", "r559" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.", "label": "Accrued Income Taxes", "terseLabel": "Non-current accrued income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r12", "r545", "r560" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Accrued income taxes" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r38" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of 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).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesMember": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "This item represents 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.", "label": "Accrued Liabilities [Member]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccruedLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r19", "r58", "r60", "r61", "r561", "r580", "r583" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss, net of tax" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r57", "r61", "r70", "r71", "r72", "r105", "r106", "r107", "r424", "r576", "r577", "r627" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r17" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r105", "r106", "r107", "r374", "r375", "r376", "r451" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r339", "r341", "r381", "r382" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r341", "r370", "r380" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r162", "r193", "r195", "r198" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "periodEndLabel": "Balance as of July 4, 2021", "periodStartLabel": "Balance as of December 31, 2020" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r23", "r162", "r193" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for credit losses, current" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "auth_ref": [ "r197" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "negatedTerseLabel": "Write-offs, net of recoveries" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r94", "r223", "r228" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r132" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive securities excluded from computation of earnings per share (shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r132" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r132" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetBackedSecuritiesMember": { "auth_ref": [ "r177", "r327" ], "lang": { "en-us": { "role": { "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans.", "label": "Asset-backed Securities [Member]", "terseLabel": "Asset-Backed Securities" } } }, "localname": "AssetBackedSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r100", "r144", "r147", "r153", "r189", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r421", "r425", "r465", "r497", "r499", "r544", "r558" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r6", "r7", "r44", "r100", "r189", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r421", "r425", "r465", "r497", "r499" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r171" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Gross unrealized gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r172" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax", "negatedTerseLabel": "Gross unrealized losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r168", "r203" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Amortized Cost", "totalLabel": "Amortized cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r173", "r175", "r555" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "less than 1 year" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r166", "r169", "r203", "r547" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale", "terseLabel": "Financial assets at fair value", "totalLabel": "Fair value", "verboseLabel": "Fair value" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "auth_ref": [ "r167", "r203" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 2.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-sale, Current", "terseLabel": "Current investments, amortized cost of $189,818 and $102,258 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020", "verboseLabel": "Current investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": { "auth_ref": [ "r167", "r203" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-sale, Noncurrent", "terseLabel": "Long-term investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedGains": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This item represents the gross profit realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Gross Realized Gains", "terseLabel": "Gross realized gains on sale of investments" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedGains", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This item represents the gross loss realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Gross Realized Losses", "terseLabel": "Gross realized losses on sale of investments" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedLosses", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r342", "r372" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r435", "r439" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r335", "r337" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r335", "r337", "r411", "r412" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r93", "r418" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Revaluation of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "auth_ref": [ "r417" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High", "terseLabel": "Contingent consideration liability, upper range" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow": { "auth_ref": [ "r417" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low", "terseLabel": "Contingent consideration liability, lower range" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "auth_ref": [ "r413", "r414" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Intangible assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostGross": { "auth_ref": [ "r216" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Gross", "terseLabel": "Costs to fulfill contract" } } }, "localname": "CapitalizedContractCostGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r33", "r499", "r584", "r585" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash and Cash Equivalents [Abstract]" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r33", "r96" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 1.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "totalLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Cash and Cash Equivalents [Line Items]", "terseLabel": "Cash and Cash Equivalents [Line Items]" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r91", "r96", "r97" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r91", "r475" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ClassOfTreasuryStockTable": { "auth_ref": [ "r293", "r294", "r295", "r296" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "Class of Treasury Stock [Table]", "terseLabel": "Class of Treasury Stock [Table]" } } }, "localname": "ClassOfTreasuryStockTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Cash dividends per common share (usd per share)" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r105", "r106", "r451" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "Ending Balance (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "terseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r15", "r291" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValueOutstanding": { "auth_ref": [ "r15" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Common Stock, Value, Outstanding", "terseLabel": "Common stock, $.002 par value \u2013 Authorized: 300,000 shares in 2021 and 2020, respectively, issued and outstanding: 176,707 and 175,790 shares in 2021 and 2020, respectively" } } }, "localname": "CommonStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationRelatedCostsGeneralTextBlock": { "auth_ref": [ "r324", "r325" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.", "label": "Compensation Related Costs, General [Text Block]", "terseLabel": "Stock-Based Compensation Expense" } } }, "localname": "CompensationRelatedCostsGeneralTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpense" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r66", "r68", "r69", "r76", "r550", "r568" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ContractTerminationMember": { "auth_ref": [ "r238", "r239", "r248", "r249" ], "lang": { "en-us": { "role": { "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Contract Termination [Member]", "terseLabel": "Contract termination costs", "verboseLabel": "Contract Termination Costs" } } }, "localname": "ContractTerminationMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r298", "r299", "r310" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "terseLabel": "Corporate Bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r80", "r537" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsTotalMember": { "auth_ref": [ "r140" ], "lang": { "en-us": { "role": { "documentation": "Cost of product sold and service rendered, when it serves as benchmark in concentration of risk calculation.", "label": "Cost of Goods and Service Benchmark [Member]", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfGoodsTotalMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": { "auth_ref": [ "r170", "r203", "r209", "r211" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss", "terseLabel": "Debt securities, available-for-sale, allowance for credit loss" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent": { "auth_ref": [ "r203" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss, Current", "terseLabel": "Allowance for credit losses" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent": { "auth_ref": [ "r203" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss, Noncurrent", "terseLabel": "Allowance for credit losses, non-current" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease": { "auth_ref": [ "r212" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in allowance for credit loss of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss, Period Increase (Decrease)", "terseLabel": "Credit loss on investments" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossRecovery": { "auth_ref": [ "r210" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), from recovery.", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss, Recovery", "terseLabel": "Gross recoveries" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossRecovery", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Debt Securities, Available-for-sale, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsCashCashEquivalentsandInvestmentsScheduleofAllowanceforCreditLossActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent": { "auth_ref": [ "r168", "r203" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-sale, Amortized Cost, Current", "terseLabel": "Amortized cost of current investments" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent": { "auth_ref": [ "r168", "r203" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-sale, Amortized Cost, Noncurrent", "terseLabel": "Amortized cost of non-current investments" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": { "auth_ref": [ "r182", "r207", "r213" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer", "terseLabel": "Fair value, 12 months or greater" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "auth_ref": [ "r182", "r207" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "negatedLabel": "Unrealized losses, 12 months or greater" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": { "auth_ref": [ "r182", "r207", "r213" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months", "terseLabel": "Fair value, less than 12 months" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "auth_ref": [ "r182", "r207" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "negatedLabel": "Unrealized losses, less than 12 months" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": { "auth_ref": [ "r179", "r204", "r213" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss.", "label": "Debt Securities, Available-for-sale, Unrealized Loss Position", "totalLabel": "Total fair value" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": { "auth_ref": [ "r180", "r205" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-sale, Unrealized Loss Position, Accumulated Loss", "negatedTotalLabel": "Total Unrealized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r385", "r386" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r385", "r386" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [ "r24" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Deferred Revenue", "periodEndLabel": "Balance as of July 4, 2021", "periodStartLabel": "Balance as of December 31, 2020" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueAdditions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.", "label": "Deferred Revenue, Additions", "terseLabel": "Deferral of revenue billed in the current period, net of recognition" } } }, "localname": "DeferredRevenueAdditions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": { "auth_ref": [ "r8" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.", "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]", "terseLabel": "Deferred Revenue, by Arrangement, Disclosure" } } }, "localname": "DeferredRevenueByArrangementDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "negatedTerseLabel": "Recognition of revenue deferred in prior period" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r94", "r233" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 19.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation of property, plant, and equipment" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset": { "auth_ref": [ "r46", "r427" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DerivativeAssets", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.", "label": "Derivative Asset, Collateral, Obligation to Return Cash, Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeAssetCollateralObligationToReturnCashOffset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetNotionalAmount": { "auth_ref": [ "r429", "r430", "r432" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payments on the derivative asset.", "label": "Derivative Asset, Notional Amount", "terseLabel": "Outstanding forward contracts" } } }, "localname": "DerivativeAssetNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r47", "r50", "r51", "r464" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Derivative Asset", "terseLabel": "Derivative asset", "totalLabel": "Net amount of assets presented" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "auth_ref": [ "r45", "r51", "r52", "r438", "r516" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DerivativeAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Derivative Asset, Fair Value, Gross Asset", "verboseLabel": "Gross amounts of recognized assets" } } }, "localname": "DerivativeFairValueOfDerivativeAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeLiability": { "auth_ref": [ "r45", "r51", "r52", "r438", "r516" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Derivative Liability, Fair Value, Gross Liability", "verboseLabel": "Gross amounts of recognized liabilities" } } }, "localname": "DerivativeFairValueOfDerivativeLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r437" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "Derivative, Gain (Loss) on Derivative, Net", "terseLabel": "Gains (losses) recognized in current operations" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r449", "r454" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Line Items]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about derivatives and hedging activities.", "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r433", "r436", "r441", "r443", "r444", "r447", "r448" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about 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.", "label": "Derivative Instruments, Gain (Loss) [Table]", "terseLabel": "Derivative Instruments, Gain (Loss) [Table]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments, Gain (Loss) [Line Items]", "terseLabel": "Derivative Instruments, Gain (Loss) [Line Items]" } } }, "localname": "DerivativeInstrumentsGainLossLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r47", "r50", "r51", "r464" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Derivative Liability", "terseLabel": "Derivative liability", "totalLabel": "Net amount of liabilities presented" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset": { "auth_ref": [ "r46", "r427" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.", "label": "Derivative Liability, Collateral, Right to Reclaim Cash, Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeLiabilityCollateralRightToReclaimCashOffset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r428", "r431", "r432", "r433", "r434", "r440", "r441", "r445", "r446", "r448", "r449" ], "lang": { "en-us": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativesFairValueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivatives, Fair Value [Line Items]", "terseLabel": "Derivatives, Fair Value [Line Items]" } } }, "localname": "DerivativesFairValueLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r416" ], "lang": { "en-us": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Completed technologies" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r309", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_DistributionRightsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Legal rights, generally of a limited duration, to distribute a product or products, often within specific geographic areas or supply channels.", "label": "Distribution Rights [Member]", "terseLabel": "Distribution networks" } } }, "localname": "DistributionRightsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Dividends": { "auth_ref": [ "r292", "r557" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.", "label": "Dividends", "terseLabel": "Dividends (in dollars per share)" } } }, "localname": "Dividends", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DividendsCash": { "auth_ref": [ "r292", "r557" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.", "label": "Dividends, Cash", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "DividendsCash", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]", "terseLabel": "Domestic Tax Authority" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r77", "r114", "r115", "r116", "r117", "r118", "r127", "r129", "r130", "r131", "r136", "r137", "r452", "r453", "r551", "r569" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Net income (loss) per weighted-average common and common-equivalent share:" } } }, "localname": "EarningsPerShareDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r132", "r134", "r135", "r138" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Weighted-Average Shares" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageShares" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r475" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "totalLabel": "Income tax expense (benefit)" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r101", "r388", "r405" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Income tax expense (benefit) at U.S. federal statutory corporate tax rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r388", "r405" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "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.", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "negatedLabel": "Decrease in effective tax rate", "terseLabel": "Foreign tax rate differential" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "auth_ref": [ "r388", "r405" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "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.", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "terseLabel": "Other" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments.", "label": "Effective Income Tax Rate Reconciliation,Other Reconciling Items, Percent", "terseLabel": "Tax rate adjustment" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": { "auth_ref": [ "r383", "r388" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent", "negatedTerseLabel": "Discrete tax benefit related to stock options", "terseLabel": "Discrete tax benefit related to stock options" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r388", "r405" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "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).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State income taxes, net of federal benefit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": { "auth_ref": [ "r388", "r405" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-us": { "role": { "documentation": "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.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent", "negatedTerseLabel": "Tax credit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlements": { "auth_ref": [ "r388", "r405" ], "calculation": { "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "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 income tax settlements. Including, but not limited to, domestic tax settlement, foreign tax settlement, state and local tax settlement, and other tax settlements.", "label": "Effective Income Tax Rate Reconciliation, Tax Settlement, Percent", "terseLabel": "Discrete tax expense related to tax return filings" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxSettlements", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails", "http://www.cognex.com/role/IncomeTaxesReconciliationofUnitedStatesFederalStatutoryCorporateTaxRatetoCompanysEffectiveTaxRateorIncomeTaxProvisionDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r371" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r370" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Expense, Tax Benefit", "terseLabel": "Tax benefit from compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r368" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-based Payment Arrangement, Option [Member]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue from External Customer [Line Items]", "terseLabel": "Revenue from External Customer [Line Items]" } } }, "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]", "terseLabel": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityClassOfTreasuryStockLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Equity, Class of Treasury Stock [Line Items]", "terseLabel": "Equity, Class of Treasury Stock [Line Items]" } } }, "localname": "EquityClassOfTreasuryStockLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r70", "r71", "r72", "r105", "r106", "r107", "r111", "r119", "r121", "r139", "r190", "r291", "r292", "r374", "r375", "r376", "r398", "r399", "r451", "r476", "r477", "r478", "r479", "r480", "r481", "r576", "r577", "r578", "r627" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r455", "r456", "r457", "r462" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r272", "r274", "r275", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r456", "r506", "r507", "r508" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r455", "r456", "r458", "r459", "r463" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r461" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r272", "r327", "r328", "r333", "r334", "r456", "r506" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Quoted\u00a0Prices\u00a0in Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r272", "r274", "r275", "r327", "r328", "r333", "r334", "r456", "r507" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Significant Other Observable Inputs (Level 2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r272", "r274", "r275", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r456", "r508" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Unobservable Inputs (Level 3)" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r460" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "terseLabel": "Contingent consideration liability" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r272", "r274", "r275", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r506", "r507", "r508" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r461", "r463" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Measurements, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "auth_ref": [ "r435", "r440", "r447" ], "lang": { "en-us": { "role": { "documentation": "Schedule that discloses 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.", "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "terseLabel": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]" } } }, "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r177", "r178", "r186", "r187", "r188", "r194", "r199", "r200", "r201", "r202", "r206", "r208", "r212", "r213", "r273", "r289", "r449", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]", "terseLabel": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r227" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization", "verboseLabel": "Accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 7.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "verboseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r229" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "verboseLabel": "Remainder of fiscal 2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r229" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r229" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r229" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r229" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r224", "r225", "r227", "r230", "r538", "r542" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r227", "r542" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r224", "r226" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r227", "r538" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net", "totalLabel": "Net Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.", "label": "Foreign Tax Authority [Member]", "terseLabel": "Foreign Tax Authority" } } }, "localname": "ForeignCountryMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Foreign Currency Contract, Asset, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractAssetFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyGainLossMember": { "auth_ref": [ "r442" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing foreign currency gain (loss).", "label": "Foreign Currency Gain (Loss) [Member]", "terseLabel": "Foreign Currency Gain (Loss)" } } }, "localname": "ForeignCurrencyGainLossMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r471", "r472", "r473", "r474" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign currency gain (loss)" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnDispositionOfAssets1": { "auth_ref": [ "r94" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.", "label": "Gain (Loss) on Disposition of Assets", "negatedTerseLabel": "Loss on disposal of property, plant, and equipment" } } }, "localname": "GainLossOnDispositionOfAssets1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfInvestments": { "auth_ref": [ "r94" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Gain (Loss) on Sale of Investments", "negatedLabel": "Realized gain on sale of investments" } } }, "localname": "GainLossOnSaleOfInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r217", "r218", "r499", "r543" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Balance as of July 4, 2021", "periodStartLabel": "Balance as of December 31, 2020", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillDisclosureTextBlock": { "auth_ref": [ "r222" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill.", "label": "Goodwill Disclosure [Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/Goodwill" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r219" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r79", "r100", "r144", "r146", "r149", "r152", "r154", "r189", "r260", "r261", "r262", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r465" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross margin" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r433", "r444" ], "lang": { "en-us": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": { "auth_ref": [ "r94", "r231" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 20.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.", "label": "Impairment of Intangible Assets (Excluding Goodwill)", "terseLabel": "Intangible asset impairment charges (Note 8)", "verboseLabel": "Intangible asset impairment charges" } } }, "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InProcessResearchAndDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.", "label": "In Process Research and Development [Member]", "terseLabel": "In-process technologies" } } }, "localname": "InProcessResearchAndDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r144", "r146", "r149", "r152", "r154" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest", "totalLabel": "Income (loss) before income tax expense (benefit)" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": { "auth_ref": [ "r74", "r77", "r110", "r114", "r115", "r116", "r117", "r127", "r129", "r130", "r131", "r453", "r551", "r565", "r567", "r569" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Income (Loss) from Continuing Operations, Per Diluted Share", "terseLabel": "Basic (usd per share)" } } }, "localname": "IncomeLossFromContinuingOperationsPerDilutedShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r235", "r240" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r240" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/FairValueMeasurementsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r390" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]", "terseLabel": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityNameAxis": { "auth_ref": [ "r390" ], "lang": { "en-us": { "role": { "documentation": "Information by name of taxing authority.", "label": "Income Tax Authority, Name [Axis]", "terseLabel": "Income Tax Authority, Name [Axis]" } } }, "localname": "IncomeTaxAuthorityNameAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority, Name [Domain]", "terseLabel": "Income Tax Authority, Name [Domain]" } } }, "localname": "IncomeTaxAuthorityNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxContingencyLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Income Tax Contingency [Line Items]", "terseLabel": "Income Tax Contingency [Line Items]" } } }, "localname": "IncomeTaxContingencyLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxContingencyTable": { "auth_ref": [ "r391", "r393", "r395", "r397" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about 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.", "label": "Income Tax Contingency [Table]", "terseLabel": "Income Tax Contingency [Table]" } } }, "localname": "IncomeTaxContingencyTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r101", "r389", "r394", "r396", "r403", "r406", "r408", "r409", "r410" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/Taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r102", "r120", "r121", "r143", "r387", "r404", "r407", "r570" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense (benefit)" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.", "label": "Increase (Decrease) in Accrued Taxes Payable", "terseLabel": "Accrued income taxes" } } }, "localname": "IncreaseDecreaseInAccruedTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r93", "r535" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Unbilled revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Increase (Decrease) in Deferred Income Taxes", "negatedLabel": "Change in deferred income taxes" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredLiabilities": { "auth_ref": [ "r93" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Change during the period in carrying value for all deferred liabilities due within one year or operating cycle.", "label": "Increase (Decrease) in Deferred Liabilities", "terseLabel": "Increase to non-current deferred tax liability" } } }, "localname": "IncreaseDecreaseInDeferredLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Deferred Revenue", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedTerseLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 21.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "negatedTerseLabel": "Other" } } }, "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r93" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedTerseLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r232" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_InterestReceivable": { "auth_ref": [ "r43" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.", "label": "Interest Receivable", "terseLabel": "Accrued interest receivable" } } }, "localname": "InterestReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r215" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/Inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r25", "r214" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r4", "r42", "r499" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories", "totalLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r27", "r214" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r26", "r214" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeNonoperating": { "auth_ref": [ "r82" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.", "label": "Investment Income, Nonoperating", "terseLabel": "Investment income" } } }, "localname": "InvestmentIncomeNonoperating", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTypeAxis": { "auth_ref": [ "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600" ], "lang": { "en-us": { "role": { "documentation": "Information by type of investments.", "label": "Investment Type [Axis]", "terseLabel": "Investment Type [Axis]" } } }, "localname": "InvestmentTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InvestmentTypeCategorizationMember": { "auth_ref": [ "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600" ], "lang": { "en-us": { "role": { "documentation": "Asset obtained to generate income or appreciate in value.", "label": "Investments [Domain]", "terseLabel": "Investments [Domain]" } } }, "localname": "InvestmentTypeCategorizationMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "terseLabel": "Effective Maturity Dates of Available-for-Sale Investments" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]", "terseLabel": "Cash, Cash Equivalents, and Investments" } } }, "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestments" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r491", "r493" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "terseLabel": "Lease, cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r492" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Lessee, Operating Lease, Liability, Maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 7.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r492" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Remainder of fiscal 2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r494" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorLeaseDescriptionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessor, Lease, Description [Line Items]", "terseLabel": "Lessor, Lease, Description [Line Items]" } } }, "localname": "LessorLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LessorLeaseDescriptionTable": { "auth_ref": [ "r495" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessor's leases.", "label": "Lessor, Lease, Description [Table]", "terseLabel": "Lessor, Lease, Description [Table]" } } }, "localname": "LessorLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r37", "r100", "r148", "r189", "r260", "r261", "r262", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r422", "r425", "r426", "r465", "r497", "r498" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r22", "r100", "r189", "r465", "r499", "r546", "r563" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r39", "r100", "r189", "r260", "r261", "r262", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r422", "r425", "r426", "r465", "r497", "r498", "r499" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.", "label": "Liability for Uncertainty in Income Taxes, Noncurrent", "terseLabel": "Reserve for income taxes", "verboseLabel": "Reserve for income taxes classified as a noncurrent iability" } } }, "localname": "LiabilityForUncertainTaxPositionsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermInvestments": { "auth_ref": [ "r34" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 3.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).", "label": "Long-term Investments", "terseLabel": "Non-current investments, amortized cost of $542,015 and $390,417 in 2021 and 2020, respectively, allowance for credit losses of $0 in 2021 and 2020", "verboseLabel": "Non-current investments" } } }, "localname": "LongTermInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain (loss) on investment in marketable security, excluding other-than-temporary impairment (OTTI).", "label": "Marketable Securities, Realized Gain (Loss), Excluding Other-than-temporary Impairment Loss", "negatedTerseLabel": "Credit loss on investments" } } }, "localname": "MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Maximum Remaining Maturity of Foreign Currency Derivatives", "terseLabel": "Remaining maturity of foreign currency derivatives (up to)" } } }, "localname": "MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money Market Funds, at Carrying Value", "terseLabel": "Money market instruments" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MovementInDeferredRevenueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Deferred Revenue [Roll Forward]", "terseLabel": "Movement in Deferred Revenue [Roll Forward]" } } }, "localname": "MovementInDeferredRevenueRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInStandardProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_MunicipalBondsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.", "label": "Municipal Bonds [Member]", "terseLabel": "Municipal Bonds" } } }, "localname": "MunicipalBondsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r91" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r91" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r91", "r92", "r95" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r2", "r64", "r67", "r72", "r75", "r95", "r100", "r110", "r114", "r115", "r116", "r117", "r120", "r121", "r128", "r144", "r146", "r149", "r152", "r154", "r189", "r260", "r261", "r262", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r453", "r465", "r549", "r566" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net Income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r1", "r108", "r109", "r112", "r113", "r122", "r123", "r124", "r164", "r165", "r191", "r192", "r319", "r320", "r321", "r322", "r377", "r400", "r401", "r402", "r450", "r468", "r469", "r470", "r496", "r539", "r540", "r541", "r579", "r580", "r581", "r582", "r583", "r628" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.", "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/NewPronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Not Designated as Hedging Instrument [Member]", "terseLabel": "Not Designated as Hedging Instrument" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OffsettingAssetsTableTextBlock": { "auth_ref": [ "r48", "r49" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.", "label": "Offsetting Assets [Table Text Block]", "terseLabel": "Offsetting Assets" } } }, "localname": "OffsettingAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OneTimeTerminationBenefitsMember": { "auth_ref": [ "r238", "r239", "r248", "r249" ], "lang": { "en-us": { "role": { "documentation": "A lump sum payment to an involuntarily terminated employee in conjunction with exit or disposal activities.", "label": "One-time Termination Benefits [Member]", "verboseLabel": "One-time Termination Benefits" } } }, "localname": "OneTimeTerminationBenefitsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r144", "r146", "r149", "r152", "r154" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income (loss)" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r487", "r493" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease, cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseImpairmentLoss": { "auth_ref": [ "r483" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 22.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from impairment of right-of-use asset from operating lease.", "label": "Operating Lease, Impairment Loss", "terseLabel": "Operating lease asset impairment charges" } } }, "localname": "OperatingLeaseImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r485" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r485" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r485" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Non-current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r486", "r488" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating lease, payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r484" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r490", "r493" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r489", "r493" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r419", "r420", "r423" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "totalLabel": "Net change related to available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax": { "auth_ref": [ "r56", "r58", "r63", "r466", "r467" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of reclassification adjustment from accumulated other comprehensive income (loss) for unrealized gain (loss) from increase (decrease) in instrument-specific credit risk, realized upon derecognition of financial liability measured under fair value option.", "label": "Other Comprehensive Income (Loss), Financial Liability, Fair Value Option, Reclassification Adjustment from AOCI for Derecognition, after Tax", "negatedTerseLabel": "Reclassification of credit loss (recovery) on investments into current operations" } } }, "localname": "OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r53" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustment", "verboseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Available-for-sale investments:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r65", "r68", "r419", "r420", "r423" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive income (loss), net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r58", "r62", "r63", "r185" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 3.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "negatedLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations", "negatedTerseLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r54", "r58" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Net unrealized gain (loss) on available-for-sale investments, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": { "auth_ref": [ "r55", "r59" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax", "terseLabel": "Tax effect of unrealized gain (loss) on available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsMember": { "auth_ref": [ "r435", "r447" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other current assets.", "label": "Other Current Assets [Member]", "terseLabel": "Other Current Assets" } } }, "localname": "OtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r83" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (expense)" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherRestructuringMember": { "auth_ref": [ "r238", "r239", "r248", "r249" ], "lang": { "en-us": { "role": { "documentation": "Restructuring and related activities classified as other.", "label": "Other Restructuring [Member]", "verboseLabel": "Other Associated Costs" } } }, "localname": "OtherRestructuringMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r89" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "Payment for Contingent Consideration Liability, Financing Activities", "negatedTerseLabel": "Payment of contingent consideration" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchase of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRestructuring": { "auth_ref": [ "r90", "r239" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.", "label": "Payments for Restructuring", "negatedTerseLabel": "Cash payments" } } }, "localname": "PaymentsForRestructuring", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r88" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireInvestments": { "auth_ref": [ "r86" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.", "label": "Payments to Acquire Investments", "negatedLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r85" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property, plant, and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Shares" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r342", "r372" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r14", "r276" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r14" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r14", "r276" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r14" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValueOutstanding": { "auth_ref": [ "r14" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by shareholders, which is net of related treasury stock. May be all or a portion of the number of preferred shares authorized. These shares represent the ownership interest of the preferred shareholders.", "label": "Preferred Stock, Value, Outstanding", "terseLabel": "Preferred stock, $.01 par value \u2013 Authorized: 400 shares in 2021 and 2020, respectively, no shares issued and outstanding" } } }, "localname": "PreferredStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r6", "r31", "r32" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.", "label": "Prepaid Expenses and Other Current Assets [Member]", "terseLabel": "Prepaid Expenses and Other Current Assets" } } }, "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r87", "r373" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds, Issuance of Shares, Share-based Payment Arrangement, Including Option Exercised", "terseLabel": "Net proceeds from issuance of common stock under stock plans" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": { "auth_ref": [ "r84" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.", "label": "Proceeds from Sale, Maturity and Collection of Investments", "terseLabel": "Maturities and sales of investments" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Product Warranties Disclosures [Abstract]", "terseLabel": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r256", "r257", "r548" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r254" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Fulfillment of warranty obligations" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r255" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "verboseLabel": "Provisions for warranties issued during the period" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r259" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Warranty Obligations" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r10", "r11", "r234", "r499", "r556", "r564" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, plant, and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r78", "r196" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Increases to the allowance for credit losses" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": { "auth_ref": [ "r61", "r70", "r71", "r73", "r476", "r480", "r481" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss).", "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax", "terseLabel": "Reclassification of credit loss (recovery) on investments" } } }, "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r384", "r536", "r613" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 5.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research, development, and engineering expenses" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Research, Development, and Engineering Expenses" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r132" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]", "terseLabel": "Restricted Stock" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units (RSUs)" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]", "terseLabel": "Restructuring and Related Activities [Abstract]" } } }, "localname": "RestructuringAndRelatedActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "auth_ref": [ "r237", "r239", "r242", "r252", "r253" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.", "label": "Restructuring and Related Activities Disclosure [Text Block]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringCharges" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of the total number of positions eliminated as of the balance sheet date since inception of the restructuring plan(s).", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Inception to Date Percent", "terseLabel": "Workforce reduction (as a percent)" } } }, "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RestructuringCharges": { "auth_ref": [ "r94", "r236", "r245", "r248" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.", "label": "Restructuring Charges", "terseLabel": "Restructuring charges (Note 16)", "verboseLabel": "Restructuring charges" } } }, "localname": "RestructuringCharges", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "http://www.cognex.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringChargesMember": { "auth_ref": [ "r245", "r250" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about restructuring charges have been included.", "label": "Restructuring Charges [Member]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringChargesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [ "r238", "r239", "r248", "r249" ], "lang": { "en-us": { "role": { "documentation": "Information by type of restructuring cost.", "label": "Restructuring Type [Axis]", "terseLabel": "Restructuring Type [Axis]" } } }, "localname": "RestructuringCostAndReserveAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringCostAndReserveLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring Cost and Reserve [Line Items]" } } }, "localname": "RestructuringCostAndReserveLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserve": { "auth_ref": [ "r239", "r246" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.", "label": "Restructuring Reserve", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "RestructuringReserve", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringReserveRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Restructuring Reserve [Roll Forward]", "terseLabel": "Restructuring Reserve [Roll Forward]" } } }, "localname": "RestructuringReserveRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserveTranslationAdjustment": { "auth_ref": [ "r239", "r249" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the restructuring reserve.", "label": "Restructuring Reserve, Foreign Currency Translation Gain (Loss)", "negatedTerseLabel": "Foreign exchange rate changes" } } }, "localname": "RestructuringReserveTranslationAdjustment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r18", "r292", "r378", "r499", "r562", "r579", "r583" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r105", "r106", "r107", "r111", "r119", "r121", "r190", "r374", "r375", "r376", "r398", "r399", "r451", "r576", "r578" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueCommissionersIrelandMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government of Ireland.", "label": "Revenue Commissioners, Ireland [Member]", "terseLabel": "Revenue Commissioners, Ireland" } } }, "localname": "RevenueCommissionersIrelandMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r141", "r142", "r145", "r150", "r151", "r155", "r156", "r159", "r308", "r309", "r537" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r311", "r323" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r158" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Revenue from External Customers by Geographic Areas" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Securities, Available-for-sale [Line Items]", "terseLabel": "Debt Securities, Available-for-sale [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.", "label": "Schedule of Available-for-sale Securities Reconciliation [Table Text Block]", "terseLabel": "Summary of Available-for-Sale Investments" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": { "auth_ref": [ "r174", "r176", "r181", "r182", "r183", "r184", "r553", "r554" ], "lang": { "en-us": { "role": { "documentation": "Schedule of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.", "label": "Schedule of Available-for-sale Securities [Table]", "terseLabel": "Schedule of Available-for-sale Securities [Table]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r436", "r441", "r444" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Derivative Instruments, Gain (Loss)" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": { "auth_ref": [ "r440" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value" } } }, "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r388" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r341", "r369", "r380" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r341", "r369", "r380" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "verboseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": { "auth_ref": [ "r155" ], "lang": { "en-us": { "role": { "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table]", "terseLabel": "Revenue from External Customers by Products and Services [Table]" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "auth_ref": [ "r155" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "terseLabel": "Revenue from External Customers by Products and Services" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r455", "r456" ], "lang": { "en-us": { "role": { "documentation": "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).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Assets and Liabilities Measured at Fair Value on a Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r224", "r226", "r538" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r224", "r226" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r220", "r221" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/GoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r9", "r28", "r29", "r30" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventories" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [ "r353" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.", "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of Nonvested Restricted Stock Units Activity" } } }, "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r258" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Changes in Warranty Obligations" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r238", "r239", "r240", "r241", "r248", "r249", "r251" ], "lang": { "en-us": { "role": { "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.", "label": "Schedule of Restructuring and Related Costs [Table]", "terseLabel": "Schedule of Restructuring and Related Costs [Table]" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "auth_ref": [ "r243", "r244", "r247" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.", "label": "Restructuring and Related Costs [Table Text Block]", "terseLabel": "Schedule of Restructuring Charges" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "auth_ref": [ "r239", "r249" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "terseLabel": "Schedule of Activity in Restructuring Reserve" } } }, "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r342", "r372" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r345", "r358", "r360" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Summary of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r363" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock": { "auth_ref": [ "r181" ], "lang": { "en-us": { "role": { "documentation": "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).", "label": "Schedule of Unrealized Loss on Investments [Table Text Block]", "terseLabel": "Gross Unrealized Losses and Fair Values for Available-for-Sale Investments" } } }, "localname": "ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r133" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Calculation of Weighted-Average Shares" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r226" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Intangible Assets, Future Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r81" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general, and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r93" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Payment Arrangement, Noncash Expense", "negatedTerseLabel": "Credits relating to grants cancelled" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period for stock option plans" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r351" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedTerseLabel": "Forfeited or expired (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r357" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited or expired (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r354" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Nonvested as of March 29, 2020 (in shares)", "periodStartLabel": "Nonvested as of December 31, 2019 (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares (in thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r354" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Nonvested as of March 29, 2020 (in dollars per share)", "periodStartLabel": "Nonvested as of December 31, 2019 (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted-Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r356" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "terseLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r356" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r366" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r365" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r367" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r372" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for grant under stock option plans (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Weighted- Average Remaining Contractual Term\u00a0(in\u00a0years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r348" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r348" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "auth_ref": [ "r352" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period", "negatedLabel": "Forfeited or expired, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r352" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price of options that were either forfeited or expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price", "terseLabel": "Forfeited or expired, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "Net number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures", "terseLabel": "Granted, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r359" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average grant-date fair values, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r372" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Outstanding, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r347", "r372" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding, shares", "periodStartLabel": "Outstanding, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Shares (in\u00a0thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r346" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding, in dollars per share", "periodStartLabel": "Outstanding, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted- Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "auth_ref": [ "r362" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "terseLabel": "Options vested or expected to vest as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r360" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Options vested or expected to vest, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r361" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Vested and expected to vest, outstanding, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r372" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period", "terseLabel": "Issuance of common stock under stock plans (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r340", "r344" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Exercised, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r364", "r379" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r372" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r361" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r361" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options vested or expected to vest, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShortTermInvestmentsMember": { "auth_ref": [ "r597", "r598", "r599", "r600" ], "lang": { "en-us": { "role": { "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet.", "label": "Short-term Investments [Member]", "terseLabel": "Short-Term Investments" } } }, "localname": "ShortTermInvestmentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r98", "r104" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SovereignDebtMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt securities that are issued or guaranteed by a national government.", "label": "Sovereign Debt [Member]", "terseLabel": "Sovereign Bonds" } } }, "localname": "SovereignDebtMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SovereignDebtSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt security issued by foreign government (not within the country of domicile of the entity).", "label": "Sovereign Debt Securities [Member]", "terseLabel": "Sovereign Bonds" } } }, "localname": "SovereignDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StateAdministrationOfTaxationChinaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government of China.", "label": "State Administration of Taxation, China [Member]", "terseLabel": "State Administration of Taxation, China" } } }, "localname": "StateAdministrationOfTaxationChinaMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r41", "r70", "r71", "r72", "r105", "r106", "r107", "r111", "r119", "r121", "r139", "r190", "r291", "r292", "r374", "r375", "r376", "r398", "r399", "r451", "r476", "r477", "r478", "r479", "r480", "r481", "r576", "r577", "r578", "r627" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]", "terseLabel": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r105", "r106", "r107", "r139", "r537" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r14", "r15", "r291", "r292", "r350" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Exercised, shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r41", "r291", "r292" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Net issuance of common stock under stock plans" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r94" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for option under share-based payment arrangement.", "label": "Stock or Unit Option Plan Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRedeemedOrCalledDuringPeriodShares": { "auth_ref": [ "r291" ], "lang": { "en-us": { "role": { "documentation": "Number of stock bought back by the entity at the exercise price or redemption price.", "label": "Stock Redeemed or Called During Period, Shares", "terseLabel": "Shares repurchased at cost (in shares)" } } }, "localname": "StockRedeemedOrCalledDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRedeemedOrCalledDuringPeriodValue": { "auth_ref": [ "r291" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock bought back by the entity at the exercise price or redemption price.", "label": "Stock Redeemed or Called During Period, Value", "terseLabel": "Shares repurchased at cost" } } }, "localname": "StockRedeemedOrCalledDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Authorized common stock to be repurchased" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Remaining authorized repurchase amount" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r14", "r15", "r291", "r292" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Stock Repurchased During Period, Shares", "negatedTerseLabel": "Repurchase of common stock (in shares)", "verboseLabel": "Repurchase of common stock (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r14", "r15", "r291", "r292" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Stock Repurchased During Period, Value", "negatedTerseLabel": "Repurchase of common stock", "terseLabel": "Stock repurchased during period, value" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r15", "r20", "r21", "r100", "r163", "r189", "r465", "r499" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "totalLabel": "Total shareholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Shareholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r99", "r277", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r290", "r292", "r297" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stock Repurchase Program" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgram" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r482", "r501" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r482", "r501" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more 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.", "label": "Subsequent Event [Table]", "terseLabel": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r482", "r501" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]", "terseLabel": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r482", "r501" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]", "terseLabel": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r500", "r502" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r415" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails", "http://www.cognex.com/role/IntangibleAssetsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r177", "r178", "r186", "r187", "r188", "r273", "r289", "r449", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]", "terseLabel": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [ "r238", "r239", "r248", "r249" ], "lang": { "en-us": { "role": { "documentation": "Identification of the types of restructuring costs.", "label": "Type of Restructuring [Domain]", "terseLabel": "Type of Restructuring [Domain]" } } }, "localname": "TypeOfRestructuringDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r103", "r327", "r334", "r552" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).", "label": "US Treasury Securities [Member]", "terseLabel": "Treasury Bills" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.", "label": "Unrecognized Tax Benefits, Period Increase (Decrease)", "terseLabel": "Decrease in reserves for income taxes, net of deferred tax benefit" } } }, "localname": "UnrecognizedTaxBenefitsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Adjustment to the weighted average number of basic shares outstanding to convert this to a pro forma presentation.", "label": "Weighted Average Number Basic Shares Outstanding Adjustment, Pro Forma", "terseLabel": "Common stock equivalents excluded from calculation of diluted net loss per share (shares)" } } }, "localname": "WeightedAverageNumberBasicSharesOutstandingAdjustmentProForma", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r131" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "terseLabel": "Effect of dilutive equity awards (in shares)" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r126", "r131" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (shares)", "totalLabel": "Weighted-average common and common-equivalent shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common and common-equivalent shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r125", "r131" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (shares)", "verboseLabel": "Basic weighted-average common shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 15 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r104": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=SL108384541-122693" }, "r124": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "http://asc.fasb.org/topic&trid=2122394" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258" }, "r138": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)(1)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124402435&loc=SL124402458-218513" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)(2)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124402435&loc=SL124402458-218513" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26626-111562" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27198-111563" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27198-111563" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27290-111563" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27290-111563" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27290-111563" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27337-111563" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27340-111563" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27357-111563" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27357-111563" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922890-210455" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(h)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(i)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r215": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r222": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/subtopic&trid=2144439" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275" }, "r232": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=109237686&loc=d3e17752-110868" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(5))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.3)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.3)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(c))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(e))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r253": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "420", "URI": "http://asc.fasb.org/topic&trid=2175745" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r259": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "460", "URI": "http://asc.fasb.org/topic&trid=2155896" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23285-112656" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23309-112656" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r297": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048" }, "r323": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "710", "URI": "http://asc.fasb.org/extlink&oid=6409950&loc=d3e20396-108366" }, "r325": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)-(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "740", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120384911&loc=d3e23163-113944" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=124434304&loc=d3e36027-109320" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=117331979&loc=d3e41228-113958" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.8)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41641-113959" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123421605&loc=SL5629052-113961" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123477628&loc=d3e90205-114008" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r454": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14172-108612" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(4)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14172-108612" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28228-110885" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123399704&loc=SL77918431-209957" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971" }, "r494": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=124258985&loc=SL77919359-209981" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "848", "URI": "http://asc.fasb.org/extlink&oid=122150657&loc=SL122150809-237846" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r502": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=SL51823488-111719" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(1)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(2)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(3)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62586-112803" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=SL120269850-112803" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "405", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e640-108580" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "5D", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=SL120429264-123010" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "5D", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=SL120429264-123010" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column A))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column B))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column C))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column D))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r614": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r615": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r616": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r617": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r618": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r619": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e689-108580" }, "r620": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)" }, "r621": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)" }, "r622": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)" }, "r623": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)" }, "r624": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)" }, "r625": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)" }, "r626": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "848" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL34724391-108580" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(13))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868656-224227" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" } }, "version": "2.1" } ZIP 96 0000851205-21-000020-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000851205-21-000020-xbrl.zip M4$L#!!0 ( $F!!5-O<%[3+@@ /,C>H)7X.+XAZ,?&PUV MII,R@]RQQ !W(%AI93YDGP38*]9H5+U.=3$UHU:X/VKY18YB+:;'1T*.F11O:S*-$][AO-M/H[37$[OQOHCVH2NZL)=T M]D7W?Q$*V<+N88QU4P5O:YG,&R.@]0>]3G.O7[C#B11N-(C:[7_4?-?CHU3G M#M;@VC6XDL-\X+=4"T-GS8E6V@RVVO[OD%H:*<^DF@Y^.C&2 MJY_J%I7?L&!D&IJM_!-0$A3*WTZ"H'LX6LD<9H)''1+U_'HD8^E8-VI&M^5< MW"XW0]RQTP6.PFD7)$Y0Q6"^DLB]%2*'Q04DVG "W*#,!1CJ53L^/?]X>?'S MQ>G)Y<7[7S?=S1/*7CN^J+./.@;CV+^:[)-4"IRKLP0?R'3*W(B[-UO]_<,O ML<3OI:5)GG0[T9NM:+=]N'R]8",^!F9@+&&"3NQ&TK(_2FX0+&J*SPN-.M Y M^UF;C$7MQG^83M&KASEH ]QM-F57N9XH$$.H M!Z54JA :+,LUTAXNPV7.>#YE9>Y,"2@\$J'G1-019QG>D; LY0D^,DQGZ,!. MAWY+'7)(P%INIM0EXU> ZR[,:?&90&%P2>4)%=>@#HDT2*#8+ %IW@)%TP*W.<9A@L73136\ M*G-W'VQN8*G,4:%DF[D"ZVAK[([-9J%=YBFZAG<"_)VH4N"<:*0%;=71P)+< MJ4 =$SP(-DK-[5^IWMY9&B$F?+"N4X]280'JA?&2L@O3% $,1*VA&-H&X9>CYY/]T+:1.E;8GCB!., M5L$PA=$)"'QLV3;:00 :-BC[_#H9\7P([ 3=[6.IL$?4Y8VHOPU!BJ@OPEVX ME12Z\P (FI^13R[@)-B-9-EXH?360BDN1/N\BQ[L0>'A_E#WM1"PNQ$ @K77 M"E=P00S74)"Z03\**>"RQ.&11/+,W: 1[3]QMK'-=V8[>++T[+9FFGM^SV=@ M42L('A\[/H_L.H6UA)=V\R$47V) E%8KA8BE2X,3(#6-I?6$A[T@]_-0LC6G MRD6Z-:"XAWT5LN;0K5=43(T2:1-EL5I)X0L56\96"LF-I W($%A] ,AIIM)2 ML/-$87UD]/2(E1 *A"6*'U1@@B234G%B==R6%V(>-'%$",&+F0/^BH$Z(O'B M>!#W$^TK06[\(I&[,6,N 7ASKMT8QXC]L10$3VZQ\*:@PBU"FS(VPBPW8H8? M1+3DL53232F:KUJ6O,E#S:,H.,*MK@L9GX]=U]6&BA*S=8L.2-E'@F69\ +X MW&\(.285"L&,+5"0EU 7S&L#8-&;9('AXYN ;/+,D-UM=GNTY_,Q5Z5G)+(G MI"FF@'*,EK K4KF;#&8#A@VWJ[,[CU @,ER.GG MZP<6SU)O[W00-#&K(VF!UPXR\5)X,=AO&0=4MU;9H6]9";8'L"%%:9TDI2%K M+X3$%;-FVCI\3D=2.)=-<*+JR(%MKQF2(FR1I^[TK@3'$@A\R4W5>%[>R+43 MI!IQ>Y,_$,-YF(/PU._U4='R% OK*U!5_7VG?_TOJ^CST%Z;2:\XG7R"!'Q# MJ/DT6EC;^*L?X!39IET M#N >9HXU1G)J%Q+E\Y-L(\20""T1+?ZGU'7F%_!'*5%\[P-EGOB"?N=[I?5W MJ;1.%&9JJ!>)V*=:FZKV1 (BM0K@-Q7/!/@51>20N?F8['-.?Z(X.PMZ$/ZK MXB2<=*P@/RYPH(4;[EOK*U6FBD,,G?.CJ_JTP&).8,LLPPKK3_";J6+.RE.S M;R;DOY12Z 0C>VJ0M^IH:/!LBU#Q1[X5INHA,,I\K-48*#KF?%B=7)N*H"$K ME)X"MDY&.E ROX581-BCI [-3>X]>$SJ,OD[, M%J[>(#;]&\26$\MMO>;>;G]M:[L9K6V[;]8N(K_7^Z)I[U_RX.#@\85M1OW. MH\O:;O:[W4>7M=]MMH.A/SMMRT,AP $!9PN>OZUU:W>8:M IKEETFZ3(19

IA2/;7Y<\:;FUO0WYKTRYK&ZGD 5V_'1S\K39=)6+^ ME7"!LM&+%C83ZAFWN:%S?'>([P[QK-'@&3#_P8"55"?[ZOQT)"%EY]>0E'3\ MS]Z' [F7XP?/WO7E6G+[0W@YAQ7UD@%WEBW8\M7PBEK[SE>RA0Z?"0_"._8Q M+'TW.V=_7U&WYT-XC"&@=.N'K/LL=>U'N-4U?!+L/TX^_C]02P,$% @ M28$%4Y=XJUP^" &BT !H !A-S0R,#(Q+3$P<7AE>&AI8FET,S$R+FAT M;>U:67/;.!)^WU^!D6LS=I4NZO A.ZYR;*?&5;,33T:[J7W:@HBFA#5(< !0 MLN;7;S= 69(E.?*L$]N9Y$$QB:N/K[_N)GGRP\6'\_Z_KR_9R*6*7?_SW<]7 MYZQ2:S0^M<\;C8O^!?NI_X^?6:?>C%C?\,Q*)W7&5:-Q^4N%54;.Y;U&8S*9 MU"?MNC;#1O]C@[;J-)36%NK"BL5BMGG>M\:N1PY%BKV8K8)VUNY)B'<2>=@M/9/B>-<'W2\(>< M#+28GIX(.692O*W()&YVDGB0'+;V>:?9W>>MUGX)#IS>)[!]>'/L,W* M9@YN78TK._',R.Y^K%JT?@U"T8F M8=C*/P E0:'\Y20(>H"KED4FP-"LRNGYY.8Y ME(G>[$3[S>/5WRLVXF-@!L82)AC4;B0M^[W@!L&CIG@_U\8QG;'WVJ0L:M9^ M93K!*!]F<(O_F;ST-EKCZ-58H[7)&N^X11N@MNF4W61ZHD ,H1J,4II":+ L MTTB#> R7&>/9E!69,P6@\$B,GB/11IRE>$7"LH3'>,LPG6) .QWFK4S(( 9K MN9G2E)3? )Z[L*?%>P*%P2.5)U@\@R;$TB"AXK0,ES,?=&PRDO&(V8)^YNLG M8*#%7N;C_:W< 2 MF:%!R3=S U;1US@=A\W"N,P2# T?!/AWK J!>Z*3%JQ510=+"J<<;4SP(-@H M-?=_:7I[[VB$F/#)NTHS"H43T.D:/>./LUZ>F-L12Y2>V!DB# RE=9CY'>-T M,\B-4E87'&MGPJQ(^ZI\V]GDV_Z2(=[L'+:B@V-;>J_D<8*^3A*)E[MVSUOI MBG$#WA]H7SE00'9C@" 8*&E'M(*FI1CY%/UT+:2-E;8%KB-.,%H%Q^1&QR#P MMF6[Z ,2S(; S#+>/A<(949O7HNXN!"FBK@A7X5)2*L\"(&A_ M1C&Y@)/@-Y)EZX.2I8,2/(CTO(\>G$'IX>%4]Z40L+\5 (*W-PJ7;WH6)K3I6+=&M M<0_[,F7-H5LMJ9@&)=(FRF*UDL(W+K886"DD-Y(4D"&Q^@20T4Z%I63GB<+Z MS.CI$3LC% A;%K\HQP))QH7BQ.JHEA=BGC1Q14C!BY4#_C4 FHC$B^M!/$RT MKP2Y@Q>)W*T9ON@@V")61])![QVD(F7PHO!?ZLXH+ZUK []R%JP/8(-*4OK."X,>7LA):[9 M-=76X7UZ1(5[V1@W*A\YL-T-2Q*$+?+4O=FEX-@"@6^YJ1O/BCNY]H)4(V[O MZ@=B. ]S$)[ZO3U*6IYB8WT#JNR_[\VO_M\F^CRT-U;2:YY6?H4"?$NH=Y^\ M!?./I,0,N-4Y61!W+8)GSAOD_DY5E_ [=,4^D

+[&"BRV#?T>]\[K;]*IW6F ML%)#NTC$/O7:U+7'$A"I90*_ZW@FP&\H(X?*S>=D7W/Z)XJS9T&/PG_9G(0G M'6O(CPM<:.&.^S;&2EFIXA)#S_TQ5'U98+$FL$6:8H?U!WAERIRS]JG9-Y/R M7THK=(:9/3'(6U5T-'BV1:CX1[XEIJHA,RM$! @Y,#>VK>&ZA-_OC&#-'KOBT M)S-O+[_HN-QKH)W3*6UW/*8,A-5$"2(/GC!>E#VSY\Y-'1T=,+6X^ZK2>7 MM5GOMMM/+FNW5>^TMA.HX:$0X(" LSG/WE;:E7M,U6OEMRQ:)BD*T17,Z?QK M491__WV!\;]<8I3ZOCY5SHHALC[K5OV'!D^O3V""IU'I<"N-[M57K]8S[Z9? M"&+?7?)G7?)FIX,IV?_>_ZAA2;DMV:U).E:V,L@CIGX[*/A+*5V68?Z%<(ZR MT6L6-A/J&=7<,C2^A\/W<'C&3/ ,B/\-,HE=WK]D#.S:@)6B_&+IO>_-0L-^ M/I(PNT/=VH?PC.[EA,>S3WVY#MZ]#N_KT&TK#MQ;]6##-\AKVN][']+F.GQ) MW NOW<>P\FGM/"7X)KLY7\('F!<*MWG)IB]7-WZG6_Z&KX;]]\NG_P-02P,$ M% @ 28$%4^_>'?9&AI8FET M,S(Q+FAT;>U9;7/3.!#^?K]B2>>@,(G?XC2O="8D82C#-;W&3(]/-[(M)P+% M,K+<-/SZ6\D)+4W#!*8'+;33<1*O=O4\JY566O4>#<>#X-W)"&9JSN'D[8LW M1P.HU&S[K#ZP[6$PA%?!7V_ MQP7 DG2G"DF4L)M>W1<@ M]F)V#BQ^7F%>U&I'4=/WVD[LM\(F:;MAA(^F MF;.T-J.Z_X[O6RL^>8OZZ6U!(R9WS9>=*7C/ GU1R=7\NI9$DISMDGBD@0 ME/FY*($V49NSE*Z!NYZ&.KJ8L9 IJ'N6^^Q+H%?Y$CE%RDIDJ(9VKT".T,=4 M_D^8_1LQ#T:GP='+HT$_.!H?8V2>3M[VCP,(QEOQ_UR\;@O>6A-K8(%;;SC5 M.XJR/X'^<'P2C(;WP*63T< ,?MLY@/%+"%Z-8-(_?=$_'DUJXW_>C-Y!?Q!H MB>$]?LB5RQ9_E!2P8Q"D<94YH@ 5SZ1)"RB$C]QO<,W%_@A,R&)7FAA M7V'SQWLMSW.Z S'/2+HTO]SN4YA12<,EH#*28#0')6#&%C022.)E^"I-B7 NSJI9!S<)W:WY (:;0N6V7(5<1 $7<,KPN. MEMP#I^M7RY7Y*LI38W -L@HDAX0A'%@P-3-F)S0J).811$S2&$87T8RD4P-R MSO)!7'L1S6O7E0C=^CYY M"LC';>S')1J2H8&(A)Q6=?-KB#ZCZ4=*B]UVW2_5YH9]U6#^[%B6HK/FY5A% M./:$Z3%E)?S2%9 09GPH::XQ5K68< ZH1G4\(8,\0] HT5H)2TD:Z?=H,#;Y MUO2)K0I>4A0X'J;/?,U@-<#6QBRXG=#V=@KMTN6[3$3,I3CIE!Z$M304$B=% M#1%RDN6TL_[2C5F><;+LL-3T:)2Z*UNA4$K,M;GNN9X&$>&KJ6UF>2E>9>UV MVVHUZCIQ*\S6*EYWO,KIELGIMHHW94W+:;>W2AW+W2K[FM6Z:QVT#[[+[->[ M]-WMG7XW6,OU&[=NM>%93F,WL+89M'+@,#1RC/;GE7IEK9"1.,8=9,?++L#] MD74\R:T"B7_MOG4\[9VZ'4 MVHG1M67KWH[,B^4O$F*/]WS"C X)BYQ3&Y6GM(7H>HN=&UOLGDN'A+]JVVW_P-#NG/OB%9W5$*@:[_K@K"45F5S&>Z MUI@*!2&%F-(YC=>E6E.7755J3=$W*V0F&AI8FET,S(R+FAT;>U9;7/3 M.!#^?K]B2>>@,(G?XC2O="8DZ5"&:WJ-.8Y/-XHMQP+;,K+<-/?K;R7'M#0- M$Y@"+==.)XF]VM7SK%9::35X-)Z.O'>G$XAD$L/IFQ>OCT=0:YCFV^;(-,?> M&%YZ?[P&U[!L\ 1):2Z72V/9-+A8F-Z9J4RY9LQY M3HU !K7#@7J#GY0$A[\-'C4:,.9^D=!4@B\HD32 (F?I MX&-/\ C<:ZU8AG M*\$6D03'5G8%9/@],WY4O$ BE+GJ$:VKT"V4GF!DGLW>#$\\\*9;\?]G?KR?O8#CRE,2Q+.=;POI]D4L6 MKGXH*2^B4*0!%3DBP)6/AR'SJQW&L_H@G M&4E7^LGN/X6("CI? 2HC"49SD!PBEL.'E"]C&BPHR(A(4!:NJ-KM?@X?"R)P M-.,5"(I]2<"NCKA(P+8:?T+(A=:Z;)4A5QX 1=P!O"IBM&0?6'VW7J[,5U&> M:8,5R#J0'$*&<&#)9*3-SJA?",PCB)BD 4PN_(BD"PTR87FN:.._:AE@;M T M>5B'L(@1B8],8J7ZR9R@'PLFJ$H#N?(BFE>N*Q':S7WR%)"/W=H/2C0D0P,^ MF<>TKII?0_0)S="72FQWFVZIEFCV=8WYDV-9BLY*RK'R<>P)4V/*2OBE*R D M3/M0T%QAK"LQB6- -:KB"1GD&8)&B=(*64I27[U'@X'.M[I/;%7$)46.XZ'[ MS"L&ZP$V-F;![82VLU-HER[?92)B+L5))]4@5-(Y%S@I&H@P)EE.>]6/?L#R M+":K'DMUCUJIO[8UYU+R1)GKGZMIX)-X/;7U+"_%ZZS=[1J=5E,E;HG96@95 MQ^N<;NB<;LI@4]8V'+>U56H9]E;9EZPZ'>/ V:[Z);-?DCF&[3JW#M8U[/9V MZ;=:;34-Q]D-K*D'K1PX#(TC@V<_ M:M'7>\4Q3O7'>ZW.Y>18\[U_5(;% K,FM,JE__;YE'/V=BAU=F)T;=FZMR/S M8O6+A-CC/1+B"2?D=MQ3; 4Q]I.#OF*IK]...] >IV< M]1XZ0QH\9@%4^'^B1W8,J(<@N@M!=/?C9$93AF>%O_! !J>XWV:!JE'A%OM( M[\FIWH>/(D:K-VJ7/BT/< ]!]1!4-[+>/Q4,(R7#4-D(FJ>;46/J \ZWG. \ MEN !]H0NX8PG)/TN9[FM!<\'V8/L7LON2S'"J11O]23>=8VNV_X?G,2??47Z MN:,4/%7D75=]_;+TF$>JH)AR"7,* :4)#:IZK"Z^KLNQNK*;%2+C.;VA5MK9 MN1Z*9C@V%$N6XYPIYN_1CBH_*^68D3F+F5R5U@AZI>REC@#%&BJ[BA05YZJ4 MZJ\+W_AJKBK3(154[;I8BBU(NE*%9'5-J,OGUX%>XFL"WY#>1,/8(?E6(WKM M'A =J NS/4%C'(%SNG$S>+F2Z$7!NE0A M_@=02P,$% @ 28$%4S,4E)%G"0( W&T9 !$ !C9VYX+3(P,C$P-S T M+FAT;>R]:U=32=TW:I]@EZ_V>W\M4)7 MR4KM_S[_\_\KBG^_V'E=6^^&81LZ@]K+'K@!Q-KGYN"H]CY"_V,M];KMVOMN M[V/SDRN*T34ONR=GO>;AT:#&"*.W#O:>*1:9H#05T@9>"!VA,(R;@@89K-9& M".:>'#Z+U.ND?"A ZU (HV)A.<@B.<5UE$"5Y4_B,U"&.!=H"E0(#=9))01U M-CCNI:4B/_9H@&^';]CI/VOVNX)1_=?*T6!P\NSIT\^?/Z^>^EYKM=L[?,H( MX4\G9ZQ,+CAM-3L?;YS^F8].IM;:IZ.C%Z'SIUYOA\][6@M"K M2[[>OOSJ%_?]XDUNOG@^[%T?KKW.W6=_[UU8P=3%3<)AY_3&74+WL .G^*,] M>@VBB;@\MSOL#'IGEZ>/'GC1@9.#HXLN+HC0O/MD/'#CQ##L]: 3OG;KR=$; MEYSVFW?U*O84??KO^NO=< 1M5S0[_8'KA,L^R_=M?DNX;IW?[PV^A!F__!)B MA.-K]Z7\&B376Q)O=<^D&>KI^.#HU&V_QF;GVK]P5D+_EJ)S?Y)RYT]ZW0[@ UHGC[+ M)T)O_&LS1NB,?L7C#62A7C.,GW\ZV('TUTH31SJ!D(BR5@O&C$^^'2P:8^WV^_8]OJ+H_WW]=.#=OVTL?Z6'^RUCAI[^Z2Q M_NIH^WWCJ,ZVZ/;>!GG-&ZW]\Y-6X_CP\_[[5\?U]P?'];VWI,'>R?V]=PRO M/=W?:QWO[S6:C;V/IXU7AKQF!V?[[X-JO'][MKV^1;;WWIYNK\=68WT-[WEX M7E_?9_OG+YJ-]?W/C?/6\?;ZVJ>X^:KI-]^I^GF@C3U\SN8[6M]L'#M@Y8Y?;VW-:CO$ORY]H$P$51PHL!^ M]X4@6A66:%I$:X1SQE%GR,IS@G^,I(S(/Y_>P/,QX7TY&MN#5\U^<*U]<+V- M3EQ''58A_#V$SZXC;"27E!-2,*U19U/4PTYS5W 14?M:D%2[E>=%01DRU@SA MO;!,KO!]A=_T*W2_A^[Y=729\B(%H0LO%*++E2ZL=03'+PE2,LL$LRO/<__/ M#=HW>/]NK,"]%[CD.K@6^Y\%R0NI7"I$$*)P"FTT,-S[)#5$BN3\ELT0VC7$ M-8ZP;;G#"L[OP4FOPQEU%!0[OP@LPRF)*XQB4!"NDD'WB4OB5YXGU^K#0Q"E MA$O&F.4L*73.HDWX?S3H?S'J0DS?0'3BE3S;/7(]>($.1'S9;9] IS_R"=9Z MZ"(<0D;[Q=G5*6_<6?YJ[;/KQ=$__T!_T.P/W[?XX;ZSNMQOLM?G <4,@:;;P.WZ'1W-[\)S76-]@' M1GD$:6@A/4$6SJZOC\P6P0>5M#"&.[GR_(W8_P+7ISWKS'^/E7 M#YVTH=\=]D:?1C[1LXFTC7']$?ZXN!&,#/:+3\V8/ZOOCYQ5'Q^X9T1>G'=U;'+9L9KI^HB>T(WCUQ\ MOGC(TQL==7&?8:_!\\OC1P8M;7!R[^)SO<2<.0G@J MJ<0Q'T%$8-9XX[GD7 H#*9@/6PO4_6/?>7!'CUX<>6"/#D?2?+/+)M&?9^]V MUQ_.Y=(Y%1S[%]]P:&"R$66:E%K1I/IFOUEF'4JA M%Y$*(,I(HZ2Q(7G!G4\PZC="."?%Z!?%S*+U&T']6W!RGW[#4U7!S!3ZC7 7 MK9;.:#3>DP>C3+ .QS$U$"AADWZ;L.BB]MM]6?2G^NWZF$<38V2'7/9%;'[" M=[A^ZDBSND&W]X/T\,7U^.RFEP1DG=0A1 M!)*5KD-J8IZQY!T+(?F9K>#'_MKITW4D!>GK07T((>M/&.Q/3B"7CZO!T?Y;I]@ MJQ.Z;1@_X\^G=S[ZLD\O6U@*.@5EO#;*Z01:).V<)TH)Z5,*"9@+T M#6@Z21DT$Y2,96!!5/\-&;BAS7^B![07$@UL-(2"$%8S8URPDFLA#8]X;.+# MB-*S''[?[G9V!]WP M*3/U3FO>Z:9Z9)1)%12/U GBK47/E1L5>50!V30N#31SV9V&J/) M@2%"*"D@",:C\4* T3(2*_-ZFJ6!9AY*:7HP@;& "LDXSZ*P0)VD1H*22A#' M3("E@6FF2FEZ^$1TD'E,2K&H1_GQ/#C&->2QA)RW//C,6RE-#S+C3%#*LV"Y M%:"$-Z"%9P)PC-$09PC9O'H@> \L.+J$@HU%6N$ M0R]+H3GH M;?1.A*6!9DX^\)1@\IJ@RM->46I%HL8QZGCTG$LD4(AB:6":M0\\)7R4XM:3 M2-!.,8( M300'WB 8(! 6*)A-'\?>$J0,944&A30;?$S<@14(E U,*^0_92/5(?GE6\PTTS3"V2]:RDO36&*&J."% MTM&X!)Q;(8TCPAFV?(#.+8UP]N!:[B@#-$@2,8(18:.)R5$K"4],1+Y\X,X^ MC7#VJ#($+UN@1KB$0U8Z91%4[J030:(%.KM5=F6FWD=9_D>\1>/%&)J$%TD+ MRT7,Q7L@!O3FI%L::.;@&$P1)B8"9U;ZY)'QM)=&YWEE(R7DU1 I+@U,LW0, MIHA/R(NFDR8F*"\H,2[XE#AH:QBZW=PL#3YS=@RF"%DBCB'?J>AU5D-(?R U M)6AY..$CE7,H?E)F[327JBPW@R] WB< A_)W /Z1)EW^ M^B]\2=<+1V>OX1.TOM*JK<[)<- ?G4%+LNC#">ND8%QJK84AU.6<=4ZBT31% MK4@E0',2(%82 ?(A,,^C##R7DI'4>L:#\))2]-O294&%2H!F+4"\) )D=="1 MIR2CW$W?QX]'C@>\9PI4+O$&"4IR YQ_^%$=8:=)5)2)Y&I:A2J01+72L!_J55 M.(V&^B"4!A4$!&XX!!1=K:40P8"J!'A!5?B\1].B"+ 2A&H'FEK.A#3:4TH! MW1AO , J7P(!_AY [W;W>B-Q/7M4KENFT5,6^T%[&5,$EHR*(KCD31+.$!*8 MYL*F$I0RJ:3WUS4>1$*>)9)P4$9(+0U2L!1!V !2.9L" K\?TE MQ;4\%9$#%8I2[Q,)0$$-8V6H.UQ)[*]E(BB?,T\5X\F"R#LH M,0THH%8R&60,90CM+J#$EF)NXH'#9U$DEB=/9\GR:*X.A6PGPKVPY$)(BDQJT*XH'3Q2T@N'CI3K),K)$M6)1(HH@/, M4270QR5@@K(BE&!7S25?0N&-$DR@=DK A.'&4"=-CD]0:PRZ>$LP?.8!T!1+ MY#)0G@-P("!<'D'HKB2C$I66Z*7(L_Z17*E%&3^&>6:20*,;37'CP9%Y^B49-=8J M[]%H"V@3H$EM?/0I>-#H0"7OO5J"43,[6*8W6AAU/J5(*+=12**\SIL:6 \V MAL#],@3&2CEE%),VQ*+5;$423G'GT*:.-+B4B(5DEF"XS!"7Z8T7K8)S/!(9 M@A261RNEIM;;O%&+\J$,"^B7+ G+2(F>I221:W1GHD$M'YTD3H40T01@)1XI M,T5D>F/$,VUI$-((2 +UB(W4@B=*Y-USF&"+/T9>N!8B KM' %^)A(XK#PY[ MO0Q6MI;+,EP\T&@X#3>9=X6E+!B-8KF:S(A7Y%,,1I@)!E M0WB!QN@RA#H>=5'EDHI%SG&!!,"D3X(JL F]$^Y1YX-PT2S##,PC)[LLJ6 X MPU2T+*;DM=#1>&L$]\[G[?>T]\NP"/MQDNR751YD\#1"0'/3""FI-Z!Y\)+J MR .%$J1UW@7,R&M^W>T1LSBR(4A!MK-1=$H>OAK?5<<*X3,*64=J+, M$:ZY&14_*)*+(A*>:^N!"*>B$-%J9_#NG-C$*(LQ+,,DP:S=TI)+!*&0N#1< M4"]$8,3'F,/@7K(@K%0EV(QBH31'24/OEB/J41).E!1::S0O0Z+"D^BM,JH$ MB2H+)06EGK T I4!T4K[J'-6M!64>2Y5TLEJNA0ILW-P.DNN)G@ B+F\+;> MGB;^3329(+4Q>>T8_+)",4> D%S&Z'2&N2V7'=\>+]5Y/KD'_GIQ@XLC%Y_S M'>Z$&Q@:A=HSZZ(7DB2OJ+=H)"A!*56B!'#?7.#0[0_6.A&_@]XGN.WC=08] M%T:./XI(GH-:7,AO9C!P9RVA(47T[!A8A"LDSB@E-B852Y!9LK @36\BD.I M-,T[2S,E(@CC. G&,NQ.X0@M@66%Q-DR&PZ9OP7@R]L59W1UW M>R];KG]K:[_U)B+;],.,U$[S\*@TB@Z"]<8KDJ,FP@KKN*+6Y!0AG?+.[K1$[]H^:)V7!#I*BW%JKJ(I"4$C:K,H?88G M<*V\%\N*UURLCRGFDB?NM*()O$0/F0=G51(.S4:PP5NMEPRV!; ^IH>=B S M&["""5$2-QPY95W!CP0'HE==L':ZKSI=0,"GZ/FN5H:LL-$ MV/+C*_'Z.?$2RCE"N10I"N&C=(GDZ14PP7OTU.*RBM=4#/Q*NK[K[-,DM?!) MH;.O$C$ZKT?VGCL.J!;'B1:$2*8JH9JR4&UT=H_<"6RV_;\>V98FLF!J"B:4 M(U;K*'.9&B6\C,:9%/!+Y:5%HWJRVK-BH'(+RW5F^1G'*S*KJ>0L\"BT]BXE M(W1P*#4>@*E*;Y5<:N:OO'002DH!0E(GA""&.DT,(^"<8$Z-73I*\&^QZ$[^ MOR >-CN'Z]!O'G;N6(3>Z';BY!C$1\82?>[\WWVPO.6>/PS+R]RQT#G[(G&L MV>\*1O6SEXW]B\OOG3G&J=),1'3S8Q2$&\.,)XQ99JB(095@B?,TQ>&[#^WW M!L_&]0TN*F^'R:>KWE_@P(Z2FNHDI'5:B&24C=802?+:5$&H(XL?B5U^M'\J MGGO)$S#\,L'T@B0$U(NK&W0X1'1*,]07(1C2@:7>"S!BO=%D9S+ MWE]DGB#><9;+:E$O@O?.TZA,",%296@9*M4N/]K3X8F/O<]?Y8G_V7G_8)X M8H&/"DX2*B"O5),\O,$\X MK1S72KO B(A1NQA1%U#)4Z[%2!>8)WX=M*?#$T?#]%6>^->[5P_GB2BX#EHJ MX[@ %KTR(K!D7$S26E+%)^XM.9>]O\ \D?'EE#D7@:/?(1UC1DG&O0?\WE1Q MS 5 >SH\<>A/OLH3FR_>/-SO0.^"LL!-WD$7_0^3:! \&F$4!&]+L%YT423G MLO<7F"?D*'&9&I<"XH[*@7 >-9H5&H#1,BP66'ZTI\,3@\_QJSRQ]W[]P3R! M9J@6GFA- 43>!,PJSH.V!@219)&KZGP#Q,N.6 Z/=8I+FATHJH1TT8(0N78* M)=0&R/LI^N#\XO+$KX/V='@BN*_SQ,NUA_,$-\R H]Q'8H2VUO*4R[HPS\'9 MM,A%.[\UN;VV5)(S17N""\&B9/C3"<43(DR2Y\8S2S6)"VQ/_#IH3X6 ] -*6,*M3%%;C0+$B44K=7%Y8M$LT7V">"!2)P;CC3P^&5#F4 M7\G'_NYV4F]Z<.*:<>/T!*^%G!A>VMV_M* T.>TXHR!8DBY),$KK0 S-[F7% M"&65D2GRB*>(G \^*8*&1C0R".,B\P$X1+/ OL2"RLBXNG<(O2%<"DA)^$($ M@!2 2!ZYL)J;)&F4TELAT8+PJ>*+19>%Z?&"S7/@:$](X#E;1KC@A$O>$B-X M(E1.UNZ(O':Q(HB[ZGN';AMV!WC/W-R[]2*8)V%]T;>$RR-.LUC?>W-&"B^@93T(:=*(5.*VM"BA5 MF;.HNRCC,9&GBI]*)$_D_O(TQ;7/T7+N0@J,YLU1J$-9:V./!+>4%DO@C(,R1CG)\J86EED=03C!>'3, MRA)8+(N#X'QLA* ->!^EYUXDG;SCU(&-E$@'3*H2V B+@^!4[(5QZ4A\@]=50JR\M0@V=1\)N+!HS$4D.5S5MWBY#WKDE>>JHD]_SFB*(EYE0AZ#CI1[YD++@;ET#6TFI9?_X7NL#/HY>HTRZ7YC!= +$LL M"2(HL=;E) LM&'&@!>?EUWPS0&X^=>? 1,9R?K6BP@MKK/:2:I4DYX'R5'Z= M-YLQ-WMMIRD+)E+C2(PB,G08-"&>&^L442*:\FN[V8RYV>LYSJ--5H&-6@I& MK0$5LM<00$%2:0G\O/%D?K_I-DY#:QCS;J1'S8Y;2J=/><)C$@DY4W#OT-!D MVH:8 Z&,\S*4S%](,.>B#2$2(7%4$@8@HF*.,&$Y>(I8DD3$$FC#>8W,V2M( MFE(*4J$G" 91I.@)>D:XRL,3#*0E4)#S&IESB(WJB+Z@#\1+$!"C959&AP"3 M$*U69[O0^]0,<'UCAH'K1->+DU/Z^&ERTE).&9IH=&+$ M)QNL<,;[9+0)4@?@WAI=AIKJ"POH?+;?<,$8!Y(I[@1)RB*Q1FH= NPD^B8E MT9T+">A<]"=:/2EHYL%$(6@0J#*3YEYH"$8AVB71GPL)Z%QTJ.$T3_(38$$+ M(Z)/46LNI *J@K*D_#IT[21?.,JFVCV!@ \)%]M7['9;HTT$EU*9\H3 &FD9 M,"=0CWIT2@, M9JGO']$^97I B [ISE)&[RQW%,9A'/44!TD$C-C0AE!6?FU MZ@(@.Q?URHT990OPR#DBZYPBEMCD=,K;+\JRY.LL-K)ST;-"D(#^3 +M4<^R MZ(@T J<,CH2[1=_G>#:9[2*]LY.X&9.\D;[I-4] ]@==,/'[9,,8$F6ZU'" M)6/,.99CFNEQ0VW*=AFM?'VB;T(&>:UV#)9\TC57_ M.ZYS"%>Y!_5FI]D>MI>1C@U'M"0P91T5(J<"H8:-!#BEVH;+)/1*0KXC(>YT M624$75[0Z!$;G;>O)=0:Q4 )DH*SP$093+%%X/?Y VF8DL3D9-L @GCA-8CD M3,B3Z8E.+*]2 _D&>JG;:X^76KO>""N2%X9+@@:U8C10$0E? M_"7X7T%O!_J#7C,,((X&XKM.<]#?V7U7DM7PU%*FC8_,$R.<(88R8'DX2<&! MRC*96O/&9_YCC%/%O5%<,!QE$3%5UDC"$OB\S78H0=GV>6/X.'4.@3@.P@NM MC1!@K-5*090:AYB6DWS+Q8[D+@H^\P_>RLAM@ERZ$JW)4:DRPZ@QE =@SA%6 M@N#M0H(YGWQ:PQC3EI"4=V;4-B^/=U80)X$J)\HP:;:H8,XDD'>UL4&O._QR M:X.1,STZ='']O2N,HM/AB:/1>TX%DS3OT\EY8E2)J"0O0P;+@PH8O.SV!]MI ML]N-_;WNP+66D;J!H[)U#!(W1A@6O$1?$K\1W@2N5!F2/Q<9T[DPN&(\TNB0 MR(,0T6BG/.0*XDP9F? !I^L((+*B(E1AO#/?4V%TUV0B^;VIWS M")[#BGVO(A&:!HA&.*J]UXJ:D"0$#D$OC0X>9PM#J]7L'$ZFTA'CM=AN=IK] M00_/_+24*CA&EW-DI.'!"9:"YYP&+75@VDBCRU2)=M'QG8L&CH(S*W.I:I5$ MBMKGRD7&1&F-PP%=AHHW9<%W/A5Q*(N2HD7%K1(V #I&GB3@1%)G9"A3-'K1 M\9V+_DW)).W!H8.D1=#H'5GI/ +N@C-NO'\J-90PNZBPCM)3=N!DB&:3Z\.; M7E[CVKZ&ZA?'ML.@BS?++_:8L[74%!2UFKU\V1^?K57)&6!$1&%!:.Z;H;%+V12XU?J0 M>*+$1LT%6/P(+$'4,7(OK"S#FL:;%LZ>.UT;#HZZ/6S:51+W583A$W2&\++; M;C?[^7+H];=ZT'*=*5>GO]Z,NPO3CXLS+:/72R!2=&EC%! %!64\<9*2P"%) M+F(9ZC,]"IA3E>21)7_=0N]VMA->,OIM::M%24O!$DNCCP[M06*\I1J(U"&9 MO'-QJ47KVIJ32>6V_WE3\='/"PU$&YV-7J,%(H QPQUX03@)-%@J6:F%YB:8 MZWBT/VB&)4:3<98"..\CE4(2:F,0+D639-Z FJ02H;F&=XC-O)+W$^Q"&"*> M3>B/BU%!?-7KMM%0.1D.)NR^X7J=9N>P_P9Z(\/TQ=G=-UB 14ES*.$@'9'1 M)R XR)50N0@R(>A*.L)S]*!$08+E%8O9QQ>D%]I$P2RZ,X(X;8P&Z;E(#JR1 M*I1H!F9)Q6(^A2I=+D[ID[0C.S)XG5-B2"( 'KR#$H6=EEE@B1H>=)&#.6(UL([[RE/IC$"3/\U0ZJTD$L"XU%09%6THPZXV-^1U& 8HS)W# MO#IDK1-SMFKOTZVP_'8']O#R/>BUF^,-D5] !U)SL)35%;5">B-6)#!&""FL M8-FG2D9P+7PI]JU],,(OL0-Z+@RN0;R,T*J0.%=! 65&:$&LLM80_"&#BPI@ M&:'='AQ![\;92XFLLQ08.KA&4*%)]%P)=&_S]E62NS+4_7GA6N/23 !?64FP M%D)O"/%UT_EF:V1_3&MN=B$UP:,4(N*1JD317DF)" /$$?1]#5$&?/(J 0(J1.>FELDD 5R:R*"-0Y?,F:LHLOH \GF:8IXPNBGPH;3QX)JB4 M1@ 2"%J)44ETDT$#9[#X\K'$X#!&(AA&"22T[GRR!KCET6HH@IT%)9H"S[J'-V(A.;-$!9?/I88',6H(MP;1R.R.Y&6!Y5&"1I6 M"0H7AIVY2.?#7Q85I=VA[\-_AGC1QB?\Y\NRPK=.>'RCSMP_%>_ZJ?"XEY:* M#SF\>'5-?W#60OA0#Q5'T#P\&CP3;%7+D\$?GYMQT_Q!N/?Q_?Y\FZN=X@W''1/G@F\4WZ%PK6:AYUG ?L4>GC#@?,MN#C? M=WOX*D7HMEKNI _/+G[Y(S;[)RUWAE+?:G:@&%WTQ^3NOCL8=-O/=VFV?CG#K79PP$55^,E@978<"DP7RKQ4J5VX)U41,\-1:[ ZST/T7&?WY MX\3%O,G],U*CH_MCI2-#N$.R[)#D_^.(XMJ/;>W;Q@(2CMTBNW6R=/?OO MM5[3M?[[2=]U^@6:&\TT/MQOGL,SB@T8?_P\?C&-5X\D?O*BR)_8%>\:6WL; MZ[7=O;6]C=V;0W!AVKB[\?+=SM;>UL9N;:VQ7MOX]\M_K34V-VHOM^OUK=W= MK>W&@C;\_=KNO[8:FWO;C2>U]=67JS546<)>-/8QVB'N;,?_^2_4TG_,NI,8 MNUJ=?^1.73Z78:PS;>)-0F.FH'4C8 @R,0$E'6:L&8\8FSD+/\M%=$ M&'%7\*C6<=F"B-!\MMX-P_9$H:],BD[Q?\[\>O?3:[;S:9_7A_%XX]/!ICW> M;K]CV^LOCO;?UT\/VO73QOI;?K#7.FKL[9/&^JNC[?>-HSK;HMM[&^0U;[3V MST]:C>/#S_OO7QW7WQ\D@9[)_?WWC&\]G1_KW6\O]=H-O8^GC9>F=/7 M[.!L_WU0];VMT_WV6SQOZ_Q@\QW>^^^/#;Q'XSS(QOF^:+3_.=K>?"OKZQN? MXN8_(O[K[]8!:WWRQ]W3^O&KYL%ZZZA^W/AX@,^KM]]2;"]OG'_DV!9V\'Y# M'*Q__%S_QYQNKZ_Q#TD(:YE/!4E4%X(D*&R$6 CK= @NEPQA*\\I*=Z.3( K M%)Y/45"_D(4?$M1K-@!E(WZ=0M/,O5KV6]WU/M:V._#[?5HGQTIDMO:(7362 M_X@]8E8I$U/7Q,:N*JT>HHEOJEU^I75=^)AWM.C$8H)Q&OVYU+;LY#3KV^M& M82]C]T6G=4\>*#.U=YUFZ$:HU7>_1L'?E>RQ.3)M@AOMGC? J_&5T3MZYKO= MEG>M5G?@NZ=W\=_;(7H0T&N=[O'1^WZ>9A<\P\^2W8.]I ^V0%2Y]OSQG&= M(%62?;8EM]=WVHWW.]BV^FE]+YQM;^)]J?G\>F]M4-\EI_CS@["Y%@:ZL=PZ M5PBC7.$)9P6UG.$!1VP0F;\00?7'UXCT8B#<(>/?$.46I"E(\H^RWTAZ+V6G M-A:>VLFPUQ^ZSJ VZ-9V(>2(QIB[*:]U>S4J?XN_U[JI-CB"VM4*A=K&:3C* MN['6UL(@'\;>$UF21^?]Y_(A8X^UAHXLQ-K?0_Q&/*EET<=[W^C+NRWKBGDK MYETDYMWK8?.;>8R4GGH/CK<^;Z]_1'I%(MU\];&Q>7"\O7YXAD\E>"Y%ZI3U MX[^;C>.U6]1[TJX?KXEMI-?Z^<''_?=O";Z;V%[_&VGZ+5JL[\3!\<>S>GN+ MU5_=I%XI16"07,&]E87@B:,!ZUAA!7=*RB2D\!/J%XWN>=E7>R_6\*E)7>]5$A8%"DX/#C^B,;HS" MO_EAXV>5D@I^RB$5'QC0*$E0V1=-A8AH2EGC11&C$8F[H*(F.4(RU9J?6'/1KJ#RS=_+[ M/53?M_AHMN*C^"HGXD<\$Z%7%;,_Y)I\ZQA;Y6+ZDSZYL?Q^#?J.P[-08ON% MGIF-/]//=4]/>MU/>61 YTM%E$LD]M 4'24RC*JD3HHAOD1_K91Z:>S<-([? MLOUC/'9^=+1__(XWU@.OO\_QH5?MQOE!\Z"]<7;0?O>YWMZ_'5?"MAR@TW/( MM_'[QEX@^)S3_>./HOY^GS?:?[?W]_YN'^RMG1VT;CHW" ^A3"$>7J)%Q"Q! MYR;X@O$H--76@]4KS^NNWW?A:-B'P:#_^"[.[+GX5N#_A]YD:0?H[?&WYTZW M)@DOXV2B$OL2LQYY6Y#!%$X1*%)48$ATT7B);H@HF*9< MZR_\D"\-@6_$T:Y,)9)]TQ(:2R.>S_&%;DYBK!T/>\U^;(ZB#V@]C=S\YG6] M,#JU=^@ZS?/1Y]]_*9I: L"W5G=6=U=KD[J$O1'"-VFGUNBN_JP]/+\@$26+ MX=:OQ=B#?G_RXS4V@):2R7_*MYZ\,1 X:(T/%*29*(K MS[<[4/NG.8K8K?>:GV#^P:'%DJ*7^.MV;Z_[N?/+R=#&YP]*2.P_EXH@9"R$ M2:)P)KJ"R^"XI280BS+40/(*'V]+SI/IAWT?[%A-0!RIVNW>&SP356HY/:J? M8@/Z(40B E&^D(RC<88?"\\13DXEUY"D=B1]QRUZ_##^!*XW702V== \*:W[ M^U-@L0]6)R\XC45*D16"2E$8YUT15 Q628>$FBUIJA6Y#1+VKK0+RMF_/:( M99Y>ZX'[-47F_(.27K%$;&%8%AD!LG!6F")QJF0(TC/I5YY+\H77]?MC#NN\ M.*?UYJC;^65GY\B'Y(!*XFF1F,BS[2X4GFHHI' ,& &O':P\5VBH<1QT][>_ M%FYJ1:CQHI0?F5H1BEQ<^\-3*Z*44ROW2UKX;:(:G]30@&D-5)SG5@;0 M.\DBK=49#[?J9#HEQ*1YXEHU.(4PJGF+7Z,/"OV' M.)^37BMR(.$9Y:N70MCL9*\7W+_J4P+V3N$;,MGO6]MW6;_V?#(8NRFLU)E/G M([C@(K\,J>;S41._N>*CA\3*2_#>CVB"3NC\C#(_&@VE-$$G:?K'K:.<6G^ MSVNLOV@W-O\^KJ^W/HYR/-_OB_K>/M\_?GM:WSN\/:ESMHUF:6/SH)U-TOKF M/MEOUS]OOW][MG^\?XKW.VT-T.[?QVG0J)T)'*WPADS.%\ X]# EH MJS(O Q6!@F'CO#^4TE%A_">U$]>K?7*M(=3^]RHA+"= UOJYT/YT)UI_ >&= MT-R8Y2K)O8?D;EQ*KE$V4I9%5>6L2-"J<#R&(D4F8F!!F(A^U\O-QK\KL?RA MZ&O63U\&7B_X]B([NK2IE;.6W*N)=$J<#DR[0G!E"Z'P'Z-%*A)5SE%+*8*$ M)A Z'8VUW?6UMV/>K>4%E3"HO7[]\OLSZ]^>4IRX(4Q<^.3WG52\\\*9>&U; MG9@G4:'FSVKA"+ [VGE]Z>O74K.%#IYKM?", MO!X@^WW_&3:SUX?.GH?)"7CCGUT<$$M^]NDT,E07XTT>?5[\Y;#70^TY M7JZ8_<&!&PS[);:J]]D_'QOL[6GC_=;I]OHA;^15KNNM=B/_98V/!WB/@_5P MAFVXO>KU^. ]OL?Z!MT_WA#;ZX$<'']$JWJ?X5^^SW;0,M_YV#C?RFV\D9X: MT7161*HBRD31'Q2Z, %8$8+V1LEE%NX] M()>'A1[,1.BXS;>QGI@/[OJR7*JC'LAR,7 M5E6!BRIP404NJL!%%;BH[.8Y!"ZNF1/9FIC$,WSNKLX'@;[U/?R^UX2[8WWWT1N-C>W&?[[7=GVYL;'-M%ZNOOSO:/ M\=GMNJP?UT_S.Q^LOQ4'_]P,7- @DB&$%0P8*T0@O/ &3$$C1)ZB9,:%*G!1 M.46_V*LO P%7@8M?0%"KP,7/!BZ:_9JKM=!WAIH+ 5IH4^3H0_;E>SG%X#E!_'N;O<=A]'AQ='%ZM[0*, MVA8A-3NCZH[]',WX/_]E&,/7_$H+1X?I'Q>G??>$K[?OXL2^_5Q_WSQO'^>:N)'NGM M1%11/W[1JI^_.FH?^X_AF]55E_OW-<9XWC[?=;Y':A:/"& M$2%9H2% (001A15 "K#6*N6-YP%6GK^^6^U5WFC9O9/'=S$?Y]3%)<6UJT$R M[M;)2/EU1L8M'W I55_C+L?CYPBA#%A6+%>QW*A'=\?^Z[A++YW8\<>)D[I< MHV%^.Z*,;=Q1A[\8]K%A_3*GA<[(QD7;-ES:N,XZ*2-S18C,%X(I7UAG4^&B M41&AG]SU/DO+T.<%<5]D^+. MKE,<"5Q*)6F1A+6% ,L*0Y4H6(J)64^X2/9!%/L.E<8MWLR53?F\X[WK< MV%N3>?7VP5[CN+%^T#Y8/SS=WFP<;:_7:7VSS@_6P^G!WA?>\%G]?)_6UUO' M!\<'K3JKDT;[X.,V>M'[;$/4S]]]WC^/'QOGKUKC2>WZI3>L\C:74N7-B5(N ML612X9+E1=))"<^B!^#3V/UX>>AI 9*,*V8N2Y+Q?'EY$=8"E'.8?CL"=/J8.?13> T?+CZ,[.P/5NII:M=\,P5TE[,XI1;73B.IY>2CW\ MXYL;-,[7SCXD%@P$Y0L:C4)E2J%P)$"1E(O"!J6MURO/_QZVSFKB22UW]9?; M!.5P#=0^YW\FD+X:K1GK=FK#3G,,Z*A\;'_E)LA">"JI9$E%$!&8-3DE37(N MA8$4S(>M*VPCA&;;M?I_K6PU7MV$NC-LQ^Y@27 W^#?S A1F9%* 3ULA ^Z,)YC0H$1YHECH*.8N4YU>J) M)OH)5>("^PM\GX_+ H]&\\T2PI/"P9>%A"]+"#^Y",Y=B^UUKP"YU\)^>K># ML0AU"G.90L9^I H_-:N63'\GZ.JV#[OMW?$,_D4X@\K;>Y-,Q 1/K<7N, O= M[?U)'J"O)\\5XQU9_CCICB=5GO4@E^7X!']<1-E&;W7MPDDKR-4ESO>[K>'@ MRTN^OL[H^K_YWB-J!&6(J:_M;6TWIO]FXZ2@NWEKY)D_ MTDM_)2#J9O&<<9^@J3[9$WN<0U$[ZF5_X+^^KV(H67G._WSJ;JN AVCNN23/ M37>07XI.)2%W2<@6NOZ3&N^K7Q&6*<(P.P1>72;)C#;$'9=Y_ZV939QF>Y)O MTT>?VPUC*:*%=[ M1Z'UZIM674[%ZL$1 M=/JY? RW_8*7?^H]JK5_7P5ZR\1 M:YA1M+Q<#2Z=IYH;77FJE:>Z?)YJB09A%2U?<( R2ZK*+BH-7IQ^TRX:K:,Y MZK8B]/IY2P.J_ZAM_&?8')R5/&:>W[NL,?/<]LH2J2R1RA*I+)'*$OD62^K* M$BD/7CH70!A /U?\NV&2W)4-_?C9WM5H>RAZMEJO48WOKTJ(U=?7:[ 9K->H M8/@*#'77<88XXO,W5KIN#4=&'$. M.*!U.^AA+X]H]TVO&R!FIJUX=0&QXJ3BUN-3:A M('=M94,M(DJ<5C94-9B_*2:4W>#5M8I8YXM%CO/57KDPZ/8J3EU$@"I.K<;Q M]\1$SFX&O(+BNU"\ZXPKTT,OISV[UKBZ_22[>1?"L-<<-&$<%'S7AWQP8MA6 M#+R(>%8,7 W[[XF)F=U\=P7%=Z%8A^1&B43O3O*&(M!I=GO7F+=BV07$K&+9 M:FA_1TP8G=W4=@7%=Z&HXTW1ODV 9NVU/***71<0JXI=JR']/3$1U]E55NPZ M7RBV\Z:(M:W.>)]"O$O%JPN(4L6KU6#^GIC<6)^D*EZ=+Q0;IT=-WZP6>BXD M.)PM,9U.?]5W-=R_74F!K#S?Q7YR@\HO75!X^#=W0/CJYK;7NO?&!JUW[>XZ MXSUQO]?$GX3&?@^9T0:N;!J[\>9MQ^:Z'>\L-]W->=VUK6>U;V_=.8^6;>UM MU&OT>LMV]];PNXW&WNZ7DGY/:/G*]$;5(TGZ/;OGY?9F8^/?M9?;.V^V=^Y& M:U$:VMC=?KVUCMBM7X.PMOVJMOUF8]ST.P"=<=OOYI/?MCJUP5%WB/>(_282M?C)"1_?>X$:8ID(FYEPE]BTMNO[R] MSYN,>?HQW^6V,7CWDJZ]JT*:_=I&KNOX@&U]O^JTEJH+=B^J<=Z_ WY JKT+ M'P][J EC,7F;-/KSQW0B (O2F;D@Z-46&#\O2=ZNCJ<:>%N+M*]%X=-'XI?7J!.]LK2\8V+=?].Z1\-NPXX:Q.8#X M^W2U[:_5,5/1PB$ 7-/"]QP<[6:,+9AIX'8'/D%G"+?[Y2$O1FJ+\'IW0_^_ M?^K%_K@=4U^ -_JS>9I%\U7/A5$1PV&G.=C)\>]A/ZZ@<'9RFT=?8-LT2&:\ M45R(1+3GSB42.=5<1=#IPWI6FD0068Q^T42LU"*$9MNU^G^M%"C@XU00O-?I MX%EGV([=P>3X2JWCVI"?6APZ=_)L(D>O>MWVJ 0-MNY]OW ?^+>^X4AP_V)(P&TBB&&/D_9WZ]^^DUV_FTS^O#>+SQZ6#3'F^W MW['M]1='^^_KIP?M^FEC_2T_V&L=-?;V26/]U='V^\91G6W1[;T-\IHW6OOG M)ZW&\>'G_?>OCNOO#X[K>V])@[V3^WOO&%Y[NK_7.M[?:S0;>Q]/&Z_,:?W, MMD/[56>[_0KOB:AZL;YUNO]^0C;TMOKU7__R: M[QSMMT];V\=UN;VW=G:P_O%L_WR+[I_OM.KG1\V#X\;'_.S&^HMF_7R#-=H[ M[8MK\%G# _9.U<\_ROKZWQ^W]_X^KA__<]S8?'>^O?EWN\[>YO M/CO8/$CU,W+Z>F]C4-\EGS]H&3QEQA1&BE (,+SP FCAK5))&,="2"O/F;)/ MJ#1_/KTI,9=1U=F1S-TJ^('D67O@D/R69?>]1]Y6BN6CP[N!*#,=?F7B\0%T M:)EU5#(O(A5 E)%&26-#\H([GV!$AX1P3HK1+XJ9B@X7EP[/+^DP&2>H4KJ@ MBNH"P72%CP$*9$%'=' *S4>'DMMF8@1K3+9,%)CJVA:58XT+R01@CGHPA)(#4I\T3< MP4P+;ZO=S3*/:JO=-R&AG'Q1JJA4Q1?3XHNKX%-DRO(<;>+4D4(PR@L/W!0F M1>VDM 0$R<[=$YYGX'_.DJE&[Z)I^UF&;:K1.ZW1>R,ZHR I&F4J B@+Y)2 MX8PS11+$24JIX0D5/F7LB=!?1H\KC?^K<4:I AL59TR+,V[$+PQ0YH"Y0I. M2C]YFF><=*&!:!,U3U2B^%GZ1)9 Z?]:"4^;O6Z_7QNOIOFAV,7D3>^=%+<@ MM%6JP,8(I#>];FH.*IYZ"$_M7HMD..84)]P6SAI3"'0GT3,AL6#HFE 9$YHT M?.4Y*I@GFJGR&38/'8=SGI-:9FXI51"DXI8?YI:KJ =%=U=HM'@BRU$/GTQA MO:$%CX:$%*RDEJ+31,T3?8?35(WTLH[T4@5,JI'^PR/]1H0D2BM80/.!&Z\* M02"'. 4OI Y"687C/N2Z*D8^T:2\Z<85OD#9W!D]$F-- YQ-/QMIW#&IR>0*>?JZ55F23S6[XUAFJM$]>OL-H8(U.Q MVT/8K7DM!).B$X$E41 T<]%-@E XIVCA*$M!>9ITS)83?<))E4Q232V5*HY2 M4<84*>,JLJ*!>);7=FH%LD#V\(5/BA0\*J :"4/%O+D"><)_?BU3-8 73>?/ M=AE0-8"G-H!O!$PX#2"(8(7TU!1":58XH7$T)S ^AB@)V)7G2CX1I,HHJ5BC M5%&/BC6FR!HWXB (BP,N;.%4=(4@-!:.$Y?#K%)9$8FGF374$R[XPFO^7RNI M9!=:^.7AD]HA=*#G6N,@AXOM9J?9'_1&E;Y_+LYQWY6+);1Y9AGGF "U.88) M.6SM!D85C?T C5VO3..(3X&(5# N>2&D=@5:LJE 'F,L*FTHERO/M7IB[N"P MA;=\%F^E<\FYHU0!CXH['H,[KN64!$],BJJ0B!QR!Q>%U\04S#*N")JUGE"T M?\@3*G_:_JE&\J)9 ;.,?%0C^3%&\LV:)]$0P4,LF!*D$,Z8PKL4"B1LQR,Q M)(9B60*SC(%4_/$8_,%OYIQY88W1A8C:YV"(*:P+NI#< M!<6IEXS$O"H/^H?)R#$I%40^@J.VK,B&D\?E#$(%8YM%="0H*)"M? M.(ONBC'&,1ZTCZ"R76$897^4S\*I9GD6S<*9<7)'118_2187D0VR_?:#R19& MD*[PTB)9N$0+$Q,KP"HO&(&8C,ONT!-MO\R@KT9NR37\E&,;E89_O$%[(XB1 M%'5&!5LD)D4AJ$N%-SP6)MD0"96&G-?U^S"H-=LGKMG+F4VW MXA?FQ\(7BQMX+4OX8NL2D>UT!5/WS M!QT2MXXAC8EHT541I' 09:[2;%6T(!'G$AL]U_VI N2\"C&LV/ M.)IO1$(<@)$:?$%BWF(+'9W",,D0/6L3)3'*X"NCH&*04D9"*AIY1!JYN>]+ M@&B]3X6!44E"A30B>2HBL3Q13RQX61JK8(Y)'=/<0_N>8W?[!')V4^>PUNR$ M;AMJO[6Z_?Y/)7.4K3K1HH5*ODEJEWAMC>!ZC6!5U/60+:OVUD:T-:*OM0^! M.DJU$05$B080"[+PP +:0\$Q[YVV@JT\M^R)-%\RU\+;/P\=D"6:)BH;R=R- MYV^SC:?T\37QMXIN9DLW9Y=T(RRW6I-0&$5%#KV*P@=4"R8J$F6BW.N\%N8) M%5_6#?I")U?#?O&'_:*%7*K!_LB#_;)4^]X&_< <$+"4%EHQ'.YY_RAG2"H< MU4XESXTS!OTB39\0+BKSHN*97R,P4_',%'CF[!K/<,ET8&A1 ,^K:JQGA>6" M%HE19SU )#Z,4E0,L5-*42ESI=72Y*^\ZO;P8Z<6AKT>=,)9[= U.S\3H5G< MR/+=AM*#_*.?C\)<^DS81CTQ?+P#)#ZKMPQ_*8QO7 M8S%42AM)A")R(_\?>^_:U%:2;('^%05WXMZ>")6[W@_W!!$,8 \3#?B!VV-_ M<=33R!821Q*VX=??K(U D@$W0D+L#77F-&"$MFKOJERU M!X>Q(1*P#)PC=A7";N\:E8A0W8C'$F2-8JTKL]:)E.%L2!2F"TD+3(,K*I"U MS".2 &V3P5[:7-"476U!5;> SU,SV<6WVB6($O-+D<6N[\^N9U0+YTW0TC,D M4BY53#%#C@:#".&!19.(HA*\B;;D5RM\E)VX9COQ/&:]! V@F'6MS'I:)("5 MJXBF"K&8<[VBX4@#PT*>$HMAQIT'E%ZG;7E-X9X:F?73JKFQT_L6AZ/JP,IY M?D:ILO%PN1>3R3@7+O?ZO?Z%E%FP:2YLVIE-P@ >*9A 4M(L7]J$K&!00&.9H#&3Z> 4TX& ,\=S,7&M4R[(\.X^#RD,FX:4K)8EA=%D,U =-(=(Y-I:KQ76!I M=UJ_,$$$P:)'+'@'H*08LBYP9 D';AJ=5B:G>=):ZZHE7/+0B0O%0)=KH!.U MP!OEL:4."9N/71"CD!'92K'GF$F@AIRMK5-<^H_4S4KKE:M0[/4>[75&'+ B M,FN,1-)[E4,"$6F:#$J)4%/]/Z#I.C6B;*GU,=8Z^.C%1._31*==<:."94E) MX+HB(*Z$1II1V%2!& &0ZD2)S)MJ[??4IY91,%7FH>6JW)H+MWQD?URT,VW] MYF(OILZHE(*H;SK"Q>FI%X/^T28,H],[@0EH=<-QJ3(A#5@1P M/H*SR'E@-ICX2!5F6 J[MFY86["K]8.;$N@H9T ?'KP:6F*BP%B-86RBH5@2 ML0JY-J#/=$]K"\3/@\UH(X-0)(D0!8(G!,)""FK&;"!Y2HE8C#'"*3BR53$W7VZ;V*+I_3 M SY4PO+U,> &"CG%;!()VP(813DI@+$P8$RK'((!7:/@'7B>=WK- W)!:<0LBR)QV/ =SSL]NZ8$ M4-VL]VFE]^S%T:\[N=ROS+ORIW ]N?G'_=UUP[G<*K4;6(NEPO,= ?G#3&74 M"+ZS%!P);P7B,0EDDDZ(, ;!$@FU'U8@"_G$B%-#8*H"SE SA2HT1,B!Q[1F4NF\=5F_.K5;@+ M+2P86FAA(R7/@J$+8>BTT!ETH-10"JLF,,0I *FU ?Z)(\RF#)9Z5W6N9NSJ M4>-& =HO9-"+/[E8^Z("MF7'0FYQC:E'P^#F0__$=>.59[/()Y11/M)1WEKE MI_PQM&V_(O.WCN.@=?Z6&)"%$=K/$>[ZZ CV+=L+XQ]1_+^3SC?8+WJ /(=V M$)_?F-RXDDS03&Y1;_BZ&VN:P_LJ#M[FU;[<8 B= M/XL?!K+5Z9Z C8[',R9ON)"W6Y"WK[-IK$D2HQ02F;]QD>M/D$AS*RH@W23P MJD0,?L8;V%FW?BDMS<.]13W8^N'>'6(7-P'?8C$,>F--K(* ]XZ DUA&Y,0[ M@R/,$1&(:\>KSN(H::I,D-H'*S,"XJLU\)N"@F[ _(M&#$H MR+=ZY#N=0CZ+O:V MA9(@_9@"N;75!K?MH ?/:'CQ<>/55T!X'A#^LC&M 8>4B*:(F(<05PFA@R6 M%E%P)IB4GAJK*@6P@8?:2O9+_3:,1PN:#1 6"WPN"3XG\J$+P4MI#2(LUHCUAXDRDY J "^A>I M04ZY?)Z#TF1A;N#_*^WQZDF.0O\*;!;Z5WM)L\#FDF!S6KB,5 (ZYN*5#F/$ M+27(61D033@1Q3%L<&DYPF5C$IYY27@NHVS8*)]8PO/[^5.;AZW^R6@X@K_( MMU;RG.?*6^D,5%(D62-H2!:O&%* I!Y ,J6>&RIX3!P9K'/PT06D"0,W*G+GE:;<*';>R(3J MTE>Z;F:]#'ZPRK(9Q:SOTZRG9&7Q21-,)1,> 1O B'O*D5;8(L%2R$$R98TX M9PAH>1T"DH(PU0H1A%-X&)PI06R%.;0$4V3C R3 M7'>[:G;&%RXO4=)$[\>2;T@3O15J757 ?R'ZU0C3'HE\,IWM/@UM!=7F0K69 M=M9:"QD82TCYE+L'>8><-18%#!Q8!1VMJ##-M(VY&D&J/3V:VV*;V<&Q&3#T M2,27 D/+@J$I^45*@XU(@#M&@I>6*[K2I)#A,O(D*)'YX.&2Y)<""C4"A4CPY=-J(+9IAX>MT/G6";$7AE59T7&J7;6!W1&3SC,&[[2Q-_S0U"WO MO%$^U;V=FM_9>_$S:]FL%M_;4=]_W;I8E1I18$R IZ?2%L-O$TT]IT?GZB.1A+&$54<&"-0>^0,S?E-0CJCC2/G $=H88P% M4@MC;-8A_ *I*X+4TRE(!3)/4JZ]Q#D#()4"(\>E00%[@3T+7,CQF?RKD-HX M@+M13_U]9&$$\#UTOJW_"[Y/X!-/ 7I:O?XH#ENPR;1@"!T8S^>! M[;:.[6#4ZJ?6Z# .R>,#B\VXJDWCD$33]YB'0SB9'3S6^[IR9I; M/5@V^PBFO^8A5MMUE!I;ZTGRA',5C162Y>;^R[WM M_[4V]]^\VG^S<;"SO_?@UG330/?>[O^YL[5QL+W5>GL WW:W]P[>MO9?P.!W M7[W9_L_VWMN=O[9;.WOP[^T'OXOKE^YO.STP]/X)7",,_WEED#7"SB,[^ SK M/(>;Q_U3,YF90$9%MV"$77L\C,\O?OCC@@QU>M4G5F_Z8WRM,_F)9E63 MX7-S&H>EQY\\?OE9]=)/[/#\-2Z>:6IN?!E8YXVO_>JRA#R3Y&Z7 M_?5K@MW\H66P=1PLY;>Z[-\D5=2_2-'UKMCEK9C;W,HYR-[GS?Q,&JX7?'S0_@EHOU%OE%#7@2_SWIGK9X MNY4U^&4L@RFU]&*+ZNKIX.4^G5K=?5D:2UP:3V>O MFZ?\YVKG4-]J@?]VTK,GH3.*X4K5^\5VP,?Z8)94,K&&:WXOCEJ=JLU:Z[=N M?SA!M ?/D(U__XY7C^\_?MT[ M>P'_O>GNO7_-]PYV3O>W-D[W7G[\\H&^^_&!_M7Y.8;V\6B'[K[LUV MW[]F>R_?D8];G\GNEQV^N[6#/Q[MP6?"Y[[_;[K,N'J+OW^RRG(2/46$&HQX M L_%1&=0;H*L(P\,D["VKE1;&-V\G(2%*KMI!'I ]S1+YLV M+;\TPF6WIH)XJT"\LTO$RS7\-24Q5V#QN?>[1T9$C8RSA$B2>&1X;9VT";]Z MS'E%S=\+\A2&=3WPK++\0L&;!?"&C/$&[O_S)T>8X$Q[A(4GB.>43RNH03HR M9@@/GN$(D,-5F_.G5CJ[8-V38EES8-TJ*SP4K%L Z]@TUFD16'VQVV:O=R]EDVY1GVN\3<+_KI4X_*7MT[(+@^V/-C&_&5YL/?[ M8"_^Y&);%@]5RJE+R,=..;[71SNBX"_PP-P=4"0OHM#D?5L8-"09_* M-5:=[C"5Y+E@\N[R)O[3[^9G^A)N):LH^[VWT9\,.J-.',(#&\)+ M6_#/WN=7\,3ZX<#^*#K+/#I+UE@VSR/W<&]\]]3@C_\[Q/[HKYY];T[VOVS_ MV/OR3NQM=0\_'GS%NV=OX![?\8];+[[L';SI?GC_CNUN=;]^.-H5_SO;_KY_ M\)7 ->GN%P_O\9^(YTERPU#$UB+NX8N1'B,=1>*$NB"H7%N75QL3_+/J)#O? M*EUB^+2LTB>S2@\^?*+$2RTI1HDRAK@S#IE(#!(1BT B\S2$M77-KD91_@D< M(Y]\A/\NT_-SC4:8Y&&U@A= W25$Y:$+1&ZW!G%X''T^3=X]_>E<\\_^Q[UU M/WR 7)!Y[%E*%:W.=49]X![G?<<"TZ>.TN0L]?4A^^#M[*=BN7>PW$FY62>, MQMH%%%P,B LAD1$Z(<HG M-5$Q4#8O T4VJ(BXEF#U25(D.5-1>Z94R&UY:)N+JZYYX_.X&F[]BV_Q46JG MM 2.%15/REJ'I>3"I>13I-;/XUD6'&@:#DR*A[[FG[265&!I/URD6WH- MX:]N9XK/XJ ?[/#PMLB70>[%17'$/SO6=;J=T>D+VQG\9;LG5?=P(]?\*\ X+S#N3 LBB7-,N#5(4J> M$-D<"U(>,4NECM(GJGP^RZ(IH7\T[U3-+^#POIC8;1,^F@E%M3CV6U"GD:@S MU3Z=!^T$80AK21"WGB*7A$#)".>H]$9R F3LZMF6V_M@Q?+K1D*6?.RVD)!F MP\&,+L-=\D$(B@(.&'&N&=)&!*0B<5:)8!(EA884,*J3(#1GV+?@3\WP9UH= M$BK@F&A$!@/OY)0%Y#")B GGB;*21Z;7UM6R6N8]B#3T"UFJ6=)03C*\3/K^ M+6=]__-<)^J/$V'R80CX._O+(Q)+U8[J*YW7(D/F]@CY-P"XO[D# /@6IG(_ M343SHI#?"0-WIX4@QJ.1'GPP(C(#<]J 2Q8XP@Y[2X"'$:;6UF5)C*F1;3=, MC"FVO5+;GL@MPAB;"#5( $HC'BQ'EEN)(D])"D))5'1MW5S3$;@8=X,W[B7D MO13CKJ=QSX@G$3Q8GSA#40>/.'$6 8H[A V5'"Y]CJVK@&$-KU/\;!6*1+)5;=V^H"=XMSF96?RK_LL0&3%Z>NZDLO4N,NP"R M5_U!!7ZCT:#C3JH^>@?]5S9K2P7CYL*XU].JA-=&TV = C0SB!O!D!8&HY@W M-LE,$BGGZ^)%LG7GM:@&16Z:AA*/XJ1/@8T'@HV)X.$%%U98CK1C+H=S%+(V M2!28A@6J!!:"K*T3TN9DX0,_!3YJ Q^+DXQE%J$H0-)0()D15[#3L%T [W!! M Y0DJW-OGXADD(I'FPPPSNQC$1/ M6Z,!7*U[GK%D+Q&WE&5],M=X&MEYMUWW):?NP:M.5>G'Y].U.9ZM@SQ9YV/= MZ(6#R=1=Y8B%",Y%!/VTALT)+&0,-)#3W"N1"X%T<@9A8:*2A B5>R4RINH1 MHROQ^4>C1!>;7ZW-3P1H2X*QE%)D(SA\7'&'M, >">H95E%YH60NZ&@PJU&U MB6+ZM4F\6YZ*7$!@I2 P(QY+IH)65"&F&$6<&(8<3@K1F$\W4J5DH+#UMV$) ME,V_/@A0B^2\@@!-18!I#3AIJDW4X,9)#@B@C$N!\$MB@Q88RC[,&S&5- M&J4_7I'N^A2]=)\21D-#8$U,UBL@MT*0^SRM;U@#)!>SA&"/H[G] I :C+>K6[XH3/3RB ?;I"/5UNLP![N:0KM6YT*[J]I2/TDJM/77RTL^>]+ MWFV_;$S+@IJD",1+(U@/P--M-+GAAD68"L45(2'RG/W.K[KYI =B&]S2:]JRR=6$![B: ]+3)+IX7% MR2'"N,J=Y#!RS, 7%0&P!7!?JP&T35NQ916_>'@$K53JWZM0!7P/G6_K_X(O M%P,_LH//G5[U\6H6LWR$Y3\8V^/ZO]S@]\MMZU=7(;1 M86MUNCY==+N& <,OJF/TSVZ\V_&'<_I,Y6*'Q_UAU=_Z>756'[;H/[YWPNCP M@E-,O7&,^GCR%NM@$">CF]]R3T_6W.K!\ME',/TU#[$B'%%J;*TGR1/.5316 M@"=$+#BUS E#^"=*UR[>='AY N#8?H[(#:+]BFQN"_[<=K_;T^':[[.H I#R MT\/^^3G=O#P?;)%>$02J9[FY_W)O^W^MS?TWK_;?;!SL[.\]N#7=--"]M_M_ M[FQM'&QOM?Z]\>?&WN9VZ^U_MKJNA_$0*?[%-CL^^9!HV@8>*^L$(N_9X&)]?_/!'Z R/N_;T>:=7?6+UIC_& MUQIC2K:-GVA?-2GG+T_,YAD^-YUQFL+XD\^HG*GK\FZ3-NY(TOXV?D MQM=^=5DBGVE-[W397[\FV,T?NL!@A;G=8/\F%62.0RV_2 XY-[7[])M_WB:N MUSK_>](];?%V*ZN3MR@;W=2;OUXSV(H^'KDX:#%2/0$\\P1NN0X>0"*ZW=U= M[^1>I\#-X;;6<0W_=M*S)Z$#9/!*#NAB2_BN#Z:V\[^B+#=X8*N<_XVW;Z<) M3IV:$32HH<&]3=KUJ_/\5/JH98?#^)A;%BRU1+^IWS3:X2%XZG!O^8?X?R>= M;[9[726[>>[W0>(NM\.:N<,N#Q(C7::<<$8X+K MF+S^M+-XC!M6T48OY&_;D[6T,=JT@T&6A_ZRW9-8E\#)Z>Y%X.3++MM]N?-C M[_V[LUWZL?OQRVNQ__*_AWM;&W0//GOWRSORX>S=V<>7'\XF@9/M'[OO=[_# MZWCW/?SN[ U\_H;X<'9X]/'EB\/=@Q=?/] /9Q\/#KL_!TX^'&S_@+^%:[[^ M 7_[9>_E7U]VM[I?]E]^_/KA?;[NFR\?O^QU]U_^E?8VQT&3M_C[IVAS05!I M$# #EIL$&&2LI"A23BD.QGNLUM8I46U\32&])4:Z%V&P=T'.FH:J:P=Z2XHU MUP?T%L^0U((J)DP@-''O@DLBAN"MUA* D)(*]#"AC!30JQ/HG5V"GM6P3G5B M2$?#$=?4 >@IBZ357% :$O,10$^:-E9UZI.P4MX_)72.WX_R'S\GN@*TE;L% MG=ZW.*Z)W&[9HWQ4[RSFYS"LXD#_J!=MV8IN--7\\J(MYHO^X"W8[,;%\#=A M].,;+.8\CSF#&5^8,URG&__SYO3C^W#L*)=[1Z_)AR.XQL$[LK_UYNO>R]=\ M]VC[[,-9^/KAB__^<>OP\..6Y[M;(>T>;(C]@W<_=@\^G.Z=?3W;??T)0 !H MCQ H&"P19SP@S31!3#(;A&.$J9S[ITU;DZOG%2O/9YZUN(+=I*S%)JY%O/OY M$PD<4 AV)D$I6*7ZW)O(K:K4$< M'D>?P]K=4T#1;K?_W?9\S&NIY0/ 8&6H"4E9XHD5P6J85 M$>ZRMA[9VG(T$*\5S>C1N M*]X\I:]4\'EZ*EF!CGN%CHE>Q@V/T5F* G81<9Q@UX6Y1 S0@MO@L*X.%&/6 MIOSJWOOH2_C42R_;\!YN:30$7\_'SK=L'[7T]*;Y]E;_Q(W22?=B[&\NAUYL M]PZVV[F9?W^ O]G]_ ?V(FP1KU%/G@$^(DH8XDPSI*EAR&(673)* 9C PF)7RSK^C:RU@"-7F\ZPC73D MKIC87BQZ\MVL;.*U*2-%LM$B0, 7IMPR"DID8N2&B[ >=.Y;1DW;2*:Y[75 M+S^CV3C1"*^MX,32<&+BHM%H.>7&(N>51IPF@QRE"AE&@]!1PI2)7/-)M*61 MCR^EH:[)L.]ZKM/MQ@ ,Y5OLG5PIL-ILD:@)M.1B!B9P4_2@NX#-Z10IX5Y1 MC3E'&">/..84.28C,LZ:Q!2@0ZQZJ2I]-2A==TI2A.2G1TD*1BP+(R:$1 4F MO& "A9R_PB,.P$6B1(($0ZG34D:9&S=(MG -ROHIQG6E(SL]8"&C_J 3KYS& M:;;CTP0F$1== MY +N*W9PA'J(G_#>*Q[816_'$<>SG6G$,V_?.>M3.GO8LNLFHV,IZ: M[?.9V>B%JD'61C4;Q?FY QI-Y]I):F5RU",C&<]IJA$9G@)RC*O$@V):)4 C M\'[X53&V[B2E*"1/CZ04M%@Z6DQQ%R=R?Q69@S4:<1X]N#28(Z*PDHK"3 :_ MMLY4F])'F%U7?393M>,NXRYYB].4V5K1=ZPQ7SC,=:'D@C]WQ)_=@XWI'F_" M8:JXT<@23Q'WQ"/K;$31N$0BN$\8]HYU:6A;J^:%=.8UP 9)+@T#E290G0(J M"X'*I T9H8)QX2W2SN8,3R60B5HC@!0L6$I$)94E&=*6YFJ69TUM?-4E.%9H MAGO]'O*/O=@&W*0OIGT'TP:3O@C#;!K\\7^'V!_]U;/OS?-T]^,#S$=^/1W /6W]]V=_Z^F/WX&/W?V?;W_M/1!O+G(D\2PTRD8 Q>6Q>20BT(@KTPDA@%D49*;U>,V)U=3KI]*T8VR?/PEB =N(0L8:6+C")Z0C9DB(!"O9)V:T;DSAC;*^:K>^ MC-'*1A<0MLD"H8\6.9A\Q#A.7$3%H]"E^$:3!+0_^[W/!W%PM#.A^\7:YK6V MB8S&1>*8LH@4P"7BQ@MD!?5(:@.(J;WW0F4FR]I&WFO;V!+W:P! -$$,*P"Q M!("82&+*&Z.U6+XY*EO3J\Y+.)^55GI*-7MB^F(^2'CDO M].Q,;FW\E9G'BTI2+%4I)CP$BM#P-PK("+@ MMG#C#8"$-$@8@8TTSB7K 2EH6^A'>**\9KSD9;\?OG>ZW:*/K)J)7#SY B5S M0ZRBH M<%=4F!",$(T0407D* &"(9) UCN,K DP9XY3H7,K5,[;^)I#$$7Y6':IFI'M M?>ZX[H7H?'FW'HDI$#%VW+ KH$,,!%DG+.)<8.5$FOK M/-<1OZ;[<=U929%&GAXK*3BQ/)R8,))DD_#<>B1P[DQM#$':28NB(0 ,TEFK M%. $X^"]\"*6W'>:2%52KR2'/%!RR*065CFU=D=P\3-)(=[!/$N/4K )2 BW MR&DO$'&6!9,$QP2OK:NV;&")WR*,/#T*4@!B*0 Q55K&>$4B"X@*:A&W02 7 M D;.:L5P4)(SFP%"F86Y1_WDD'H7S+N>A-QO':OK;G[UI.0?]W?3A8+=JFA7 M@=2Y(/7SC/ C(Y KC,&#,PH<.DF0(=J@E(26C!IE0EQ;IVU,>=O0J_6ZZLZ[ M&E8$\'$!YO4S^%@!LPF4M #FW0!SZIR4UDGE/IL)4Y_+1#&D'6?(<>NPTXQ( M'G(3/(WQM1'\FN+7F*1>#.1B"=,*G9;M<=[B&E,WS."60O\DIP3]?,>+?,(# MC;+IP='K:>&?.QO_WOESYV!G^VUK8V^K]?8_&V^V_[/_Y];VF[?_[_^C*5%_ MM+9?O]LY^'"C3KF,:,I#7N-Q2LSC@KBM;L>Z3K9&AU6\!" M-J+D25&224HR22/X2$&)Y:#$A)+ JJ'!,(F$QPYQ)4-N* ]X02AA^25O":"$ M:E/Y6#-*:DQ)RD&;&M"2R_SY CAW YR9$B2P( 51"2/'HT1J\/66\N08P1H"14,&1$C(I)&00/G MDH#S8MI,F2*4K/S\[R!^B[V36)6-]R=#> )Q .9SW!]VRC&$N*.4>2(LTA09X13S)-4 M'1'4NI0Q*?I*_D4O, $W!#FDJ&5*>2<5S-4;&U]9U MFY#'FHU2V\/$_FK2^2*ZRF*'Y@J!N0:62AAZ02B:*7PB;3 VMVS7(5=54I(@ M[8E'W%//*%=)\P0>$^9MPYH7%IK7"ALDP#0,69I > JR+(XL4Z=5*=,BDYSS MTZK>.61#BLA)KY-E*0:7X\V,MJFYVFBKIH;>]".4UYOA7K^'+HA/OX@U]>$Z M-[A@I:33'0%JIOY($)X:YPAR7)-\]@FH#R4.":%2L=2@F8Y,C'%YW@!:Z3>@C%&UJ1EB6 M5Q"_MN'L)M"3*X6NISRH4NUZ7KCY.DU.>-(N&:R1D4H@#@L7'"<6D<6)!!FC MH=JOK3,,[.2:!AQU9RE1E8(;]X@;4Q$BH1E3."&OB$'<,HL(S(,"$1V !!6BN%L.6> M"96TSI7N.&X;6:JR%#VE_B2EP,/B\##A(C&"KX)S>,=+AK@+$6DC,+*<&$V, M\C1%@ ?=-J3T.[[W T-5<\&2>?+0'0:G%=KB\=P-96;*[2;L4NY5BE2T'''" M)-),8T0XXT0;1:0TYS58J&P<"2E*R=,C(04FE@<34ZV.'0TV:8^&U=&-'FLGG1G'(@J"Z0T@1V4R!E 4B9JBE'L &2 MP5$TBB(>'$8N,@7+!G/'5(I*1H 4IML"+YP[N^*30!<#N5O7NB8T%RL-RFX" MJ[>'=A /^UU8:,.+3G/Q_TXZH]/2IVQ!P?'2UD+GV\6UQY= ^>^?$UV-:65S M_6IPD7(^'/7]UW;K'[_:JE[%0;4XEK)ET9^WI64'^X.W(SN*X2_; M/8F3SQ[O6+CL6+?8L3Z,=C?'.]:FP1__=XC]T5\]^]Z<['^!>Z,?^,G^V^W.M\^++]8^_E]BG\?+AW].9H[_UK_+^SG=-/-F%'<+"(12$0 M9](BPQ5&Q 1P@WR*/N=#W6']W,V+*NNG8>O')9.(I0+)E!NC$VR1Y58BYS$F M##,=B%Y;?X:O:XG^TR]:QW;0^I:GM57M4.2/UL;)Z+ _ .0+SULWKL%A7@'# MI2R_G;T7OUZ U6H;3H95J/:#++S7XI,35 (]]RA&6'VS8<<8!K6!"4=(1V^@=3#K+B357/;NK M:'6^@EJ=7BLC257F.J^.=@M^>QSAC[[%[FE[=; UI10 ;_19+?@.CN4P]FZS M.O=/1L,1W .0UK(\'V1Y?OWQB5C,C7$4.1HM8%K(>>E6(2D549Z >Z+UO)CV M8"MJ9S@\*5CW<(O)QV1H< PQ9Q@P,T>0@0T-2>P32XZ*$.9>3 MLD&4Q-7DQ M!<*,\X(C[F..M"0#1"MAI&20V.BD-<.-64QEKZO!BDK!*T8PA\U-YF)^EB"7 MBKP#"FFKRIA!.Z2QTRAXA[ESS,? MN=OL'QWU>ZL/VUTC89X/I41=EF> _F;R?/2.P+T0N.?3#P<;9_OP?#[ 6':W M#KL?W^]\A_O]ND=?T[V7_SWZW]FV^*1Y"$$$A@+U&'&84F092RCQ@(76+NB< MI;*RJ%U9/LU:/LEZ*RP3B+B8#Y IC)SB"CE+ =B3I2+7!WR&\76U1.\S:K<< M2>#O^II=KLP2F*G%BGQ-/Q%OI.=2(L*Q0EQK"GS$!R0-3LX:!Z#V0,IW64R- M6TPND2BRED1ERB?7@-(6[C94;ZKE>75I.X,&=GQY\6 M;5'7'W(__K'[^9/P#":<2$2],^=5\9P+!OD4L+4I1(?3:O!OL954W/-:+"?P MP;VU2B(N?<[*\AJ9W(R8,&^$M03'JER\DFV%KSL8\S,"9DQ;!9,K,-;@=;?_ M^A/65CO*#9(TT[B4"^M)G9 (-ECI@@Q&K29,6&#L$2PGYKBD5, V")L78!GX MJ08\5Y08[)!8L9A"!6.BKYHJ7AHIE]%Q M% 4EL*TK BPQ[^W6.L*U]S[DVLFB[D7![B]^-T>8KG[F^X#1N&*^]V:^DZ"; MH ;;("-BPE-@1]PB(R1&*<%2Y"HX8DDVWSG+GM>H-M>Y&9G:G7[<@%'F!VF[ MK6/;"0@8@+?'G9'MEFI=*R\5>CD7KV J=GJ;YQ,QA3D%8^;"F)E&<02V !X% M4 1&@3([ZI'5GJ&DB>81TX1#;M>M>%OKNM.$DO_SB!E'P8L'Q(L))Y&!)&-B M0%)IDQM+2J23IH@0RVCT,*T> UY@U5;LL1;PJB%A>1-S&?\86M$.>C#>4M)\ MY3SE8@JVQS.PX?W)T4DWI[%LQ=3QG5(V<#[<^3J;IZP8H\ZBJ'C(';<-LC$* M)(PUA 3GJ-*Y=!=KTVNEO7KSE%+C_.GQE((7R\>+J9:VWD1IE4:,DX2X% YI MA2TR3NG G"3>Y98(6K4->81MX^K*4Z86>:M?54+W_:/C03R,O6'G6VQU^\-A MN]6+HU8_Y=XL3T%N^6TE/&8(-P<_S=>$X6*NJE+(F],S==Z:X4^8KKTXVD\' M]D=!JSG0"L8PPVZ V9 D#:(X@5=EHD-66X884XIQ:8(.N2.N:6-U%:S^6>20 M6M&,>>SY[CRCV'/M['G"/FS AF#*D8[>(QY91,Y;B90G6%!*5;(2[)FU]36% MKA[$GI]$@?/AC44M2[WS6FDIE4P[GJCM:H(*&LV%1K/MX:AS- &F>0 C9(V M2&MK$$[:8F.CTR;WHFQS:MI<\*:J)Z7P^8-C2Q-TEX(MBV/+5(Z*X19F"M9M MU!)Q9S R$AP9X#E:RFBCH2EC"Y6T3:\Y'UA34U^F#%-;.C35[Z7*;9VF1__? M#<3H[Q[ >&;.G^9S!H\@]$]<-U[.SF*(]LM3^2LC2_]XP*=2N./M&UML]$)! M^P71?J;''\,L"JLT'K9:#W5]QEFC!F/D8<-%W'K.+))*$0"-CH* M1K2HN+G&N*T6Y^:U <^*O/\^LO"A%\>RI@HV35W+1UCL@['QK?_+#7Y?GSW- M=7]O6]#4"?X[6Z<5SS^,+>MSB-7V3N&QMGK]42;[ _AUK]6!\7P>5#GN@_. MZV$[V3Q-%?D.8)[&#Z[\6[''\[I,R5@@,?]896*^7P0 MNS:?EOOC>R>,#B^ :.J-X]6")V^Q#@9Q,KKY+??T9/\61*L'*WXZ]3?U-0^Q M0JHH-;;6D^0)YRH:*R3GQ!IOF1.&\$\TER@Y?]/A9;.M8_LY(C>(]BL8*]S5 M<]O];D^':[_/W/Q1IW:U^6 K](KO4#W(S?V7>]O_:VWNOWFU M_V;C8&=_[\%-Z::![KW=_W-G:^-@>ZOU]@"^[6[O';QM[;]H;6Z\_4_KQ9_[ M[]\^^-BO7ZV_[?3 MOLG<(TP_.>-@SRR@\^PKC(PBUDB=SGF"E0G1EL!.8R] M:X^'\?G%#W^$SO"X:T^?=WK56*HW_3&^^MC2\P?\K('DSSM_>;*>G^'S-3W6 M8L:?/'[Y6?723QO3^6N2/R.8W_@R?D9N?.U7ER42!B3N=-E?OR;8S1]ZY\&* M9UK>;D#W5"=Q)4O\%X[>Y:V8V]S*^2I?Z=Z*62_RWDYX]"1U@V_^<9PJ7U8YR::&'6T[LIAT>ME*W_WW8 M2H/^4:M_' ?@'(!SDMW.;Y44<+<>HT^H6^SJ\WMO.;M[<01^9J]3DPYB;GFG[:J^ W\ M#RTG>T=O.KLOMSE\[NG'@Q?=_8._ M#O?HBR]7=< 7G0\'7\]V#SS;>_^.[VWMT(\O14FEM_C[)Q:,LCQ89)D1B&O*D!6)(,NU("(P*;A?6R=8!W:)QD_H!W<*A#\PLV(VP6B7/DXM::F_ C"+1T1-,*Z##%T"'L:2Z M -U# -W9!.A@7A03@&S14,2MUDA3JQ%6(E' MV " : S;<9$.?&U,J/;"%]. MAJ,J<- :]5N#"';F.]U8G?(ZIXKY]_E?/KL&QX/^MTZ(H>5.BV_0C!S\6ZZ$ M*KJ+G!W&4!W[B[VAK7 X_L@_7_$8FG4&N=EDNYJ;_>,\I%==V]L^GY&R&<0)?'%!8&1#,BQRJ5@^?TSIM652"NE^Y/4*FLU7"U8L M RLFQ-4:;8(CL$R% .(:>*[!9B/RP8)WK@PX[[[""HWU(R6N=:0K6_$8R&KG MG*+T4R:F0$='I^W6,:SZ4;O*F<]9\L>9W#:[4D&SR&3JZUP-+],)92^N I,Y8"$'<'B E/ M49$$F)Z =% $$IYI*E**,*L$2*98%4^,6D3N:QDXB==VN"6-I=5XQ;86LZZ MZP]M]YZX2GV=ISIPEGE^]GM;U>Q4NA62%E(@;%Q&W."!+X$M*P%T4-H(S5I4K(%>QHR@M]Q8B/.K#YY]= M*BV=WLCV/G?R40-;K?@BKCR@$ DA(&[$A4(N-90B$83:75C(10)7 +=;6T6%%G[LLL88W'X7F%R'XN MRA)'L=7I?0-[Z ].%V(X]76WZL9PK@4H_[GWX_GY[&STPOYX;G8NIF;S?&8* M(LV%2+.5LQF-QAL-$!1MKJ"%D9:4H602T\H9G&BH-!K2P)-S1:-YBJRF@,;] M@,9TVW:8EZ0MPIX#:&!JD7/Y6)JW*B0CN*. MF*+,%&6F41RF@,9]@,:$P6CO6&*,(N$409P0<'L(84AIZ2--7D1OJC@3*UDR M#Y=IO#B(>62S/IV)E-7 &PN -N=9CV#G*5'2;.G">&\X/%.A8#71,N ],$ ]$<212!.YC"3A,5!#DA'0A,,Z)RZU; MZ<(GL8MV>)PHLQG?KZ88NWBE\"U;GI3,); M>/PY%EX YVZ \WJ:J^A(&8W,(1>8!, Q%%F.*2)&&">8LT;@M75Y%6]NWR>Z MJ"0K@:EYK'.5,DDQW"4:[H0I8)NPH3DDS!1#G"2/'(:?I+-$V^ (HRZK)!I? M+3?X(+;[V 62S4$,G5&K.SX/7620AP[J[-K!UUAU?WD;_4N0.DR M@VY_=!@'!X>V=Q"/COL#.SB="+H%I^;#J7?3! ,KX7WR&G'!'>(A4'!FF$>8 M2>&PR_^'&QP"*G+(TY%#"J \'*!,B$]@6*J ,1)1 *I$%I%5R2'L):="!PJ( ML[:N%BZR7!22.122;[9[TE(68 M#],^3),DZT,BW'&$84T@;IE&EEN%+-681@7.7.0-)DE% 7J,"M -+*G 34WA M9D*A6(HV,A:0@B6 N(:?'!4<41:T@$DWUMA<2N]J?DU1CNY#.:K6?JO3 P-+ M<3"(X;(SA?U1#C>MKE[>3L\/8><@SP=!7CF AX_\QC)I*M?/J*C?-&_X<<[W +;QSKICQ8H?U(JGY*X8O)8R(I:SI+A7 IF(!;(T:L*\X=[0?"3>"%4/(UXF6ZPI MDWC7 T+8C0&8Q+?8.RG=-VO%(K+ZG@?YOC,ZW#P9PG.*@TOIO4#1/%#T9:94 M8:)$.J&SZ!XT0)'4R#KXXB)6)#*&DU)KZZRM>>D>4<)\=9# "HK4!46F-##O M&,4R(%K#I/)&K7'%UD:F8* M\LR%/#,E"0/FPGGI$ E9$)$J(<,312QH9SDS6)BXMF[:@EZMD5KTD)H1B>;H M(<5Z%[#>"6_P7'!,N$3&1HRX 0;AC(E(2::\#3:D6!6FD'*1S)_5"2&YYV37 MGN9QQE\;_*K^\@DH-Z\&\=AV0BO^.(Z]81R79LZG'5K^9##(6=\+M,VJKS/6 M= 8TGK>+=(3M\^G+55CSW)7F.'< UYFJ/P:'P!V-"'9'@3BQ#ID8(HHN9'QE M4:O<'D>W-;M:]J>QZJB^$YH18G9R$9^G""UW2D0YMJ=/)@NE,53C8G9>G4].09^YT&>F/@_G0E-M$R+& MX!PP"KF2NT',^>"<-D%%!2Z;;&-Q-0.E]A&C(O0\PHA108=[1H<)-[$Z:N-E M0I1[CSC3'AE+.3)<2DPX453D9&C^6%L]U)>=#$[B1")Y$DK(0Q8'O!9D\A3\ M.4D\+S@S%\[,%/'ASCMJM40Z:9([;$9D#., .T8(00-3/FL;N(%]J(J>\@@I MR&*^2P&.!8%C2CQA6+*@,0+^$,!]<0QI#GQ%..R54H)CD8"@B+:^!CM*JLH* M.,J3.VF^XHC-,HZ0CN>J.CM:O*:[@-),M1T=&#, 2XAI*Q&/"B-'I0!DBM@G MJZTS:FU=M$4YU%,G8IC<.TB(PQY*3&8H"$U24I[ A+(13CRXGQ/E27BQTG@8%/'_6'GB:2(-"9L N>D"":K;>&=TZF>A$+2 M/(&DFIO+?KR;]K@SLMV]."I(-!<2?9ZI2HSA3$*0&"#+5H@KCR#BA"'OBP0F"F3-,)90B3M9I M8A/#&4&N:^3=>%V&F/I1&%C/+6^'AZWC0?];)\30GN=G,>QW.Z%U<4)0$@,OPMJ)7JXS6GOS, M:Z@-TG::!CZ-$GX*^-P?^$P=TDY1"48(DIHQQ%TPR%$FD7 $-AGX'1, /DJV MB;XJ'=<4"98D#]6-3V5K:*5N__NPE0;]HW'/SUDJ=;=ZQ[=U%A_R&H^=+;\Z M&?A#FT^XEU[OM2' K^QI-0D'_0W_?R>=02SMI.^XZYS-%/9)!@L:%451Y=/K MF,*NXS5!P"9"A(FD6K&U=4%(6UY#>Y3T-8VDMA M$O6- 31*20,O-I])&+X XOX6YF8\7:<;O;#9[W9C-=CA?BH =5> VIE)B-)! MA: \TL[GZL?2(FO OY4L*184^+)*KJU3A=O2-/ 468DG/F5AK&#)"K!DBNPH M8HP0,2=%.?!5C$-..XTB)DP%8HB,.4=*J[:2C[4)6!T9SXQ@_T5#J9.&\FH\5Z_R3 %H;5],4T&IN5!JIAX@E3857BX)_7 MAF87D=^:EFA2"X8Z?ZK_#2DG.Q>S65).[KB_S9Q6Y%9+:EU$1F*$T*\FZI6O\2SZTEXW8VG0&6/QR&%<6+A<'@"$QRSL.K[1T?]/)*^_PH #?8S_CGKK"6D M7).0\LYXQO;3VT,[B,-W>:)VX!<]L,_1(1T<0]\0A381&F@;8V9+U,>FU M=<[;'%_M %YBSR7V7&-N7$"G5J S=?K5!LJ=8(@3P1&GW"(;@T?>$9(,3HS1 M *"CVY25(/7JS/A-/!Z'J7\F4R4F78.8](O^8#)#^VFSFI\*D@H6S8%%>UL; M,[4\.!6"!X*(90;Q0 TR*5A$-.4IEVB&72K7;V]K=94 E6!TS9A(W8/1Q8:7 M9\/306@<25(<>9P[05GAD/78(J&U4,$+>-WE$SIMS*XFT-8Q"MUXG6:\WC./ M")VL3/?"T]!?ZDXB]M/6Q7P4\+DK^,P<#XR::\$91Y$[ )\D&7)568Q E$V. M$A$4$ C2)H;6HY9/D3*:2R"*_2['?J?$".$)#4GG0S<>R$. GZRDB*AH4])4 M.<+7UHEN&U43^WWL.L04>C$F=QT ]V>'@# M"H$7LWDY,9O3\W+1&^KTQ478M20@W!&D9LX("J99\B8@$9P D)(::9(B$O"3 M,T+A2&F.CFA*Z!_-B],4=:20FP(KJX*5J8):P3H,4XL"811Q9AURR5NDI"=6 MVHB3R3WHVI@MDMM8=)-EI6I?E\Q44K5K*KGUY4LL)K SVU8%1+.R520&@)(#35 M9T_BP+2Q2,M $)>$(!1PL\CM@Z_WG8 HNNZ%C5HB__D,LT? ,S*<4N:W(, M[GPF]]/V>/[>P/3M]S+FY?^V)]/U)@Y'@XX?Q9!?V.B%V5],_65!PKF0\/4T M'6,Z!LD ^H@, G%"RF&'_CC']"@YS2 MR5HP><.8S31((9U,1%9I+@S5 H=1/+:ME1R\7/G5XOA_!R)=#*FIZ$D#0' M& 8MJ&+"!$(3]V 2<00O-5:TB0I^;23,9!01AX& PNDS05I'Z:YD5;6*A,4 MPL)4]93 6=14(6FD8L0KAD,.UTG3QHHU+V!7A*FZ,:O(HL)&6DZXYQ*N*/2Z6V54 ?W6 /U.-TTLL M%.4$ %^2[!![9*FD2 *EM,GQ&''.LR"JC5ESRQ4MSY8?6/)[:EA^_2)XNEB^ M,'EWT0HF5,#:4"Z)L<#N?,[H%#[# #Y7 AY.#2U8/B^63XF;F"9OB$2>!X>X MUP9IR3!*7%L.7AJ0=P)8KF4;MNOEBIL/B*P5]?]]9.%#X7OH?%O_%WRY&/C4 MM7)ELC@8&^;ZO]S@]\O]Z]9ONW=[IMF>#PYCRWK?/X)//,W"9J\_RIT=!_#K M7JL#X_D\L-W6L1U4"7>CPSB,U6G._' M&-7%L0;XH^$(?E$=='YVX]T>7@SF M679\COO#3EX1SP>Q:W,MMS^^=\+H\ )KIMXWGG4\>8MU,(:3T_V=+CV^\S-'W5Z%P/B]-S+_/DYW;PZ'VR-7O$?JF>YN?]R M;_M_K'L"WW>V]@[>M_1>M MM__9>+/]G_T_M[;?O*U.>JH_6MNOW^T[E^ ?^VTP-K[Y_ -<+PGS<. M\L@./L-2RYC[DY)Q.>8*+R=V7&$TC+UKCX?Q^<4/?UST]NCTJK%4;_IC?/6Q M\>JU->]P9P>^> M\J-Y$T<6?AE:VW:0TS!N3GU]"D]CP_N3HY-N]L*JE;(/WMF@^BE7P1[$P]@; M@D]5_>;/_O!I/ZR#_FAL4%6Q\,-^%WCH<$S%J]]G:6AT.O.0KM\SB'C$>\:4 M8CR'G%+'&3^O%;^L&[U-MY>&/[!7=G"^./ZRW9.X)+18_9\N*4!?/\O]M^U6 MS7)LU8A\XWC0Z;9XNT4KB?71'@&YW;.Y,2XQK%#@I]"$&T<9N:+A)DG!1[/@2@WL8BA+D&'L]VW%T&'=_C#^QVZ^W[[^S[\ MW>[6Z]./1Z_Y_LMM>,]K\G'K!;SGL]B#ZUT&';YL_]C?\F+OZ#7>?_F.Y8#% MWLN/G=T<0#C:)7MG,(:#O[[LO=RE/P<==@^V^=[95_IQZS7_>!".]K:^XH]' M.]]WOWP\^G#VCNW"_>Z]W\4?SCZFW^*]IU0SO;;.Q-4L MZ0)4!:@>*U Q;(V#3=LYR0V+ACN+>3#:)Q(49DM@707#%L4P,B%<"W-JZ%KS-S9)S/ J.U<"R"X[=E-C&N/5,)6,PX3A7 MFM>,>F%USF0E-!01R0BC<0*81G!X%WJMJ"+E/XN6%:PK"FK 8+]F.Y=[RDQ-@F4I,G'?RE!SAF%0DK* M*_ ]0R*YUB03JHUQ8_S+I;9WHL_H+8X'K]XN43V3\^W3R)^.&+1O?[2!,AR9W>N?UH0JJS8-JIU,A MRF0MBSP&I-3_S]Z;-[61+.O#7Z6#F(B?)X)B:E\\-XC !GN8]R#&&(\/_..H M%82%Q-%B6WSZ-ZLE0&RV!1@:J!OGCH6ZU5U56?G4DUE9F;F:)! L"L*; MP$+B-JOT1D_)WJY.NK#:$UTLX[,J:]M'N4V#=:^ MQ;YO#TI@P;Q:>[971\!>4H(HQ&("K8TN(*WASQ@)XS:%8!,#)E)T]HGI+&=?I\YGVU:.,>^:$%B0F".),25)\A:6!M)E-R%* @W;+(8 MWCH2K:$I]AKK1-N*1Z.^W[>#2RZTVP3S/Q9PNGZ;\IX\9GF@ST1P#HK>3UM0 M8.>G8:?U>L8-YH4DEJB(K A@4!.7D,56(4&8PPX;;9W-D?JWJ2/S'8U_!"42 M'K^6WI<+[!H5K=E"T=#Y-/3$Y36&]_%/SM'$&!=(*Z(1IY@ARX IF!BIRH5P MM Q7N;V*CC9+1V]F@A79- T_);97[W[L@"K7<' MK6?1IB!$GD(P*$4>$!?"(&T21P$GL+ 53]'GM.9\D9G+VX %6YNEOP5;FRN; M>;#UWOU;!5OOT+"<\6>91(2ECB*)140\:8*<81+Q: +1R1D:_!1=&V)=/HN ML'K.(Y>G>_9DG48@5?%;_GQ]+I$GY&XO6R%%-D4V3R9B8R4G>;BJQW%[F+8Y5:NF#-H#^/[V/_2]G&R]&]%W]OKUD\I+&!N%O!^ M)L!#VJ1E<")7H?,HUR9'-C&#B&%64X&U=A0X %Y4[-9U-0L$%'@NLBFR::9L M&FH!EZ6S64OG^8"0Q*2F#+EH*>*P8"*-"1C0 ::&T9*;U,3%\[YS.LY4.)@^ M N7[7Q)26^#WJ>33XSHY2 1:U0ZQ&P;5B]^^I_N@-K5^W2T&7-J@G4EQN'K2 MLI-7YUI+6>%/=1477?VQKK;QURG-I:V#NLA3)_ZU-=[]&(X)W=56>^=XG;<^?AAO'+\Z:!V\21O;*V)S^\.WC>V=<>MX M[WCCW2?O61!1)B14XH@G!BC@ OS'2N\T]EY9N[",E["\K/JYX.=ID%(6\(62 M($_9TUQV 8ILBFR*;)Z2;)H:F7!*)#*!*$1_/O)P%H4@-+.&1(P<%@9QZ@G2 M@E!D!E-()9P3W!4<>..?CW M8.?@'?3A57MW]8/8W'XG-E;W#UK'^X>[VW[\W^,U&(?/X]:!A_%;8]"?3RI* MSA1VR BE$8_6(4U-0F#+X6B,!\XA%I;E]W)"E&"@LAE79%-D4V139%-D<]^! M6E)%JZU0W@?N,7# 9('V44=I;J="_>>G?VG#SS"E$B#%<>(6T MTCPG\/)("YH37><"NY1R$W(%'=:01 A%QYL21%1TO-DZOC'91 ,]7_F4DMOM^K[.W+SCX UJIV\<%]WW?\E6"VLI%<9%-D4V139%-D\R@]*#]G M5&7[Z2*-.,N;\:;?.US9?+W^IM=_#PQA,YT96L6JNI%5M7'>4N"CD;A&.G"LKR-3554NVFJ?0>.DZ+:S53M68=)=-X:*BR26AO$ M60C(>J%1M(:9)'!2%#='MY]%I2.8ZO!GMX)YWH]=/ZZ&?7A89V(ZVU/-> YE MC\I.6Y%-D4V139%-D4W3"/+]1P]DICPE!Z^GW& [4X-)6U>Z8?N,*)PQZ$*3 M;T23W\U:P SS0#78O<)+C;BT"CF<\M$2[CTCF@NA%I89:TA*@Z+A33&!BX8W M6<-G#6'+#=<1*R2E%XACPY 5+B":/(^$4F(M:Y"*W]'&V8[L^5G:0 MMW__'G7&%5^LLGY5+T9=.PKM80R7AGP>;YWK]4/LHTG77C(00.B-7"=6)SV: MWC#L';W,XAGT.NUP>K%Y0*?F.^-Z9<%@YTG$SF$O,.-6)&.-X\)3+SRP&J<^ MK=_Z=.M,^MM)Q>!)4?,"6G.!UH?A[#G7D*(S!B,9+- 2QARRE'-DF89OB%,@ MO5PY6"XJ?!FW3G3H'BV?FVSWW9VZ/O".P@/CTGW#^]6P]-O#B7\.L3\\2E]F MHS>'Z"L*[NWW.C!H@[7_C=K#<8'@>2%X? ;!T7)&DD!>!8XX\1$YJS%R@@2G MH\,".Z"-@A7X+?#[\'A3X/>F\)N=MD)ZR0*Q' /K,HIFFL6"]"[I< <,N2#S MK9&Y=4:.D_!&J)3/9).$>(@,Z7P>(#%8. WW1D:YL*P57]2ZH'-!YP; 44'G MFZ)SU)XS02E/DG!@Q(9@1UET+.&(B;0%G1N!SF>\F0=&")46N<0$XMHH9%4( M"$=' U-,)TP7EH5AB]1<+J]3T/FIH'.!YA\,20-Q>9X]-.99%(QJYVT"ZYBY M%&VBH/B:\>0BNQZ83[?."D+?'T+/['ES&17'T2 BI<\U41@R26NDB&%.IR2% M)@O+S"QB16\?'7I'ZO)D<;) Y3-@L9P[(HB@288(!BLUVFG'!&."ZYB\+BRV M"1@Y&S5 ).,:$Y:S=0< 26:0Y3$AA;4W'C,J EM8)HN"&RMXIW^&.8 M3X*?I,V;25YY:/M[[6[]^DG:ROK&TVY-&@==ZMBC07QY\N'/DQ/Y[6X]4/6/ M_IP^:]K7?$+@0L/JAD\N__FU'8;[+XU9$I)D79]&9$Q?/+E*EFH8N##6DVO4 M+''.KKV,E\BUU[[W6+U$C;K14[]_33#^S-L*ENFC:2OG-WOJ_;>5L"7.'LLD M(&3)J)][[#1*Z^2&*1(S/,&H*SEGXP.TKEY!3GMB?J8G/@+KZ3\\-YO$)%4U M*;JV1Y=EGW3F.8S&BO>CPU''#F.H9TH=R5Q_.A?.7'^3HYF? M]6!M]X93A:HC'J=F5WT 2/U9?S\QP,V8\;C,84*3R-:[ MZNCW-.*)#-@_MC^9'/_:SNCZXI3SH<7]WWK?A1L>*!Q_P_;]?D5-'9"/;W," M_9'%V,]91^K*&/L@N G*^,3@4S#,!:>9-YQ30SU.DP!.C!DU)<;^*A??X6YG M<_O?=NO8?]O=_L V5[<^MPZWVIO;G_G&\>=Q:W6/;QQ^X)L?/XB++K[=PP^B M]7&=M8[?=%K;GK?>OJ.[;]?%YO;>\>;V.MY0\SD]AG &V4 ]8M%JX@7V7M <84\6I;YU*:EY5>.!CP?^6A5O!OS]_%[& MW)U^3'AVQ=G(&X/9\]B/N#^P.CX%*Z&3(4Q31%A,B$=MD4E!($)LE):)2&W> ML>67MR$*4!6@>J) Q6S4F',I>/2,O<';"N@F&WQ3!RBF$^ M8.J)U8A1*A#WFB!'4D)!*9<2M]@[N; L)5\D['+82<&Q@F-/%,>B-I$GJ:VC M@9M(K"!:1"DDQY9J'PN.-0#'9@JZ!Y%\S)9B$AYQ8RERW$>D,! T;B1A^5R@ M(FR1XF(X%AQ[W#@V5U:=Q#D+24H:% _86N8M92IF5@:VY'> K$0$WS^BB5-$ MDRDDQH5"B1F+N%0$P:SDR$LK#!#KF(1>6!9XD9CO53PM6%:PK-%8-L^98*N] ME(YZPPR/DCL=%7 I_2@O+ MCV&*V1RNRZA:Y.;RJ>"&\K)G444J%XAO#P:C>CNREZ"C=>S6("L(*"F,\/3S M40=>\APJ0\VW_>B=BS0PFH)-G'IL,06DPD0YX@1\5V1&35S7<"7-;J"L%/!K&3>Y W:]@ M(A/-G"U;6L?MU-ATJ5]89%-D M\VL#S PUE@CJ>"# 6Z466@IM?'*<69=B60L?T5HXZX.3,6(FL4'$*8VX#1ZY MA"-B3 ?L4V($V^EJ>.M M3O4ZA_XV)I76K[<>;=W/HO:@S7:(9?=NJZ MJ^*W_/GZ SI/J$1,*=!59%-D\V0<'6=UD@;;O;-S[OF(^WIW>L"]WG9P%_QC?Q_Z7MH\35K@5?6^O6S^E)HB%"\[!!5OO9V-]38S44PMST+*< M.S\A;9U 1 GG@A!24K.PK!R M,51D4V139/.49#//P2OC1*1.^5Q?A5OC-28)6Z - A83)MQ=F@ZG1"(3B,+S MYR,/9Z=(LPPBP12%2"SB.&CD/-9(.N^3X-0R&1:6S2*7EP-XYR[!4%2UP.@S ME/J\ M97//]FC!TWO%TUG#5!GN&4L$82TQXE$%9(6D2),8P&@-R3#3*$1]QEOXV5P= M=?L16G@<0[5GV]VIW5J!BMHOMMW)%001:!$:@$* ;?LE3@-H%JMNK#?_A_9; M_N>WAU+Q\WIT-W#KNM'=70]J <8/GT];Q._C>D];>)ZELT-@I%#A # ]>(0541F*PV17#: V^2142DB MRR,C-,IH?6B@\C^+N(6MZ#MV,&@G:$6MQSD=;3^&]K#*[J#J13_Z'K1R7#N& M9KQ );ZA["L4V139%-D4V139/,!>Z>WMZ6LV4BY2@C?]WN&*]Z/#4<<.8[B. M8;\>]?M # IMOCEM?C]C,2=%$I=$H,"M0EQ*BG+>:Z24%9%*KISQ"\OZ\KG( M$ISRB)7ZE^V.%J5^.*4^9PLG&KSA$B6F)>+.:V0D2XA2SI7F"2[AYJCULZC& MOV[4WEHMO-U.V- MB0\,]'OEDZZH:98>X.%Z+;(ILBFR*;(ILGF7 =>;.4[;P>DH6MC-7F+1^ MI1NVSYC#&:09F,1;Y,*[! MK$%)M8OF/Y5XZZ+Y]ZKYLR8S8SPRIRP2,@K$\R>-.4;2IB ""]PGVSS5O^_# M^/>FN*]LQW9]K.P@;QC_/>K&BNK%*FM>]6+4M:/0'L9PLWQQTS%PO7Z(?33I MVTL&$@B]D>O$ZJ1+TQN&O:.763Z#7J<=3B\V#P'5? A89W\?7 #!B(D45 EA M8^(Q* ,IWHT#V:2C?9(;P[=7W@/8@'QJ7[ MQO>K8>FWAQ/_'&)_>)2^S%-O#M%7U+S>[W5@T 9K_QNUA^,"P?-"\'@FO[ A M!JQ#) #S$/?P'\L AXD0A$CNDE1N89GQRXE6"OP6^"WP^VC@UWK+,(DB:&FX M]<101X/443D3G.7^#AAR0>9;(W-K)O,[-=I3*5!R2B/.-$'6 5!;9D+*WCY) M 9D5P8N<7$ZQ5]"YH'-!YT>#S@Z>0))RDA##$]&6$LN"8TPDRF+@!9T;@H+CA]:YR>V1GW,6&@RP1AX7'&:8I<,A0% MG8)P,B9+Q<(RDXM:78;IN8-*"V 6P'RR@#D/G8U6,*$"UH9R28RERGCCDQ!> M47XGVW$%)F_O!IX)(Y"&1>U%R"7F).*::&1Q,$@S9K.7WFOC3RL\?RLUNJ L$_T@6: M=6%[/U;6^]XAO'$,$[3J]H9Q4-D^?)W3^ WC7M]VJB/;GU1RV(^#F &[GMTY M(4B5VEW;]= 0:#!\4>&?NGTNT0, MZE%ZO?FVM?;?ZO7FUC^;6RO;ZYNM!]>3ZQK:>K_YG_75E>VUU>K]-ORSL=;: M?E]MOJG>_[6RM?;7YG]6U[;>UR'QZL]J[=V']>V=!^_+U5/SQ7K.3=(;P3/" MX/=K&_D3$Z5>B\XTM%[_H.T=>S2(+T\^_!G:@Z..';]L=^NVU#_Z<_KTJ5KG M%UQ8^^KW32Y/I[LQ2U2:/..GX7_3%T^58:E6A@O+^>0:U4N&\VLOXR5R[;7O M/58M:OK+S>LL71)FY][ M[#0D^ +'8+CV2USMUFA\-/#51LII3\S/]&2"TP]O_D_B7ZO:[KZV1Y=E<^UI M#;BUW_MZ,>KY$0S$"K0POG.#=/6:0<037C-FG/ISN*J:*/')*8J[ZNCW-.*)#-@_MC^9'/_:SBC> M$5K<_ZUWE#6E>9I[_NS7:O3QT,5^QW$C:./;'K>U_/^\<0#N.X=[5S]]V/_[=WEC] M\*WU<8VT5G?@G7_O[QR\2AOMZ5[[>YR+NGZ2&@?*641,JH2XMQSI*#C"GI)@ MA!14Y(TD)1:5P7=T(K4QN^H_.*G^:[6\&2#X\YOF+D:'6 VA1@6U0@E"^L,S$Y1#[@E4%JYXH5D6O M"&96JX@M5XD:[(3RGD46A1,LW0'W*C!V6Q@CYVA7U"Y%)5$TW"&N%$6:QX@T M3II2YR16N8 ,5HN*F0)E!"Y0!S>)&,H()=EP3:TDBW!*P280.-MZ%&5F@ M[+90QF:AS#CE,,TF8R+ R#3@F>;*(F(3S&:.4_)D89EKM6BN./A8H*Q V6." MLGF.H8"9$CEA,AA+N0P*%")Z3,"6)(E&ZJ['LG(,Y?Y!39SC9\K#X@/\C#,! MH,:B0TYJC1Q8_HQX1HE08&:R18TO5\6>NQI8@;,"9XUG9D$+JI@P@=#$O0LN MB1B"MUI+FB0EA9DU ,1.JQFV5M>./P%]QM88A0S5#'%/&0+Q*42M C8-5XVL MDTU221=!>(^%G#V+PH>M.*S:@\&HWJ+L)>AH'<\UR"H":@HC//U\U(&7/(=B MAO/M1R:'':!48C8:#I3+>*HD-5AF#?#)U7EVLYE)4/U!87YSW,H->&4',>1( MH=@=3#+G]ONVNUV,U<_ M?S(@8B> J"DB-!BC&.?TN@Y9HY54DDD9648\HB[7I"D5Y1Z3TE\F*'>@\5?0 MD8ERKH[Z,%H3!:W#>>IKFT>Y38.U;['OVX,2B3"OZAZ?4UVK14K8(L_CPO*M24I1VX:IK5/9@* :2^^X5$';%!DS7&B+N=7T3A?J MHM&_5J/)K$8S G:BI0Z,#AUS.?6('+,&B>Q#X9HE1_#",N>+')?5^%&H=:F] M6V139/-+ET/C+8X^ 6LUBE.J76) ?71BRDG,-2_+X2-:#F?<<2OB4Y A1FQS ME(7DUL]G%X_B[*I6_%HU/?[=G#)V?8<*J5> MOZOYJWQK5P#1F0C.H='[:0L*\OPT\K1>G_>*:8--DF!5>\8%XHI;9)U0"%89 MZH)@RM:FM;B<)VKNKFXUHD3D MTAY"(Q><1EXSXX4PQ'*ZL'P'T09%11MHAQ79- T^#;.$1L%2PII3S$W0(5EB M!&:)\L#NW! KR'IWR'HN0I5P&I*V,&F],XB'Z)"UWB/B1 HF.9D,!OJ#%[6Z M7#>IP&NS5+C :W-E,Q>\WK>?J\#K'5J7Y_Q:+AC"08"(4P_FI54<:2HB"IPF M(\#<]$Q.\?4V2=N;5\^XV2ZM>M8CER=\=FB=QB55\5O^?'U&DB?D>"^;(D4V M139/)GYC)1R,!L,ZW?5V[RRQ7\[IM]Z=9O2K_<7N8C#F5OS?J#UH#^/[V/_2 M]G&R^&]%W]OKUD\I/&!N'O#^PIEFKSEW3B*KL$/<$8JL-J !3BC'%-&<"* ! M]"Z.-!<4* A=9%-DTTS9--0,+JMGLU;/\U:T!OH4?5WPS/ML2GND-4^PAGH0 MNK2!"-+ Y?.^TT/.%$N8/@+E^U\24IOA]ZGFTY,\.6 $6M4.L1L&U8O?OJ?] MH#BUAMTM"ES:J9W)E+AZTK*35[^V@_VL\J?:BHNV_EA;V_CKE.O2UK'/S^K$ MO[;&NQ_#D:-<[GY\1WLL.Y; 84V139%-D\)=DT-4;AE$AD E&H M_GSDX5P\@N4RAL@92L;!:F^X0MI8B9RBS @9E1(&F#Y9).;R<<<2C] L=2U0 MVES9-#4>H4#I+:#TO-<$1V4X8PPY[17B*3M,L&.(D&2XMTD%;)N%I<\B]J#. M7M,%J[1$&11??)%-D4V1S2.334.M4%A8UNMU)5?@*]1I'NHTGK%"<[X=IJ(/ MP2(,S 9Q[31R3%"D992>6RJ=E@O+A*M%SB^'Q1>=;:#.%CQMKFP::HH6/+T% MGIXW154PC$OA$#;2(BZ"1"9BBXR37@D2J$ZBB8#Z X,TM =''3O.C8W?U_-R MY^.\LTR 9W[G,X[AR8ZJ4;$_G';S MKUXG#_I;Z&Q>]C>[[Z,?]=O#=AS B [@TNP)N6W[K1"#>?(^;:\,-Z896*!O M#-J,=_^[C_WAOUW[T8PV#__MM-Y^8/FWNP<[X];JUN?-M[DMZWQW%=X+X]$Z M_/=P]^#OS_\]7H-Q^#QN'7@8OS4&X_@)@BFR*;(ILBFR*;1^F ^3G+*AM1%VG$61:. M-_W>X%:<]L=Q;1!.E*+M4D',Q(4,9 MMHE0G;A>6):W*7M0E+MIRGT'KI6BW,U4[@M^$VL(X9X9Q$(DB'N5D!-)(QXT MU\D%["5NCGH_BS)*,-OASVX%4[T?NWY<#?OPL,[$?K:GRO$<:BJ5W;HBFR*; M(ILBFR*;IG'D1D4@9!X]Y0VOI[1A.[.&23=6NF'[C$.<\>M"HF]$HC?.6\A$ M&:F,%\AS;1%W-B)''$928$VE]LYBLK#,%LD5%4E+_,'C!8!&Q1\4 +A7 +A@ M12=A@U%)(NE" MM9161,,,C)(#6!_UGC&P4!=[3YW#SC^97MV*Z/E1WD+>2_ M1YUQQ1>KK'_5BU'7CD)[&,.E(9_'W^=Z_1#[:-*UEPP$$'HCUXG528^F-PQ[ M1R^S> :]3CN<7FP>$*KYCMI>61*Q<]@+S+@5R5CCN/#4"Y\L<^K3^JT/ MV.VYK"3=*LH2L,AQP*R:@+H8BPY@*E/+(3%A8 M)DHNJBN0ZT2+[M%TNLFFX=TI[ /O2CPP,MTWP%\-3+\]G/CG$/O#X_05189N M#-)75 +<[W5@T 9K_QNUA^,"PO."\'@&A)-GWNJ<[B !$G.9 (2#)HA3X8RF MT7""@3P*5@"X /##(TX!X)L"OC7D6!:/:>>!S2(+T\^_'F2*Z#=K4>\_M&?TT9-!RVWZT(/Z_=-+O_YM1V&^UE&2W@"'-- MC^F;IY>7ZDL7I#:Y1LT2%^+:RWB)7'OM>X]52YKH&SWU^]<$N_Z=-VVK7B+D M9D]]B+9*.PW^.KEABNE4U0ST:@+; M^+BOJ]>BTYZ8G^G)!*@?GNA-0IVJFF%=VZ/+LKDV/A=N[?>^7@QP>P0#L0(M MS-3&=NK%-E=<1^UN]=H>M8?PW7,>FJTXM/!EJ-9LOPMMO3X?SG,8C17O1X>C MCAW&4,^4.DJZ_G0N5+K^)D=*/^O!VNX-IPI5!U).;;CZ6)+ZL_Y^8L^=&Z2K MUPQ"G_":,>.^F<,B::+$)P&S=]71[VG$$QFP?VQ_,CG^M9W1]>4WYT.+^[_U MOFM2/%"4_VKT\=#%?L5(#O4GYC9'XQ]9]/Z0F((9:1$[U_I,MS?WSWP;/=@!^]".W>WW^7VB'K>-PV#K8.MS=WNVT5M>@/Y_YQNK?G8V/.V+G MXU9[=W4/[Q[\FS;:DTV5C??X>./X\R>%)5%"":29]8@'X9$).N?H,2 UZT.0 M+ ?OTT7.+^]]W^S\<6-VFG]P-O'7:GDS0/#GMT?F[O1C@K3+NQ\WQ[-GLL5Q M;WAU/(M7!E-%DB8Y.SM#7#&*G,B;P39@;DWPGLB%9<9%P:J"5<\%J[ SWA*M M2>*.)\4-XX$$DV+P,DEA[X![%1B[+8R161AS3F,?DD5*1973/7!DHL^?U 3Y]QBD5*MO$.X!C5C&'(I M #^+5C(A8Z >0(VI1:HN6YIS)^,I<%;@K/',+ )R82,M)]QS">J1K)&*!!T9 MTU++PLP: &+?3C+S;!QOB$_,)RJP-0A3P7)10X(,4P!J45B)2>)>V1P,S(18 M5.31N/>?1=&K5AQ6[<%@5&]1]A)TM([G&F05 36%$9Y^/NK 2YY#(:OY]B,3 MME1Q(X-3V6//'8\"YGB"[[D+1-2)%?%)8D6,)=4WQZW<@%=V$$..%(K=P21# M8K]ONWLQITA\-3Z[Y1\[SE^M?+7],+N-N=Z=%',LD#+E)75^%&H=:F[6&139/-K8SE8S@(OK%;)YZPD M6FIO M.GSM#O7Z6=3+VXI'H[[?MX-+SK;G4"+O^EW-A_>M91F<2><<4+V?-JZ TD^# M4NOU>8=9WK-Q6KG,S!WB5&*D$U4H6&=95"X$7#O,*+F#?^X >:.G62 HS* B>:HOR\&5)#U!LAZ+GP5!,8%%1II ML+H05Q8(4([$Q]B&)%R@DH%1)L@B9I>SI15X;98*%WAMKFSF@==[=X(5>+U# M^_*5L]ZL"9@PF=O MUVG04A6_Y<_7IRMY0E[YLF-29%-D\V2".\XJ4@^V>V=9_W+"O_7N--U?[3%V M%R,UM^+_1NU!>QC?Q_Z7MH^3Q7\K^MY>MWY*X0%S\X#WYV-!DN/$8^.13PDC M;@1#FEB%:%ZXA5(Z)+NP3.FBQK<^)%A0H"!TD4V133-ETU SN*R>S5H]SUO1 MV"NF$^=(<0]6-*%@3\OD4.(B"N9X8(XV.$9O;'[[!W^/6\=[QQKM/U!/K#8F( MV5R>,, GHTQ"T@6&E35&$[:PC'.MB4NJ7QW%_FDT4Q;PF4>M+C;RE!W.93.@ MR*;(ILCF*-+ DK/>TVLTA)E4'SQ139%-D4VCTPV#;5"86%9K]>57)ZO M4*=YJ-/XO!4:A5?86X:(S&7$-4[(*A^1UXXS3@(C(I<%,HNL44>5B\H6.'V$ MLFFH)5K@]!9P>L$2S/H#=& I_+V"-=I^ ML>V.=9V(8#U% U@:JW;W2YR&T"U6W5C'_@SMM_S/;_?L;9Z_@$1=[?QP"79H_.;=MOA3+,DRUJ>V6X M,4W. GUCK?<&[_YW'_O#?[OVHQEM'JSQ76A+Z^/:\>;VUN>=XW=?-[9W1.MP MG>]L?\:;JWM?-]ZNX=VW.^R_QVLP#I_'K0,/[UMCK8.53\%*YE0PB/"<&3GB M7$(1:Q2=I2P(8GW(%MVBTI<#"$O04-FQ*[(ILBFR*;(ILGDHUP]T3!H#JSBF MEJL0'4U4$9-S/V$NS)UZTN^:#0*7WDR%$LY/"3=/O4COZ">GM%2)6&1,]LI[ M[Y!F/B#AA/..8A6L7EC6B\+<52V?HOU-T?[[=/P6[6^(]F],MN0 3;(QLHG M)74T7"6D0^"(,T*1T4$@1QTH-XL\.-D\_7\6,4U;T7?L8-!.T(I:E7,6X7X, M[6&574;5BW[T/6CEN'8>S7B*2@A4V7LLLBFR*;(ILBFR>8Q&]7GN?)$(O.GW M#E>\'QV..G88PW74^O6HWPD+-G!D(B:2LR%$(J:1J1[TVYG$C+.$ M$RL:IM7/I(#.90,XQT"D^DW8="ZJ?]^J M?\'B)IPE3I1$4AL,RF\\$,$Q[^[%:^=C+Y<37L MP\,Z$]O;GNI'V5XN;MLBFR*;(ILBFR*;1VD\W]U9ODREI[SA]90V;&?6,.G& M2C=LGW&(,XI=>/2->/3&>1-:1;*P+!:Y MO$TJN@( 30. 1AWF+0!PKP!PP9#F@A$K5$Y":75.1VE1KC&,&(-YD&!-\#XU M"@+N^_#_O2GP*]NQ71\K.\C;SW^/NK&B>K'*"EB]&'7M*+2',5P:\WG<@:[7 M#[&/)GU[R4 "H3=RG5B==&EZP[!W]#++9]#KM,/IQ>8AH9HO*J#<^R M%[WCGYRT&@P#[QI\<#(=-\(?S4P_?9PXI]#[ ^/TY<)Z\U!^HJZZON]#@S:8.U_H_9P M7$!X7A >SX"P!PL2LLPB2)H"8:B)X8Z&J2.RIG@+/=WP)(+-M\:FUNS!-F">&@T"CGN(N*& M)N0PT\@R6#L%$]SRN+"L"%[DY+)M7_"YX'/!YT>#SPZ>0))RDA##$]&6$LN" M8TPDRF+@!9\;@<^SW)E$IRE7% 5+3?:\!F2Y\@A666PI#B$R OB,Z:(PQ8%1 M\+D!@%3P^<9;;E(RXW# 3D3-<22&>.P\\]'KB*/_#H&>?Z>M(/6MD7ISEDF' M) &8N4>8"($X2P99P@7R2E(7M#-4 Y-FAM-&" ME:H"UH9R28RERGCCDQ!>47XG&W,%*&_O#CX+)\";*Y\LMS2JF% 0.I/:8)&5 M(:+@B=,\&6T"SQF]F9*+7%W.ZEUH[3QA$'\,\P'UDQ3H,V4*9I[E(^A4?ZKC MR__G^G^<#G+YV6/YV2U5@> ?Z0+-NK"]'ROK?>\0WCB&"5IU>\,XJ&P?OL[Y M 8=QKV\[U9'M3\I([,=!S)A=S^Z<=*1*[:[M>F@(-!B^J%,E+%W;V^G+.5U2 M^3C+46_0SB#PLA]SM->7^.?7=ACNGZP<,S^)$\X5]%8(3DGUOCLKS6$?V)JX>1'^_V39A_9 MO8A8A#U6+[>?-M: M^V_U>G/KG\VME>WUS5;UX.IT=4M;L/:_K[8WH:VM]YO_65]=V5Y;K=ZLMU9: MK]=7_E.]WX8O-M9:V^^K%Q]:*Q]6U^'Z[W>X A+Z4^V\8OQ^;D9RO'#%H!_: M_A[,M[STR=/B.#_ O2M_(X_3T6ARV"C)RR-49Q2[1*C MWNO$E).8:U['RY*3>%F"%>:7J"9,POJH:'>X A [Z@YS)F( 3M^.@VUXTZL. M<-&')9UXX_64=!X"6?RX?KQS\.';!KQG=WMK?W-[CV\ M/\CU78! =N)?6^/=C^'( 5'?7?TL=@[R,]?&.\=O.JVW:T \]\:;\,[-M_]" M>[S8?+O!H1_Y8.>WC:^?,%.":TD0J\O >&R1TV!D,VP=@]'T0K&)<=#NCF)8 MR=3>414$U5XY3GAP6#OL-0]6*<8(I3#^$9C\40:!_@BL\_>C0YADX[QNS8BB M.I-%=2*,$TXZG0D7)BU!E80*C6OOE]V]V+58YJ; \&]='.HR,8N\Q% MJV&O>C<"@A#[G7&U%8]Z_6&=6ND-V&35Z?\1C-XM3@G$&% M7KY4BSU7N;*=3A7: ]_I#49]^$$_@L'6G[1Y+W8C,!-X(]"7>)1[8L\$>]1O M R9(\U@-]GNC#CPD5HO>WO=^ W^Z<. 3I3Q1;YK83KP"[_7 M,^P\HSTGV-.@ZJM%/#OSS@XO#Q;KA[0']<#FA&+9V]!9A-F0CSWG+\_='+_Y M.)C,EUXFJ7$X2236'?8 CD"7^GMY8K9@#E4"F@PT&]2KG77)#@9Q6+6A\>U^ MW>OS=^O?\TL'@&]^6">VOW"=R-_KUU[1N=S8<\D+!E4WYG9FB 0=.(+GYML2 MO+DSOG(ZGSWUA(2?1JYWQI-9R^M)"U,WMZ+&E3@8=8;U7>W\#P#/].TG&C#< M[\>(#F'D]^M?#=K?IG\=U1D+!U/UN/22^NX<-#_Y]B1R?O+N"6)E%:WJ&/"I MRV?:ERK6KI\LUYG#*5F?>X=Q^@ [V*]2I_?UK*4G[9D.50R/1;>V9P0Q!=19 MT)K1C_=GN@ 2V[Q3:?5KX#^=== Y:$*H9^.7>*+P)\V$&0D ';\=15]KZ_3U M-0QFS+PP]']<6*3GXK3L!YS6W*<$OT-9Z2^GK*WX=8:J]GM=^.@G\Z'F2N/) M?QM#7L/-CVO'.\=;AZV/;_9;'W>^[1QO'+?H!MXY_L!: MM+5_D;QN'.SPW6T@N <;\)[60?:0[GQ<([L'T(;C#0;/.FAM>[9#WR2X%V^\ M^R1-)(%8C7"B&G'*-'*.Y6!8X;#B,E(F+Y)71CCS4G'/B> B.N>C%]@1$)8S MS,:+Y/7A!+W2#:\GX+G>G;WGA%$]9^&WWGV*-$4)PXVTDPQQ)P72."2DL$W1 M"::#QA>%KWU*49'(B$F 0<)YH4E@ 6-*24SIHO!!.M5YH5RV4.:V6'XX Z_Y MW0\;W]B%;_+V$/V4++X!#73&E&'-ZP;;AZ7KPU%>!:L7*^\__ Z+ M%C&(T,5JX3WPL0XT/=^<%Z&9W^9U:7*FM=JVW^)@X1$Q @"$;IBL]345:(/! M\OY#%3OM0R!Z, X^]FLVG/GLT80&G-@_4Z,)K,!^S_K]>AR QO;MA 74]8:! M1/T3(RADNRX;A?F5G;9U[<[$,X">P?JDZ8VX&"I@A$ V[$S MZ%5 BV$,QU,Z,Q'UU+:R@\P_3NUB>U[PLXVN'WC"F,$VK656>U;($<6#*$\&D"]LVW@AR>IBZN=J$V:J[=58HH1!LL 3,1PEA1Z'5A_[\MT7& NOQ\YZ"RL MLPR,\VQ"; %);7_)[HU!A:I6K]N/"5Y<^SO>Q*E?I#[>#B(8# <+CV,POZOX M)WHPW+?#>G['K-G]VGE1>Q2FBCC5W3I3-JB?&U9?V\#_#X&W9X)07ZNR# 93 M0PK^/()%"OZN'WUHQU/SK(*_ZI><_F3Q!%E@E+(U6O^@5KW#W(J$\5 M.N?L[M9&Q)=VR)Z6\\T:3-Q8XQK 8ABWGO6F&EKS]_^/2RHI^//8\'D]E^/!8]B]MX%%( UNG#F"MS* ME^'/[)9[L5TC@.;Z]Y?5&^OS.G*:0CZ/[QJL'M/%X.HG9 ??Z6!OG>C-0CW8 MIVT@").?:\-[WSN*CYE09%_O1T-:C_$A5_U:]F 4O?V8G[J! WJCN55)/.+B=*"U/,; M0OM4Q6:84^W&S>.0>S>G]SJW]\9C9.MI._&:7]FSJIU.J9X'O,S84GMK@+!- MH.SZ7DT'X'0;868*3)WYI[(_Z4!U.+,2#R8^^/S4*WM5U7NXM;,*'I'7I"^V M,ZIQK=[\/G6:5U-_.5V<-J\>\&N>^6WJRIUX+Z]X1#VO0'7JN3J&20H_ZDQ& M\62DKA)Y+>.:IN:?]_, YWOSA-OO]T9[^Y-U),MI BE7M6\RY-?K$CPVUB+- M7K/ZC;-*->G2ANW#JIJ-EWH+X>3MEWJZ!'>>.MA##WZ?1391DYD5B.>1G_Z9 M\2N+\[[6HLN>O:M]?7.BX@]VIY]-G(JYBS@5+G]EG,HC";"Z?>S*S-R]$-C\ M:$)9JA\$$MU9I$C#HTO8+W?5O['M_K^P%L;5,^ALBFNVU3X)*MGZW-I^1W(@ M2&O;BYWCK?;F:JN]L>J_[AQ_(!O;NX<[])W8?;M^.:CD[3O26OT@H$VD==PY M:+U=Y]"FKZWC5P>M[0_?6H>[![NKG<\[!Z_2QC'TX>LGGHBPF%!$1*2("Z&1 M ZA"A 4O+>4Q"G/1-:MHLHY;IVF(W/GDF,"!RJ1T9,!,[$77;![VJA[W:B/: M/.K7^&=_Z(_]\9O/MY1&&;'BRF#A>,1!AX )B=HZJC4EWXTX:8B1=F8=K>1] M[LG2_Y\9G]TI<9J.;.7[:[]8C4/_IS^JPI M^K0:RW_JL3](]_G##+^7;[WBJ."$43_\Z;AWHQX8QA/M_:=VDD\^M[LUP5V9 MF/E@SW\&Z*B_JK<<0S;XH=V3FR:X\N(_\4OL5.3Z?*%/=1!GPWOK39EZ6#8= M/*W>PZG_7.\>CJP/&I"G#.G-R>P&+GO*>.!>&9D]P(8AQEGCM!B$XJ17_]8C>; MU^4X]GO!#O:+_O]2_2=3_8>G^F^?M)78\*A18!@P0#*%M#$".>EEL%3':--I MF;@&+85W9,(VUE@X.0,9*]>#.7^;$C$/7^3E[A''**\"2TD$:SFCR@2'J:+ MN;4A/I#;(<[*%]NNXTRGY9[/SDNO1C<\^ZM SSS0,SYEW_FIXI./1AHF 'J" M4\# *45.J81LDDXH' ,L('<&/:7H>]-46!#J!6/P_UQSD].(@3V6' E2$BD3 M^SD5_FXRN*+'OT:/STP(P:C#@C*D8P+ZX(-$AA.%)$F)"P(F'PD+RUS31?1,L^A!>Y42G'L=95F&FZB^YRV 0+06P/,1(YX@ M+KQ%1H@<526=$S8J1WT3E^&GOEVPW:\#1<:5:W!FS>,OS4MP#J M<#:4NQ'#2:Z#.IEIV0HX!T'411X#)TDFGOW)6'MAB%4R'PMBO$!0\R#H_45+ M <#,!*19=SF74CXY!Q%B@E!-0^:R[NS!(H;L6DJ')Q1SCAO-7%<"E!HX8/G MTO (:HV+)=!I%(4%7YJ M*FPP<2QZ02(6L"([[7%0/E*O!>4FBK(*-U%[SQL"'N:G3]RCY)5&7'&'M-$. M&4U@?8Z>>MG(#?D?& (GIQFAL?'[6O^8[WSJVR$K>['KQ[>(AGK"7ABJ?;2. M\, BX9(0YQ+V7HB@+#.>IP*^S0/?B]%0RF%E1>"(:"<0IU(A[4- A#,NK9L"*!,^R=U!%\"4EHI/9>V L!%D4CY4@)SA#7."$C#49,6R<2L8HHUL15^*GOA6R WOGV MD>V4XQ!700]+CH@4L7-&<2R3!93!5 DB""61_Z0#M4#//4+/YL5H*&,\IDX+ ME)@%\L"91=;%@!1./$JCB'!W!SW%@=HT%>;1!8F#B%0'3A,0"1>ILDD+)[3D MQ0!HKAZ?& #'&P>?^2?,@@+6[Q&)Q"!NL4=&9&M>/?P3DO76 MNJ"U"+) 3P.AYV(<5#X"ZXBC"&PX@7C2!+A#M/"GI(XR*G# 370_% _BW9R( MH#8F1P4S*8$9+S1)02OO0\KAC;;$0355CV=/1+ D(QAM$N&H/>*.>^22,$@J M82B-,*&I7E@6B]2PHL%/38,Q3H$*%96T'/@_LT*$X!), DNI_]FD!F41OM]% M^#S_CU0+;2VLNCQP!%0J@B60- I1,6%MDB3T+KL'JVSML^[K27ETN[ZOMA[-BBF6C\*[2$O\,/P%:DOTSKT?] M7(1R_'HJA?H@VQ7UK$YI"BXTY<=Y6[;?98I2^PO@J73SW2?&5<3)8!2*,9U+(A65>-@:?G++^VA3)185_K0JWSA9>MO'N4^(I M . RI+ ,B%,>$- HBX2R01+I8HQWYZ9OW@YATXR F!RO MT/6F*?0OMJV+ZMZIZIX9V)(D0YP.H*>6@H&=.-)6::0$"S+8F$"2"\M"EPPD M3TYE'\3"+HI\EXI\P# M\$==.GYY6IA^*J'6Z!# P%]7J/X"$AV,!L-V&D]19[DN]?PS]>Z_^YA?#EZT MSN"^'ZO7O4-XW[B>I.K/075X31'8RO9CU8]'O?XPALH.JP1X4GW)@%(Y.X#O M1D> ?T-X9+#0P)-''.6:XAG! &&F-<,K.ZD7WNY6=E)>?'+O8+&RW5"_*-?0 MCO"C6/D.W-U.[?S2036M,+Y4_7M2=#L_>Z84-\@&KE8.)!?SLZ Y M_=YA_76OW^^YNLQ7J-QX]D=3\08[M+5T!R,W&,([8,A ^'D:I!&\?1C[\*14 M?U&+/3^V<[(F_:S Z5*U8;MV+^:I6+4',#(#F&V#=FY)?GL$T<(2"< X>?79 M8$W>/8#OVEW;]>VSZ9=?W3GSS$W: D,7>ODQ@]YBEL8 9FU_,#NX1_W>%_BR M'@];=6"ZQ45X1;L?T)'M#\?UC*^? $,%'\/^Y M8WLC>&8]$6 >5%_;P_V3L3ZTGZ$MBY7K]R8?0H35NW^B-EW;&0^@7\->M6?S M>$)G)LPA$Y,\7::/Z7VIQQ%^W^['>BV"Y@!K"-,G]>H?#XZ @\"\J46\5,%, M'E>C09PT?/;)\+Z,$GX(C*(:MV,'IO&H_P5F=I;,%]MO]T;0JO$1? /2N&KZ MVWZ>=WF:G^''V9#7+S]1H_\WN$99X 497/+DZ]LLGSPMOL%[\MP%L>;#&0@> M#^OI"%A9_P1T)D-LJWU06VC<7C_6D^9$BO"P+N!%3:HF#3D!-IM7V#:T:=J MO=B-_;H!]:2 YAW".E+/.&>[GP=+CP^S8+#S(,,X9+T[48>)V&=4YR?7!M < M-U5\9$/N&EPY E7.#Z_O'IQ Q?E7Q6\P%_/-,-4 I8YL&YXXJ'7L,K@-]Z$! MN4'=WG 6L-J3Q6DBO9\%'K94_7\P[^'"Z/!HHO^CP60^35!E"CPQJX3OC$*< M[66--(/!9/VLIUG&+>A*[DAN3*?].7;:^[U>R!VW?K\=O^1N>6!O =P.R [ M#"+(%EX$*_-4%\[&=W &<#\EJ:\Q]]1V/*!,'M'), (_JK6BZM==J7\.TNE. M\:=N:CT>\+)^>_#YK+53)#D9S3[\G8O"P),CW#"=%/D51S 9>^&R#OP4;6J M1EQ:4GX\WF/H_F24I^(^TRKK_S=J#]H39$[5VW_;U;_P(!@XP.#UKE_*,XQB MHJJO,!>_ E2"-&!E^EK#[1Q&9V1182,M)]QS2:E.UDA%@HZ,::GK EC$$,K( MK-&YWGISSNJ$@?/YV,;77C^ MEZR/4],RXV)\/.<^ @3YT/W3/_6:^WKG-HT]?6\:N#UO:';ZW#W8/=U<[GG8-7:>-@'6_L?=)):>MC0-2$ ME$,Q%+*"*$2L#MK29# E"\O9'7#)LIQ.'I/A9M2IU:]F=$!7>@ ,[H\Q9KO46<\<7OPQ2J+>;*3\PS_;?YLD.K"-A422LC>:48E."5A#%=_LI8$ M$I/-($ 2%0X#TIIJ564^]6169M;Q"Q:X][3Y?I=;IXV-$L44= YCX4@K!0Q> M**43"PI[M;)VM5)=%I0G&OU;YS7.3C#^ \SD14M&ZW@7"VL\-@EIYRWBWG)D MG%=(&2-T(($ISE;6:$-@W !&>%5"ILR2RV2[GAT'M;U83W==D)/J)-K^9:]3 MOND(B$:&ZNTHZWVI[D^N&Q-63E>5 %)[V!NQRU. M7,.O\.02ZP:]#IC--UXRU48?LRT]&S9N;D7&";XT"E,_]_IG33BT7R)R_6B_ M(IN@A:]LY]B>#%9^NVAX@]5]J>/N^LZW'\Y9=M45PT5=VU=OMMZUWOY/]6;K MPW^W/JQO;VZU;N4XO>2:?H:&MP"//E;;6]#TUL>MOS8WUK??;E1_;+;66V\V MU_^J/F[#%\VWK>V/U2]_M];_WMB$X[]>UL]9Z=:37'<)3$:P3J.,6'$%[,KQ MB(,. 1,2M754:TKXC3+Z]&;R2&)@]NN-IK%7P.IB/Y\%P]GKHHG_=7WD?SUW MU#3/7 ;P.1/WZI^1F=T%@R5?V3_CY%5-RI]NF)[&NW"Q+QRW.YTSK_80B$3M M+3\[8>2M@1OUS_UJ!U/C,.WNZ'9.JN.]",,!4GEP"$=J-WRG-QB,?/&^]Z4+ M+QPN.&JK./+@QL'8/]7I=;^@3KV^,/; UZM"DQOF9\0\Z^:)& [G!8B]3(#J M%0W?[ONC@[S&X+.3I!]3[(_;#MVT,NRWOWR)M92,+F^L9-,5S-EA'+EK;+]_ MD@^/WNK GM0>0A?K%X#'9IMP] 8VP$=H<6Z;'Y[Y>]YL_;.Y@<"JAK<+,05%!*(%;-2&AEW-W*+ M,&,8U7](JN]=[F/K[!W^RJ^P>=[VOT"X7B[)W5X7\(SOS>V=TV8.-3C>U5)1 M*K+9[95'7 0)9C<3* \4]L13,%IJPLOX]83WEUIALK:T>EDG90T,1/XZPN': M+SQV8=?"M?(AGJWJU![ID2BM5.,UWFRQ]#KM4-OE'X?P:^3E!E$;#RF<<#WX MS$!"@Z'&$D$=#P2F1:F%ED(;GQQGUJ692NA$)K?2YOFKC.:PM]]SAT'_O!O# M;1'9D;%F2)L-6K+L^W5<]GEG:^-@;]]1T=P)WVQDL_5>QF M:+GB ASW8N^H$R83MKU^7KQN%EVM_M,[SK2A,;W&,O80YC$%\8%VM( 6O .NR.T+J%R]QO,3[5>;W9S<:'U;G@+;'9XLCF) M67H#.@S?YU_Y&.AX_O;O;C^"Z@!?A6,?QG^^RRL9F73$P3:T\_=.SW]]7@@G MS3,(WV^*K7=_GP!DTZWMS9.=T_>T>?I/&^Y[NK/?/&[NO_\.T,Q:I^OD,H0W M3[_RS]L9LG=$<__/_=;&SFGKTZ9HPG.:I^LGK8VW>&??L^;&/PE@&V^M[T89 ME#<*F 9C!N5](I Q>;<0JKGP2;FH],JY>H7U/(>F)(U*7#'"80;V6HN$F=0) M+%0P4X5;J2+,BX?9UNH?@3V81Z11Y9_5U,",@')J9*\$Y/W<8/YY2RZVW)!< M^Y;!%"0EMR(8%IFU6DH9@#X(?1[A.VM!]E^ZWU]EL.IU\ZMNI=P;ER05Y'.J M-[;SU/*2A1-H<"+8,AX$2B+E[2^H0-9)BE(N)BJL55[;R\+VY,!X_9PYDOF: M5L3+,M^>C/)Y\$4XLSM3KP,T)$^TO]13:^\(FA$&O[ZZ#5D0]5O64:X3AV\_ MQ'X.*^[8PT%\=?;'Z[,HV7:W;GU]T>OQO<9>XNPAO9SZEZG(Z/#$>;J*1P[4 M<9#Q^,GCPZOUH4L!SZ-CDJP:0FX\C%=O/O:CVQ*UBJF^UVU_?$RPFQ_ZD,:R MVS7H)X'<=\BQ_4$&]812U,F3E68])XBRSJ17WYZ_-,-J*/ M!PYL'49&#J$+/3"C=-]YR_+-D'G7_(@QNHV7,:K:25&=-?"G:477O?6C9A5= M+^K_>KRW?MXDJNM?]]&CA^[D\'E39U?-1V;4?7G6*#/JX$,;/O,F;>VUZ,YW MN 8WMW]OMS[MB,_[\.R#]V2'_K&?_4*7,Z,^P[V:&U].=^A;]GD?SH&V-=]M MDL_[G8/60?/D\\8_^_#.V2^4FI,JX<>[U#--')@/@B6,N/$2:4XHHD'R)),+ M0:N5-4ID0[.K983.Y/[I,.9^65BWUK=GSKE<,K2\?@B7%BT?G'(:M*"*"1,( M3=R[X)*((7BKM00$I:1&2WPY^K>@Y2.CY:06>V"$N*0,DH3E4LXA(&-H0LP0 M3C1GE% !:"EE0V(SHPS21\>NA4LO7=*R4\T;4CF7;&.:9^24%Z&P[N]FW=U_ M0,\-UH=OQC$'%\/'"TK> B5/ICBE9Y&3X"C HLK;5BN+M!,>$<>58%9&GBB@ MY#5+B'//)\L.&2^0,Q6@F"E03.A4WH[(!Q.02$DCKA1#CGN/J/(LJO\^5ECLN+'P^ITO9:TQCHRA43.V.4)6V2"L& ]$16\-RZJ;#-)T\#JP?O\S8EG:5$=-=O].DSU MI'+M3J>X9RYO.AJ]4#Q0+W(9"Q!G9RA+0GMN4_"WK9LXDTU'1]45AP65[H)* MTZN#SA"K*3/(6Y=+".3ZQ90FQ$G4$J!).!U7U@QM&';5W3WW#*@X<^:-QP#' M9H(:YZP1G&(PF)Q35AJ!:2F%XN>-M#B@PI0;&5.D7#.MB17:2.N)T5HP4TC+O&/'A+0PBA7A M%B.J:$!<*(TT-1QAQ;B50ACIP.!AM %GE0KQ)83G$FK4:>8HMSZ&J:+)Q45T M$3$QC=*Q&%G$D=O,MJP024-)>3BL:WB(IHWMJ6IHSKE:%NCN7;1XKQ-G@B68N8H"85M MS3MV3-B6Q9)9$3%RW.4->:1"QDN- ME*JXB*X#'J^]-=SF.@6&AP"\Q7EEDN!ETKB&S?68(D)@9Q M9C6R"DB+Q\(RABEGB:VL\08Q"\A9BH=HWC@+S&;.4>,\IY$3H7. CL^%621+ MSCE9.,N\0\>$LRAL=)2!(<6Y0EP2@9S4'!%"1'0<1Y;TRIINR(=3EJ=S$"VJ MOZ4)2I?W=.H\@++,KZWT8,I"B74I!4R8"5Q@Z910=2R9"=XSQPIEF6O<:6ZO MGV\CWES?55Q81[1&S,9<6!1[Y+0)B$EJN?14$FGK; E\U34]]Z2E.%KFC;2$ MI#0V#$?#$[=@J-MD9"#>IH1-3+J0EOD'C\E&YL9'9;132 DM$5>>(B-P0BX9 M0Y17-.7B>:3!%BD89^'6M4J#GW[E<-&R[T98-UUCL.3=S5?>79FV'G/:>C_- M>06!V2D'H&O!,>*<"Z2EIDA1Z37.,J[KHN2XH7C)P9LG/]ZB <\BY. 5X'ED MX)GBR]+8'/P+PJ1S66T*5)DSBX05"D8G1X+%O+D9:U ^*T=?R<=[OMCV\9M. M#0@Z]HUR)>8YA:YDBWUN]KB_(=0_D^GN:,D4J@ ,+C"R3>>LA[9'U"02= M:NTU'"$$+'U.1$/IQ744WEY1%\B-N'#HLTRQ\P5][H\^$]Y$K*76&(' X ;> M)&D.#(T816V0NB=( M[4PHTFGSN'6\J\$^5YX+($<4 U!9EC-]%/*,*H*YD"F1E34I&N*:2KYSSY)* M#-B\,9TYBELO(')_$#FY "(D11NL4RB0D/>W\AYID Q$N! \$66]L0 BJH'% M@\E.B08K=9F6I"Y3 :"'LYCU71.P!K+BD??.(BZL03H3&IZ+-6$,@QIR@17= MP'0!ZQR4@+!Y8S!S5)RI ,C#&1WEH6L/!><,."$4(1(#"6VB2=EX6[ MS#_T?+D0UR,DD]Q01 G1B#N?D)5!(,-,TBP9(Z)962.Z8:Y)HYE[[E*\+_/& M7;0 0T<*')BB7 >M=0I68"N]#YP96KC+0@#(A+LX:@-S.B'B@+9P90! 8L ( M&X=S-HS17.7 P ;&5U-XB^>EY.&]T#R\@C[W1)^OT_3%L<"QH119[0SB6'ID MJ1,HT424#D8E0W/] &&N9M/,/7LIGI=Y8R]SE(I7\./^^#'E>8$1%"EUCTK=HP(^#P&?_0MU!*SF8#-QD1. M5=YUT2!-.$/.8DEYI#HDD5.!L5GID;\C)'Q8\*?MP?/R;DQ6-I*!,2 M.9@0$+=@]SC%'*+>$ +0@H6P*VNLP6>6&%5*"2Q!@^]$3>=? MC5Q?B"391;DR$J:'\GM&].LT6M$J?84L2TK-FB1\Y'CZAP M#.0:4VN!+0K.&D9>-5;GGB_>51$7R!.V:."R"!GX!5QF "X3*BD"8(C"$5E# M)0(#02%#@T3&>I)8T-(X!532B :AL_*$S5^6_4\,R%N6#1@UXKH,N >FE5[' MO9Z!9?SKGN449M(OA7;=A(S^2_=[O3GXI9W!/^[U^L,,E>O=4%#SH:AYH2A2 MK+>P ]042E+$20C(J$@0-I$FDR*OP!<'X->+P0L& M\'FFM@7 GPC )[17PI1+D_#(,Y80]UPCX[1$E@22J(P:>[NRIJ1J<#:KO,$Y M@-.:&/\VS(YZ^!W:W];.WJUU= JY-?^#5^>O/!L-V.ADKY]J_7?^W M\VEL=)_;7/?H2DWK8E2@156=A==P>[L$7 VAN M.T'/U;[%8>S#"55=TJK?'GRM;#=4H,7C98RJEZHN/'AX4@5[ A_[52<.X$G# M:K@7JV'[(.93K(>G#=I99E:K*\T">!FTX2&'?0"#/KQ]ON1+7@KOYI;5CX1V M#=O#HWP'VZD.>MUX LWH?XW#*H&$#5Y7PPLIE^GH28<]X 'YU'[T$?H01'C4[ST0E=$@^GX,[6$5NWNV MZ^/HK0870PLN/+,-MQJ.'CUYH[/V3[H&WN#@8G3E[?IF,,R=F?NDTP.%G!Y: M^%^?_;H^;*?R3B[<^JQ?X37/FM5SH%#0S@7K@[Y MJ;$/TC: DX9[(*M[]EN(H"8U6J]T\EWSW+RIA['D_\[F'Y)6S_\SZ/. MR0@*>:/*YDO]Z T8GP,7^Z,CC-2'<'4,PP"=U>T=M+O0+UFT1S*XD8>Z/UB] M""<9EO+\V^X>V1%I?DQ@6I+KQC#(Z:H2 )6'O1'VO.I'4*;VM_CZN!V&>V?< M9^K"\9R$)Y=8-^AUCH8W7S+51E\+UFPPWMP*X@FY)"U3/_?Z9TTX!)5 #O#Q M*[()6OC*=HX!K5=^N_ B((_H4L?=]9UO/YRS[*J?.RE&T^'6N];;_ZG>;'WX M[]:']>W-K59U8TMA:OD"W3'VS+U^WH:W@#=^K+:WH.FMCUM_;6ZL;[_=J/[8 M;*VWWFRN_U5]W(8OFF];VQ^K7_YNK?^]L0G'?ZVNDXQ%T>5+H#>B]8981C03 MBDC)K0B&16:MEE(&S)C0(T,%KHEA/9L94E(JK72!$\IY-%H9'HG.P6+9R1MN ME.GG(&OKWO>/ZMG@C'*=3^\PE>9/F137L\7*?_OQT )[B]\/8WYN8<7T]SKQ/]\./G\*1PZ MRF7S]"O_O+UYW#K=$S#O_DG-[4W2 M/-X-#BL2A$!"$HI1I7H^B4@J!)6*"&QAEQI U2B"?"/&$ M4!$\R:&10N(;1OG.U+0!*#,X!%, &%+G9/4*(D^LXTMA==[BZ%/>*E=Q2K5+ MC'JO$U-.@D#RW8T:!> ?FL#!Q?'_Z/=B..K$K71S !W(1@^(?:==3PG;^9QM M:,/O8%1\?6DRLK_SO?5E%U/F8A(62>\"XBGO'9J21(11Q3TG)BFU4D50I,,\ MP<'\LG(3RY$76UN_9+U1:_']QH;&)E<7XXAR[T_.CSFW<:L*JPR]1XO MX8X?/&;EJS4KO^1T&QW+_)V3&P_CU9N/_>BVA*X*)N]UVQ\?$XP]1F,IO]]M MGZ6Q3)L%:JRAM[KM3P(0?AI;=/74:Q:51B;98ZZB7#;&KU\%7S_H00M.8Z@- MFC>]P?#&@,QE[8)W_=Y@4+_^W]U^'#DMZX_O;+M[?TE3^L8;X+RZQ5@_;#>66TC(_1.&2B/GNI'+GN_PXW*J M#\[#7[BHE.M>;,'#2J@@7%A*F/26:Z)LLL1SK8PW.F++'R&W]V)&WCE[R\3M M=SMH+TE_'N=[MC;>DL_OWG[/;?Z\OWGZ>;O)MC[]\[6YOY>: M[7%,R4=\O$L=QDI%B8+.%>V95LA:@I&V1BC'N)+$K:P9VA#X:CW8A:\14O#H M1>/1G4#'^Z.#HQSA$6I;86(F9(/I]YBC';;M]X)$=T.BTW,DDB10D;!&&'N. M>' *F9@X,E(0':0"1 HK:YQ=K2]08*C T"+#T#0M.HW]7K"#O5F!4W9?%'"Z M)SB14H$JHB<"B-C<\Y"YH2^KH 5 &HI06HF=14 M*4!T-R!BYT!DF69:,HV"5Q$!*&$@2)$AG[C#/E@3^:!TBD$33F<1?59<1H\)02=3+B-I(]'6 M"F1=RON7R8B,UU_K:AF5L;?OWZG.\EVY?FX55% MC),B&8ZY,-QK;%6,/J,0=UPZ_QBEW8LM/T,H:KV9LN6MB#AB1U%*+IL!7($" M@!F@#,9&"PFSC0(S@#>$7,+PCZ+*]U7E8LL_NQ)/;'FAE?-8612<)^X01C"?8\AQL M>2<(1=8FK*7CW./P,%N^Z.[RS+[%EG]FQ9W8\H03$T2RR!*8<;D%J]X*PA&# M;S&1Q!H7:@*MQ(.WE'VZ]?CYVR=D4DB@*X.Q>LTYY/F= 2)9B%0$B)R+F@P6#%,FM1S)!,/,,;8 M8Z/R3LA$/SB&K2QA+8\F%Z?3L^OPE-,)6VLUM7E/)X*X3A)IFCQR6&L-]BNU M1*ZL/=CE5/1W>?2WY+G,J59/Y[F8Y W3R$@*YJS/?UE)D J*<4(PS-=F9GDN M1;>74[>+2^H9='CBDN(D$"83<&J"@5T+;I%CD:,8A=<,AT!2JMFU>;!'JD27 MW%H+FQ?K\9>HDHO( U12!D-#2DYQ%;0SFC-G'2;2*^=$L>_G&X&V+D25!,M( ML DIRSSBAN9JIPQ@" ?. OPPBN:ZQQP_.+R\+&LMCR87^_[9=7@J0<0KZA)F M8-7'@,"@%TB3X$"ED^(I*)JXOFY%NNCOB]7?8M_/J59/Q9E$K*(5$1'NLU8G M O8]P2A*&$^O+/5V=O9]T>WEU.UBWS^##D_L>R&,-E@21)TPB .E1EHXCZ13 MR9I$@7K'$;M^>E5'"YQRWNL>Q.P%F4B5EF M>B*\@\G+,^DU%X(X'17S3A 5F"?1%B?@?-.4YHBBG.U8G4)PA"6*C%($<<61\-7UCCA#2Z*(Z%H\\RUN?@('T?%)YO2)^.C#UJ@["M$7&J" M3&(8Y;TE V.2D1PO0!I:S9,M4A1\-LEG]]?PXA1\?C5N369J22C0^)^CB#9R5\D[F8(&5U-P3Y!2Q, =S MA;2V&B7"$Q!O0I.)F6:+AM+S- LO>T;/+.O)+'',(6;:&,4XEL1S9XQCG#&5 M(I52*LME,?KG'8TV)T;_:?/[UOJNY4H8*RBRR5- ).>0$5+FCYC!U.(M!422 MHD'5/(4@EB#B9U;H8MS/@2J?7%!E9VVBWEGDP=)'7$2)'#8)88DY44+[@/'* M&B.BZ/%"Z/%=S/OG5N1BWC]$D5L7YV1NM&$4K/O$*5@)G$:D64A(,IBJ<>16 M8YB3]=4J;Z5<[)RI\'QSZV+ASTI_+T[$WJD8"]SE':@8*68!B$(TR!GND1 VRJ2\3=R",: :4I5:DT69BUT_3VH\63!0 M*A"B$D,A,HYXL@XY1RAR E-L)56>"%!C_F";ONCP\NAP2>Z95\V>6LQX%P)92BEBQ.H@+*'4[2[F/OSI\63^9FX$()) C&_R5V_4DISWFMHY'$Q(1FG.1:Y12#!"MB MG!/45HO*"H\1_-Q ML?/G2;&G['S/>.">6Q2\!#L?YF2D$]&(6:FY"5;'J$J9SJ+=Q"MQ7 MGCJF!/*!@IU?1\@RRY F6&/OF$M.C%BVQ'.DQ,N^I%\J=?X0? P#L D",RP% M5TII*GTBW.'@C 1+L9CZ\PY"?T^;^DZ8G/]E$75*(DZ= :,?_L*8$TQ9XB&8 M7"U8F'GR-98%@V?6Y6+ISX$63Z@$3.\R)JH0\WG)P$>!C# ;)5)B)MHT-<.P'F .$H><^%CLE@'D"' MKSK<2P[^G*GO?+/I8LK/2G>GENRQX4"6%;(4-)9S%Q%8]A&E(+R2PEJEXHA% MSU.AJV5?L2][:OX0>S2GA&(EE0N*:\D,)]0Q(9-*1I'HBR4_[QBT,VW),^V( MT (C8?/>7=9[9)4#2!+1"\(T#+/-M;CP7.W[4Y8$GEF7BR4_!UH\Q204IXHY MBE+$-B?<>V 2DJ)(!9@ 6EJP[4&+BP87#2Y+]O.NUU/6?52)*L(L,C;[V14- M>(D<=C'), G-?ENR+=A<[?_ZT>"IUSF!CG;,H.@NSLW,:N4 ]RLZ;D'BB M-N@1QYZGG:\?NF)_69E_=IWK]4/LHU$C7C%H=>@=@6!69XHX/F'8.WR5WVG0 MZ[1#??#GNG^=7^%155]=J_K_NJN_9E9]\KPX>'UGW $'.0V%1>WB>'H<*)]R/$EMHZ8*B1 U MLYYL'1U /_BU?\.79V]Q8/M?VMVZ+?(B9.X?#8;M=/)4ZSET"A+&#;T4J.DM MCCYA:8SBE&J7&/5>)Z:B?_Y7L3E!64??_/ M_=;&SFGKTZ9HPG.:I^LGH,!X9]^SYL8_J;F_<[RUOJMHG=OJ45*"@:)*A33H M+"*1:>=A%*)E(XAN=X]B6,\ R[$F)B5C6,(\.F,T84I:1Y3V3FNU4D5 SD,8 MCF'_**ZL;>]%0.=.IW<,$E_5\EH-C@Y (&%8!M40#K_I'8#HG=1KLNKUH/J2 MJ2S,$V=C5W7@,YQKNZ%*MMVOOMG.$7P&T*_L&9XC^(0& -E5>S+(\#=<=?E6 MU6%OT*[G(CNH>JGZ\ZAS,L( WJBR4%6_P'7#O=X1"'D8_/KJBF:=046M=C>J MV4C0Q]UGZP?64O;3+@3\&?73&()&0 (ZV;&'@_CJ[(_79]N4M[NUCM47O1ZW M88Q+XO!J=&A6_M'AU\?M,-Q[9O.Q']W6K$IQO[O^^)A@LK2UM/7%MY7?ZJX_6T@[3#^!UDP@9 M!JA51-.W[LY)636 CHO?7#^YA60U'>@NM"J%]<) MV[VA[;PD-9URF]YD_%]C_\_CT/T!=M;H9?_)QM:LWOA&N5Z>GIM,U/]V_=_6 M_JIMUUFH_O)T41&N(EQ%N.:NYWXN7#-*9)ZW_.4WO?YAKP\4[?K\Y0?G43SY MLN3UKWG[9\<"&VMO_<:WWZO-=ZMW.\!==^/MC\ M_GFC>;*S[W%SH\D_;^^E\_BZC_AX5T>"K1:YJKK3B$>+DOI)VN.9S'PT,[X8]0J9R[F MF3/:!VO>%IW7!X,X1+GU$13I' [+-EB7]N"C43H6(XLXN$!6!(V,8]1@'YE6$H@R M:V"MYZC"?]FE8S84\_[:7E8]YU;#3R]HN/(8!IU@SG4;W)!?46A@DJJ$'!:HZX31ZL2^X1PSA@ MB8,% 9B9^[TH>E'TLN3V3'K/+NB],3X(KQF23!@@[D8CJS!!6!&?"/4Z2E7T MONA]6;&:9YT6%W7:,X6=8,@$GA"/-"(3L40"QI<121.!X2S&^"*I]/P9XV6] MYS&<:N?K/:?-D];[7:*#M+EF%A=Y/PT84K"W?4+2699H( D[-3]&]Y*FF35! MUWS[T';*-IG7P0TEUJ44,&$PW0@LG1+*>^.B"=XSQXJG?]%!:9+]8)16P06D M P%C(5>?TUI8)$-R0@4K4W"Y!KJY9A%ZX8-AEE+/[\(K[J_HQS@CP990CBRD7B#&:6.$[ :KNYNL,B934NIU$\^>1<'_SRJ]B0I M2*I$C,(*C <)M@3,T\CR0!&5),E )1,L+G%L?5'RQ5'R,IW/Q+E_O&L<%C1P MCKAA 70>"V2IBT@:FY+DT>,PNP6]HO/+J?/%L3\GCOWC72TEYP14F?A$@9Y3 MADPT&!G+HPZ212IIL;T729OGS_8N/OU']>FO[S)B.$Y4(XLMS,R:$*0C$<@8 M@4FR8&,;-C\V=DGA>.%G%@%XX6<6 7CA9Q8!>.%G/C2+[^FVF;QA3FPQC:QV/&#F?0\BD2+F^ M-T?O3^6%-<+AWX@S$\X-#4J$DP4$B%AQ)7) MX9Q:(JTY5T2):%DH,%]@OL!\@?D2RS<_$+XU8>K46Q<2,2AP!4Q=1(.T" H1 M9W*2G4R$I>+8+A!>('R.(7S^'-LE@/-1W-?GBY+KNSPY3XUEB+ 0@'M;G[>" MD\C;J',,)^>4+8W_N@[^^&V8!6RM?A\_,OKL:!:J#YR_QJ@Q\ H=>SB(K\[^ M>'T65=+NUAI47_3ZP/:_M+MG[R8.KQ9YR T='7Y]W [#O5?&K'(B,G,:AZ., M'SPZ2E9K4G6I;T?'E%EEG-QX&*_>?.Q'MR5ZE0MSJ]L^:AA5N?ERWOSLE/&< MPVI&,NLB2?>]QT5H".UO:_^&'V?W&JOW&)FF46?_:#!LIY.G2K2@67VW]V+U MIG< SSOYOX/*=CJ]8]OU,5M'E>_'T!Y6G7K3] KF\ 3[%1=]^K8#JH[S/-! M"ZJ8,('0Q+T++HD8@K=:2YC[*:GG>4PH(S^PU>!%?;;7C@%3![%[-PZP?O9^ M\/E-_787)GV\F)-^)_[GP\GG3^'042Z;IU]AN8#K8@B(@2-@N(PO#QXI&E*R,48O29!F+P&EGW>UYC5E[ZH0/=[J?KS MJ',R,H!YH\JC6MENJ#9 ? Y<[(^.,%(?PJL5H$T_WADV@HJ"@@A)QGG"RC%K M$PZ,* ;RI=+N1BU-' OT/&+U7X#>7MCL E[:081WKW^_9&%C(&P@8T38Q%&P M$B,> @8Y,Q+!<'+LJ([<@370O2IJ5?[]K3T\J?K19^8#2X_+ M][WP?3X;>'J>%H>](4SHT)A_W47*#9A.@)F.!\(C(*[04FCCD^/,NA1K*<>8 M,8SJ/R35#[&&BR3?2I*S(?SW=Y#H4W@6:WW9U3)@$[5%DH8\0PJ.M,()"6NI M\DX+D5A1A[NZT7EPTC>3XIPC(2#-]=WL2111H>15? #"+=! M-MJ$ @]8B^"YQ2F7I&P D[\B(0V D,%AS-@7.R>-&N(NH]D(O\[AJQM'\$7U M:()MW%G*,+/!*&&U2IXG%[74WEC@;$1'3S =2UDNL_DL4E8 Z9+,?3EMK>\F M2J5US.1*9!SQ1!*R6%!$6>*1^"15RCL*27RMH"V=D!0HN@A%M'6\BY5U7%&' M:, V;QFM$)A>%'%A="":*:?(G:'H,I&Z$8A6S_VY]_5^K/W;]7];>_!MGMR) M# &>[ZK*KY7Z<;C01^C=1GTYQAT$RT!P+FI2;2"$GJ_>[ 8N#,(^V5 M1B'%1+@,A$4P+XVDLS$OYU ,7CJR[;\]!9:2".%DM#YD$W 3,"0USWLEZ>1- M<,Z:O,.*>IG>K (H=W9,?#T&<.$$:(X$*R=0BP%]*O!R#ZDX :CQF'''B48TVT+<:PTDBA)$5+*,8VZHA2F'DD=R5V6* M-(A3).ALE:\?JW;7=X[&BY KF]UO<3 \B-UA_KYW$%?.F-&;7K<.,LR1I-7' M(?S*9]5KY%OP^#HL<+!:_1<: JWK76!3P_KI$SK5 'F^AIF-&S5^/;CB$@MK M5-TXK.]GOS?JMD\OH [VX)N]7B?$_J#.?U*OJ_B_1WF=U<+])W&P%7#.V 4(QL-QN.VK?H1GP W'@8OC?(^I M"\=ACWARB770L4?#FR^9\OYYZ//8GXWSS]S*]T?HI5Z9^KEW'J=V:+]$Y&!, MOR*;H(6O;.?8G@Q6?KOHU6QWT:6.N^L[_\1O^DA=]?.@\+JOWFR]:[W]G^K- MUH?_;GU8W][<:E7W\/ ^0\-; ($?J^TM:'KKX]9?FQOKVV\WJC\V6^NM-YOK M?U4?M^&+YMO6]L?JE[];ZW]O;,+Q7ZOK)./Z5Y2S\87?^3:75'@T#TF9UY=@ MC@;VQWDT6AD.LR77.EE#93AW3K2.#J __0R<2Q>GT0G*#MYT[NT8?C_) M:;49\X]LIVF'&?1.-@"PMO.$NPW/_[W3\U]?VERZOY---D><(5PGI"1E",9, MY-(Q,),Z@X,-A$8!O1R!D7E[KJT-ZZE!ZF(L&]82: M)\Z8TFBZKP[&@E#EB7AF#R1/6TVY[(V(VA;+_4<4>] M(WB7,/CUU6TT4(PBD9\T^A]FAU4\FB'N&OY/Q2J3LP__UZO2B'O=]WGL=MN>ZP[!*YH,G(A#T1 MG$9JB>1!,ARUEX;[,(/"/#>OMN0HXK&+"#Y]:@_WVMVM;LR ](=M]_^QG:-) M$/E"EWK8AWOM^Y.=3Q\ZN8VMT_?\\[M6N[G=@79\^-I\]V%_ZQ.T[=U;=KG4 M [2[W3K]<^_SN[]Y$XZW-O:^[M#-[UN?_MEOO7M__/E=4^SL_\UWMD-J3F]U M3W$B+F"#DLXABRKFS7.918'+('/Y-8QSG6+9 !&8T7Y[;\170*Z#W M.*#GOW2_WQKQUO,:TQCP?H]P[[A]W*OI6(&_>\+?Z03^HE;.Q(B2]SAGWT2D M?5 (1R$E%B%%3G+V#6D(,ZO]1@O^%?PK^' YZ(Q#\ MHW?4+QCX$ QDYQ@8K>4Z2H(<-Q2L8&J1H5PA01*Q,5A*C%A94ZI!&2\06""P M0."S0. YY(T1L/VML, '(:"8(*!APALFD<'9$+:&(\WA(]9$>"6LC(&OK#'< M()P5!"P(6!#P>1#P#/(*TMUQQ>-\U>,4_AWO:F.4Q6#P4A]S/AR7R#F)$6'> M)I8"9U2OK,F&X:3 78&[ G=/MM8[^50P[JX8-[7_++>$!VT1-40BSA1%UB># M5&)4.L,I#79EC6L*)NW"+&S<.?CF4F7O.0V^V*!^J%M)P(:9RA+ GMN4W!1U^"3Q8*IMI3P2=)"&N$9X@*SA$W MDB'XS)!73M 8*1?9[69HP["KFT/=;ZNF.=ILJ2CVHREV";!X7A6?!%C(2*FE MT2!/E4%<$@%SV^S0;<90W\^=5[L@8NG8O448F< M90)Q&@0R2@D4%=-*1RQY=#?OMEU4O*CX3%2\K/'.6,,G:[Q&16NL)8@&&Q$G M'B/M!$&!4..3H31*5C2\:/AC:WA9P[RGX^S2&B:6R<8@ZCW?P+:.4B$3&8./ MF8T3B@U719^+/I>5NOG3Y,E*G> *#&>N4>#9":XH1L9RB73(6VT&AXEF.?X> M-XQ\<"S"#+5X23/AUP>#.$2Y]3%,U>.\UZK<-6^\+."#@2PZ%B.+.'*;PP2L M$$G+1(3!2INR*K=0D'0RM2H734K6"XQ@='-.I ]YNZF\]Z>RGIJH?-Y9EO*& M$K.*')BC\*>BV(^FV&55[GE5?+(JYUUD4@6&E(@:<4_ BXH7%2\+=D^@Y9,%.VVE= ES9#%WB.<%>.N#04EQR; @7#L*$SEN M8#.KQ-ZBY47+R\+=4ZCY9.%.T.0C)AQ)94'-1>3(F+S/D\ 6!\:",G9ES30$ M*5I>M+PLVRV&?D\MV\&(MH8,3DW8(-;E#YX)C8&2KQ3Q;N MSG:R@<;&'^M].;.<682JG/E<0K6H^;[K7V+7GUQ?:?_%!S5);RT+6'@ON&'! M"*&(<<92FZ3S\G[^C!)2\.18@D73\4E,00@1M%A)E(<9<0DFD7.4H(B=BYZ!L41R>J!N&/G@=8BB MXLNIXC/($"SA!+-5\*G\7R8]4THC;&G,>R489)T.\)%CX1@FR8"!6(X+RH>%'Q$DRP6!H^"2: L:4Q M1H5D7?=46(DTLP*E1*@D.E##9='PHN$E!W@^-?ER' $U@8*J!B1BCO'EG"*# MI434&:88IIX[4_2YZ'.)))@_39Y$$J1HA,6!H(2E0MQ*"Z:U 7V6GG@?M#!: MS:'O;$E3@)N@<+Y]:#L/6*);XN@E2JQ+*6#"3. "2Z>$\MZX:(+WS+&2^KM0 M2#1)_25->+==AB,,'67(8@,6 O,8694<D%+8^<"F>Q1=QCC3CA'AD6*2+2P:AC3+0"QL$;PI3XXZ+E9;%N M,72<7-!Q)W50R@!>!0J:D^H=+.+NBE:7K2\+-@]C9JS"VH. M(QNYX 81+4"YK%NT62\O%!2T/W%KKB49)$]!R MKS!RG&:SG$M.@W8RS"[ZIFAYT?*R<#=;)]O9PEUK>Y,WUW>I%8H9G=?@*?S@ ME".=0)^E$42F9"D.LPNU*?J\G/I<%NZ>19-/+FBRQA0&47&4I">(.^.1L3@B M3*@@W.'@::BW$C8/WN'JZ;* %S6W[F,/&@!?=$MZW76PPT" L8>)#9R@!G' M$DG:"Z6U#RG$LG:W:& TR;\1V!(A&?).>PI983&*(5&+-1,Q1P+Q!GEX M2<\2![2<>OUP\Z LV3W&DMWQKHV>J;PE%\;<(*YM1-IKC;@B45IG!;5EZYZB MWF7!;L$T?))=9WR4$F>'GJ4F^P,PTB9Q!-(LB/RZXJ&E\6Z15/Q27:= M<.%U4O*CXDQ3R+*MUC[-:=[R;C/.::8&L MSO%U@4IDK.+(*>*,MB2H"#,Y:>"'^P.+DB^GDI=UNN=?IQLGV#D2+1/&(Q4= M \L[&62TB4@%$35+1EI1>'G1Y[).-X>:/$FPT]%S[R1&1(:\]37AH,62(\D# MS-)"R9IZBP9]>+C[T^77S5_!SG+F_)]9A*J<^=1"=>?PH)]=YWK]$/MH!)>O M&.!KZ!W!%%J=48;Q"X:N,OH->IQWJ@S]G*=>%,3PJ25'7DI1_W34J9%9] M\KR,[?K.N -CX]P1001-,-/S$&G>1=LQP9C@.B:O2XC#(O&XYLBK+[YJ1)C]SB&?! M\(+A\X?A):;EN=%\8I4+!G:YM QIHP#-36#(69>0D%8P3*GC JQR*EC#2%K0 MO*!Y0?."YF6_\3D#]-:$GALJ <\503)2"H#N ="],,@S0E,B5JJ4@)Y+W,#7 M;(E6 +T >@'T N@E8NVY$7VJ,J6*WC-LD0DX;SX=,7)YDY=$&%&4)^V57%G3 MLJ'XU7)P!= +H!= +X!>0A.?%\^W)@R=!4N8 SS'E''$M:?(YCU]@G28:9LB M(7%EC9$&Y5\+S@>0E%?2)7^?GB9QV,NBLC1A?XAR8P^TQL<]>,VW/_W3L]_ M?6:<:'T$3NTM??YTY\'.Z>_=W;HV^,6 M_6,/=+X3__/AY/.G<.@HESOTP\'. >@U?7\*>B]:&V&OE3&$_M'9.8 VO/L' MGKG.H$V@\^MB:_OO[\WMG=/FQOHI6-C11$-B KO:YT*=R2:DHXLH1A&]P%Z" M_H\0'P0RAO6,UX(21Z.4!*[A1E@GF.1)<6Z3EF">KU01@/@0QF#8/P+[_&P$ M **OBONT,%\2_='@_/1I:X\L0!_]7@Q'G;B5SD7IS5&_#W]M9T5^J<*TM?UU M%]ND")$!:4T23!H1(RVB19)YKD.@D0IZ61J>''VNS!\U^DP)99:807LPC*'J MI6JX%X&:=#J]8T#[ZI=V%[[I'<&CPN#75U?!]^J;B/I-:I _GX]&LPJ\4<<> M#N*KLS]>GT6GM[MU"^N+7H_O-9ZDX'97RM3E26=T^/5Q.PSW\IRXBD?4;1S7 M/G[R^/!J?>C2+#DZ)LFJ(>3&PWCUYF,_NBU1JYCJ>]WVQ\<$N_FA#VDLNUV# M9IT[<)][7&-%>1#FV'],T\'Q&]'' Q?[ M%2-UG^$+?;:D52\_V.,*++^8[W2EYN7/WNU&@KZMTQUHSUY[9]N?MC9V^.=W\#X;'PZ: MM'6PM='::\$]6Z=[Z3S?I:XF0CV6. HDC,V[=4F'-",! < I;*A\:QV67YT M8%O2+9@_]?I?$5CLA_V>CX-EVX)YH3A='HK-[G]' U&0Z-Y(U)XB==8%8KRV MB 5G\G[O#%EA(F+>1N*Y8C":*VNL8:ZIU3[WG*YL-O.2>4N!BUG!Q82XR!B, ML&#^R4 DX@(39*@-R#'E+;%>62+SU@Y*/YBWE!UF?J9W?[2[[<%>#-677F_I M-IA9*&9R-A+O\D 4J+DWU%S81<9)H;612#(L$->:(Q.-04Z2B+G3"?,$4$,; M5.G%HR:EON9+IB8%+V:%%U,;TP0+0T8IPI)SQ(G+)3P20T833*2-WHFXLD9- M@XI9^53FP6WR=.&^\^DY?O:(WSES+2\4;P+H*X!W!\!KO9E>CW/.!FX]HM(I M!/-?1#HEC:12CD6=*--J94WJAL!72PG//4&:N5XN;1K&?.+R0U?TE@V7%XJ? M%ER^,RY/B*BQ&A-/.;(P*HAS[9&-)" ,UFQ*GGEK!. R;F@V*R?9\Z/D+;(? M?IKK,'[+J0?O'PV&[73RI,'#VWNQ>M,[@.>=5/WH<\>%ZK#?^]8>P -LC95 M\7OV*5>V&ZJ>@\Z,PUBUIX*.>ZGZUUU4.Z@H*/ LR3A/&*9O:Q,.C"@&)$RE M<2 [QP(]+%OV;=WN]6[8&K=Z$O6^9_M?ILQ/O)A:/XOTB9/Z]_&NEC)0ZBD( METV(,T61B3 $RBF!2?#!29=W3R*$-/ UZ_2U>-Q%#.Z5SU#$X!'%X"27!@T. MQB!R9+A5>874(T=8AG-L<; ,$TNR&&@BKQ>##!@Y\6"8RT.A QCQO5HT!NWO MXT^'@%2],*AB-V--#K,>30/C6.L&X-#@,,+MOL7.2>/.4J_<"Y"HXC(FQ 0&#\XA[PY .(B&O M"'$XTI0HF&^JH8B>#;Q@9H-1PFJ5/$\N:JF]L6#B$QT]P70L!F-X*6+P^/!R MW/RRBP'EN2 6D<@M6/$R(<>$0)(D%I4F5MNTLJ8;2K-9P4LWCN"%ZE%>PF5\ M.=YK^SWX+AQY.#_?V]M^_R2G3'W+58_.,JFF&<^PE[]J]ZMN',*E0-].ZR2I M^H+5ZBWPN)P6,("+ZF?"!;VO\ &NL]X#I1W6M_S2Z3G;J8!V=7L'HWR_T![6 MO O:>-09YD:D?N^@/OO-UC^;&XB8"LA:B'#^ZD52>6V^[6U3:O5/4FK-_RO:01S,2S+DUINS#/Q69^M3\[2U_>&@!??? M.7U_ @K;;IYV#CX?[!QO??JSW:+-TYV#?]J7E;:9[W_:)*UW.V0+GMO:^!,4 M=O-TZ]-G4-EUL7.PR79.6VU0_M3U=XF*E!!Q$?!:6@%X#5,FHP2F M4B&DH?YR-JW42C+B4R#1\JB ,29#5'3&TCPI7\FF'77T/1)I?_Z@BPW3-$D0 M$>-I(CQYJHTQ LQ (JS5 M^V4#[OX.J4W=99?L1C#3 F#X\9O1E M;;4=9J,U'_?]'EALH9U2S.F]U7&OWPG'[1 K$&D[@ICC/3@V0I:Q 9CQY\@/ M ;;@?V^D#W#F:K7>Z8QA@/ML8"!XTL. M;/V,^JO>X:@5 (G0P3';EH#LL7_0[@)RULVJKZKL<+J-T =YEH57&_A^S+=8 MK;;K%SG./[J]G]\8;EB?V^[ZSE&>(^K$6+AE/#LK"]H8]4=MR ?.IY[QR_2. MAH,A('%^7UL;P5>H[)4..'OY^N->KP///LC&=CS(@P0-@E\P+0WR'#5L]T=? M]QP(WV@D&K4&=4:=#)U_-!B="V?M92>'/1F,"/,WD(QZ1CJT)_DFT!UYD/+\ M4^<(9UW+$N1S-X3X_7(GPO0SA*.CGH3W]M#&KLWWR;TP_>IGTG!##]PFS7A. MM&S8&\)D?$F(088.8W<0'V[75,?01_/F)SF; B].?F]Z@^',//%O"CTI0M4"FXW M)N1@+0^KLV=5'2":[4Y[>++D%*E,ELWMS>/F\:[GEHK$'#(RV!QZJ)%61B*= MN$J><<(<<",V(S_N4\)7&6(8XN]Y/R$AHPM!(*=Q0!RT#!F3?;7!6$F%#4[G M$HK7#_$EN'K!%N!EU_/=\>T)UK**57#=O#VI+K@/WW[9E4IP3+G(F>L$<0^S MN3$4II6H@V5*!!M4IFV$J\59ORI#_[.AQS#?1>5!V91%AAB/N.$<68\ITI9A M, V#]\'7]$T\MWEX%6_N;!\^&^ 48^&"Y'G2>K^K/-4^"(\,2QAQB0UR.3K' M,P %XVQTL@8=$,-%!YTR_!>'GP+P.".H#\$@1F"FX3Y7M/4:YAR1I ]2RN!H M7:U 7.\J6%Z[<:&(59E4+\KVEQ/@4YHS(DPD"' &H"U8 #D8 A2Q\(&3%'@$ MV;[!X3K7N%:&^])PG[;6=Q/G.&',D:0X(DZSNR!P,"V9L$)2B0G'*VN2WMV@ MO#[JY8XFYD]BM,>&(J>K*M

TPN:WOJX]=?FQOKVVXWJC\W6>NO-YOI?U<=M^*+YMK7]L?KE M[];ZWQN;/&_OKC-6,-^,ZF:O*^D\? M3.:/\V:VU"AM88H'SA8RD97(P42 @F!!@%&M%+6W+*[_>'&(UR/B'TIO:_IJN2S+Y(/$\<]2^__L$@^ M7:64SZ)(_AUK)CUU%?M1>T+.ZZJ!\]41&%#]?-;*6MX:L'I;&U1GM=M'1A4C MC5O4N[]#6?NYJEY_?<6 ]8,Z*/MA->L7H\3GAWA@<\Q?/QOXJ9UME$?;X^"6 MF9PO,\M[^9.XGZ"XQ@\YV)E3\5SDM](?M.^+S1Y#L' M?Y\""^_-V*^_3=]K: M^)O#=^W6Z29IT;?B\[N<$AZ^?M[XD.LYGYRG?'N/*;-)(1TE V->6F2")"AH M$I/&BCKC\H*(,%=+E3THXWN.RCDO1LU$4"]Z+UPOU=,6 M@VCF(+&K5=N^F; MM9>^P-I=8*T]!6N4<.$PB2@X^,&5UL@%'E'DVB8;G$DRYA15AJ_N&KJX%=7F M%[G88S#2EUZ2>HZ0*Y.P[>-> :R[ -;)%& 1'YE1'"-%E$%<<(* E2F4F/.6 MN)RP0E?61$,P4LI3/P%@\4*UEA^P(V"2F 6.L61UD(APHAR5G''0HU8F#S8/5\XUL^4L"ZK4D?)%::UU+BUGL>X M@-=]P&O:I\6UESQ71C NQX4[3I!1U")J$G9&*2%43BYN:#:KM<5YH%NW"*)Y MK#VSEZ8$_T.W1IE]MY2M468%K@5/[X"G6],.-R>$\12,5F&41MRXB( 04B23 M#T1)XUV,]=[;3*K%VS9EYCK[N!L"7!/X>RGN][DJ'^1RBCD"LBXC&0>YH."% MXK=I% 9]7?#SJ%+MJ(RBO9+;=\>] 9X -]=W,5-\)MG@I8WUUK%MY7^-$E4D$*:+K@E0. MV1SS(J1A2CO'!*-/DU9;='RJN,KCDI7C,Z(08$G=BW7R:87O5SW=N<(7VCN*\#_NUKR M=YOE^Z%P/V2BOB,P7\.27N5!/XE_JQ)$3$'*S!#+NP#(U)8.(.C?A&'OM'+2O\,R^W3> MR.K+'6@B>75KR]/F_C<88TN\AL4D3(+]W7ND'0 *4U&(:+AV,B>1U9S:XC%G'FYLB[6R+4I MS6/>?US(N U+DL_/DAJV TNJRJGO6]U<,B&VXO?8.2^@T$W 'R=%6U9S@OP\ M;%6QEZ*J))#&=5\F*)@3[@.U!'VX-SC7EB>U"JH\^D.?0\%AI(];T-7?>C'% MZJ[-+O R(O\UPMS956>F4N=D MOO^K*BNU6BGOR#MCWL]L::]J@^PWDW,CQ? ME+7IWDP+KFMF+EK!A I8&UBMQ%C0%GQ5]L,KR@D>2?DOLJ14,@^4XZ3;"_W8 MN50SZ;+,?\ISM)V^].-&[N?;\4#\D\=A.VW!6);0C^J[5ZRY37*J-#>/,# ( MK)W7,AKD V:(,QV1$S@B"KLNY3A&80#ESV*O>[/^-K,XTKCP4%6DXW+8^RB% M4UG-R$B.1B6N[EP"\MG2S&U=M/VO;K_.-C9>3F?-DV_&*&,"QTA*G4E#X$@G MQI&)-#(.DV"PKEPSV0V)R6>E\1HE[KHY;U>EPMLKQ5A6/EU"37]>1JW;&:-K MIS+@5CCX>0!_1H9(6(/;4S5KIM"^[!=^V,ME4EJG12?N=P?E:%7#UM@:E:3) MO2BFZK],=LRKU'?*MGG)MG -FK.\.-A$NYW)WG)>;FSZTBHE6[R;[2Q2AHUR M($7!<8&3D\09S;CDA!#)8VTG?81<)N\8:.=!*LY251U"<\0I2\"M&46!"J*B M#"2E*G\_E7/*WZ^8-0;G:E<.Q# :F'2?&"4$FP":E:[-I(\RU3EOO_>">X$1 M\P%4=&45,I)Z>,LUIC(('4*>:JUNROG[0&8]JN5T#1ZWK^S*YXA4W@22?U@@ MGCX6GP\BT,@YE@V49!'+!JJG*1OXH=L-)V6KE:U;H$X,>XN2YHDVS@M]'K;@ M][ND<>9/]@Y!-LX^@HQD>=G"L.;Q7G7]?B[F^>.JO&SGMAU^.6N>_=%N@&PT M-T%&0%X:AY_:CCS]!L3#E/O!(HI:Z@D! 3:0P ZH231 MSL6@V=7"?"SJ H%22(!JG+NH@G"@:XK+'$AR*M)H3J09E:C[)-EN; PS&Y!R/; 6S2\;NCR=YE(/[I60'H]+<*SL86Z-Z_MG!\)I@[[0MU M6C[G"R/^[83^#1<;YW+HI'X'TWSY%' MX.'NV>[A%FT>MHZV-[=.*U>;[#F3H/L'NZEQK1'((5IMC%(1"2UH,!J M@IPW K2:9%(0E$9<.?KD>F0OR<=Z0;%V-*"C?]]W>_!5IX@_1O1BY+DQIAIU MW-LM1_2WIZTNEAV/X-4],&P\W6\KTZ0_W>E!IUN5RO+!EIU+]ND:Y6Z!B4IF4U@QMH(] M8[[1.N;ET8:ECGFI&>QC8/MT@#..-#F7*/(LY;I(!K#=.XDP\4P+0':<7>]5SN43; /WKQ\IAP4^\<[;_V=I$Q!30EA#;I<]G M)MUAKW##/MRF?^$ 5 Q@D/9C+X;"%KWXO8PG^1ZM;F/*+V=U?#R3 M[7_G9K_5ZOSXN#N(G0'T9=IG(HR.M7-3^A'0)Q3_&=K>8)20>^1V_L?('RD; M"LOJ;!E:E:]=+=I3/DS=\T.AZA0]>S*-G=Y]V?/#=G;PRGY Y][U92? 5 _B M** '6G/9TZ@7C[N]ZE0IXV/E/515^X*;=XH2[GS9QKE6O(;_.)PLZY]5-<^>J[:1PMTL*Z?YF!] MJP,[UWX)M*/R^>POW@%[\]PAI?V.-3:;;?@]4-6-'WN;G\KFX1'?/0SE+FV( MYH>/9/O6$=3+TQ6CL[W'2_NMG7FFCEUJ;D)SFAL,BL409#UQ> M4"'A3OP)3^;?ET!]XE^9VUU=A(M4Q^LYUA_YIB.-W"F,@F84<988,IHPQ'"2 M4K! K3>W/+$73WQBO]'.U/:L8J07"WSL5%^QR?X@AHM8]^J@/E.Z>QS5CWKV MY.?R0I+[G,L+LD9N>=1]IQ-TOL;(XQSWWZYJUXMN++WYZWGZ)MPK)]&OC=*/ M7_'KEE;!#[UNOU_QK?. D^I-%77RJ+G:7LCX;7@_; ];V<&T&K@QQE9$H!Z_ M7X]?,PYNL_KF=.Q=&0#52!5=L",BH/>#7NF&%8/LQ,%)MW=T[;3[EBF 7LO! MS9U[O>3G,D1YK AVQE/)0Z[(P[#7AF*LN<7$S.%'HM!]GFQNDN M_0**P4%[%WX/"@-I;A[1W:]?3AN;!P?PK!+Z=[2W^6<^B_]Q<5Z38M+>48)D MHA%QJ132W#DD1;#PL1%4^I5UIE>QO!Y$L?#'-7<5Q?N>QCQM6L@:2&L@G3^0 M3G'&:;I80^O=H/5L JT8"Y:L0Y0JB[@2.40M6Q0#PR%@ MIC%5*^LD%V\1-7S4\+'<\%%K77>&BHG6121HQX9+Q)P"J @ %3H9@81SCG%E M&4\,H *O OUXU5#Q\H]_WP[[T-_8*T9NZ-U._Z \OI]>M;B1R@_&.I:L)LHQ M9C7G&F".4^>YACV5A,#OF&2__M*K9[: C;$G':I/D>Z@F!4&I\>(7X4"L\=\:"B<)C M9(@L>(T<4^.<<-9HCDB4A'H1O.0$R,(2ZCN+=]JS:$K.[5/K_ZJCKRPP]<2M$$Y9%BVN05+-38DNIR7 M2IA5HU@-K36TUM#Z4J&UMD'<&48G-@BN+'92*^0("8@S >34L(@22XP39XV6 MM K[57AY8_F>*H'*>4/&31Z5>9BW,?,6]YCJ[XS24_-X0MW*G[3RB4Q6=]T3 M=LIV[!?->%)\ZK9MYP9!U ^0PSEU=F&R/-=9QNLLXW66\06PEK_&+..S1^+% M9G"-!>!6.>"399)3SRS)E1*"":4D=I0O@AJR/:TWU14 M)H'JB!'AD2%.DT7&6(E\TH$YBW$@-V<97]"LBG5BVAK6EAW6:K/U7(!N8K;V M6@CE(T?"8X(XIQ@Y+SB2P?L@L2$FQAKH:J"K@>Y^0%=GX'X*/)O8CT,R$7O' MD"8<(TY81-;BA'Q(2FF7$A?DY@S<"PIH+S_#P*O(A_U@2/)"4$M)2E8[3@*S M.@B7$<@S)9WCM4JY6,C4V-D87!2OVOB6M R!>X)"$!3QQ!A@DPM(U1B5DF2HA,25%R?$_]R:[2/QCNC5*T'+!KZO)O6 [R4#B>= M$ T<] "G"7)<):0895Q2$YES-V9PKJ-@:^&M]8#G%^>)'B"E(<(HAC G.6D8 MM* Q.AT-A_7*@]>6^L"=(QQ; MQ:F\&7IJJO^("+,U3?6EQ)%Y)Q$6V4:8@LT%@3627/&(#>&4N=D9AVL#82V> M-9E_(H&=D/E @W5&*Q2(9B.COA/8P1K"P2CBA"!F99VSZTEP:H&M!;;FZ_,7 MSBF^+FC0 E1MQ%TB()PD()U(IN\8*Z&8M!SX.E77L]75-OLZ/^XSG!$ZD:S2 MF%M@>L1I8Y-@Q$A%F/)&VIJA/PNF-*89NC9>>NP8PA$'Q#W7R.I@4&**,>P M:H-]=-J<(NDM.*4D9(DP[Q#7\8X6Q2&H);X+TFO"L/2^0;+Z* M?*Z;T<>VB[V"D2JI*[YGQIK1T,U*//+*@J'F/RQ+CLV@F%/%A F$)NY=<$G$ M$+S56M(D*:E=DA8-N#].:T%YPF"B%%)4&,13(L@J%5&2QD9"%,7:WY@8]D%) ML.8@.\N1;+#&SAH[%Q$[:Q5U3F@Z45&]3<%Y@I&U^1#))HP,\Q%1;AS5-L%K MO;(N]"J9FWMYC:8UFM9H^OQH6AL0[HZ<4P8$XQ0GVF$4! 4>:J1%SDN&I& ^ M6&]C##DP1ZP*\7)X:&6"^.^!A8?"WU!^7S_O6G/8!GGQZ_\#'YYWI&U[^V6G M:HZHD'/4W9R*[Z+KU3TNW>*RC!AO#82].TXIW/XYCIQ]WET[VLX=I3+W1U_TJ"[T#9/&K"V8P2?=: MS1U8\X=;])O#.06%=\ACKQ!GN=1T=AW/,Q((-^?'/^XO=0]H];]O1-V:EZ65WT^_A>8XS(XWW5O)>'?_3U M[R=E&!R\,69-"Y:WKK%QP?MP M88(=R0QM!G8EY^<==@:/D5MVT[0=2YXL?:W@4KFE9]1\X4H M4="FPW<,B&"[>?C/8>/LXQFTD3O8=G M>;']89#(:>.14LIK XH4-1Y4J%6-YW4,NRSYSQ8-]$'.Z*.R@%?JR+UP"->$ MINV?E M7J5ZD0(T7BAI!2EBCT%07[N?V\+A5R9D.R?=&K;N ENG4[#E3:(A\(ARD1)RK9"!\:P4&>5H5Y<.A*[1IW"]CB->UZ+;!UT(NQ!JX[ %?S[11P M<6\$I4ZA)*A&7,,KXPP'ON5"(%X9;2O@PGJ1(MA?+M\2-=]Z)<#UOCNLC6!W MPJUI(UC4-EJ')<*66,1%U$"XG$->$X N0VVP.:IO58E%BA-ZN81+UH3KM> 6 M_+;&K;O@UK1]BT<:7= 4!2H)XE9)I+&V*!+LK"%4>"\S;G%QO?IUS;?FG=C@ M(/:B38/8JUG7(J'70R!J(T]GC5/WP:EI@Q;,DV/:<\2598@30U%.D(0B#U19 M;XDV(L<++5+6A(>RJWDXV[QV;_?9?CZOU]M]]G@L#0=\.=[N3X.AV].V-2H] MMX1BP- (.JJ-##DN$PI!>XE#8E[F-/!L5>'K9.]<8IYN:W_9WO4WN]'/=BF6 MS^IS3(@Q[^9+8&K!5_V#X\ MIIM]NLM^=<=^/U^[6K1MQ^Y7J7\SY.7'9P_Q PMO8;XM=.&\NUUX8N?T__:+ M5$'5N.G7/_"T%E7MLK!:3&(?7@BC%;U12\_::H;_@ F/O:K M?L+%_8L;1NA.*WNMYUO:RENU<*?%R4'I#_)G9:_PMM<[S8/PW;:&L8@_0"Y& M'7E,%V$<-6SR^'YQ @LF._:#2)7]@QA6BY-R<# :@WZ_A"]RY@F8 M')M7W:!?AEA=.O+YAR5;]KN]U2*OQ=':@,75;$+4+9]WE8 MX;VW_8,BM;HG1;L;8FNT%*[%%\ JCIUA]O,'W:W=KP9K'&8 ;P:PX-UP% E0 M35NW?_T2:,7W,H\M3.5D$:Y=AH6,(7DG+CNC?MT+*.:$-Z_Q-F,HY'24$_&X MVR\K[_M1X:#O<1R&,2944Q>.MR(\N<0ZV'6&@YLON>8:_SA.\+-AGH@K"V_J MWX/>>1..894B!^OW"%46BS>V=6)/^RO_?7GL8>"O#-Q=^_R+:7FDH?HU<:[& MZNWVA^:[_P?[WZ>_MS]M[&QM-XO;K,.9X0]/VO FL-[/Q?NOK;Q?NMYD;S[=;&7\7G'?B@\:ZY\[GX[4MSX\OF%GS_KV+6REA8B5TL]O0_ M5_![I+QX+[4V(3G-#7<26Z*,Q\0+*F3$D6?6!31E3)5ZL3]L#:IM]?K..H,_ M#+H#Z#!L>O]UEWAF0XTE@CH>"(]8@HXGA38^.ZMZ M6Q=MWDY7=;UW/\8,\$.W&T[*5NM"\\/+J?G=/WYS9T-L[WSYT=C9/6L<;HCF M_C<7HB6$2T03CHACJI&))JMV02G&3-:& ,K-JE!D%9;S-7VNJ*(:;Z+)J\!) M8+YZL/BG&1MP(?@-T)7#Z"\Q)*"JO6Z[NN$TE:O(D)]98J^P_C_#,I/-ZLK/ MP&NM SJZ5OPU"&O%;RNC3U;^E4,Q[7CEGQ/P$*&M917_!HM[O]5UP(IS1[KM M4>1QJ#;:J59=TU#6BMDEP%=OHJ6K=^Y,15M'4CD2V0EIKZ)7[R*4QCEL-59, MBP1*O,@2BGW.?J=5X,S70OF\0OGN1V/_FV::,LY,56>5F<-4^^2<:<<88@(95'/ 2,C% ) ;C[H"5.P+9R7 G3 M](9E 3OB,>S"H'FV3M>*K6SG&.UZJ[?;I-YU/A_8XUA\:+M_CTP;!S9;Y?9S M:L.K5J0[[E9>D"04=TGJ;&'&6ED ).>891&V*S]*B8,%E?=>>7^,+8NPB[NR M4_7R$S" _0Y0\K 5LFDPE78JZ=BH[QN=\%HV.UBC> M_O@-P[;%/2%(*T<1C](@8X1$,+F6@-;"':$KZX!?LPEFQBT[R?5V.1''XBVH M!V2L>^5KA&R M'IGR8;A'%!K$=NA'"L@=EHS%1JD@N'91"MCIY^% Z83SA;+QD?K[[@;+O M\[(YZ?9"/W9J$'K2A46W-[XI;(CW."!+8'OD,29D6=((XZ2L(CJG-%I9/XN] M[NP]$K3&T2'2[(.+.^(0"]0H(ACU+'"E42D,HC# D*.!H<$MERD:(%M2< B8F9BT>5SL5"&HM,=C(^_9MG8?II* M:NH\%W:0P5?@M+8S M.-TL^[[5S1O-PB2$.QT+S>%'ELG7[IG_L7?X">Z1?_L.%OBGLG'6P'!-N_FU M 6W995>%!H3EM+'SZ;!Y]K[=_)"?\_Z@L7,$@K9UUCC[!.W;!8';Y-U._LO'+K#E?QI/1CC2 MKQ!A+1FBY/1^%7&U,$(2,IVM6_U >_')]?#8QBG M@Q*TOEYV2ZGNEZW_YS%B=0Y_U.F>=$8ZZ$EWV!HA[H']#MV+$;ZP1[$Z[^AF?:+R>1@=Y4_U&-BB M72N^'I2YD3"TG7V[G\_Y"YCZV.D#J[_V<'B_WSL_L1];?.,ESQ,[5J\+ .HR M/RE_EH_WQ\X%8V0_OR$,4O9YR86DNYT\@OWA\7&KC+W1(P8'92^@8]N#G^8% MGC>G5YT+?N; M5#X)L*KZV:$EF\EA=(9]&(V1)0G6\/?29Q-Z=M#HG8[7"G1ZV!N;J6$I].)H MPNS56Z\5&YT+)Z#1C(^XU>G8-M_/KAL>!FNTP,9V^['QNQ.S]0'6RKFM MIV MT;W*"Z*?ER9,Y/4^0X][<3PYHW;F$:+X=]#. &DF3A?5Q^3W)X@?^EVNK(=G:L"IXN5H_3IMZ0?P-U O=?*>8<2J(_ MW6Q #A./@E<6%@TQD;A;9BE]/#)S,\Q/86!>>[-$MU)IER^]*,%X#8^<-NZ< M7Q2O*76_'*(_S02JUC UBY0)=,EK+BV>]_Z<>W_QTN$L_M79W_CS:.VP> M7O6[;VZ&P\;FNQ][F_LGS79NVY9H'![1G'F^^:%YN/?AGX-&^U.[09NI\7:< M8;Y*QD-P9)5%E 2:8\--CEVB*&K,@]"<*1/S$2#'=0ZQ1Q>UOR]89D5$I]2K MLM_/-'+*9#.RS-1%IN? A><*15\O)FVKFK,:FNX"39^GH,D*JYW5%&F. 9H, MH)*.BB I(K/2:^E,%?XM35U"\]%E\/W(6%-9EX'/S5 >[E?P?MDR4ORV5&#T MMSW-,[9 .5:7 83**1#2^< L28N8L!9QGGUA@-VBZ(/BACIBLSJM X47T*B#XT=T* M-N&NWZO8SZU.?] ;5C1PHQ/^'0-T?7\CGQY6'EX+YW# &F\O8.)L[\,[UCS[ M>+9[N%>"F!_MM0$F/C1!5/]I-3^\.]G[\!'>;YU 9_RV9["\3\ M4WMWYXCOTMVSG+MB=^>/H[W-[/'S1ZZZ>+*]\0C=E(ZQ0PW7NG($D^4&E#P@X_TDHO"Q;DS;(G0E$Y1'0QW M_&G1*_M'TTD28'#M(.Z?YM/HXU[9\>6Q;0&O"[$/UXU?*&42*)*V=G%X[G\)1.?X3XHX-T-Z*2?7A0#OCJV'%$Y)4&EY5S MUKD#8.7S/O6(:[V+/\;'V=7A^64OL"H^MS]R0;@(,SL ,8=[#0=EJSRK'G'U MEO !*/'AXK2_/\I; $1CV*N (7=O>#SEV#H3JI3G4@@>N2"67AFM;#'EZ%IB>@!UL*<98?BD8N+ M/:W>C);V/DSXZ'/8F7*JBI&[1#][AEQ,]=CE8C!R31Q4KD+=E'*TL3NM^G)% M:*>2AHQ#-<>.D-6#)C[/<*/*@2>+4*@:! ^^*EGYX=D3:(0GHQB"?O7ER*/W M MPK2WYUT;F#4&7![T4[J!)I%+=QH7QU:1YDG>:A3O.PK&D>9CN)_I+G/))& MX/<[/]YL#P?9XS&K:^]'&__;\WU_D3R[GH'[-UCCXS=,G&>6>>0%QXA[9I!F M6"-O8+JPC-D*?'O/KNJ;'WKOQL*7;&D:NU0CB]<4E_-P_/MEIEUS[:?/4KWZEI;RGYVJ MO*3>S[;-_MS_\98K87'/A,XU\=NDAK]D;[Z>Y?0N*5 78#)'2=B,09H-M(LPO);WM'[ MQ?*:"=3DCOY-S^, 4=WG39ES[OE;;5@30QLLJ6+SDIUK?(HT?8CQYC;+[#&K M"LQM#2]6(U^HR\W;@YR<(A:?8J===ESYNAV9?>?T:C('(A7E(7'H&\=,:ZH= MIM1037CPDL[!6V0BXE7>AO.-8Z-* K@H3B/WM0B-G4;>G34.M\C>X=[1]N9' M L^"YS0/X/H#>#+;/7OW8V_GCX.]S5URU6FDL=,X;1S^TVZV/_+FYA?H5POZ M\;YLMM^W&V:%MU)QCJS-96&\Q\AZ M:9' F,#L)4V875GG9G9:M>=S7IY3-:<'"^S2!7/-ZMA2(=",=#(U BT5 IU= M0B L$I>6YYJ?55R7 BRBC*. A13>8()S\(02JY3JEP= KYT]2*&(2EP8"YM0 MTM($H[& I:!!E(G%MPO$S(FK@NT?U&+[B&)++A,'0HG6G"%-,W%P02'K4D @ MQ(0KZR06/'MZ:DKH[R]/;FOB\ *(0PT^2P,^[!+XR)RXW6"#? @B9^MWR'C' M$5..PIJ*GGBSB.#S0D,NWPUSWLA7$%-Y([;$8>\*MH "DJ3)#AG.\:"EHP H MW%+@M#:QD&JE9+$ 9A)+DTQB1@F*B&( +LP:9!CEB"JOA)#*&*=7UIF8AT5D MCN&4\[81OPJYOH>R&4%9#?]*D%LQEQ.(6FX7;;^MY7:YY)9=R*VTP061 M%$H.V#$/RB"K$T.>>R-,/D7,2K@DJXQ?+X1>9V2;L\C]?]U>A&=][79>MX/" M4>_D"L( [XM,.D<-)CPRH9E@@"Z8,:44UJQF] N$,,U)7K6SYN;&CV\Z4IH_"ZY+?ZPRAEM_EDM^S2_)+@@=Q M31*EJ 3BN:Z544X@IT$EYRP*;/'*.M&K7"]2R]S(B1;214LDD%P06 M0HXF-4P[C W7L6;WBR6[Y)+L8IZHB$H#PX\>-'/ND;&>*X2D2YOO7(5 M>-0"B>X+/2-OQ!_P]$[Q=^R_\K/R]H_.U8233JN$)7&$$&XH-BY$GH3@(DA@ MC+AF^(L%,Y.SL-MZ_ ,&=D2FV M%MRE$MS)87E4)"1B%+(Z9PM/F"/- @81)C3A8*W,@BM7!3&UV"ZWV,[8;Z%G MU:%;T)0;"[ =<["7IUXSSKBL:?UBB>WDK-Q2;>"2269\=73)!5"M8L@0D4 MC# =#>RWHG9.>P&".V._K05WJ01W^\M/RP^.K 7D.^WS2QIPVE NGC&':8@F: MG;,D.EY3^D6"F.D"0$'9P"-V2-M\4LX=01ET4#".*!6I%-@#I:^/R5^"X%[G M!K7@+I?@3G1QZXW4R0<4-7<(1#@@K71$)BJ))5$I2IR+MS!#:K%=;K&]OM]: M)2U34EE/,0\9PT-RF B6@!X:4E/Z!1/;B2ZNHPX6N#8B7 "E)\0CQR)'ADM% MA2 >>UWOMR]$<*_OM[7@+I?@3G1Q(K".U.2J24F#+AY@O\URG#@/FAHI_:B2 MN,:+E'#FA9Z+_WO8V;=PFT[QOMLK?Y(D]568_ Z&Z2JM#YSEP&.9M;I(@Y.: M>YJT#4D8@^MXU(6"F>DX\F"P D#!*#))$==2(@NSA[3#QB01A<1D7)"WMM8O MO^C.T,AKT5TJT9UHY-CA9#@)"$LM$*<)N +F&A1T8X3U7C(+#(&O$EZ?CB^Y MV%[?<;.@,D*M#9%Q082E5$M!F7,1/M>WS I5B^U3B>U$(W=12SFB;=UQ6^Z.]!-&]ON/6HKMGX_/6>+^R'5U^P?%W[GIK_N ?-\=7_7!D3P1 MZID.*7!8MCH1SUG0H.!%[TRL6?T"8M%(^,04T/K/ZI"*RA#F@]C%I MK:B*E*ZLLU6MZ^/Q)1?;Z[NMP)0I3K1-'@182(T9"TK9H&*DA-:G; LFMA-E M/"D;-8X)=EL2@-%[C!SU%B7AG6=*^V1\5L:E$K78+K?87M]M:[%=+K&=4L25 M];F0.)+61<2IT$A+S!!0)LIH )H<0R;)5-=!XX\N<3NV/!EYJF_FNN2]UWTX M/CBYYH/#E.(.*T5BY$(D;21C7AD=.18X^IK4+Q+,3 >.1^TI99Z@&'7*,..! MSR>)C G.,$%A"O,)&UTEHK;3+[G3V;"J.+6=\8 DIFH#5*XZ1 M43AE.SV&"?12,I%9O2 /5L9KL5VT[3;:*(GDP@83.2?.:(*)\9$F(YVWKF;U MBR6V$V7<$T&IXA(!N6>(YW*+1E*-(N-:&02H%$$U22=N31(NL4ZX\N<6]MQX;LJ?X M9?S%V/R\O98L4E,=\\E,P)HK8PQ+U/A$'8O6I'%RBIK4+P;*-'8V,L*,%/*- M;P'V R:(!"6<1,1A_I#5*B"GC2(.&T&]S#C#'TX/:F/]HMG"737!/+P17 M.<^E,P$QRH'8&Z^0SJ%M,3%L%./:>)X%%T2T%MSE%MSK.ZX [8T&0>$O:'0L M@;#BY)AVU!"%0WW*MFB"VYSLN,DR[7.U0JRE0=PIA8P(&'D93*!8<$I#%1VF MZQUWR05WQO%X+;A+)KB3'5?2A T5%*@REXA3(Y CV"!-@$%%@1V1U8Z+R2+M MN"_T@/PSM,T>=WOU 7G&E?[^5: QW$J.!5"'*+G!S(@4E%& -T /,:UK)RT6 MT+R;ULE%TE%[[9#-)@D8680%RYS]G5>4(F@&).0(X9EL#NDZZL MX+(^)%]RP;V^X]:"NVR".]EQM36>6NP0H<$B[B@(+C$>!2,PY8[AQ&FUXSY< M)W^Z8_)0]H];]C0W-OY%O*+^OG\]Z<]@&&?3K_P,? MGM^A;7O[90<-NL=OKJ#8X; _*-/I&+'6_\?U_GO]8J%4M[UTURL,WEL;?-BL&#_^A"96_C!>?_4$,PU;<3A/DV.KT!SUX7F?0 MW^I\'MA!S*^WT_NR8SL> //O;K_,"_N]+7O_V-8P[D"3_FAU_=%RXDHK_OO3 MZ=[7<.PHE\W-YM'NCF?P%W!A"S<_?&KO[ASQ7;I[MO?U"][=^>-H;Q/>'_X! M&-'@C?UO'I.0$I&(!:P0ESHAD&J) "Y@C_ T)0V('@%\CV'H86SS,KK'\GCT M#8WF#6VK,]IM\F;6B_NVEU&H&!S$(L%\%]_SA!?=5'W2'0[Z ]NI?@%7G<"/ MJR6:D:]?G-A^ ?]+W5:K>](O?BL[<%%W"(T+_7^]N;S,9P^'J/A#)687>-GM MA=C+6-FRQ_WXYOS%[^=B6G:J/E47_3Z^UP@5\^VNF1/S8(^^_OVD#(.#O*VO MX='6/D;.\9/'7Z]57UU!\?%W9,T0.WF[WYZ6[&FA;G7;7_^G6 W/_3> MC65K@BQ-8^F:Y'1)&JO7-+]O>^I5\/-5P&XI7[\@5'<\RW@&=64V%[WH"A$3 MU6P$M&/HS RTWVV5H3AOV4_ZZH$OQ-Z3]E;-[&VE!!43:M._L>/7Y_!&[?6% MC=%?I75EJQR* /FY0Q9UF**2HV9 M!SC4:ZE>2]?6TNL!T&68I,\',0XJ2\M?75_IN;7@7RY>.&R=%GRUR$:C1Y?^ MI1RWV5*R&7ULN]@K&*D&#\]W72W6$-2R5KA>[R]G+@"B ME\%9M[K/FW( #_"WPHT+FT;1[&9;4!\:9@PG\\NIHZ\WMP&E>_M M^7"+>\P-\NM&WKF13Q16_@S[YSO?[73;I2\.8,G'ZX=U]UKU2]/[OWOQV)9A MI,;&'\>QTX_]T3O;"45W< #,P@][/4 P(5^G,^ 7%V\=QG(F4Y/3SZ'$%$IB3PFAI,->)NNA8=J6&ORYJ3&_VF_ZIJU;_A7AG M[96-]CNRO0GWWGE?[N[ YSO_E(T/[^'O!ML[/#IM;/Y9-NE'?-4[J]G>.H4V M<>@':7S]\Z )US2_;N5V'S0V0WM[9^NDT=YB>YN?+E>WCCIHXWQ$UEJ.>- 2 M61D3BDX0%E5@4N9,?]>SB9XOX^$3;*G19]K#1B%E&(&<1D5TMPRY(1G M//OR)<-7UNG#O<(7#U%>%M/<\+XW!.7RG&36-+*FD;-I9/8-Q0[D7F).2=#" M.,M9 ?$<@%A= K'F(&(>(N.# )6602&-"D(\T>"I\ M$,:NK(L9*3-J,OD*@*PFD]?+7F5CFX]8L,"X44PG08(0SG#AB7/I[F2R!K)[ M ]F/J>A^Z[FP1@8DDM*(4XV1L: 6IV2IYS8PPDG.R+M E/)V837/%2RSG1)H M.0/HY$C=V[.?CGBJ,!=9SOU_DU?\]^\&F;J^PK1:@U3DBC6W" M1386MR;H5)PXM$4G#@IG^V4_O\W/>-OM5 <0U='3V+6N MJ-PE^D48QF+0K7Y6"4D.K^E6BZTX*0<'1;3P%)]#.&/OV/:@B4L22V/,FL+J M7J$T9HWJQXAVT%0^2K2#?(PPDD=I+%T3['ZW_55H!IM_8]6:E'I9&OM8R^!1 M&@O+@-\NEF:VM\ D"F*Q_(>>)Q)D&<;@P9$>3^J-]K*\VFIOP"7RM*W7>;W. MEV"=/U'&S6?H]X>10E9EK>EG;:@7?7>_ W<(#W'/^85OV;W]R1;04/G0$Y>[ M=7G)SV(X=T0009,,D8=(C7;:,6#=@NN8O+[[6,[> MT=Y7^,WAKMC;^_<,VD&:A]#>PY :)3Z].)JQ)%#-)4/168TX,Q1I M8RP*40KNA$I4+*F;SYV$[9F3N,W%Z79QL/XN];K#]@U^$#[W-WD>#V+.M;0=C4V6/V>E^BH-AK_,6+A^YW]4 =Q> M.YVRG[IDJ?.8H^0YP!MS!FD6*9)>)NTH[$DYA?W_^5^:$OK[\I'"Q7-O7W+T M>$;N4Z/'@J#'Q*2H I92$H&8UBX'60MDB'7(8L,9]MHIQV]&CYCT( MN#3\Z4+]FZ#@I]SB#("^9L9STW&,%8,9"]UACM@Z'X(E.RZ8[]GJ M/(;EU3+*5Y&ZYVF O?EVVJS&G4N*<.03YKD6"/H*CX_)CX4LF\M,9&FHV7[/YU\3F7U[NI"?;52:6WIP?B&H&;-Y'CSAE M'EF1/$HX1>N,C=2^#-?)Y=_'7AL$UYQ^X3E]#<'WAN!IR_ MGL.7M$$A"$:=S1;S1_#&?$9$7.SD=Y_]00S#UB6OXZFR.1]LV?FKV^]O=3X/ M["#FS[;3^[)C.QZD^>_8JXZD.OX5Y\O[>-+<_Y:,Q3["@B8LN]%@KY#U.;^L M,E0E3H(3]KGSY6UU1N>'&3E[<=_V0I4W[R 6("C15SK65&Z\ED M=^E\%4#KQTNC7YS8?B[ -$K+UU^6?':PNZSAT0YSUX1V5*PQ>;\$8#]-XR76 M%'F<[IGE;VM[/GO4_AYU84/U:2W_7DS][\I>NV/+2 M-?@U_[*>K"7Z93U92_3+>K*6Z)?U9"W1+^O)6J)?SIPL2N;N-3;H'L^;L%?W M>5,.X '^%A1^JBA"T>SF8A%]:%AUA&'[Q;]CV,_'(%-G7F\>XE,V=9PXX[!Q MGFY[#[G'/5KY@K/.V++3+WYK=?O]V/_7=+;%LE/X8:\7L__A<>Q51M"YE'Y= MW,%XW^W!V_-^^]-B'T9G-#C_>HZBM[\\OU\\7YXY5<6]6\\7T6/RMSOXZYCD M,+&2B\@89YQ;;[E-SF#-6<)$C%T9.!;H)M_)#.OPZF8/GG-GANW.Y+/FBPE^ M_7BRO=,JFX?_'#;;7]@NO-\]?'^PM_GNI+GI:>/LTU'S< /NNRNN%:/-X?9>/K^Z/&S@9NGNV>-3]\I(W-YM'>82O!9X,< #OVYC$D M"2R\1XQDOPD2PX239Y(DU*^N*RVON/-?09*[RL. 5<)<0U>94(G>9 M4.W!3HC,)>(T\8DGRF/0+ECLC*(@&"J X%2@AC%C&%4O)-6W]4:LL6P^6-:< M%-;%DF@C5"X*G@3B.@9D@J*(<6R8BL&'',@O\9QB^&L\JUG:(G3Y#G@F J/2 M9Z:6.(\F:18$8%QR7%"%HYGI;WIS"I/.L!VZ@_'W-=0].M2=T[:=!FYN?+." MZ:AC1%0[E_.61&0Y\R@!SDE.N5=1KJS35<*O^V(O?#Q,C;&+@+$U9[R')JP9 M#XZRQ(66W,EHE3+2 ]1F(DEL&)/&,.GD2Y3 M 0%CZ>%T364/_N-NO\PW>-.+K6I%3ASW,X.9NG#<9SRYQ+I^MS49&\^W6QE_%YQWXH/&NN?.Y^.U+<^/+YA9\_Z]BUG*:W459T8];3.#< MKGFZ@2L(>5,\'_0A T4GBD:FQ]YL_V.P_U_- YWH2TS(N+HGZV]]ONCY@YL MF%_?P7.:![MG1[!I[M/=G7W1V'EWVCSQ1#X-;I(#Q/(^8#NT,,&YFE8(OA=X!R3A/.@G7$. T42&F;+//Z:@3= M> :*3Z,CNPSWU_>@Z05Z93\:31>^D%(Y3 ML?+8,9M3"^_=#X"ECFV=+[K^'Z_9X\/2K\!V-_?R1OT*UZ+9T"^B&3& M!4]1DIZ JFL\,MHX%+A0 BLO%:.SHC.?%,QF\X.=@SB.IJR"-4=AD<,VM AN MTB]"V;?[^SF:,_LS],;R4$Y%>KK38O]B1106ED3A;!]^/#P^C^H5 M.@0@.ZTB0;OMTI?PM'O$\XG'>T4#5B^P M9XWY6V*WSXU*4[5S<6Z]Y\'6LJ1JFZ_CP,)G8GNPTX *AC'KDZ?$<$*)]9I9 MC#GW/ K+W"T\.V]]C/4+D]R['[XUS .;\S/#_\*._;$X!UOWLXV,#[:^\,;. MUMGNSC^MO0\?3YL[GPYSABKX>[3]]-+_^ M<[2WN46:'YI'VSO[\/>CV-N!*S:/\-X'N#?=RY5U)QGRA50<_L/(X4 03T0C M[2U&W#K/8,H9%6%EG6"]RLG2NQ \?\;,UX6R\W4=6'B4?;"KJ6>41:FUM()R MR8FA1H7(+:-O.YD7T/>$D%>32SOZ(WJE8[.!>&8XTDE9QFQT02"A8U4R'EZH]:0 M]^B01\>0]Z-Q]N7'-QQ#8%HPY 51B#M*D9,4(Z.X%<000J1;6:=$KE+!:W)9 M(VU-+A^/7(+0!66,5$1*;H!Q8*T,@T^8=%%:>PN7U!II%P=I^26D#4["/DJ! M46J5$.U'AJ5BFYCK0+BGLOM[CINV&O>QP?U8[_L[K, M,\9I0>HR/YA/2H^I(5[0R"3/44U82RG@O=9*$6%J0^42H=SIE*$2YZP"VEA$ MC"; )15#6M&(7 C4R)ABP+GNCP$5>GG+>2Y0\9XE!Y*'V^(<)A%3%8WVP)64 MB3&Z((F.P@7B5&V+6RH@F=CB-/$XV620 F*$N%$$.685HD)PK[2"'2.NK#.Q M:O1U(*G%>LGY@9 V8&(UU3[QZ)FUSOG '+%$2,-\;6]:*K&^;&_R4J4DDD56 M*XFXE1*T($]0,K!N0+I)4!2T(*)6,5G>^H UFBP,20C8$$VD<21$[AFS.CGA MB!3$46>5K&TJ2X4FEVTJWBML%56@9Z2 N' .V> 8(BHJ%XF!S8.OK&N^"AO' M A&%E^O?]J$7[2#VBK<'9<<^AI/;K>!LQG M")P]F!Q9+ D.E#G'+5>).$>M MM\%+FSP%HEP;3Y8'SIIOIXPG/G =N65(8:80E](CBYE'FAKKD[8I"EH93Q2^ M[G^P\+QH-H ]YU';D@/)@WF1=CQB0Q--''."C;'41:-)R1830CH-T%*X @B*.1L((@9&S4'""<* MU!VC5@U?7E^=&DP6AB,H0KT.1%L< @^4NP3XY/(1G\22!UW;3I8*3"[;3K ' MI1'F%X'6$1!W 2.MN4(I4&NX3C;/YKK0JPR3!>()+]?C9'MP$'O%1K^\G^'D M9=N!'TR,& LF&1E-4()38G24/A\=^RACDJGV.EDF+/L\93CA1#(-4XIT%1[G M?$3::8RDDLP8@Q719F6=DU5<>YW40#('KQ/I, N))U"J.'/6Y0,(XT..!Z., MF=IPLE1 ,C&<<".#HY0A1AQ&'!0J9$#;0LXGJ:Q4,+]J99W153JCS$HMUDO. M#V+ 6:$6F,;(@Z064VY8= 2D&B<\.U]@+=:+*M:7#2=2!\4]T /+ D,\ZH", MX*G*QH^#D3(($&TE5XVB-4=X]6#R8(Y 0-OU0G+/LET.]A,B'<5,9J(0=4RU MX62IP.2RX<3AZ)*+%-@!UXBGY) 6"2,=L-)":L\(*!R2 T]X\ '+ CF=W"L= MU7SB'6].L+]D 9%/50QI62(F'\S:0E!14-#W)>,\8>68M0D'1A23(:I46W66 M"&BGDQX9C[WP5B,M@T6<<-##8)M$5+C(50X@D[EJDC2K1"Q]TJ,Y"/)R!*Z_ M&"!_JHI+RP+D#W?3-M18(JCC@?"(I19:"FU\/'(J282=E3("> '^[G7#T _Z&YWP.?:^ES[V7W%YN-/&R3=BO6$P"T@1%;(J M*)$&=I(+Q2D=$W71L%GEX9:M#MSYQX/3XWN5=1,WU$1=GCIO;(UC.O=27&R- ML/N5#7M1U%_VQ'EA7?ZN+=,P[J;(*UEOGL1.1QY"/TT6P*7GL@U%2U(Y0 M\[ -9JO?G^TF?=]J?&W@W9V/IWN;!V7SZQ>Z=[A7[NW\<=3\^@^TX5-YU3;8 M.-NEN^U=MOOURX_=LT\'S5 V8F74I(\$$H=LHEZQ'-Y36V- M1LGI'/U'*>=R99T(O:KQG+V4:LQ;!*KU8C'OPSY+[LX/D'$T[-2"XXC"/UBFL>7 I*,> @D4@O#:Y- MF4L$@]/UX61PH&1[DM/J2,0U5<@(*A##+%@L9'(B 03R55::2<=AMX2HUBRG-K:6K=40#*QUL6HESRC^"5ZG!"Y2!HQ;KN? #(8UWVC!'A.?9@$&4%R2?C'&I.:&U06JI MQ/JR00HH'Y$Q692(!-%F+B*M+ :MR='$7=+,RI5U058%J[-YUF#R<(Z@=55# ME@7& $RLE=A@DZQ*UCLI;&US62HPN6QSP=8P$ZU%(N5D?S)Q9+%D2!%L&8V: M4V]7UBE?E6J1>$*=J>OYK4)U)H(Z4U<-M#< [:7"=81(:H,2R"3O$*C5&%FK M,;Q20.1$-)3&.E/7LITQOA@@K[,0U)FZ:B"_&<@G5C5)DPK4,R238HB;0)!+ M%"-/X%\NA#76U)FZ:EBM^7&=J:N&U5_ ZF6K9K(TA.0UP@'T&RZD198X@Y*) M/$KMC!"^SM15@WG-D1<"S.M,73683X/Y9:NR<D:E['\)"+-/IRLU)O&YSW5-D?QJ-"(A9MU8B]_*N5 M];?=_J!?#+K%^V$KE:U688MS:;M-2B=Y&>&?OF]3/4@7/?#C'A2VEY-89:"( M 5X4*W_WXK&%%11_',<.X$85OMZM"I3Z8:\7.W -@,F@OU)TC6G15 M8JP_;,MV?"P^'\0XJ*ZU;5C5^2MHP'_= 4DY=T0009,,$?"3&NVT8X(QD=VC MO?ZV]6 V_-8>EP.8E[,8SJ>^4;Q>/2B_Q];I MVH.A=%FWEPWO,S[VBT\P3.7WO,NN7FPPQ48%M:O5.%Y\^%=I7=DJ!^54/I&? M#!M[_AWHHI.]BT["RV-8 =5^TAY]"9UJP3Z1^SK>:EJG11C&(@'#O7#![QWE_<6.\A;4=DK.K#K1.A@>YRF,8M[];COMC6,:\5.M6&UH>>G M1=N6G0'\/^]QAS&4@Z+5S=1Z;3(UHZTQ M(UN_A%N 3 P[XVZ=YX8\;WV9-]>3@]B9)).L'M/=[V2$RINQ#=^K%L%M\DUR M7LKJX<#6;/[Z=I$*%YO]=$-;DS4TW=H04X21G[1V-!GC6P88[GX>EJD^C+IP M/H5Y4L;]A>T^M[4+;WR>BRN3>+E[YX\;]S^W^U:0\-.U_?1I8\_7^426-\Z7 MU?MN[VVU:/Z"-;.3OWK%.6%_-$^^D608CY$AC%D BF$4L@PK%#&57!HLHW:S M1[^7@]/JJ_SC_GDRP>(8&M0%/IY3"L[88>^1 M958O1)998]8X$?=),JO,&N/WRR#ZTSR@>HV+VR4M?;GIR\[UMQ&A.Z=NQ3EK MNZOUXL5:/%^2S?+^JM>5W6]JK]OL#MT@#5O7=\2788)LOSO9W7E'=P^]V-O< M@^?";S_\<]"D[\3V)GQW^&=K]W"OA/=G5TV0NSM_'#1VX+NSUE&SG=NVC_>^ MOF.[.T>\L?-'V6C_4S;;6_"^F1IO\8])0C#B&$L:=DQ#0$LSWB'MG4>*>A,= MB=3"#*UK1N9D>ER@..'JV6I-B85$CZT.[.8V[^- >G^QU=\8-_Q*W?#G?/I] M%GO=8/L'5['I[U[W>]F'MLS IAJ1[H)(GZ<0*1ALM#0!<$AKX/!6(./Q_\_> MNS:UD61;PW]%P7/F.3T1))/WB^<$$;3!?NBW)=H&MP]\(?(*PD)B=#&&7__N MK)*0 &$+$"!!S733(*E*E9D[5ZZ]<^=> B6'4\!>P*BYO*>L*:'_?D5Y]DN! M2E^[S7Y$G91ZJT58I'"S?0<>K/E &)J5U"T*#/WVO#CT$#94#-(.C%$%0O8$"+% @1EY@R2Q$D!(":2%SWF,PG@EO)>YN "]G8'^SXH0/='$ Y.'/]NU M^,,?V_91K'5M/];*WRL&]+P,R!^U?\PU^!5'W M@:B+"8@"! H*!XP23@1QXB6R+H<^HTZ46A,)MJ^8)RT@0EV/<_U,V.&MI016 M^=USSN]^>")+%5Y[8I!N3(;7&!9$:HSS(7&!>$H TI%%)*G$@<(_+((SJS&K MTK2?,IE9'[P!V+=;V]N!1V_L[ORYO;FQM[59^[#=V&B\W][XL[:[!R_4 MMQI[N[7?OC0VOFQNP_O_K$VSC#LWQF<;P">]YL:$+I>$>"VP M\2YZ)Z5PG(J5I\[5V!RFN@RSZ'^_V.AVL\^3/9W-9L^W.KU!]RTG:5S4-PYI M](09;9&P,B*.!466BH24M"(EK3P-=/8DC47+R)@QVZE*SJB2,Q;0::V2,ZKD MC+GDQ=]8"5^'!WGBZ<'F]H^#CW^?[GS]\J-Q^8GM;&[P.MWZT3CY< K7T>+O MD_K%30^R<7GPK7[RX=O!UWUQL+?%&IN>US>/+K-'6O^Z#VOE?O[[HG[YQXT$ MC428.184DM@[D@(-$9N5=4I6J>)5CL;S3KG2R&UK,MMXF*G< M+,\QC8XWE6OZM3W384IRM7/QH=5]T&HR><-SP8TR'B6E M%8+A$DA; K_!\A(C]@3+M+(NS2I3CS[,NGA[$HN-5I_'H#,)6%<."T#6&:!4 M=PA653;'XB#3U7]&)WE(!5'W@:C)U(X0!=/,QWPDT0&AT@&9R"@*/E&=="11 M\)5UPE>)N%T\I4KOJ-([7@D6]:"9\-NUE(X;L#,1I=5CIJ"P<<0PK4!R6-6AW^OG45RAWC&-Y M_.OHJ!N/,B/%@9EN9'\]:W8RWN> M^7/M6+N(MGNCOL+TM)L"B:+4V%I/DB>]J3YQ#D TB%J/6:7_.*4BYLE"OW_L8V[%K6XN2/-!HCB =X/2RSO;W M_CC)Q?/V+S_A@[V_FPVZ#W#[[?+@9)\W\F=.CELWDP=V-ALG][^PU3N$Z:$.CN?/Q[U2__(;K&XX_LC2"(PUPUQHPI,-CB8#"X]SD4BB MM;@S(^+%2\/]K"Y1T;&UOX!QSU1DZ,7;4B9\#!&ZR*17_^[!%V?S<(5YV'/; M#04(]G/MJ4&KG\.H?M)HAD7O)BOB%'>H=<[*4CHY002N[8,I980MW\P\LE?[ M;>7S[I?>RC_7:AO3BV'=7$-"[4Y"VCNV\"VW."D<H)'$[%-Y#2W?S%Q6R:G$P3F5&_7XP_\I>]R"]MY'Z%^>5B=R<5[_8V MOMMF*S.%#YWN1[BVOS#EU9X="D^VZ"$UU/*(*=)6 _PE:I"+D2+¦*FL- MS#@B5J6AT^NKE091LZ-^+5*1CG+/UHHY6Q2K*JWQ+$_9M=KN=;OMQO+C8+3G MS?YQ)@SQ1^SZ7,&II"+Q/P,@#\,#[#"SO\5^631KQ%YNSBV8.:>=]O!;RP)< MPT<*!?6!J7)4KH/@J'^/>3H!P:Q=0P28ZQXU?Z#C9@BQ_>[-F$5C,YL%82'" MHH&$PPQQZ3QR 6S#.R\33''-+"P>">C>$(%S0:V?,1I8A# 6D4IC@:D):0,\ M5L"1$:*,9VXJHYG ACP:[X UGH,OT8OMN8%#\>/O7):M??17L6%%WA@,-#:W M+PXY4 EJ.$-6I(" 0F-DG;4(T^"D5=)PXF&\F]]+@MZ[R5UJY3HV..NT1Q2D M,X!I'[O?"U^B751M;<)4_YF1>.NC2EYIE0(L*<1H2:/D.'E ('#2QC*WA8Y)()Q@&^.%'44<2*^Z%\OV$RP5KM+YOC0$U8%'<$':,)Z#6P:+"Z;XMI,)RY>W$GXM<-30E7OEIOXA$&$77\< MPZ 5A^3YU@2:@-#>QC 5?:$*2+Y >.&\?G28N"4:"B6$ 5Z5!VAB+A/&4 M.Z. 5*49SR:\N&'.=%QAJG,[I/@//Z0PTZD$403PGOT,@A;L(6<0F%J#^3C_ M,PA\C2KVH-O^_#W!Z/P?EJY1NC0/R]<(E0;?[)[GQY M1&@!]E?+V$^QO_-;LUV"S/CTTYUY0:^V/[X6?\2 BB[9@ >R1['X?6L8>BG^ M^"N'7ZK>&??.YY@KL\/S%W^-2I8/;*OX>R]V3TO;NC*R@@R_00/;&.TS%AVS M#?W4;/>:OOCK[QRZFVDNSBEE\5<),$ CGC5;:&?0[_6AM9E.S7A@[CZIBH_+ M$%J4/,;[[4 \PUFT!\<0A@[2Q*B76Q(+DU?S0"]IF%=ST&I<_M[<_[I-B[HH M<$WC](]FX^LG <_#ZGN?3^J;1^<'F[^?W,JK.?W"ZA__.-X_.8W4=_S/QH?Z^?0[F_UCS>*>T83"+2"V1AK!$6AFFK7132 MKZSK5:-N;U@\['C(PJA$WD"XF54BYX(-"Y)M.7OVX+U;O51(..B%OV*W )VY MP"%]0L@;<:HAFQK1S()A+OL6[',#X>45$)*08TDA(:E"+@SE(S)!NEP3P^@H M-;%!K*QSOJ9NEX9ZW4!XGWO,U*;'?,'+/.0\CR,2LW@T^F.9-? F3AC>CPW/ MO6+T8Q>"8JAZV\.]UXKXW@?O)T\=$NX"Q=HAS;U"W)N$M'46.>VU<#".3!;G M?C; MPD]$*35$T8@E2^#PFC7RFF?^LM]CGB>P%Y&0C2;[PRC9ZSEH_52<;/909=Y^ MW^[U!C%L#KI7J4OE+MADTL;5B%64[#[0/'D$&QN@6X1KI#QGB#N#@9SAB!BS MSGME0K!A99VL$JD6XQ3VO'W7US2G7P,?&\WIBI(]P;P?4S(;N$\Y1UHQE87I M(T%68(&8LA(+;P/1<66=Z37Q:-'#!9[\RWZ/UQXC^]#IIMC,9VLZW6$*_ML( MF#T_.YMOQ&PX<(-\9*T=QJ<7JB#:0Y#[>E4&%92.%B/!B$8\&HFT#Q*Y%'"D MA(/DW*6J)5U@=?,[[Q9A($?U92[#7G!MZS7-8=U0F>O&)6E1OX MHL ^F1MHI6?1<<&E M*U'P6B54[@< #IFQDR0)"QER,@( *HB1EH"1V94>1-XTH&3 ME76NU_#M#8UE = %PL@YT=8% Y;YG4B?4N0A'ZJ:"BONU[#B[@TK5V>^)HY[ MY9->M *668"%3+C<&@>A(U(N%ZMV&"-CJ$28.B$P2XKIK.JQ9LB=I?$J;O+& MN+60]586]6LJX"9"^%HA,C7@7([H^> MDV<(!.7)44-05#PBG@A!-FF#C Z.&:VMY69EG:U*<5M;;>&Q\][3^(5W8IX8 MCY:.H]Z_V4L%OPL?79O V2JZ-C_T'4?7:*"Y\BU'5"2/."4*.8 MFNR-R2EFA];E :1^:,3L$XK)%* M7".N94*&J(0$CQ2; ':1 )3$VEAM]U&1N8H359SHA:)Z12WP.9*DJSIG56SO M,5 TCNUQ%AV%(4&NB6CGH_0;\L%? O?+SR#H2OD@2?!/?'84RO+9<&0Q2R18PKAQ.7-1+T3F8L7B*A:W_'F3OT:[*O8Z%YB; MB+V*Z*GT"E&9')"Z7$W:9]DRFT4BI=$RBI5UJLDJEK?K25>T[G[!V7\5\F/K M/Q4WR\@[_$*48?<=6P ]N*'$#?EG;;M=RP]7H,U0GGD4F"TG\75A\3)4VZO9 MVEFG6UPTU&\>M*]?-H[EYL.-IQ$^WVP7FNCYTVF0JR6LC001IT2 N[$&7>\' M+9M?=AW;6NBA.4[=K6J'6S+O2P"3>?9NVZ#-W-%?[Y)1@G MT7*RFE^&OQ)E>[W!:?G:6Y=C_%'_=*A),$XSCB@L=8@'GPLF)XF8",$1K975 M;,GD&&VS6TJ@%YL=O6N*ZB,U=9@NT?HKD<6S;NS%4F8]@L6/I\&@5^@Z7E-Y M/!])8-G2E:C9L4DMK"PCK IKN*1"]]9EU&N4JJ<0Y!/D87*/OU(/O/M+JX== MQ(>=441R1EW&17#+[D/*KIIBEDK&;J]0H"ZT:GMEP[:R5.T\]/R6JR-V1Y*] MO=KM'GCM-KMA3;3VZ<[7?;:S!_?_ MFJ_]_*UQV3H^V/OC>&?3BX/-+^?[>Q^:.6YY,[99/]D7X.F+!K1E_S(<-SY^ M8CM?/[3JIUL<[O&ML??[N8]$H0*Q!7AR'D;D!.:ERRN^21%P9YO!O_C*7;,7C,0WK,P[G0@--18(JCC@?"(I19: M"FU\6:J[@J6%AZ51B@VTO_[C4+-(K=$".<<4 MXM10Y/(Q1&.2L%P&[0S-T+3T>\]+ X851UL8CH:9#48)JU7R/+FHI?;&\A") MCIY@.N1H0S"L.-KR@2&[!H8!)VFPP4B8S-.(4,C2:/,9&XZM)@*F0L73?@Y- MK[;\V3#A)32_-T-LA]I%,[9>FZ[3 D3X;F?CS!,T1\.X.1S%"C3O#9J31Q&E MY()IJ7)!R"S(!Q12.VH0L8YI"]XM3GAE':^Q):S[/Q\)F45GB)6"U1,'ZBH\ M6W@\&P?JC%+ ZS5%A.6L10._.0[()@56B@ME3*Z$@=?X;7?XU:#+/(-QKQM= M%B#>5J'+PJ/+]7A;]#900R)*A$O$N65(P\*"M%!)8I\8)C$CS#*>X5U<3*L8 MTQ*%S2I,6WA,NQXVLU1Q[#U%S#F&.-8)P4!'1+ D.I H=:(5:WJU"7%7H;'O MG1;,S%:S?_&8K+@%!,4%"(O-KXK+ST#Q[ZL1K&#QOK!X3>\\!1AE[RB*6@1P M)*5##B>+< J&IB IE"HZZD+>OX,]):_0.\M M$MQ2JU-2SJ25=;4VG_J<]U<56ZA)]%/^,'T2/22^4DVBI9A$X[B*DCHF"[S M^WS\1GF.+"<66<^YIMCZP&6NC6D9>*J6(-5W-KKFN70_R=*O9M12S:URZV!F>>/ & M&4)A[=)6(&-C0#%)("G !9V=8>V:4I?WUL?A[VQ?S799:O5:_QS7J?S']0JCPRJ7>'R)=;U.:]"_^Y);]9?F,^/,3#5( MB;E1$W?BYW%WS'J/(G+=:+\AF^ )W]G6N;WHK?SK>M'09AO=Z+C[MGG]?USW M7^O7'^GIN^K72W_15^]W/C:V_K?V?N?S7SN?-_:V=QJU60JH3JVQ]:P/W@#T MV*WM[<"C-W9W_MS>W-C;VJQ]V&YL--YO;_Q9V]V#%^I;C;W=VF]?&AM?-K?A M_7_6IEG&3$V\7DSW%V.Z +>Y@00E8DLC,-8,-?OP)7X& M7+BC'ME/>GU!"BIWKSUX[=SV:L6B71NEZ6:UQ:G@^XYSK\Z@?KB M[?GITW^,[=BUK=9%69[>#[K=/&K7VU)K]FX6D6_#3&\U+T?5LKWM'8\O"M&W M@.H5GYPH>O]__X^F1/V[5_N] [POC_]FLPM]U^GVX(;##BSO:/NU;NP-6OW1 M+7RK4Y3F+LM[GV7%LEJGK(%?U/BN!7BTM1OQ^1?O^H>:TI2,S1=ORR]Q(]Y^ M^MO@X3NGKMFV(\6#8T")3C=[3)-7=5(YD--L!VYPVFD/[: #_M8,X%)85_/T MK-6\_G3@V@":V3"AMC"\[N:W%E_W"C J]\WBM&)VD[I:60+<['O6J^AV3HN1 M FOJG,*7U6!4^QD53CLAML;OP["#7>1QC=\!V7HEN/3!73^*63&YE$#L#4VI M>1H7:)1_V3^WI D*+$09"V?310!G?@3A_7%][V*^]$9EKH>B";U:S-6N"S7I MH!PYL+D7@]%0S[F7NEMM_\J&GQ#0:YXR2F0_7 M$MG[QAM'AYP2&F.4R!F?$#?6(R=40LX3PY*SV%&RLL[H&KZ]DUZ8V$-L9F$R MT"J;N:_-B/KYH0P69\>>9,6I_^J/VCG'Z]&>9?[ZX).-1DS]LN=TAYOKFI=K+UH[%Q MJ&AD&B>'+/8 SYX(I GE2'EME?7!>LQ@>I%52VFHOZ M)Z";$HAF8,AI2A"W@#A ,P4@L^7>RQ P=2OK@JT:KJ=:S33.>7\$>P#AG"_1 MK(QQ8=C"R=8Y&*:QC@/' Q<(JUQOAAAD$]@II8)[RS#53.1C-:M,F/G V2.I M9F5!BV-!&WSGTZ'G7')'52[J:!&/#BQ(.H&P@#>DC-)S7$";)GP&:%NKC>G< M3T.'0T'@5T_C'JW77GE)]9/M2Z!N)B3,L(E(1R9R'1J2938">;_8N]['SLP0/\WH*WWIIA7W[[L;-QJ,"6 M14@&B90]C& 3,D(&)#5WVJA B0/,B3#[SW)F<1>@8&%MM(Q6ITZKU3DO-@SS M^-9Z@U-X2+A);S+KY[][M6R>-3NTA2L*<9,RW.7:O)LIJUGWGV80I^_X.9AZ_Q]Y=OCS/(U M7&:7#\]Z#[]Y^/9:\=:-H^[E>U*L<7KWVWB-W/G>SVY+Q)HB]$&W_?E[@CW! MP_(US?1,MYU1&G[I]*>GG_(K(SQ%JG@^8]\_[@S@=N%>Y^Q?25>,ME'1HFZI"]P2.UJ":[9(L*T&7W,E5EJC/Q"K;Y21.L5 M$^N&[Z ECSPHXC0W/)_R8@)'3"4EGO" V>%V[E5"&;GI,LPI?V#K/P-8*;>O M3@3T=F#![.X=V_;0:;@:\L:P!L_0:6#+R:V&Q_M^_[9_V6K63S_AG"X0;=^U$__/MFGGT_J)\"M]CZ]_'SR<[7[8N#S4^\L0D>Y^87 M"Y1HNE,X"9S'G 2#)-SF-!47).U;A*;*-K5"PD MOGTLSR6\,OG&>3 \DD_S:Q>HPYI;C36AD>:8E^ L$I%FV--Z+H2[GD1:,;W[ MH%AS@NEY;!1+1".?J$,\.(YTI H9*H*6"DLK@>E1\VC9V_G(=U1J/?-G,X^< M]<](:]Y8YOASH\*8VX0 Y,98CA)5#'$F&3(N482]D$SXQ$3 *^M:K?%%PH4Y MQ;(6G+Z4.Z.O3&5G>E-_>[7TI1S$BKX\!*@F1:@ME3&Z9)'75" ><4"64HXP M)DPK#?]8N[).Q"V4NK5%\,0%EJMZZF^9N%R?[A5QF3,>C(D+3M)IQ1S* O1 M7#1'SH!WXTB@R268%"F?Q9!K\K8J_8L47G]#<9 *&L/7 MY.WLWJ6/ORP@=;F92Y2S,6O#1,PYI!$- !.ET0+3%)U+4OM4[*Z_*.VI\HP>@7.3>492J&!8D@@;E4_M M<8JTUQZY@(5(SC#%P\HZK(=+J_PWOQF^'*E/=S=T\=*?IH/50].?9FSY4N'S MW8SU82!=I4"] OB>V";$F 2I&+(J1,3!2T7&"X&\ ZM0WDAMS,JZY&OL=K3M MU0#XW)CSSX4P%OK,TSUJQ!:GGA:C-*R(V++('5=*X7(GPDGV5+BIA8S+<.-G'J[J3?Q[. ^Z89>;%?F^_P0 M*&!M)5+Y8+C,]37!9(U4R"J1D#":N> X(!6Y[V[:(^E^92D+:2E4!TRU3$@S MCA&'D46.PP]+N2,6UC/+Z,IZNS,E[/HT2'?3/UW^JF)%O2Y4&&IMTIAK6>BL MW5LFM @@NN8_)Z^C[0C*A25!(L]]AWTL?\[;VOS?YQL[TU M?/:_KA[]#0."SV5-&:':1<^1L7DG/24@S@XH=#(.,$$9@@5>6>^?WT:$6C&L MO7>U3CN.1%7S_,]%F6.[V>G63FW;ENA=@(!M=S(VW_BL;;5JY>LCP^J5Y9Y' MQC>4_6Q=U.Q95DG,>IPU0!PPB2*QIE#[S$8QS"\KE6'ASG?:8WN8?3$'@Z37 M3&YK]%3C;+?/.1[0Z7X9;BJ.L^%VBSZJ7W71E2$B^N8L\=MY8^-08"ZQ5 E% MSXK<-8J H@$G[;::T3\* MFY@*.EO6']J'/F1?$F_)16F*WI M+!0P-0*L8B_S:@F%"]I9W#,C7K,WE!6&3S>S'"V83U:SSH7OL[+LF$C$DDCD M.RUDY?'M=OG@V^U)_C.D/YN#N-?Y7'1=N&,B]-[NHGRYQ1KGA\%K%PR8,['< M9648X.O%&AV,I<1C+ZQ;6:?BCA@$6$^QP5TNNO#G?.WHV6I!5W;T<#O:O@1R M!Y:"$V4<_ ('2ZK.Y$Y*@V3 G&GL+5$DEPE7=Y4)+RWIIE.6/Y8MH@G,JW0. M'^#%K!>%)A_M##W/;8:>$:=K*I^1.^OTFH7;UXW9B_@>Q_5J_W&]S/ P_0>/ M+[&NUVD-^G=?,JWL[ASBK]SL?&UO_6WN_\_FOG<\;>]L[ MC9E**T^M!/NL#]X &-NM[>W HS=V=_[;V_\6=O=@Q?J M6XV]W=IO7QH;7S:WX?U_UJ99QF+-V!NX5&*^3IY8R5+BPG,EDTLA12J9Q20Z M9]DBUP7?N#HU.VG#','UI+P J:]1W:@#L:!BIBT70=.@D MK6:"T!KD7,0;:DJ9/^0HWVJA;G\?BC"?Z,[/]\9&L9S=V/W>]'%Z!/DJF[<( M%O?VSEN@B_5[!5VZ(<&Z+(Y7IEK=GO R;F5 3JL7C]V MS.=)XN(-P%Q[!BRCEC$5*0Q,:8LSQK$:_IF"G/AD_>68V-@4GAX,AXU%9PS MON: P@BD 8<[IW"U_0%SI1U3LS\Y8:9I1?UQ&^+W1:G5\;O=TY!ZZ M>6\8C+_P/&NBE\HZC70,!'$9/#*$&*1$(I)2K"C/TL)X5/SJ,7#+#L418$2"!F#*DE9!(+1(@)M*#(\Q*EL( MK*KI.R>TAPJ$YF@O1^?@^VL?G10XHI2%%CCA%H&A\*S:"\XYULF2F#F5 MYC/I]98BMS]C4K^@2?<\:5IN*^3OZL:0DV3NF69!97NYKGQ[WNE^@Y'TV5+#P ]3C\M%%4P7S'.8J)4O+1(7 M[L[N>ZI-JY^E),\$D3?W#O(65>^]/6N",Y1?W3CM#"8R -^<15[NYQ0I&"/F MDC H!H!%[ARXFEX01*C"+@I'O: _+U!T$VVTH(H)$PA-W+L -X\A>*NU!(N@ M9+HV6S7Z+S+Z*44K'./(JZPS AP'&28R4=>.RD28,S)77YSA&,O4A3#O=_MQ MIT]4;[P>](1%+2H1%(&ZW#_\I#P[![-F!:VR96')==/O=C(+TRR0_ MS_2:?J!._$\5W=F:(&99Y.>KAWVJAZ5KAL_V0+^HK;SX)92G5]^[:HJ9I2EE MCN4"%,S<&WO3O=I6=ISO;-CM,;JS"/YR]<'N*((PK0=>N[G.U)2%&:J9RI7? MPU 7M?73AS*'M&JC:-9K;GXU^/<9_&=2*P#2^ZP-SIY?ING=^#VV!_&!Y6X? M*#BPY"6\9VCULI7OOA$=HU(X;$D _Y=P*H@FS#"6*)$\2,'$#$F!C]H]7&Z% MA'!ZL+=]L;/G>?WTCU.X1L!WB)W- WBF/^ [CIO[],N/QDDXOEEBNT$/6O63 M;=&X/+K8/STX@>^ ]GSCC=.MR_U3:,_'/TX.]K8H/,MU?6XMK'0Q6L*HU"+IJ]*YLZN+5CCV M%#A&ACCV8V=S6QQ:+12,E$1*18VXU#EK(U 4E8>%2!HK=%I9%\94++!"SXH% M/AT+)$YR+I/642A.(['6&66IEM*G$**<(1&S0L^G1T]V SVIE 2(N4 T&Q47( !U(W!F&L?""2_F"-1BJB3S3 M1+X>[Y$\!N>=1,8F@;C(=6,PS&V=O.;,&NU2 H\%>,!MGZ7B 6\-/A[- RQ) MU!!E...$!X*UTIHYXHP-U%FN7O"X<04?,\'']8"'T\Y$J;+Z0RC4'PUR45OD M\SEBJYT";S*\T(6LWMN#%H]7:46S'KFV5 0T;3IOM9J_?+>H. M/RBF,:7Y"P)(C^8SUN72UHIXX++<$N60EYP"!,VI$<@;+Q%-0SFC/M0["Z"QPZ*N8QJ)/Y.LQ#0.^ MI4C6H\AI1-PXBF#]3X@:JV/ (K)$2SU>=3LEKR(";PT_'D\$" V"&(:9D=SX MF*51<8H,"V*U\+^22*[PX\7QXWI0PV 7.-4*H".H7"DF(JVBR]61B59!>5@4 M #_X*J.+Q 8>FZLQ-4W''D%W3-!]SBV986-EAB'DA$><1D-,ES++-9E MHDXD1&V&AB2XFA%@>=,@1=8LJ;"T9EP]'IH$8= )%.9]RJ5C\?E M*O]6(Z=RZ4 *OA>!]KU=^'XT#5Y@=8P*OF>"[^N1W:2P(L+E M'=XL;\\H1IHR@QQV/%D-;XLK/8U7PX6+N/"_BIJV5U+;UJ\G[^61GLQQ[K&3AH3<^SH:9X6X65>[&(+:YW@VZ/IC M -':7]W.4=>>WK;YI1 'GJY0_\M.6=]NUW9\O^-BMT:S0MD-78S?.[9;2&9O M-KL1/M?MU>R@?]SI%L7K2VV\JQZ\IPI+2@"D+EI/N>)>68 )81TQS'JK+959 M%P'&'U/S<"GW8I3'@SP8L+Q0QF(-R(P1'EDB,>4D!$F M(>:E5X)ZD[+**]"6K+HR77GEEJ"*[YR>=K+M0_^OU3:FJQQPPX<3HXL"P$M--J1SAFNW7+(QR63KT M/K"R*,;PMVT-%D9T[/EMX61#'"I8=SR/%N#$*\0I8\@$1I#!@@2I-/#J+.C$ MZ2JE=U@#$.68]<*:O=I9"=ZK0_FO+#JQ\# 18CR-8:?[WF8-J@HK)NSCT\6A MT4S!RD.1H(KD!#R'K &>EXQ53,<8D@2*0L4=FH5+B!1WV\-;AXM]<@BNE' ! M0,)+$8"'&(-TP!0!X[C0>\G+K]9:T7[/5V5UN%/; M;.??G6UEX;C[6M3#A-X>L^0,&>WGT9./J>WX,V^>Y%[6Q:%EU!)F.#(2YC.7 MPB(GI 0?3!$/_H?WG*^L"[6J[B F/U'\F[K:<*.,4QH#B38\**.U-8(#N^:. M.YO$/&."U6KS*V9Z)39YL;/Y[;)^?DA9Y!)[@Q+<#'&K 6RHHS_WJ2!EG98F.W0/&OGS5:K MN#1F-C4X@SMD)T;9LW>-.@/8.:-1*1# M/(/)E2<>?*&M?;?=9NQ?Y*].MI@-$_[D:LU"&^&3\%3%C=M'O7(Z->$Y? 'Q MH=D:E(J%W>#> MV]XQM.H_ YB7A9;A]38WK\_3#G3"M\FY6H34LOCUY,AD5>W.X.BXUH%6PQ7= M;[%?N[IB-?_:&]AV/]_O\Z 5:P0[@4BMW[5%'YT![86/=;JY)^'YO]M^;%W4 MVO&HTV\6THOPR7:OM)+>VNT-H=KM>/F,VT/BU]M#PXCZ^O^X[K_N#LP/X^*< MKJDLQGC6Z15@]JY4A_X>QQJ,_[@NKSG<>\/C2ZSK=6"X[[[DEL#0?(+^9J:8 M_X1Z4KE;-_'SN#O61#J*R'6C_89L@B=\9UOG]J*W\J_K'0V]?*/C[MOF7PS+ M$W75C#M[[W<^-K;^M_9^Y_-?.Y\W]K9W&E,L];;13161>O8MR=W:W@X\>F-W MY\_MS8V]K*&^U=C;K?WVI;'Q97,;WO]G;9IE/')> MS>V:Y]S+Y>]JVVU R/C46[KEM^S9'XNWB]O8'7*0TS^:]4M_N;]WT*QO?CX] M@.]IT&VQ3P^:!WO;P$F.SH&;B,;'_5L<9/]T^[)QV3ANG&Z?-SX>?&ML>K9_ MTCHY./VC50=.LK.Y =SD&SXX*?QMTC@_),QQ)IE#A@ 5X8%1I($%(B8C.#DF M1D73S5U>",D. 0'JM*"FDM_'-75SH[]C[^9;MU(W17W_/]><" M1JNPMEI($\ _@Z5,X"B]CMH%#Q>N/*,2=TI XV$=N[*XS[ P9[GMM@=V431R M+R=QO&GS^W088"P#H0E%:<'!3R[7V#8:84LXY=ZKQ-CRB&UO /.;'.$1=_X" M[MA($+M72^#B=\%KZ\&? R"W%V"'W;-.%]ZL]>V/6OE+9Y+:_]__HRE1_^YE M%IQA,G]LJ,]=\, X,K>K&ZP6(O;P3RG^W7N-*MO @0P63R&OS,3#5)M?1 NZ M>MBG>]C9K&MQ98OUVQ;9+AM6*6TOD]+V7$QV4=6&*ZWE2FB[&OR9!G].=5W+ MLSQTC8K%J_&Z?8O-UWYSL1U3L__/O&?Y96UW;29WX3&%8!]W+&KACW&V!ZJ?]P2][]=[)]X4;]L'1^<;N/ZWL%UN6NI!>'2110$$UFJ*V2Y:X%P MD%A[;W2,H@S%+]LISF?0!GN^2?J/&=:W)RU8MVQ8-]V$?KLGV#VN_$2THT,0A3 ZCG'<[:/0:)2&-0@@6*^534^^=KAY_I\Z:" MGQ>@6H\LFE%1K84 '7(%.C1@;WV4*#J*$1=!(L,$1=[(J+,,H505U7KY25IA MW=.6EYB*=8^L,%%AW4)@';O"NNBP9X981(MB:\0;9'.Q-9QR;AR/W%,[%>O> M!O+,PK+FI#F]R%&\8EM_8F<^IW"V8Y&'.HK=#8-Z;UN#^BDB3^ ,8H,T%P89 M;2*,F=>:BHKB5!1G@1#]6:-7%4Z])$Z-@U:)&28=X2A(GK+J5)*PU/(EEWWH=.'/]OA(26C"A.S&=A]N_2:4P^_KX3TZ%/4( M#V\X6M<^L3DQ8!4@W@<0KRF))VV=2=H@P5@&Q!RE8H"**>5B0XP*8=3*^FT5 M\7MG22P@%B[HYN "0L@\&-3C8T05<+PX<(Q#1"$Q;CRUR(#GAS@,6:DC[H(3 MU&LC+6;3@.-%5$,7/4[TNM%C+@3D\8&BBH L#HZ,(T?$6BN(<\@1EBOL4I9+ M=T<4B=2<8.VPUA4!>>L0,I==JL?'<"H(61P(&0=U6+"<4.408$FA=6, 3")& M%D:6::&DYU.IR&N D"K-J#S7;G_4?#>&-Y)&].S!F_OC';SXOAB0*EQ]/V2; MU")G@:K@K/9:]^&K_:WEBLX\@AM56/%@K!@' M9+3ADIKH4=)6((X!,%S2%"FL@PN,!\WDM"WX-[6U50'& @5D*J!X1J 81UP, MI4PZQQ#G-N2#&Q$Y9RUBRG.7?:GD8T4JWCI&+$C$I<*(9\2(<4A%.T*PYP(Q MK"3B.AID4Q ([-3H(&0T.2I[FTR\!HRH4F2*!N[%-5][/7@@M_+8?PK=G.-LPH?[X6/UVHJ22&)=0Y) M1A7B+NCR2)=2U%.2HO%Z:K[S:P@Y5[M62W:VJH*1Q8*1<7MB;A/<60J]@?==BW!_&P?/2SXL[B1 M[V6MW ,O[L9^OU5*<58H>"\4'-?K^9&_[Y [K S\0)A0C7CD"L$RQY WB28< ME?923MLDJPZT+P2/>XM[];9KS!A*2]D:U>FS(^M5Y7KV) MM*/GCCS-BZ7M](]C]^JE]M%V/Y[VJAC] _!PY_TU.3?,G7$<)29<=OX\= MR&20X]HB!JBF:?(R"5YE4BTL37N+NXO+I'Y6(=4CD6H)> M4^029RC"BS"H'W>(9G$AHTJE6JX(5044SPX4$VE3@/14$8:$M!%Q88#2 M).N1L2IQP85UO$H.KRC-(B'YXB=,5?CT2'P:QY6D4S+ H*!(&;A7$#,7)XPU7OXRF9[ /VW(038&6&X6I:GII0M/YN8^61<$ MW!=T$_+5@>(RQL8J>)P+/%Y; Q.X0O\^O_ BZ,G.[7=HV9[ MU .3KE9MNV/;0.WCCK@-7 ]U[=I7B R;KU MM?@C=GTSO]<_MOEFO4$KUSEKMFNVENSW3C>/<:T)[?3]HOH9/$0VDVB)&"]]R%<56_'^?+PZ^AC-'N=P_W;YL7#:.&Z?;YXV/!]\ 3MG^2>OD MX/2/5OWDP^G.YL9%X^0;/CCY.^7G/\S54PD,";):&/![.4=:,/@3ZX1MDMS3 MJ6I:_RA,=1&=C\H6'F +L+2*G;TO/^I[^Y?UO?IEX_Q02:4DS^NI@)65"\&0 M\8PA$9F+T3*14IBVN?:/$M4 /_K'W1C1*9C <6$MO>:/X5] @)J=T*O%=D;3 M/P:MBW)1YJNU//*K&:#.RK%M7:P^P-2J8O)+8FJ?+G<^ 0BY@,&>$(.U O$4 M-++2:A2"$Y)CI5A,T\O#/P2&JL*^RV(;N'%TB(7SA"J)#,DJ;@8,Q-A$4,". M4 &PY$R86JKW(3C4CB4.45T $;X.1&NU;:!+0.0+([LA#32F6*NU3D[Q&)/$ M<1V/WIA"-MN^-LO>CB3N_07A\(*AKU7R,$BAS*_ M0L#?'$J*"6J#"KZH'S3C/"EGQET+](N0OXE#?N#,^7?P->[MPRI1&LC SJ)M#>S?>R M/3T]1%6E8!?$S#[1QJ=#3TRD1BE$O$B(1Y.0(^!@:(L#QR0(X\GTPJ[+POJJ MP9\Z^ PPQ@N-DV,>X62 \G,5P+OT%M#&>R-3)%[RJ>E(X^6J!^-QQ>" XN1A M6YLEJBA?/JH(S!_8WXC #:&NY'V].&:.S7S^?+7XS# &61R25O_N30/$C7Y7M/<[V=O:V^:&7 MB7-J&;(!1\2=B,A@Q5#T3BI+-?&*3?<6)^RLU>GU1M3]P:O.O(A991;SC+W! M_8X.8:V/BGN<,\5A!1):("L-_(8]EP)HNZ49GJ;%WJ:CT9VTK;97[(O"<%BP MH6;[+I_O+L]R%>QO.J.ZR:4R20J#6&)9JW,>N_D6>>CM41R%WH9DZ[][-QOA M8OZ&:+OM&,K-6ONC#+ = [N+Y6[NR:#;[(5FT16]HFG=*W(VC@6.6CDEZC+L ME?R,KCMJ4@X$ GU%(??#E*Z!#U<3;]DG7F-SB^UL' *S"R%+Y9JH-/A$&*9@ MHA9)HBCQ#-N8(S#3)MZR.$";@RO#GCU*U)^6BV%K_W6GW0]Z8;X$&+'KQ<9@ M8H5.?_C^S1#!E_8X:6.\R9,-'EH)\Z0 N\TAZ%W9/WYSYK_]H_'ID%E84; E M"'/#$9=8@?%;CHQBQO&DB$AR9=TPL0KF."7RV!ZO'5WPH;O?6>F'>,^FA&[X M-GO:&>1MG7ZG#X,7%LX4"VR^:6K;P]9MM,-?H[:]8?.KD_KY88PT8.X3$DX5 M42B!M%3@F%DI#24R> /.-E-XNOG=-^*]+#"]-R7R-)Q>4V97.3\RKA]ULVLP M?1J5'.P^,X5S1P1XCDF&"/R$&NVT8X(QP75,7A]N/VZ"_-FT#DA*_^)#I_NE M[6.W;YLY>/M7I]>\GJ?[]F8'W/?3H:9)2^()TBQX!--$(ZV$0C$K)WEB,2&Y MLK5(.?(81!]R=LJ:?'S?]\1A9%\0L1DOX+RVC ?QV $O)!(%]>S;RY1P0 M5$87F;0.P:JMLS1[1 YL SD%-I(4ET1DG3ZQ2JF:;B.^97N]9FIF4@?.4@W> M1,/.K;5& U%@R:(MLR-SN;W2;@Z9QLB0WO92^P6#@9%++Y M)#H%#X<[)AFC.5%A%5,]W4[&U#];2?AG5#T_$TOHIJ;)6/OSF(>YW/ M9:.WVY^'_?%V9_;)AH E0*?$"%4,"912[N(-$P M@1;*".R/YJ"R@OM9PU/_7 7,L?SUO]H^'8>0;%]9AP;/^> "K M7K^,00^QO].]&,>, >_ON7_L?&*)8!,4X]' GY&F&%0(S'$C\"]2!-A#LF@V M^A]BB%W;VATUX-J'WW#@^*2>B;>F'EN3=8:D!SX%/!=9 6P67@(8#)@#*@.? MHFMBRCX-6,^5C=US^R &PA@.@&R\>G018!EG+*797/)")60P=$B:TG0)JI$\A;27:90 MK#'7$C^*-69M=ZV6RFZ?6$[ &P,7P?8?DYL;@PG6!( LYW@$-YW9Z#AFV!-O M@.15)O2L)O3I'-#$J,@U51&QZ#T0.9:09M@@*2-V0F-O6&F.\R*+6N>@\ M=QQI:1@*AH)C@$60B3]_*,1N"Z@J,$PX-X8@XYHAR*"DLO M4B3@L"Z#.F\UT+\8:$L)H3KGAC"3!UH#R0V"("PHI58: 8,T([#;\'!*!FKWVS +<9!K4X75.YZO=H5^-=L>,!1OSO\V;H'X]J;DU<.*R2 MA,>76-?KM ;]NR^9>,:<#@@S<2X1.S-3P([2&T,]\?.X.WJ$,WL4D0/'Z!NR M"9[PG6V=VXO>RK^N]SUT_(V.NV^;?S$L3]15OZYA5_35^YV/C:W_K;W?^?S7 MSN>-O>V=1NT!I9Q>X,$; '.[M;T=>/3&[LZ?VYL;>UN;M0_;C8W&^^V-/VN[ M>_!"?:NQMUO[[4MCX\OF-KS_S]HTRUC8&;M8 & M8&L%CM+KJ%WPP>N5]:]WAK4+_@<>8DZ&OHI=#VN1S<$;G-C]@86W^)+.&5AJ M)_Z 7FD7C7 71?Y-;6XLOZ[AQ?D@Q<%\E.5(1LUP_ MBF4)#HN4!UM'8:(R;^\,CHZ+I?5F&;E:-Y[F_>G:.!(PL'#;T.Q?F>SGW7%QC2NS*R9#-M8\=]9J&\.",K:52UWU?WE3 M>!>\W?-H6^#Q@@M[;:?OJJ+@U*^JVS90F.+PB8NM9OP>>S>_T(;XGT&9D#', M\@BC)N1TY_P@PZ:7-6M"A%EYU/14,7;FWP.9DGS9./[?VOW[A^Y<> MGG&?UC>/O^U\_7"\O[=_T=@\/JU?MN#?/W*1' ZNH\7>25B?,".(9TURJQE# MQ-#HB< B$5F& ,#B8MC(22+9_Q>$)DP#X2(DK;A46@H7 Z/20X='<,C/,C'O M#B*PEV*48T ;WP$JCF"ARMW>NU4Y]9HA3V=*O_KF]2>VG5U_',.@%7?2J%'# M-C6*8,E.*INVEV?Q&[8K?"B#P$8[A2@8$>*&4J05V%4 P_*2 B@9J<]VJ_%>0<%E-86GK_?#>+-R** M5A65A,=!@J)@,K2N9<]Z\=WHEW^'9N^L92_>-=O%TQ87_7MXKV%D(7O5-T7' MLJ]3OCUVN-=PZ70/]<^&WSQ\>ZUXZT8!Z/(]\-P-%G>^C=?(G>_][+:$KC%Q M]]L_N^W/WQ/L87>M'O;%'G8VZ_J%>M^-NN*_$N:;9T%Q_0@YB*N6F%E:4L:* M%D"^86^\\]2K;>5-IAGT''XIV[!_ZP-MS[G M8:>+VOKI0YF+N=9&=5Q?<_.KP;_/X,])#?^ !GM]D\[X(%XU( M?6?0[_6!M4-3YB",NS0J0?>43BL[:[[)1O?C^M[?S?K>Q^^-;[^W6K0/[[ED'3C\INXJ2$$ MW]6LG_S];>?C-JM_W;IH?-SZT?BZ_:/^]1,Y^/J%[9]^@NOJ;&>OE>K-H7Y0 MU@\73'AA@D.*.89XX@Y9;3$BR=@D+9;)R%R$4JY**I==6^U)A(E>6,=L:0#H MGC)ETP'H<;E(%0 M"@!=7@%0D,QIY3 R#A/$-2/(Z:@1YMH9BA6EJ@ @NDHU MFZ^0604'2\Y'GK.N004'3P@'9 @'%_7+3^R06>XDB10%9SGB/EJD-9/(,(J3 MM1Z&G9:=8+"@GW#OVDXG_W#?U YYUPI9'"LI2MZU!<88N_F=0 M5$HZM]W0>U"<9TK3%P2U7D4H9S./5 RWH&OCJCIPA5_WP:^+B: .N$W,,0X$ MRN9R"!%'X$[1(>F\\LF+2%):66>K3$X[(;+@]&DZ)#TI0[KQE0]B2(L+)PL8 MF+F,W4ZPO>,*25X$2<;1&>)<+J02D."!(NX(1A:S7 T?7&TI<5 6YQFL*:'_ M?BP+JF;V A*%%X^Q5--[WM/[>K3%LP#\+U=\QBDA[KG.1<2D@I1Y0\KUV(DT41LF M*8 FM0+B)KL$>4*QD3D\P*EB&% M3 G?OMP$?[UY,;?RVX<9,?E85/DKRO&2[V#Q[?[3Y,D,D]89C$WH#'(*_*BQ MRQ8S?A71EYUT%P96R'LDTKEJ&/66>D:$933D MB+%9->9VP;"%IU)SG\_+MZ_U>D!L 6,^%8B]'(B- SZ 5,+E&G44EBC$K;1( M$RV0I]9(:PV/RCY1.DX%*4L-*:\BV%1!RKP@Y7J0"0MCC'- AHC3B$MJD6'$ M(!QQ$,I'3VD<VDK8>:4\18ECCC@#=\\Q M@9%F!@.ED\9F?5>FX7YW!&TO62]09W.UW_+=:YZPLV]7OU,X&77^8F."Y34$G(3D6^%>1R>W&AWNL7!OM?G.4L;<;_:"L159JI,?P MH=LYS66Y!J5"VTZZ6<9IHU >7ABMJ>>NNE/?JU\>ZN1SM5^@$5)1Q#VAR,B M$78.7HU1"X>^XNC !1$6""A 4C+\J]_F5F% MBY=(F9)(B1,Q;8H$ZLC*N_+@AG:+B;9%D(=$D(_77_W CN(8U!3?B0,5W3/ -6R71[9IOWAC^S,0I+P,BJLL:F0T'05OCR8SK0-6)-C<&.LF->Z/ ME*AN=?\+I>MA(5>B=#B6"5P>=>W !" M1A#J@,@=;W6\CC/'8%H0VSXU=0H#U_?"4(LUS@,>,'Z+%;=%F,=#F)./7[6 M&;[-?-6T@-]9I@T(XWBQ&KI,XU' S9@[+]XX'7-6D]UYA?$[2C :"D8WR(9U M\VY9L[DL&B\&(+* MBB7HB/T2VJ*6-P2%$_CJLKZ)@(/@MC@'J>U&'K:LLRR'QWZH<:;S152\+>JN ML'KBWK[V-8Y9['I:J/HQ-IH"]4IE-HO56/:%;B.&?$XMORM#KF:!P: M1SM?3=]A+F9YZU&L86\L,%%NPC26V5N77%%A.PQ8MTTZ5L-L_U52MR+-4+'4-U- <-NN=-]XO"I G_,0O?D1L.-PU!^)+D,T6YH5Q2S.*_94L=H!%ZRV MK/_64:ZRH6B=U>+[2AWV6> 4"4YCXGBOM#GAW@!%M"0D(ZW[>Q6XD; M>(S9GFK8U!0W\%0O#BTUC$$!]$/+<#1&L=G&C.;T2U$*_%JA;DTF@AR30J+M M0DW&%FMQX.MKV>+ N?<6!V0BCL(AL8>=073*J63Y#JI7)'OVDB*$8QBM3?<# M^ZAJM?+90D(X[G^RC\Z_7)X ,7S^^6?OR[=0 ^2UCW[N_#S9.P1DWY]HM?+E M6P\)P?B"8_8_VL=[,&__H'_\$SZ?7_X\VCNRCK[U8"U_Q<<_+RVPLYS0L,U MU;4 Y(BAARIH Y:JZ3YSN.?9S#7&NQ]P+PYL[GL^X)W%W-#3= %CJO[ M7C1>U;YU%LHNH/S%;;T/Z#^S+IVF-D:X?5'M380Z"$K.(CNT8\LQ=3^.8L,# MM5FSPB#"?(P9_=4>XS;K9* RA&D4Y?H7CU,U4:=23OP[W5-U78.R(]Y-0-(N9NBS)09ER MD68!".?K++\$[AARL+X)UI(5L,#7 ^0N MFN&9@?'UD(2S;3ASVW;.8#"[ *XRXN2#['18[*<)]$@Y'0G>9[MP=^@ MWX;-[*K';M_YX#SHZ.?ASZ^Q!T1H&APLGPC,=LLU5*!+AM$D:/7X@6^$+]Y, M9EO^3HB7Q3&V_)+,O.C.;CUXUPYZCTS\.Z2*[O&0(UHIIMYD GWV#5M6W4AB MPX9,LE65:-8!%)URZM4!H!ID2*92X<862\B(%=1 ^ _T/ B&$' DQ%&>"U4F M'@&.MZP$T>LS&XA.[4DQA92)Q.$M6L1,^AP5T;T&O +$0U2C@8M$!1_,)6$I MEM9%-7YX2FS9F)\L4(UM%S0 5[-5A[%8M?S 47VP650K!-O&\>+-(+N]9_(8 M_9=\!2WWBP$PNFB6E0YFS\+NT:ZR(L8^Q^ZXDP$_JSW6' 6A>*XF1P,-?X+H MUX\NO@9:$#/-BU2FAX"&CF6JS/)\U;'L2->#@ ,>SFN3]4@\L0G#1 MS&K4!PL;!A':\'3J:(K8);U7"S?;F@J;C6FXY?A=PUBX1]-]Q%8NO%3#Z]JN M_VA+7;#'S@*=/.XC''6]NH-,3\LZ'*/&R;9.RK+=8^[U2#>X^,()LI.D#QRO MT24VX ,>)\/9E2E73]7+5QV]/3EG34#\V\H*K;:WO%%Y2)/F!V@3KA$XEL^9 M;EF^'F 56XM9AN,YD1^:J[R?F6M]/'*FT5W5/I%IU/^K#\J;_=GX9,+:C./S MCS>?OQTD7_[^:'WI_WEYW-^WC[_]^0W&U,8SC;[@VGZFW[Z<1S#&9_UX[\_D MZ.\_TR][O?[G/LQ]?FD[\ 2>9DML MD'/Z(63&\ZI2-LDZ72?V(\VW8NYYEF5;OF5@&'#L6:9K!;Z]99WKQ#J3<=89 MF:89.(:JV1&&BD>1ZENAIW(], W/#P*F&WC'[?N_7+G]W@L,;M7J&6HUF"VY MPHHB"Q-JSKU>O'$*')\*;W3"V#2=T.&ZX5FNI?F.[WL:_&.'+'+X(F$_6P:X M6@9X,\8 ;2-R;=\+50SR5ZT88RMM7U/!'+!TW70B%K(7;RS=79'B^&38WZ+% M6Q_"/)=KN>?Z&FO"SA#W_!4QES-\N!_$0:#Z%;']2A#RCM+C+!WVX*=B)+^A(*+1$ 8\CX5_.7Y]R3D!<7EZIZN\/Y5FMUP M^.:ZEXF8%IZ0OEU.V[[C+C@PI$CYSXCE\ "&YHB '1BNC!9.XF21=^ G-I3A M\]DHC3 XIS$G_,;* )T(ONDJ!S!'O5P,2\XQICTO8_T&$48=BPW"8#$/>6:%8T8J>!F,LQJ M/)YL>C2V1':)FY;1=?%V]$H& +X2$5/?>7TI^GO[%EOR'JU^A07 9D;#V:], M7*.MAO#\A>C.,,>@TOAO+Z]O_BZX&N2<7:HLAA6^8NDUNRE>_+,=C9X,U#' M+;OGQ9G4*D&U8,C[[LF[X_U_*[LGIQ].3G?.#T^.9T>RS"ZB\P@+QUC],^7\ M!)9^?';R_G!OYWQ_3SDX/-XYWCW<>:^ 6 G@,!%54K9)(>8YF)A]/][J'N,85Y%/-B&N$/V!3_.W-^US#<1<,1%QY6M[JZ9MUIV/F_F=[= M1IV[6+.K>7==T(,O%NP>S]N4Q5I=VUILL;]ZW;K ?<-=KFS7)NRT?#][Z F->*?6B+>06Q!RYUAJK@6HIQMY5ZI0;'H> MZAUO6YY%>/5R6][P>U>'^3HW; L,2MURM2@P'2O4N&X%EFTRS12)];IAZJNY M;I6VYU.Y;KT\_OOCCY._#Y+CO<_7)WNG>+5*!N?G;W]^^W+^MG?T+;2^G!^9 MD]>M'_4O>_OVY[\/-2R:<_P.KU8OM>/^<7+4/TZ/WNW?'/_LI4<_(XRJKAOT MZ9IGA*$9JBPV0M6*[%#U;6:I6N0%+G;H<[B+A?,<8U5M21\CH'KIH)8M WNF M#,R,="?6O=B,8\WRN,:T((P]S?%X:'F>'VX\<6-QTO M,B([ C((/)\YCK?E40_'H_2*1[E6;!JF%JB^8W+5,BU'92$/U-B-3(_ICL_, M #2I5657;%G4 [.HZ4Z I\FBENQ;.L4.=+V !X:EV[9G<5"CN.=%CJWK!G>Y M:?"M';@6W,NLN![F$##$,+>*>H6L\=BTM MB'V/F[X9!9A8YWJ6OLK&UQ_D(1QD>4NN; 7*,@+EIN%8M PMU.(H5'6-N:H% M_%IEGN^KIJWQR#,-*[0L="SJ4Q+N_EB?7+M[;1/]),G6T3P[#I@=!4%DA9$9 M.)[GN7H8V;%M!(:W -EN:?,^:+-VIQFV$P2A&ZN> 0:J%0"5!B:J?4ZLZZ"H MAZ"S VV:^I8RGQ)EQI'MVH[K:X''+<>T?&9&=L \UW8][MO1EC(?B3)K)Q)H M.H:OAX$*?--6+<8TU0\-KOJF;IFQY4:!ITUU(FT)<\V<)0Y;%"TOZEYJ6YFYA,P\3IIA9ZX3:%G*+)6!.:+:7A#S((Q]+8[0S0^';;Q>^WIT=Z^9])0(^5&=1%N:O2>: M;01AV:;/HS!6L5>+:MEZ"!JO%ZFQZW G#(TH\OP7;WY%Q]T2ZKI)W!6XC+82 M]Q&IM_8L\2 .; \(5]=U R1NS%5?,W656[YGZZ$O):^)BV-/L@ M-%M[E@S3\'2?>2HW;*!9%MI8!\]0F:/!2;IP?,'Z2-RG$*8QGAG^;/$(%"SN&0&S--UEFA:#=AT%NJF'-A,1 MDW=DRUL.O P';D:Q>(;M,+>.](^,-XSC4HC#P-MR&6J9X21ZEEP)CQV3.8Y+]XX^F2;IRWCW3+>+>/= M ,;K^:;& \N,(\.WHL *M-AR[%CSN6Z'?N#/9KQW=2ENV?%R[+CV'IJ!H=F! MXZF>QH$=>ZZG^J'OJ&;@^9[M.%J$<6FSO(=;EKQER5N6O $L&6B9:3IH5=R- M+%]S?1Y$+B9L1IK.8MU>C"5OTS;OF2\W/,0:*,.VR=58URW5LBU/#4+35V,X MO"@.K# P19:-,>DEWG+E;;3D&@?UK=^"-^7)+6"W@-VL)[> O4_ SF\ -KV9 M$:EAW/$TQD(]#G7+R=.:'S QL7[>^^M:+-W,;V#ADF3R(KENUJU%T M]Y5RWZT01D'!_S/B@^'^=\RF69>&!\>[I0(+RJGQU^51?__ZR[/#Y6^\;**0WG\_?]D&!Q=9]Z>?SB^OC M_I_IE_,OL/:/VM'/C_KGO_^,C[[M:U]C[G';C4R567:L H9$:A!XH>K:01BY MFL.\*!"&!N 8CW:&U$RP8,46H0>=J8T4WF8LIW8\>TG. MPV&6%VBGI0Q[OS$EQ'H3 )HDDDU[?ELF9-< Y=T,/*9'KN5JMF^&3NP$EF?X MCJ7S,H#(TVRU_- T$@^/#\:):$^NI.Z6J3TW\CG?^?'5-2S-9KJA>KH3J!9S M(Y5I>-',?=O5/=]GNO[BC=;5G,GRAMAO0REZ<+[41:@^W*3 PB+4K *.]8Q? M#67%9MF(8X@-D5+Q*K9;XCD%MV#+&D @$>E"+9VPXQ/^$6#/(%X4.)S$1&QG MB(-U)V7(0MW-YI+CK#Y""PHFMRF8'E("'9[O'PD[UWBE'.T<[[RC]FB20L^4 MO<.SW4]G9]@!;N=X#_Z_\_[SV>&9W*\=WA>/G.Z?_;I_3D]7#=@.QG*43SP CJ-?WF=I.GX=WUV,_X5L-C)YT)LY#KY9.M;/*0B M :QFN81/W06O 4R (*N>*[ 94ME0KO$0<'DEH-9OP+X1]G#&.2I3%>1H< %Y M8N$%GC,VL]6,+TSR<-2'&08AK[J>P>ZQORW^@UUG R(9F@UH M+L]2>E,,*U[ O7!"G@ [XBIQDO>Q.YMHRULH%S#KH-S.;(0JYY=]HIH;S_D% MO(./5P(,%P$,YY(/E6%.IUVVSXV3 +(XYCHZK9E?)$$!%';BB!)=#_7IA MX*$\E33YSRB!GVXZE6(B-@;[#2^1CXY@'H(#(D6DJ6 LY>#['I #XT&XG.>%)>%_"84K)ZX'?5S M),*$O2%ODITLRU,#K(T2W#].PE',I"53[Z&2)'D*LL4S[!8Y:QZ)I:^4E_H? MA$0"I3K8"9I00NR=^E5CD[59J/9:>6G\H5QEU!89U@GV?SZZ$K0+:T4LK+ O M&G'1^[F%(=4APU"F6 NH>XB?U*<:> 0L.B6$@$54AP7\&\X6NX-6J%N4G=U0 MHJ%%IE!?YCP;)*& 09I=)'":(3X9P5NYF-;Z0[;'3!.*L0;RD3A>@A;.801S M9,2!Y+LW\*8]^>8EOU&*T=45\/R<8 $/(KQ&(%4!(JG"3:##E' @8%IYX(7UD#J@1JD_@>P'A\K(0%#>%.& $JCMDN"LPF- MZ1)D8K,9MYP ,)])40 6)ICQ *<S!&[HV M;5UA#V6^? H1L\0H.M$\(QY28=<$8B)RZ9(TASSL#3)\!+$EPW[B8L*QS@#""#6?"]GSEL0T01'_JD1?R0@)="R4 M+>5+'B/&MF=Q)'G\%4#.4N1&R,S+?KV95L[SZ0QO/6AG^-F6[YH;FD))1%0$U@=DEA62$>"U-9XS MX"4J-2#A MEV&H4^,+TX12G.*M**91D1P9'"FW8]D9HQ29,+1$_RG4F)BBH! M(32.#7Q/HCEJ3T0.*-E!D*E"M)?\ 95*X%2XJ@M:![X-+&TTB-EWX.Q("1=I M%J"&6+:5QA[50G@)Z^:E 4RK_+4#Q)@*L=QI*'52BZK[TQ%5(DWGHM4?&MXL M+17!2JT6_C"$RT5&78 >*.B:^J_JH:[<8(>4^4&M'?9:W>B)QL9 MZJ,KT0(7+&XQ>3F[4DZ<%,I'T34<3G-RRH\"CE7_<#82.%>"!$&)K#AE(!)' M ]0S*XUL=(6-L08;,%IV"9/#0FH')*Z?W"GMA2#$4Y;T"YI MEU' M^,-BBNJN@'JE?T_F>R/$J:;$Y&&&+)1$1)12.QTBY/>C0?,+:0^CJMPTAQ5B M9_7J:?MCQCCM:'U]>/L_0 @3,9Q\1QV#7V^*[RZ[&/ ?@"9"O:0;%H"XD@*^ MXKE?9WD:@0 AE1I-TAQ/N8_:SH K@"KX1J5C"9.0754&!.AEZA!)M*FV MH()#]COR;[18!.*6NG7)-UOZW) A<[LF+XB#2A1(A8>L@%*? M)38.>%CILL@(Y^RG=6>DL+3(E NPJ86(* <-;B1H<,6DNO.!2']%A1-,'O)] MDC!(45L4S!I,@80\DU6#>U@OZMF5A?A:Z677:--VRF=JO3P$3CM BD+^EJ)Z M") ? /_YG=@ -MJLS4)4N])4=AHO2+5%#2>:)*>U1M&Q,X)S'Z%_;@GL@6,* M2?%&W&/*=X8*,%F9M8G=D=C5,F9N<#8D N*/(:P'ED]2$-VX?3QAAGIP:1P3 M(Y2+BDIL2C)A/I;68N6VZRI_)3DJVS Z)[NW86'FY.TK3;2 H[>F'J)EC9+M M$<1Q1U*]UYWZN*) M3B=P8S8F3#=JFUL@$D(W25AKD&3!I^UAR<\&>E\?-A.28@I:!T <[?Y+Z:5" M?>$B0T(<]O)L=-%K#R&,#]#&-H0X4<XUU7]'[!W-2S@!WAG3 :=K[V? &;K*3B%F C9?J8HX545BXK)8 M. ;JY72:MC!9. W;6KIU?X2E2URX5(:<#.L![/.F,K^)[9/_&UUVOUF& J>< M2E$[G'E.7>73@$0(8#XB.)>6Q'4BH5SP:@HD+ZG["0U=4@4N'75K-1NHI&,C M*P3&4)!AL5-;9\("0(6Y/;"\TH@QG!D1@,P&.BQI.AQG0UXY$G=A6 Q:IL4> M5)<0]<5IRXI80&??$&([;8CTF0>J"T2 O?]F.'Y'M[T.K*5#HFH0@ATB6+GM M_][0@Z9B1FEG("&S")"J0 $H'&:"3F<;K-4-3'EDD]1\3OXIN:*0]:4'>USF M-*4*R0"@1C2C .ENIG@EVZ)%6-Y37.SUJ)MR^.](X(HUD>J!&AV*"_+RQI6^ M!^0*3)^B?%YJT)@ M_WJ@R\- ^Z3B_M7%6<0%KA+F_Z8['=>U!&G!OG7S]\YMH!9,L::) G&^? @. MM?)"3%Y,SA$1%0_%^#33ZIA ]+"J6MK,Y?X@E85_)^=7G V[&,,@M9X6A^XT MY&$%D9)Z)43)J_[H! V82UIVZ[Y^>ZZLOPO M3 =[$_>,61PCF&!=Y44N(3I=[8*E3OOHP]K1QX\3I20X!+1(*FX<2I+C 9:Q3%BJ5@3"A##7V(MA$"_:5W+I("] M*$'??22B[SJMA0Y@EG)]^A+K*V?0],D9UN_LISN=3NOPB)/*C[L1TDS,'B&' MHE6_ K4/E+,$ _&EDK-V9S!?)1MCA< #-4>O>*'M-Z0#V'V=,I+% MMYFIWO%LLQY!;\J7Y$?K?=2EDIH=-U1TJ4RI(I8)10(Y&"JU:4(MJT*34,O" M*^\D!OV>/,.5XM.+4Z(L3>EM,7;14"=QL01Q$8$!+XI8)B*;);5&M$!KNP)'KOT& MY>UY48JX5EA&PRM0^U#(6WJ-7AT*NJ,XL("783OD>""%>( ^?O3@D+^41#/& M88GW>TS,#?B.0G66LOVNNMP7UT0-V)*_A"+.T E1JRD&E[:\6T;"]S M#7L#+G/7@',*K@'("7QCA!Z;:1Z^9>PTB2@>S+Y.L@X=V&V]/TYR8$,3*L\D MAT1!8&H=W=3;=@;JTL3-TIMRS&;H8SG,[ "STLF) 5H[E)S%QDPKV_W]-NW!:3PRKAXH$5Y[#7"D,?X] MQ_M-1EA&-X%@<*)A/R1_I!!)8\[P<:JEJ[^)*,2-)N+36TYO?X214NUSY.)4JI[*+ Z\M+^88+=U44@WB" MOKO/(\#@YT,Y9?;&:" ,&X#<3I&,$8QQ.\$8VBT$4WLU9Y+,I&:[I#Q\9,#N MM /*:DH2X2S798;/A+L-'LNG74FA92M!1;$J\YQ_M\%X4O(MG4K1\$S4>V&* MC(.C .<& 4ZD6-S"G*: 1[R9U$])F(A;E HDM2^DJYR,\D:^V7P 8S1)G]=% M ^Y!,=\(C]P\SZ*X03NBU6[$9A:_]$,AB)=]B.ZN,YW#B?S(-CLKY'T'F9^E MJ9+>M'WL>#M( YL-OH@.MO88VMB5KB3+B^86&JO'):_D3A'A,BZ[FV2$BY(, MI#&P7#.\D%WB]5I6"FNQZ'D7VS*0;XX7=3-H90GTHC#P@#<5&&2!P%;Q!G)F MB"$>77V;N.2YDHXW([PMX1,1!F,R(L4L(F#$F/0YY580S'2I5(^I8*W8R3#K MMPYZFJ$L_.4]5C2!(_"XB?I%*SJ51,052Z(:,\L@T#)ML(7B\S77^8R[\C-+ MD33,*C%1D7/.,7)51O?B%T0Z&X+%"^LJ%PNB^R*Z3.4ZN08PJ'TX2623.2K_ MF,4\5-+DLL:$2KXCDQ8+DT;![&/M*G]/UTS*0(0VTY1H)I"US@ZN4;;*X:\* M,=3:0G4M7P:555@H$//7@V1FU2=Y=M<#S@9<#SRZ93=/C:M#'O9E(,KZW'G3 M.*\PSS\)%S)?13V!CK)7%Q,0%O[^ %;.Q77?^NUSP5U%X[OBC5V]/-W[+]:_ M>KW_QZR((E^KPXG,VV_0VP%:ONG4MR9S+L^1&U:):9*K4P% O)?-KI67]%TV M HA$Q1\+,4*"T]1#$ -7K(OJ\(;HA+DJ^*ORP^NR,F%"U[XJO?2Z[8K!8QXK MPTL3BI]K-M#5!"N0Q2+ES/+G+OTT5E=8_.9X7=_P9_ZL=?69O\T;5C>[MGZW M8>?_9INS)_V5Q1K&HL.NIG3GTM7K5]0Z4 C"-:B^?CY!V^/UK[=0FX3:V1A3 M6P!F*T'.Z?TP;^MP #SRH0020:<4-$TY0];_LGT_9U9.U]:RV<-T:"S>[&'I M7:]C]VY3ZYB^>[>&S OO_)&[-6_Q]NGAK>-T3,O<*+R]#WUG347*!YX7V6# MZY@7REV8*7?GM5&?LN,U::,^?>\O]8YI:XLWS9Y^HH_9\NEI'HO1<4QWC8[E M&6F89UB@44;9MS*:I,9Y)[XP9>MKC8"V;=U-7*V1)O4D#P88MJ9;BW.&>S^6 M9Z0H'"R4NO@L] :]8^CVW7J:;76'^ST:HV,[:WC-ZQ;7W=CN89:0XG&,[\+!2#EZ9FKI'=NE4)I-%@:?H:'#/QJ^_+5@V4=.YB;>L?4C+7O5[WRP]B,6[@M,3XK8G1LD*/N MEACO2?BWF_4NDD!W2R3R>L52SKAG%(D-(O!;1H$SK-5]&6Y[5:D$;$Y-]\2 M,Q;JI%NL]HW%C[$^?2&*G5*7P)?W0F-+1O3R[D7W06F=9NTT F<'(VIK0.D, MF.M(E3I$ S'L5EMT1)& 2,'&+%2!/.P!NJ28<,.'8?>/5J-&2G;$*M5IG5XL M(3\E$6H*!LK:5%7. J5]3<$Z^#E*AA-9/=-P6N:S4"W:A6H79L\J84&%WLIJ(-I)(AB&PK .2DY3(W.Z\C?D:. MULQ3GTRM%T7 \CK578S6S&)7V+!>$"ZYJRBU7S7(!B-*R,^!NB$J[()APQC$:OX=*Y7%HS05)9(O M,EC'IN#&U&.=F2V(L-4-D32JF[?FVX_S_'FYJ+KW^V2._M19N%K(A8BJCP)DS7JE+SDEK!&1P?E7I_1^U#9,.FG0CX74*I>GCZ M&Y;E4^WIHKDGUM[3R[-W1%L[,W-\=*?C^%J5J6-XM^?Y_*;['=]M9/?8JTOO M^;6^"]OTGJ[IFO>0WN,9=QOUUL7:V_2>;7K/VD-MF]XS-_A2RIAM>L]S3)/0 M.KJ]66D2V_2>+=Z^T0V_8_AWC*]9-R?\TPN^66% WJ8%?C@=0U\VD'\;D_,P M3$/OF,ZR/&,;F+,1T?R;%AYJ='Q[V9#Q;>3NPR1B=3S#6+>C>4;*P]NR.4YQ M4V#O>.'(ILZ4ST*#L/RM_K"6!X-Q@-MHH"'HSO;A-\GEC1@,T32;ZSK/MVJRT\C!IG+9N9N=45UK/"T*;))4>[ MXXW.5F&XWX/!2B+&$DF!6W5A=; _SQD&V?+Q,+&G+(+TCKM^0FBK'0A6X-O; M[.#-*@RP:>+&Z&BZMM4$UO%H]([AK9U7YQEI [."WA8O$2#W>?>,SS4,+?K5 ME.05PV0=\Y%=I^-9YMKG(Z_V)!Y9 =S2X)8&6\+3\CN&L_Y% =:9")>O"+!> M^5.M7IE5!G4C!95Z98OL=YFH6HGZ1I*TS-9/IL8K*@"A05'V*(1GTA%E'+:2 M8F5J?\%27HC,R()Z-';7/WM6>9]<\NNDX)W)Y3?RS"04&UTB@S)"0Z0;SLXL M?#Y]Z=PV#+9]Z>XQ2WY2>7_,+/DR\52\"G15,1Q).(WXI2;98@IOGUUB. ,V MJ6\'/;68%!9V$ 1ZE6?8]+4CF1$E+\OGD<_Q](K2B,7#0\[Z2A^V6#5^':8W MDJ?4;:T%*0+%]Y*K)BO+*"<::UZ(?M\*_BE+6, N"BY!FA3E,5"R*"P,@1D1 MUTQ%+G2??-:\K8"<$5N*^X^$FLK(% M@!/3Q;%G+"7O N+&H^$HY]- )ZO$A"- G_2F>:S-?'58O?@D1,'K@DRK2Y)6;BD:$J1NG (K"/F"8$NIS;M.?^>%/7LTPY0I\EO MKVBS1OGNMVDRC7,L9C==EMV]9Y0TNJT$T(RC[P :TE%(GB4'0X5J=96,#F9F MI%,EF5S4M6' X8'0\Q(_&@N'\R2BC.=C,'4C)WZ ]'O$;A3#ZW"GS:DK(JM9<8^S2'0\I_HV9<-@4;E!8?A\N=Z2MP/G:5]"B;,N4L2& MJMGQK(,4?9&;NN/L1'\2>64!(]EWO6("5;_UFNH!ZU,JU"& -Y?ZZ 4)#1"= M8'I@/8\<=B\;P\_IR;P^)$GC+-5J=IB/RD;J2 &'@R%PH 3MN!T23X> *TE. M^OEN#ZN(;$HIBL/Y1A%R_9I_ !GN@)V] ,$XA [B\O@NNA$4@08JFE*+UE40#JXQX'R@=:.OB@N>T$!1;(,WAV30; M7*@IF#:1T%H$8[[*AF4QG!I+YDI86?M%#MS4AY,:\81>U!ARRD'X'=O5Z2 6 M$^UK1*-W['!]G W4K.IR#59XAN7MI)K^QT9L3_@W)J@N'K>> (M1C,#1_>:8 MOB W*O'2<2R7_IPF(Z95C:HN0.:5CYJ8GSP,-+TI^D73V/.6:703+*56>2LO$! -2T="3Z:]\N$PY:7G1-H9.$#(D^_H[>K47UZQ M&_D-E5 "P@CE*0"G0;=*(>MAD:Z,>KX@J&S Z[62@@H&HS!3R&C(4,_9#-I" MB5":9\AMD7S:S<'UCNUX50$A:Y&B0W;'L$Q\1;SC&'.*#@D+K57S<,*X$;K2 M3<)3U/D'8_XP/)S"D1@6A8,QM3:@M0\TESB)=R^7^4HAQD) @P!8D6Q2\"6[@&8#)1=>Z" MA)NLO"8(.TU$\35TV@!6%%4ESCV.!=LH0=D;.%"1XW94%$*W?$0VNT!'-?OS*:<44,+KQ@UZI7P>XL[=2Q3 MKYF%TW%,;S4I,<;UT"/KSF7 BDJ#)':#TPPM4HO\I*)PI5!VXZ]=#Y0KS^8@ G M)!RA<3( M0--!Z%ND#E4CD(+:&X!5@L:2U*@9=,4("$;H*L.U)Q1+NRA*_0. MAD-:1.59GSX4ROS*FT-^<^'ME'#=7-P68BE*"D#@H4#NA)SI-7:WZQB/H[=M MUO(6=ME;%J4E9YDWA8E7W36*FQU;\^]$0=HX!578BRB6@CT[XNKHJC1XZ_N3 M_Q;(+Z\OE=$5XG.2E@ZTBIB0-7! C,'F(L3^C_):I>VG%K<6%:(0DK0\([>) ML[;XP#*\T^7'79!HIBQ;2)3I_M*RK*V>2V_"E(W/]F3R&7 >AW#C$I_5_N]& MT>0QM;^]B8#C#(#! RZL$/A-V&/EY3L\^PW,@B)*RIN7\]H=/6CHHE7MTTGS M1D*%;J,JKS+2#2"U&B$G#\8*YH(HGH M8@LP=U?>A)[R(AL! 6R*;[FI@_2 J'H)J!@YQBJ!"A*@GD0U?YM7J0)Q,12' M%3TEQBK#)*FD2R^K(W)PP!@M)'$O4_O\&I7(R>=+8IZ&R_&R,.?"O*2++#86 M;3 @):D_DG=K^%)=39M8@70$D73V;D37Z>5")G?4)H]*T:VO=Y/!-!=I100#I-]V$-V,J+ 6\HN@ MC:(:XJ8L58\8GXG. B)8IHSID\<+4 0DCL0%12E:15%_N3S>&%1>:2HEP(BF M4>W-4-U!-B.NC+#D/^ !/(-WF#U@1QS#"3:%0G:GG/@B!%'1 UT0<3*9;5NK MS(L:56M:$2AW-<([HA[+HVMT?9-*FL5#_*/58J'/!J.8E?=V0V!)%)]Q1:B] M6/#+X6#:%7PC6*IF=,L'3HW'(PE)\N Q2(O@F?_X> 9'<1(.,^R(9&BZUQG3 MM]]F@ ^XISU@=O -ACT +GHO)EG7;X8F>A4@ODUH[TW&UE5V)J3I^%5T M3>-F1W.%(5X AG(9I4?>%')"64;',,0#Y%"%@9*BC.IJ!M,9MC=[&+"@/5>8 MXLWXD=NIK8.M3;X3YY7L##\WU0C;[;AB!UWE!"-78&>*;G0FK^#O '56WW # M'B]S!A_D*$43;&)Q9/)(" KRP5?) T8. F09*6\$#+80J7RS+2/ZK'FLY2%, MGMBD"PJLT4;@'A,]N@2!(S,"$#5.&?@5[/%"JH4P,*E9XX8HF$SDN$/163J_ MI- 7D68R. \Y98@1U#WBB]]9DLJN,*5P'M,'VGM.VH>'#6,NFP=8Z7?-DT$S M-!M=]%"FEW&*EQ\)0TII+ZJ M#]4<@Q !EEUP@B 9%_,,6'G\Q:@,S2;:YWS8-F4[=1LGP4[D=4!;BR\UOP& M4!F"*@8'0C)I6GQ3TQP=9")@"5"X+^[)*; WXP5%]@*.P.*N\* '8/G@K/10 MO0A)%P/4R05+GFP=1A'IH.&5T"L]4[0"T"N5D3 Z*BL86-%%!I*T>I"@*9W7 M9:LL7#'**PN7ECD'Y9;M:OJ0#I]CT(@_ )1 0UYN]KI',IQ'I]R3GDL MFKM] %ZH'"JJZ?*3MO3SZ=*T<[I__:/U=.#\_^];A;FRD+,,J:8>H>^B@'J)8! MIT$\*1,/9L2M IZ)R-)&\[\\*2[!3D#=> \P'!O,2L#IG5NB Y[//8 _^QY@ M&0PM=N*]/Q M;:*.[ @_2I9_5D4/*OMEPN*.L!1UW[0F%2L9@4IY M<(F\TA5Y8*A.27%7I_=VQ@3:;B_A,4P%TY)V?4)1ZWDES<3O!Y7PDK]WVC>Q MY!:3YB/:%2+FG=RM>2:[A))C+"*&]9)Z/8)$%%Y3LB)RA,L?2IW+PBF&7NQ' M^#M"S+@24!R*D'4,4^DJ;\LL9AJH#LGMW+K#&;O#A4MO->F5-.X"^Q()*]4= M;+D7&"&B!,X#BH.0_5KQWW%'$X;@%PM"L;R>*0.(&L,*T[Z4'PR^(:N/#WI2 MF899DWSL^&2[6SZ@2466TQ2Q4SH_^?<,E7_".5QPG7JT(719W[\/RK;UI9%1 M6Z(4EXW.+'D((NEO6J24,$!"D9/:=-N5#MG:6R<96^D@QQ=[Y- 6@A^T4D8G M@S2-GA/$=%9D Q9@ZE9RR45@\L3SXV;TPHLG2XJ4D#+R5;KW:C=5E96"#&64 M3XQ=S!F\JI!*PP]SO"YL><\QK::*TH_+ M^Q48[#4,= V684Z]E&D\@?\P965C@^F:X"T3&HSE0..9MY(@1$/FZO9(#%B1 M^B0X*@R XYN?)/IL-"]36XWFY3RRYO60BM"'G=-SY?#PE7)R_G_[I\KA\<') MZ1$8.R?'=[<)_2=E$^I=Y?W^NYWW0C/%'#@DS'Y'/*J>$O+X? WE51 GB?">9LQO-EH6"9HB&A%$$3HF29&V_+' MH5)39D_<3,0RR]L<')ZX*:M-WS(S4C#84N9,NE ZM4..1.54;\H4SKL@I>C& MTZ*4G2XY0I2#G=WSD]--H9(#\N*EB;@<+6\;",$ \=-(:C]3M=62'CK34:/E MZ1;2NW1@%UR4%"&72CDI:N4C*EM4%R ?4&X(VE2X_4AJ,=6R=D3! M@U/2D1"]2Z?EORH/>PQ3P2,4@R)4QX4].HMBM_VDL-OH*I^.3_??'9Z=[Y_N M[REG.^_WSY23 V7_XZ?#\\_*V?[NI]/#\\-]X4?X=+://TJAL2@M//A%49RE M:79-FB0%1Y6)WFAU#:@ U]1[B_I2EXSEVL;$U MQVSWMMK=AMDR)/YYAP;Q: M\-X-8"?W4*JO5(P.TU?95<%?E1]>EQ7CD@'!A%XJP_>ESHN:VWAA5^12XF>I MU/E^UW9TU.MD65DYL53YNJ3RC=76$[^9;M?3S9D_:UU]YF_SAM7UKN_X=QIV M_F^V:3WSQ3JPV+LNZ,$7:W9MSUEHV%N*(M]:R7KRT2F51X4E>)_E-L?MP^G5 M-L\QH($DS?$(!1U]Q"ILQ+#HKS).*)I95OVI F<'5@ VKH "!@()'OR!)1%] MAQ$D!*AG!QE"&P$-@3?BJ8O<$#!$G4+E+\RE;U,JZ>;T%1;&^LR'REL^ M1KWXUR<9;L>7 /2"_'!-:\'O7.5)JMC2\:N*NF&=J=7@I_4BF%6\5UNDO/2Z M]".P+8Q3FU_?>-&-KK90\6U%P7\)_ ]>W7LZ]&=6]UYX<^N(4Y[=-6YID+E> M*+6E[K4YBBUUKSMU8U4"1U\#Q-ILY0.5#;.E>IC:PKK'YC @XU8\60MVOS$ M==VN:VWAN470=06HX9@=61WGWJ'Z!"2 7HF 9N+@4Q(![I;"5@Q0O^O/-Z^V M\-PBZ&.*@#JK>2L"YO>FIBN6Y^)KU%WO\:W&K3OB:;DC/*WKW=+J?+U0:DO> MZW,66_)>=_)>5)=X&&_CS!Z9<@85<>&5N091FB_U/Y1'+.(SM8!,6<6E+!A# MP9K-%:Y5#1QJPX+5JLKQR]"^9LF;#/_3#.B3Y6]X,;/T3:>,#JR# HM1\$U& M"LK,X2KRM5G(L.[G*>)?GT)!F46#8[TG%1QK=I6]_8.=3^_/SY1/'TZ.E;/] MX\.3TT90[%+!X%@F;S!\95B40_.@?.8X&TS+I5KP6 W]21VKU56.#H_WE;.= M@_WSS\WR!YMSG$-LGY6"& 1!]PL':SVI@[6[BR1\+7"D1G=-"%3._7R2'?4V M#.Z8[&BX:U)F L 0J@#0'$3KJV+4!Z1;D8+I+ 3/MC+^I=)7]?__?X=O# M\X6XZR-E/+B:>Y>,![_K:'=+>+@M?G[U:12>V[6U<=K_T4N"9*C(8/K;XY5OA<8"@G7V[NL16[P3[*>!:^%+BWA+=I\%I'A[_#YLJ@[A M[]>/M"REE_/X?U\PU\+[&<$9ORKA=$_YU#WK[G:!ZFR-^CI0(57L!]%X M[(R+IH:^YE0%\E@>L $OU),?*;\I2=#0-.,?SUGH&5NA]]QH\%>%WGK3X.V, M?2T(3]?T[MGN_VVD_'LX*!V27TOY]]O3]]A6.AMD_1N0$$,^H%HZ9V&/]YFR MEX4CK%'ZCV52?N_"CM8& M_(KP:(,X MT/N=MUL.]"MX])X%/%TY!FT0)_IPNK_E1+^"01]R7F!MQN?.BO;V#[:LZ%<0 M:0\+HR?W@D8;PX^L+2^:"Z%=*K;] 5N3'V)@ Q-5J/?8D('1EW+EI2@-.*1: M1TH3XR@6L(ZXP4;A @-YA8'-PH)8SYJ5A?KEC6*A(*'_8ZG*/!O+T_ZQY69S MX8/H%BE82Q\QZUGPIW_<#2>>#WLZ&.4#T7E\-EY,1+8O%)SWD.%CTR*>)@NS M/6A,F;&2F#*S;@KVN#%E]P3,!2.[S@[?'>^<+QHLJQL/'$?YH>&#%6D&C4[O MRW0+ROE%@ETW!J+-2(1I_R$;%92^4+71D?VE"S@,422>FKJ(0O&RAC"YI>4# MF!_ 1]B%FL:K$P$F0S]7 S3C#E&"3R<\S^X:VNH+T9KPHGFWR+ZYPW8US;Z' M45W36_FHMM&U#&.5M7C75":#;5?G<]7IT]<6[ M?ZV2\$;@^\9PHK2IGPXO$O%Y2T2__*FE\DH M7S<\VN+0>N#0FJ,)7I)1"[-&]]6)0,$MZFQ19W+++^>$EDZ]B1C3-'5[JVIN MR60S19=]%A_R^FWBN:R&L06@]8 @]8<2<[X(,ERY2_0 M#91:Y'-D[5U;<]LXLGZ?7X&CEYVMBF)1I&^I<;84Q_9QE1.[ M;&>R^S0%D9"$$PK0 * M[:\_ 'B52$*@)$^T2U7-5"P2?4%_C4;CRM_^,9^& MX 4QCBFYZ#CO>QV B$\#3,87G6_/U]VSSC\^_O++;__3[?[ST^,=^$S]:(J( M )<,08$"\(K%!'P/$/\!1HQ.P7?*?N 7V.U^U$27=+9@>#P1H-_K.ZMOV8>3 M?M#W'&?4/3[WW:YW&J#N6=\]ZSK^L7]^>GKF>7WX;OPA<(:GHY.AWT6GIW[7 M.SL)NNCH]?7U M_:O[GK+Q4;_77N21?M)&5#3'XLE9X/69B6=X_4ZR'D*"WNC\E\J;A/ MQP3-Y3_3(U79WFG/2\LJ3MC &Q,N(/$SWH%@7;&8(5Y-(U\?J==*3J_;<[I] MIP.@$ P/(X&N*9M^1B,8A>*B$Y$_(QCB$4:!A#9$"KRE H77 K(Q$E_A%/$9 M]-':RGW\!0!E<3R=428 *1&.(!]JA3D3FDSIZDI=8XSNJ ^%=CQ5GDL"7<,2 MU1$*!5>_NCF/]W,>=([L-8AX=PSA; ,MBI2Q)LF3YMH47- Y/S\_FBN?JM:C MTDUT^:[ZL^OTFXFM\S=[V?)7-Z7;A0YY>VJF0TJWI0Z5;:C.(]91ZM_<4@W- MB"/__9B^'/DT(H(MM'>M\<@JDO2']L6-Y$>,R8C?3($B3?9K8Q4"A)M(3XNK M/RID0D*HT/3J2?)L-L-D1.,'\I%RH0^I'SVB41JE2SU 16/5_WR S&GTD25!XE]-'A$H 0Q;;9YXK/&&I:<4G"95>F@?Z/K[\/PZ;UER1^%/YW5#] HZ;5 MER28X UJKZB?Y7N @XO.)96I[P,<2^W4\V^/MW4YCQ::%T]YIEQS=3[V9&XI M_P/=/%?N DT)%.EO1ZL$*ZPBCH)[\E'_O>KD"7%2Q$"XXAW6=,MFK21+'J9V M-%J7A>^H96C=N:?2T? QZ.QJ,O0)F1.N[U3NR1.K2D$Q6(+Q"K9F9$[[?7.K)!3P!6Y_PW$_ \0 MEFV^JS1E/6\SN&>]WOE6X+8XLCY%TRED"PD!'A,\DM4G8N#KJ4M,Q@_2ACY& MEN'5DI,:20C1EK^'+6(.<-4N8'Y%:L_18(6B'9[\G_ MMD!2MLGDKS8UQZ_H]8%1(HWAQXF$'6YE,G,C0!EIFTR.[7$+/? M81BA+P@J>S2P?36IV?Z>HR=.ENRO^ #-"!0YM1V$9S@,;<.7B8$)$+=W[)9C M50T@X->88YO"4J5A!YS+42DDP1V&0QQBM:B0O)=Y5T9""7Q$:B521O=/D&/^ M&0F(PVT@W5:RR1>\WHEG[PM=$.L"I#*@H$U:*@!0%(DI 1!D2@&M%?@UT:OU M'K6]9]@A?.J5N[_:UMY"<-3,A?I?C8Y>8*CL(/W[EKP@+AKTC.O9F'O),T=/ M/B_!I/B]BZ=6"FS?Z?97X'P *[=%DQ[4EIFY-SUWR^W+$K@V]JYKC=XH+EIS M,\9(V?3**:HUAH>863:[6ARC))]P_@L1WTBTV3T<;^/8K*?G4H72B?*#6VWH M5MF4S>!%VD;%SA%E3[+DFWE3$XEF)Y*IV/'F3E282\HTZ4I5NDJ7@^.L@_&& M4"ZH<-I'4&N)(BUU"7S MX0,'4KN#1V[20ZZ-//X$!5&(9.@)0_JJUL:E=2_E,!L+A<7 %_@%B\6.>\]= MJV7V4<_3B\P;^6B#X)GHK*-GJK7VW%AO[=L@U?S@KU6X7XU&2!D(?8$B8@I@ M*!#_"WOB+10P^^"QIY?+-XR3F5H@U0MHQ0X]=:6?J?H309GU*EV1P#B#XIPX MY02K0-U.(S>9#RF3&6<^G%.W/&HN\&CC[$:A^GE'67C8*"3:,C.'MS-/;QBI M16FY>US"KX7QZ0Y!;MM>DK+FJ'3NE+/PF+!U5FT2BY8HC&&HWW/+LS,Q>1LC M4%SSKY"IPR,OJ%' J:$UQI>^XSF]&O-W0<:KQ<'D.I)Y(?HBV4ZCJ7[T !39J6-'8[,R\I#ZI2TA;9MTNFLT)B['<\M#S=2!FWL M>-*Z-PI;JT3F '3L.:6EUMSD+0P@MU)S,L;2U>*=.;;CBA4J&$"4 VAAR5JW9<'1=36P.06>>4S'G4<+B$(M2 M>_[A; 6')#\ LAM -AL3KN5BAN?<U)V)1&"?9H5-%:.S- MW9Y3G@Y,N13':>VV?I,^O9[7Q9C4<;(V&E71ME<$8.YKAV[#FED6<=-"U, MVRHM>Q\)=3FINKKXFK)7R()+2@2#?M(D-HK7ZRO?(U)X3*(:TP@\3$,'RC72F5[0+?WD]WJ8?:F4\^Q#>++ M&PYJ"LGT:.DFBTP_D"KXKGB*[>![:6P8C>2(6BVL;3 EUHBCV1_./*#VGO(:?, $%+JTV?9-A3RVU<,H639Y(8\'QF*&QNN=JN+A!=,S@;-+L ,3&W(U!T%/[H&SPS)\NR0/#!<@D M'@*@ 9<'1H/(UV<#GA![P7[#?5([D&/V!-?KE_8H-/2$5+8^;9!*/WB%9CH( M OTO#&_)B+*I5G!+#S#R-*,M6WYI];$:[5P(*$@YH*J9KCM4MB7 MNS-6!_+ M*&^'M=UYLP/T<3L;(2:MDKS9Z%1C8ZYFH$^\?FDUIQKH5$SVNM5G")\$]7]\ M@I):77F "-?Z7,W5GY;7]9M9F(T(GMT&3(8\/( M//HY<\LK<.N0:N-0R&CI1A'2BI,Y*IY[_=):T'K0#F%PV=;YI;.JU/U,YY^; M]'E;2S&B?=SS^J75H;5H+U]YJTJ#6/:A7ZR%ZCM2GR5%P> %,3A6F^RBJ;89 M_R8),+GB D_U29G\=I E7/F-VD2"@MUYS\Y5,KN:X_5+2T<6KI9JV4W4! 4] M@5)4K2'EJBY=6K+BGAPD"A_6:#=K>6@FS M"ZJ-JHU=T"8<%@:"N7:)[VG]#AY7C^?5=!;2!4+)%)C^F,%PE4J-K^/O="H' MT(.S?Z/@ 3%,93F^4S=\(\W,OJGV1VW2$Q=<+U4WG4R,OPO1'9;HWX%>43S;$D2/G!!)6K<>A M>2NO96%NCL>>6_[00PTJK6PGSW!N.Y,0%S6W@A.G?(!$T[7(I/''!76MFQTV M7"4S3LL492)DU'C!O.EZUD_5T!PKSSRW-".[ MY%!=L*RRRCEBI>/=?QPD:H-,;Y IKG@ I2 0%"3*_XT7+F1+W[\#E!7D@JP6 MK8S/!7_9U,_LT#_WW(J3F<5PTD+KK\RMZ$3<]IQ9):FQ]SSI.14'DU8G3F). M;0>AT9$_ P-C'WOBN.5%JAI VMC=5AKV,M>,CBI+- ID6\HP!KV3ON>6TM4Z M?-4UHYE4U?75.L(A4.X*9SL47<^U#9NM!$?/94:^NN^6C"^E'<;V^V4K*,U] MF.>4#Z$ML0$)GY8#T&S;[.\<*%&9NZ\SIWS.-F:&T6AVT8D+8H&F'2 T MD_C)E!*),UO*>>>HMNHZPR^M!@_4K2UC7?33(B^2W'4[4&?CDVTEO\N: MHORK/K56VKFIXPA/3O]?;ME@_DKV_ZJRTH;6_*#HA@RKY N,66FN\[9@VL)2530+!NNHOKGCX M4H2%62XC+N@4L>R^#QF\'U'<<_$)GO$O:#I$K&B!6-G8 -;D38)6P\H&= HQ ML:AK:5/ %RA_]GO]GKF2Z^GVH7;K+HYY1G/Q*:3^CUIO;L#A#2LL4BD[;M2# M,/Q*R9LT[3K6^]# !QS#J[D?1H$>H&("S7WX?G'S@^U)VD.R$6Q.<:@KO M0SUN?L>_RP?2J;C,HM^;ZU%3>!_J,1@CXB\^41*LPZ)<<"_T;Y+]7..7./G9 M33)58+>G.=-EQ)B"35:5\+A3A\'_1IS SOJG?M!_$1MR"9CFUJ6 M/T[X-*%,/",VE>G,'25C]6?AXWZU^&_":D^Q?X;SA7)..E-7B*$YG,JN0(D8 M+O0X7X[ODW.QR;[C6J-LP.FGNT3V5>_[JL^,#Y:^76F976W%51LN5;?R9-\E MG&$!0_5T,%7]3J,XL;&,/1TGW" 2'SW(#H@_2+%K)C2,-'O1YE 82C]*%)6A M81#(48L*07HGC;EZEL3[4,]T"?>65%T=$J%G*G,%+#VV9CIT_>+P%ISW-1][ M4I/D,M)57".XQC'6$^Z#4R2?>VR>=3 M).4,UV"]5&8?8&TV.9FN["8+O>E\Y9P^7$ M"LI]\)?LK%W67%5<7C[3EZT4J22/(8$47_X0KT[5YT7;6/2>MCS9:> 8VCAAOA^M))+U?K>>\NY7[(::A".%&;<=7Y]/1446U#74NYKX.# FC90I=. M:;Z1 +'"0ST)=44$7K?'=B-V/WMZY0[#H>S*Q4)OF/$1$S)ZJ$L&D@_\U-?8 M@G)?';Y1ZGM/=*J;[$Q-]JGN.+U>)V-/>_C!;!;B^**JIQGR\0C[Z9SN$PVU ML'7;31IPV(=.\UZ*@^HFPSL5W/4T]OWH&X^GIB\A8POY3H-V/[J=SB2"*-#O MZC?S;<[Q9WN%/KS _0F:PH^__#]02P,$% @ 28$%4PJJ%1T])0 2GT! M !4 !C9VYX+3(P,C$P-S T7V-A;"YX;6SM?5ES7+F1[KM_A6[/ZX6%?7'8 MGM#2\NT(=5.A93SS5($E(9[I8I7F5)&2YM??Q&%QIZA:@*I#M=L.B4OIG _( M#XG,1"+SK__^Y63ZY SZ13>?_>TG]F?ZTQ.8Q7GJ9A__]M.']Z^(_>G?__ZG M/_WU_Q#RG\_?OG[RSV;_N_:)ZX9"P3Y:(@TB0@E@M+6%31&6.E MY/[_?OQ+8L%D'2(!8R*15B?B!"B2O18F*6#:B>&ATV[V^U_*'\$OX D.;K88 MOOW;3\?+Y:>_/'WZ^?/G/W\)_?3/\_[C4TZI>'KQZ9]6'_]RY_.?Q?!IYIQ[ M.OSV\J.+[KX/XF/9T__\]?6[> PGGG2SQ=+/8GG!HOO+8OCAZWGTRV'.OXOK MR3<_4;XC%Q\CY4>$<2+8G[\LTD]__].3)^?3T<^G\!;RD_+WA[>_W'AEG'^< MP1?\Z^1I^?73%_/98C[M4I'MNR7^682]F.>C3] /@!>O\?O5LPN\JM#A MRQ)F"G*TRH@4.:1!M]HLPR'?U]*=E&I_" M=+FX^,DPL82RE9C_[5X8Y[.Y_9BNGO0*US1.[+*;G:)*N)K*YY#G/9Q_[KW_ M HM?N]F\[Y9??YDMH8?%\MDLW7S*S_]SBK_^%9;'<_S-&7YDD,^$R1R$84 $ M:$-0%R3BI042N6,Q:1=1/S29L3T.\J8\KO'[61^?S/L$/>K>GYY\AJ(I5VKX M?,2^CW>(?U,)K#[Q='%ZG/3[VQ;'O/\)BDKRFP:-AALM+$DFI(X%J1[3E7%H7#.>VR0#O0[.A M$FW+\EWI<)OK.T]_-:*_@RG^ZN,_<+'U?HH*^EDZZ68=PL/QGL%J+4Y2M&AU M2S37L\ME$7H<;*8X=LHI3H-EH8VALQZ^4:G$VF1I(*)J]/E'CZ-[T\^+HM8< M]3UD3WS@JBC_2)R*AG"$%:P."M$UX<@U$.L00>S)]*K-@VWGNIZ!=/+)=WVQ MT(XRFG1^]K$+4WBV6,!R\?.7.#TM<81_S.?I=3JB.C#H.A-F(?$P)^>AY M'A1;E-XI''<;LVD3F.L01CY6S=%.8-4XA3LAX&..4:V]A#.8SC\5N!\ M@-S6)!K&B.1)D !(\\"YAA"9#T:WLDB^#6L=SJC'RIEZ JGLF.W'\Z0Z&*F, M)S$'(!(]#/0V//H=/F7)J%%)M&'

(3M9RC')6'0)+U:+Q&84FA&HF:2QT% M+U;(89RCP\9?QLK=V\M^5YE66^RO<#*ZC[,7IWT/L_CU?>]G"Q_+3/W#=[." MZWS"<*HFR@4KJ4*/B3%/9*"X8UD[;%M<@4LITC8FQ@8@-W1-_D7&AARHN"-= M#/1\,GZ;S^87"VAB91;:,-P4E<*19XBX1^I @HO!*U#2Y3:^\D.HQN08/18: M5I-RO;#D\ACZZS#.@5V% '343&G"A-&HL $'*[@GE$-,(GL371OCY6%<&_I8 M_^)>74DW"?8DX(X'?*,54A3;(!(;DB+"\.AMSE+K-K'B;P9[MO$]SV!V"A=$ MZ'&+^6>W/'YQNECB5/>7'G)QF/'_J6PW0(6TWDAB5;&)%ONW'5/V\JLVF)Y,5\LCW()KBQ08;R#_JR+L'@WGZ:)U%11 M<(9PGA.1BE)B#8WXE:*JV"W)IB8<^C:F4070:W&ED@AN4>*O3V_/T6O\OF[^ MS8OYR:<>CE'5=V>KK:AF(LY]CV^7D?/=P51*S1FVS'M>]NS,=_CQ:=G7%WX* M[R">XG[>P>)9^N_3\\WZ-T"FH*YX,^\'UB^7?1=.E^5?O9^_\>B&+"?9JL2R M-L0I@9Z&*0J%2T=$ F&C#C30-LNV\<"J&*7WP/LPZ\%/N_^%]/]PR95(\\IY M.YI=0]IW"_S5R^$D] WTW3Q=0)[@$F7*4T%<$F@_24&)E_@M6MQ.JX"6MH"] M3OBN(QK3ACRFU7*O\7MH1M5UVNX9S> ^=#,_BYV?ONY\Z*;H1KSR7?\??GH* M1Y_*W+Z%./6+19>[\PS2*R$4$^C9/':OYOU+]$N*-NZ&3V1T4\I@I?,R&IR7J#.109837T@DI1QP+1LI=&[DK'X3U*[CO9FTJCG#:7:6 MQ&QPA#I8$K11)++(C72,FQCVG<1_6-NP%A]N+YOMYWTOV\$Z6B- \DZ!P.TK M,2*CB<0YJD@R*7 E@_>QS7+8$?B8CB%;T6N?LAT-(6FY1<<911_&HE$5(W[E MG"-!4!^\T52%_5LA!XPZ#$;L-\^/G\W2\-WTUM9\R3\G(_J': ;(X%@[!GSV=K3SWTW(E^]TQP'+G*\TW'U;WW.0! MH)5.22[B.D6LL_1N.8^_'\^G2/[%>1K#)/-@.(J(9!70+_;*D$!E).@5RQ"# M8K91SO7WD.VJ-Z\]?Y*5$^A@HUVI!2L)&4"\"J7, ,U"I)Q$:).^< W$F/;F MJJRXK7"VG?AZE]SNCD<(I4"7*W:YI TR]#.<1@5J4'-Q&T6RJ["B&EG3(V3&PPI(H<3 R:D>L3)QD%[RB(!27;=+7ZZNY9RD-87<_?>.[ M],OLA?_4+?T4-_R3^6QX'9JM0N;A4CV-.-J +B\.'V4:$M4A&IE2FYMZW\P5KZ;@;I9]_/NMG'Q;,83T_*K$-Z";F+Y;JAE]1'@]Y- MC!:7J;%H>**%9Y@67MEHM&F3TOQ];&/2GI4)4UDPU0AS#< #& M^H1SX"Q!%P7_$%3R6!)AE6BC;C8#.J8<^=JZIZ'(JO'J#^A[.[8[S,^?3 M9:FF57(])NA.0I8J$64H8DJ>$<]2(F!S%J"5 ],F_^IA7&/*;J_,FHH"J7E6 M>;%=W@'D.M411;V,: M;K9/N 4V'"?&D,NFJ"RQVGN2&)<1.+7*-MIOAO?7&<5Y.'HY<4%J4>X9Z6P% M#B9D])710Z*@'4\@=$IM/),;,,9DEF\AY3O;X=937(VKK^>SC^^A/[E^80CM M-0X.K3FJRH6AX!&(9PK7D%&::R^<:5-AZAXP8[*K*TA\U^FN:.24*UW+KV^F M?E:NDA4]_&D56I^ ,31G[HEQ%$<8@R3!"$T,]SH6.MK0YNCE(51C,HLK,*&: M .H7FWL-?@%ORS0>Y0^+\T(MDZPY@.2&!' 466K*40]%E@9O:$F=X=#&J'D0 MUIBLW@JDJ">">KJN)K5??HIOA"%^CVYUNEV0J"BCSY$RPFCB=,I%@T&X&B(2Q:*ARP6G? MYF#J85SK4$ _'@I4%$(U8KQ<^=J7-\^O\,B0=1JTCE6EGE-2)$3/24C9QV1E MS(TR5+^-:1U"F,=#B$J37S?'9X5A/HLK1Z7<7:*:!F*88T0ZCZ"XRX11:S,$ M"8$W*K)T'YQU*& ?#P5VG_+*<8P+]S0D+T46GD0.GDC%,[%6!F(#Y>B;!M1( MC4[KOAT!V")NYQ>EIESYJUC<9WY:?+!GRQ>^[[^BX35$D"92:73*<))U*!?T MF)?$98J>.=2^]3S73#[XY+NT*K"&]M U?^!BA%:$["%RHC231 9="KIE3K1W7IOD M?9)M(G%K@!M?A*8&+VI+I=[QW56B["4.95T>]BN78G$^92F+;8G><;E+>I M#3ON8JEE)+WQ7XL.OA@A%9GJI"EQ29>L(%R3WN9$LH7@<8R @VQJ'MW$,R9W M;$<^?,LZVD$ -2WF_A32/2.,TE 5T"<$Y\HM)*M+:$R3Y /+#(UZT&W.J[\) M:4R.57U*5!!#;59W)N=E):$+9)FK*"B-)'-6&HWHDN].,]'&\B!HLI2W41OK MH!N37U69*]6%TR@#X@XFYZ7W7*%($1F1^"7Q4BG" 0P#I7B(C2J9/8AK3*Y8 M9:I4%$@+DWNB0P*.7@4)G@4<(%K_UD)&%R-+AQX 1VNHM:W=P(60*:10'"29 MRFD3\X$XKAD:>:C#M4"/)K>I+K.=)74 XWHCR3]P$76;&6^M[JX=.VJ0E&L; M2*#>E6N6C#AC@-#H(N#"=:)1J.F[T$9J8>_$B[KR:)<1R>*U)1%]1WQZZMY_V$6H2_W!8?J M'(OAINGU1(88/$?K#8A (Z!H.T-LU))H9K/57 C^[:<.4NEI':V#M18L<9KYMD=EV/ M73&1!FJS,8%X%4MA*ZI(L$P3;H-VR>8@Y]_$-*8#CFJ&1QT)'*)#A5\< MOYK./^]<3>G^AS;L1G$_\$K5E4H. [[@33\_Z_!IS[]^6)2%?G[KJ+2EBINL#[&"G>=(D :FF25A*!??>EX MO_Q:LLWFTRD,1?86I3?QU:4L%:F'Z#,1-E(BK0)BD\I$"4[1[HX^0IOH\19@ MQ^0C-V+>/;>GFHJTWGF^_SJ\_?W\6?R?TZYT=+M"E(W.@:>$*E6BM:Y*%7"! M #VJZZ3+(9MM$SYZ"-6H^A?LBTZUI-2.-]^\+S@)PH%5:*GS) V1,JERQYV1 M(*7/*H0D6*."%&MC'%5%_T-QJHX$JS'L&].PZKQQ8QJ4",8%DXA(KB1=!U9: MNEMBE)%*6:,$:Y-2LC[&FC;"+XO%:2E_>93?'?L>%A_0(NO134)1=6=_X9Z%.>]2I!'F>DL/6H/KD5IIZ")I-E 9\H^;F#^-Z#%9*=?+5DU1M]KR:]^=-C#_B-\7G17C]REF^ M"#S>,QLR,04JFE+B@!&9#)I6TC@2N!#,(_=3:E/0;R?8C\&::<2]/M"R08+XA R\L"54F[MJ;SM[%M> CQ M(Y&LEL1:F\J7Y[77F4Z-#HHAOZ$TCF&XF=MRK>JXL-DX@#YSDX MZCE<)# M(HB4(S3&I,,O&=\7R^Z!-Z9,EH-Q:U>QM674K4O$$\C)Q"@]@5AJ]RB'L\#0 M#)+6HTD$E$*C2O[KH'L,MN5>"+6+U*KQZ5??_PY#[Z*KV@1O5PW&+W;PG[^L MXD7#4?W[8S][#R>?YKWOO_YR\LEW_>JH M>"8&!(%AG70\Z:^(A[>P:>K);2 MR-@F6%-O#!MFVOP0W#P0 QIJQ#MYBCA#Z)Q!9BJ1:&/IN8/;OQ.6$2NSM%'H M9&6;>LAKP=LPK^>'X%U]N=5TN:_UZ'4LQYAB(F@]2F2UY24P;HE" %11JTRC MFS<;]T;>5[&Y/3%D>S&T-^"O9[\93Y-6Z$O(4&HHNVR)XX83"@8@>"$ ]FAN MW4(WI@IUAS;?MQ5:0SJMBCM_QIX-U]^*X M?(EKZ:0X+B4P_O!1#)N R0IRR.7R;"DD#C@X4!$5>.31PW ULPEM]S3 M:*Z M],?2K6/DSLX+HV1G3]#'P7&5]1D6./%+N*S'A.C[C^5TR6G!GQ_+_^_.CB=IGL MB:(T&F$I 8K47(62M M=;0!1VR-1Y\&E,"OJ",""$^@2-[*N[L>S%F'V=7%U3X2I()D]A$'? M FZEIS!1P0*2U:(\@RGYY)PXQBR!8!FG6G)IVA36^"ZTM;BSKQNN!P]_;B.O M>AUW+K,VRLVFFW>8DBAC*M5!ANJSCG(<+E=$H[%NP7D/L@V!'@"U%G5^M-!Y M+2$U5#X7]GL9JE66^F1*,G"I9>NT(D'0B+BTSEQS$:%-C8X'8:W%'/.#,:>> MH*K67H!AWF^8\"^[Q;GMA4[AFQY.NM.3Q76>RS/3C2KP[H%WK789G\PMNU!M!4+#7WJ(78#Q D#R)2Q2!*$A$YB",1'B"0& M5KJDNHC6?A-R74>Q%F7EO993[#W3#"91K$9?L\&JDVMB2#,Z5* M^V\T]4%J$FGB4E-P/+?)X=\(YEKIH3]8H+J='!M:3:2Y"'4??,W./NW 34CV$:BT:_6#!ZVI2JE?#&D=]JQG: M6[3/^BXN(:V:I=W\P;5/OH&^FZ>[2V.E=%'[#L>!;_T2?LX9XG)24GAXHI2X M$ 3N],P2QZPF(F>6:)(TNT;5L/!;/):O[BO=5.($@/7,F$IYQ7Y0J)9P0F7&'5$;X MQ&/F;=RL;,GZ:XD.$3]&VE"-,D5C0(3@E?91M MR@1L6W_FL%>T'C])=R5!-9*>#_$H7Q_VT6RG"9Z 1W%?WN>-XOWT-_@@-^/9]]+%]>/UV5SC/AP1%70HE2H!7K M@S#$"$@90J+*R^]M;UN^NP:IOR]&2Z6S-B,OO2KK+7F"W^'R+#GG&C4PA4L(3.@G2,$&< M2Z4HN_2X+T),K%%.XX9(][7C3E+BSDCFB3<45;-2G#A?E+3)/MA@+/>-NJNO MB7 ,YMQ>^+;M)KN1")N9=+>F(L;3DR(G2/_HYXO%AUF_*GA4,BZ>%S51RL], MI&;X7PEH&I%+TQ9!@L<=!2")H*E&A['-A8EALAUZ!# MY#0KM%<8KC89T)4*$JU::1*N1$C.V''Q]@;\454X?Q3$W5[ZA[16[UE]4#[R MRG?]$ U8X(@.9,G6PK8'*[?)-%:R@&\1^!:];X*^: 8["9:!Q554?"Q<-R5' M-FC !64-R^BG"^[:7(K?!NWNUTX>>N=YG933^>GB_KW%?J) MY5$9X FGS8J2QZ[0\^6!R)(F&A7/8-K8RW7',2:KNCF'[]Z!.1@E*MZFVF4, MKV&Q*$5&+\8RB3'EY' C$S+XTE_6XL3B=/H83+#2TM0H,%9W'&.RR!\9K7>B MQ)YH?3_R:V;;D,]OO$M!"$>,+05H?*EL)9DF1NB47,K"I39!G@K@QZ46;L\L M3JPU5@2BC8UH^#I6CMS+A9L0,O=.:/\8M,2#<_[X]L)=^-]6A^S"GY'LE+=W M^]M#8E27(P]!> 3T!04P$J+-1 "W@=H 3K>I'-IT6(]]'QW/DJC)GT/&$LYS M6KNSRU[<+W$(BX,=A.T 9P\1@UJ3U>B8[)LG"=&Z$M=B)!4E+<&@]2DC*NED MF,XI.UP](SH,VC"5Z^&7K$15EGA>0O_^\_R_P/<7X6H<+0S?7P9])HHS8Y@! M7*J^1 %+)HVPDD0K*--)!U0Y:Z5YU<4U)FNF"?%NE#4]H$SWE!UU-8;2=JN; M'8'4LR9ZZ)M.4/(SAQ(@$!FP'M+9TB;U/\:3?<8S(QFO+T &*ND_JZ MV=JZ7$WGJ^O5_+2_M;A"4L9%-'4\+YU&G#+$EXH@PB8' 61V,C50F-\%-H9$ MK+%JS+I2/0 O+Q&O!H!&V:T!,%3NT1E'- ^A],F4Q'J?B:7!!!:5\7R]HN-U M<8WI[MW(6%E7IH<@Y07B",H:)S)' MUD"]/0QJPVYL?R3:591FPW#1M9JF[^(QI-,IS/.U'^X0^EGWT;N'<;8:1*60 MS&7WC5*X#+1"BXF7'+B(S/*>$J^M+V48+1/"!1]:M2>^0K%[K;W5L][ZS\AI MZ#L_7>!SC_);6$!_5JKE&&2GE8FD@%A0I>+B,2H3EZVDVF?K&X67OH]M3%&3 MK;EQMW9>59%4+,NXPO7/>?][Z>,U+[UI;@)+*45GP1-=+H-(AOMM8(R1C&B- MYN!,H[ST-<"-*711GRR5A%*?+:^Z6;= /5UJBMX"EB-7'"U^$DRYCX0/(24_ M@60'*3/A(Q>M^O=]%]R8P@OUV5))* UME:'DX^+5*9I9\"NB/3D]&7[TQG\= MBM>&:?=Q>,7B V[L_O+N=TV "*EE!)5\ X.8++UO4K> M7J+9 M*QF-05!%G)*EX8OEQ#H-:("+&)W#/QI5@5X7X ](S%+9KGR29HV\?_M,8_)VFK"P3MW7OW>B5B6ROO/<[10(W542(+&A2 REOA,CD!TCM1X'12(-E5Y-P0Z)J-P M5+3;1I"'85LY&ILD*AC:N*4&0FGH4VXS!JD-T!KDJEC46M=BFAI(I-$C9QQ3B(3B4:(T3;JB;LITC$=+HV.<1N+ M\C"$Z\Y@$G/F28(IK7>"3>< M?UU!]32!I($P;SP: "H1'U$9.QDDS2F9( [+NAMPUZ&>^2-2;WNA-CV^O-FN M:J?CROL?5>-X<@V0E0)Q)8J[1/F=E?+L-U];(L71<*-$<26ACD, MB:.CT-FQ-FOQ85R[*J8'GGZ]G^*JZ_3]X1EE@W56>-2C%-<059[8&!()0%5, MN+J$;W/R4 '\F,)P%1EX6U7M6\S5-L[-@-\)V&CI4C!&$"201,REY0>'1,#Z M0)T!G,HQ4'/,$;G1L'(GX1Z(D!>A'.=H\E3ZDJ2$;K7PEB#&A*P1DG/J+=5M M[F-O!7=,D;G1T&\;41Z2=4,X!ZW7X *W1'&!SHYF&>W,4K.46V>D=RKZT?!N M;!&Z<3%O8W$>D'M#8,=%H:A6FD"2EDCI*+'49Q*S$0D<.N%T#%OO&"-UHV+> MQL(\)/$&!YLJ9W N2$X1[50H"IJ%3$14+@:.;K=K4YAP.[QCBMB-BWB;"O- MQ+L9WLG!H(;6LC3TP#GR#@@J;$.QN M5Y5YKFO$"4V"2BU5J?9KBO9+Q#&]3AJH^?OOM-M/YQJ]8\O )R_ M:P+:1^^-(12T646HLDVH7V0,"61FNHT#=!O)[F7K+IYW>?OS*-]ZR81SG:(" M2E)TJ$-+*SS+4B(A9%Q50C#5J [].NC&M-'MQ).[%>$JBZ9BK<,;(%[,IT43 M]GYZ=$%+>V%)5"E])+UEQ"=T,[R37GEM(@UM&K!O M!7=4FUPC7K627@.B721]E"ORI7RAS&C#L>P9D92BH^B2(Y(KD"($B@]J3*1K M2"N)9J0R@=4 C-@_]9SF7("B5!]'"EPC'J8FW9I[TZN+6KA$!,%,]0!)9)!Z8VC/0&G.),I)"K;1-*V M@CM2E5R?8*U$V#1JAE^6MC6P0(SS643\PR/G^4/QHM*[92E.^@I2&4WYYK3< MZWTQ[S_->_P-_LNW^-=R7AK7^]G7J^*FJ]_,^\M7O.GG9]T"G[U30MT!\=:( M_8UENBMY6)?OOWQM0;$J>XP^WBH%=#Y;3*+GJ70-((Z6>V$9$O$BH):1N,JB MIXJS:__TTW)7VT/(;^\D>SC[^@NEJ\@3Z65KB)2Y.2="0*7[2/ M9L0"#LHX%IAQ&?]K$Y;<%?F8;(A&G+RM]_D@=.BPT*4]= MB;X%1M%A44-I=$&L%Y[&3!5-;6Y,;H9S5";&B/BWI23WRK9GR]O;W8T/3VSD MH+)"0YP&M)1RQ"$X9TJ&;0X^^&3S/O>-C<"/*5UP1+2L*?*] MM"8W/@0?A2.4EO!*%D"\-X) D$ZD#,;3PY'S-MHQI1".B(T["77?&_,[6"ZG M<([3@0P0A"=,EFL'B@OB,C6$HT2D<-YPV2:@MCG6,>40CHAZ.PATK\0;W-)G ML_0:GS:]YL1.1.E!8VT@.!NJ)!VAIDX@2,I)ZYP],*,/1L%OH1Y37N&(R%A% MR/NEY;'OX;E?E ;0)R4U;96E5FH3XC]X#C/(W?+"WP*7@LI.EM1Y^ZX6_G9Z$+I9\EY/'$EX* $HEK'$M$ANQ(R%P2 9+R$#@SO$V>[X9 =U6OWWC= MG??@)M'%B00FF+4"#9M.,%.Z9W.MB0.F<)8X9Q%5NX0VYSQ; A[3K?N# M4["R?-?G;(DNWVV;;ED.3IF2=& DA(W%U%:DB6+/6O/PFR;F*158OD LEB5<=,N2[4 M6A\R/P"9B43FO__OS^=GWWS"R70X'OWM6_$7_NTW.$KC/!R]_]NW?[S[D?EO M__=__-N__?O_P]A_??_FEV]>C=/%.8YFW[R<(,PP?_/G M*L]$,BDXY[66\/^^_VL6T14;$T/G$M/>9A84&E; *I<-"AO4_*%GP]$__UJ_ M1)CB-S2XT73^X]^^_3";??SK=]_]^>>??_D<)V=_&4_>?R*[[[KU]_>9L^X#FPX6@Z@U&Z>0&]/L^N M_^%M-.:[Q1_IH]/A7Z?S?__+.,%LKIX'A_#-VD_4G]C5QUC]%1.2*?&7S]/\ M[7_\VS??+"0'DS09G^$;+-]\XW,8]BG@.X_N >W\0>POWGI6 ME];Q-1?.(.+9_+>#BRE[#_!Q&<:>T,@^ $2U9&)W4I9+(UFB7+6/;/AJ;J&_7X_'R\&/%\/9[^/)U>8![84CA9])X9+J@^D/G\F^ M'DX),'JT1DC-! 3#M*4O@$(PDH8B&2BP(-JM))M /6U"M=7<7:JIG:E6:?\] M22737/A(W@0LE#&!T?OY7OW]EYN/_ Y?ZJ]>5#'=GB\_CQ;#',B0"B@M2&I( M7R (DEH.#!571AME1)1M:-CG,$Z;M5L;[H)TXS7K5S%WJF);465!]H),V,B?/ M;,R.QI]D]4XRL\5H"S40RQLM9P]B>[KDV4(W=]EC=V7/B_Q_+Z:SNC9.WXU? MY#P7/IS]#D-:&U_"Q^$,SN9(X_)*^P9)5-/A#-_BY-,PX6)4;[ &B>9/64I(YT-Z"=,/=:"TLML$*O%J!1!&&0,MZM$3TWS!Z!6M_&V\D2[H3IM_O>OG M+H?\KARZ!E8!#:3)",1>9KF03.=,OC89CBQH88S(QEG;QD#["L9ILV)[B=]5 M?]A5_;_AC,8^/L=?QM/IP'!7 O#(4D%@6G%@H#*R3*XO#:OP7-JL%5_!.&WU M;R_Q%9'/G0/AKV7GW ![H\1">)L^"_,?RHN)+,#9$*-^^7% M9$)VX])@@I?D#[O$%'K%=-"%UFG@+')KG I2071-2-WG*$Z;R ?3]PKR[GSV ML YMG8#+ [UQ=N9#?OWR9Q+G6SC#U^5FIEZ/3%JE$GC+',\T+:6(S*>H&00; M>+;9%:'WNCSO/*33IO5Q,&$%QW<^]+AO9(0;A^]'B\F9OKR; /GG:3[&49[_ M=+8TXNMA69>MKEN.1%'(K@99Y5Q8%-PK 9"EM'LG^/;C>;KLWA,'5E![YP.1 M=2?:/"2A!.9J"1$N%1+S@!6F#T%BI.\/F%?02S:-U,6AC9EE#H[I)#D#6ZJ' MXT"JZ&3VY2#9-#MDU+V#>(:#S$V6,2J6@K5D$Z!FGHP!\M^U+$%H(<"WS::; MX^AQ0;B5#-T\3VP'8:Y*_/EFD=KZUW0VGF+^V[>SR07>_'(\FN'GV0]G\Q?^ M[=LIOJ_?],:'!;WJLC4>U1CSB\_#Z8#V3.-#\2QFVD2UL30B3GMJ%CS(:(T- MJ8V+<"^L'MER3YKZ/>S90MWKF+.SV!MDD"UA>C7?8CN!&BPESO?*B96P^C0E MUJ7_W\.$W=4W;B7[O1'#<9&4*$AFDJ(]T6FRN3%S)@%0&5ER"FWBK'LDQ%?W M*P[/ATU$WC;%]->YX3U02M$^F9$Y&6B(B2.+GMRP'(OW15I0NDT^PQTH^_E#1^J.V+>3;(,-\S7'S)3AK8PTI9;+[(U3/A)PE[ZJ-K.HV&*4+T"BAX!Y8 MIT"$_N3>8!5X@S,:'^8?8#(:CMY/+U%EJ[@0QC!;:*'34 0+*246N1)!)B=< MHV#<:CRG0(,>)-T@E[Q#(/H2J% &.B-$6U62"Z M0CP%EK31Q]K,\'__;DE6Y%/_<[O;ES_"<#+/0?H587HQF5M2TQ?3*IL/IJSI9SJ;;7-1L@F/G.YWMI;-T M_1.*3LES+#XX^@X HN7*E*PL6:Q1#IH@VFTQNG[^ L:+E3!>CZY?31_X;3R: M?(7D)B@4C2AR\P,\Q7$-Z-9S6 MR!0A>!&GLPFDV?RJ6\QD@4AG(UD@Y-2 ])$5@<(GR8,W;3*L'H2V_P7]< R\ MLQ'TJK<&[L2OM.5]^14F_\39CQ>C/'TQ>PF3R1>2PB(354G(*9&WPVU.M#]E M,G&U1^9MR;9 C*F1O? L/V3JF=5CMOIH8&#\>(3;0PUU'IYXGMSWOL*X^SF MIP&:D )H8(9V*:9)'(S\8L,BS2*+OCAE3)MEJ"/"4R-.$\TT<%&6CEM?CD?S ML<^%LT(V@RP=K:^>0%JD5==J6G6!O!2=J^)4HB?ZBA&5TR@SHC NW@"MN@E[YV,8K M[8;O4%DQ!^+..@;WI\.6J^SMP.E=O)>' 5W -LVXV0CN83)Q6NA]';6:*>W@ M3#.68P2#K*"T3&M,+"2R>WCV "6$[%SC>/?A&/9 :L_1$6P37;4DUL^CCQ=D MTU8)B,MSQ0(@C12!127GU^,T\YF^DU9;(96R.;8Y^K\'U &]W/[5N8XX.^JB M08A_%31Y#4U(82RR%" RC275O!7/7*1?^))5*&U.C>X!]=1HLHTN]K2:J$MH MR*TLB@=F-9<$+44&/'&F?7%6Y0R@VX3/[@'UU&BRC2Y:Q/%O-N%;8OAQ@O]S M42,L\QU8N,1]]I*A#X6&GCD+2GN6@\FT*:6SMGJT#]^R;]:F]E@1;!?!R M;G6!N'=W; GDP9VP?A3K#;C#6)J:1WV.YD!V5!\T&1^9CAMLEKV."8PR7%C/K%&::0&)^>PR M$TH((Z-3D-K4KSA^OCYDMAT[73=1;9-KLI./XPG,\/MQ'0Y\XP8K,AM@N7WPMJ_%77^\?3>96RM? M[B#3)EJO0B:[4\=:P22P(*1BP>L$/"@G4YMP^GI,3YA%/2FJ13I]M8"_A_1/ MO,ONI%T$[AP+3HE:&]"P@!D89D>N=:G)M6T*C-T#Z@F3J"]5]1@IK; M5]>ZKH]7:"+$(A,MB]HD4RL^)P9@%8N$A%LR!%Q8(L[=:Y>K'_T$U=^#C%LT M]4DE')R]IPA49;0JVSB)$5)0!%X2A-F^(QJ] \8>;L MK)RUO91:UPKH^\Y_V[O[7>[@!V>SM58'+[@F'R,(B($3; QHH:35P>ECO$M? M"O3EON,1S>85D<4'7 IE\1B%3@*H>/B"K=4)J'D^0(1>> M5.-,JCZ'\]@OI&W"]"YG3?OE1X.@Q?<74Q+.=/IR?!YIRZIXZV4H DNCJSWD MA_2>Y2:1TS?UN]?E]<6LEJR9SD?RR_C/@4LZ^I20>1DX.3YD ?LH@,0+FE9) MC,*W.3;O=1A/F>2'XT.#<$I_@_G[\/V'@3!1B12060$T52$'%B1]H,/_\(\EY7CJ[=GHJTD4A,KD!4=EZ MV3^0FZ$]7^L=PMOMH37J1%#]:JZGI&[K0UPEG.TOR^ M&,^"@2F!&0D:9"K)BS8'+FL /?[\K(W8L6;GWD5+#4W,V[#JMQ/$JWJA'0 V M3;IZ$.)A,JEZ46@'DNRNCF3)_)#QI_\<_B?M;A>U:](H_>4RUA\2Q[J*,J6(PO: M:Q9Y$IFCRR9U.\Q=^?C]F^<]ZV#!S;UMJ<2SF1A36HRY>\!];2-CKZTU<#W7P/MZHRQ [BF1L>]\ YC M95Z*&M:3A'E%!H[I)!Z#) X;& M85BRB0*:] FI20II-F^H_?(#3-Y?9Z. BM&7F!B9#X+I; V#3-NODIA!9)&" M:G.A;3VF@_0F[4MY=_J&]"+YM99*CVD=+V'ZH?Y_;8OQ"?1)URT M0=TEQ:/SLW=.]]AN%,OM%Y+)25GZA1?:!Q=,,-X8B9%'A9 'G=^RX_4%>@59 M/DMON@D*)A<*2K0,8JF5('2D[XBC4EBMT>M,OVIS@>%^8+OO9C,DLWY&YA\. MYP?O U192?"!B90+JSTQ:AEKSPP:QU'9F$RK+6P9R_[7ISYY<'?CVDG6#7RH MK[,FEPN=OS@[&_\)HU1_?DE.PG!QP*)HIF93%VFA545ZF$T7$#C=H+;H#RM+C53#\-[IQTQ%KIC],!N,*Y<9ZI: S3+BCF'3JF M5#))AE @-VIFNPG,)\FF+32T]D;*#M?AT@?,%V?XNJP6R>)@@.N"H$Q@(=(7 M[8UDX, S[HK"$JV5C3KC=8*WKRRDEJ3I7P]'DS,$9W5C?OL!\>L0,:*P#A"8 MD3S5'B&*W):L6-#:Z>2]6UP9TUQ+C'K YE2P!6#8C-MPJ!3U,+; M1I78UR$Z0(Y03UI;SL?O0^1'8E%AR2BLE;Y H5F<5%/'S^MQ6DOKRB]<[FNJ!".:SJ85C,T\JJ*)*:*+\HVMD MOC]>]*F3%D4A5SJLRR!I P C-3)$4YLI%\Z@5OK26: /3AL+;:X'=8)WRO3I M7S\-CN:Z]E^_-$ '(&V).06F/)1JSB:B>ZW(JJ.2"HGZ8=]![95 3YE8+76V MUQ.XK^'^-AZE2\0Z&VN,X]SN'58GXFVM>8: MG-#],AZ]?X>3\UM>R4"DF"*$P+(A>TY'+YGG9.-%X/6:CK(YM5FR5H Y9;;L M*OL>3]CF%ZM6^*MO/XPGLXJQ7M19 =<0*@Z9UPQF@IMJCX;L2VU_G4. D )? MZCB^YMK:YN\^16;L0PUW66/[.Y==+YC%N1 :\,9:S@HYB4SK:!C8"*QDKH71 M3A;>YABM,\1]G<_N;YEIHYUC.;%=UPFAJ&"3CYYI'LF&L[[67R-K3G$;$"'K MT*ADV9%UX6FD_8Y==C;1PK%W*^DREN(Y^2(- MXS;6JO7%LH#<,&E3CM&&I'*;/??X^;IEEYVCH>LFJFU TWL:;G@501E5R XM MM)G(5%@(MI:M$@X%A@BQ3C;W.BG)_#Y,OX)F17%B&[/:5[;O+^]EF>6TMC*;E3)(C&>\.YM%J0 MZVXE%Y$(Q:U#-.GAY,Y-D.PSIU."0U?+*:#(9'=K%5@TCHSOE#2Y;T9C:9.R MM-> !O2A?G%V?D .?Y_=@_1I-;]ZV_K^L! MOH// Q^LR;'&!2$GIE7D# KY,"5PZ9P4M?GL(:C7#?X3YF,#_;:(=&PYB'J- M^]8@,(A,6!E8S#0(0XZV)V.+AF9J#5YM4IN#@5[@/Y.T3_T>,%-VX$W1QGA@ M$$*H8M%2BU;(G?,8)$]1.1U)ZZXP[95B M'HPD>R(7AZF L>4YQZA?%K71SK'G&#EC1<8,(W#W)2B8B+U 4,Y;7KE"8F*^U^:-( M(FN;-'=M\H%.-JML&]KTK*@6-[WO35-2WH=DDV5%UG0#'2V#7"MCUE-"Q2.1 MO$TNT"EGE>U"I/[4U2*,=4^J4O$\YI *2]8"TQDU\X9\&O!2:A-0^M FU'"Z M666[\*@O5;4(7]W.2[@#3H? #4A@:"4-6EBLW0Y-K=JK"C'<&M'FN.A>6$^8 M2?VIJT'ZT!%(K3)@#T461[L.+EOKFRB@08DR'Z#;9KP:7;=9^Q-]C1&\>7UQ1 MK^0JBU](2XZ78(77C *LS0B$5$P*E0K7('7H%LM=^XJ3T7&/DEP[\?>9X;XB M;PGK1Z[;@T_+>'*@[/>^L+7/C&\BQ:6L><,YF;E*)"6#MBH&[Z4TR1G+@>QB M?#AKOB^4>\VH=ZE@/6X##&3Q&^EICP;#:.I*E70!Z=N40-MK1OW];CD>S MX>AB?+&DO-_'TP65<3I]]P%&0OY*G_PP':2<9)@G$+EZ9,F]8S[6N&TBWY=+ MI2,_1..Y3<=Q]-E^&W!SL\9T337>X*2PW]'<2JN==RJMO?9$+I$AZ$2;:BK, M.TF#\Q:LM4%F/$1GV1V']UV^"N!O5Z4JU(,AD14\BJ.J"*I*L% M9D8SF5S18DPH0='WQ\CNY7$\T[F)QAN$'?L=S?+DM$5;,DD=[42"Y$S>+DU. MGUD65G/K8M&I3?"IZ;">V;T//C0X[KU_<*N'-+!:6(A),@>9)JC.GL7LD0D% M&0!R("?_ !Q>C?;I4K,'[34X%-X&\_*DX2&6PBUG8$*M,IN114/FO V<)QM\ M =W-M'" ML5^#Z3*6Y^M;6UW?VH@F+>_#;*/C8^=M+ \[])D;D**&0E)RK;7Y%[78CC& ";08-2E:FUT6)*R#D3PGLR>V.]&!((DR*3A$-PW+2Y$G:"><^[ M,&=GY>RY(+1U(2==T_=C4$P'2?XP A':EN2<%0%-HZ(S)WMU9Q?Z]*6JM0<7 M^\QN^J$43+/A)_P59G4H7U[1BCH]6#G/'>"TSV'J2U;+Q3Z+R3Y[#)AUO2OO MDU68A-/@BK"Y0]K2#L#VFJD4T7LA(I,>!=/>U^*VX)EW48D4DC"J4=WA0];^ M_+I*U:6&Z*=_#&C*-X+XL5 MCB&YA_50/K'(.=(XDL9$?F/4]J$-H&]0ITB[@RJN][(HFXSC"OKE0(A$N#04 M,LL5E]DPDU,D>>K(0LJ261T,MX&(MEP^N@\./HCKF8;]JZ_W?BD;#>4:_&(P M/XXO)LNSB@9"MCZP&)-CNA8/@6@5XZA ")[0N-" B@\">^9B P7VF'>S^5BN ML5\.A0S]Y:'8>N\A)\*.I9;/3P\G4SV[FQVZII;MLLOM+P/)D4 9N+%,A M$5#0A0$64G[.2DF>R/-I=%?[D2=@[<"B-MHY]@2LK+4VF@-+"3W3LI"QB))6 M696"%D%Z*=HT"7ZT"5@;:;]C M8F6CCV1)8N8WE.P-HJ 6LCFK3,:-E&Q\?. MVU02^20^,H<6R6V.MD83:9H+D04&BYC;%)(\?KYNF8!U-'3=1+5[3\ R609G MZG763%N)YDZS( JRHM'R'(2U]CD!JZG&-TK VD1=^ZW,70)JGIQG21HR?JWQ M+):@F0@& GF$>^"W-V5L[:DY@>,X!_(>,* MI[_!A"SUX2?<(7EWS9-VSKOM@G I939PI:($*83Q6FKI>; BQB0$2/"%#]8\ M<[?)6*LNC2?S1[_":9H,/UX.]2JJ+LA3YPI8M$0H\ND-"P4SLZ@!B%F:FS:' M6P\ VW41>OT1JQA'[^=OJ.W/!S%#E(ZLL3"[,Q^A8X1XE MK7401)L*,*OQG#(+MI)Y X?XAI)"2A6YE>1$!<,T[9BT:V)BF(B3$:U*V*;F MZ(G.^NTDVZ#RV=?$^V4(<7@VG'T9H/>20STFY@8(%CE7$9QGTDAKG'R_>-UCE>?7'6D-> MU.RV[%/USW(B)SS3EN=K6ST7,03C0439IL[2IDB?$*]VU5./68CS,.#78-]4 MK*_+'U.ZR7$I#Y0/,B MD=@RFH*.=TMEW1K":=!FCVIHD'2X6B*+5*88!4CK \L.:TQ'>!80@!D.6EBM M(.HV)X;W@-I78F%;L[? 2 '2J9L#?]C]OIH44Z%GWN=?D*Y%7! MK@[ VN8$KH-VF 2_7A6YG#G5JQ;V2A-AE'.^9*:Y\O6 4[$H1&#) #W&2]"Z M40K>?NGQ0#[=8=BQB?";),F-9A-(\^YIP]'M9EU&F(0H(X.8'=.J2.8=U I8 M#H*#PGEN4QEO+:0#G WVH[8[F6Y]R'QM;+['T[Z?1S,8O1_2!CHWJG>IU;/N M43N?]W7"N'3@EQ&D,R"\UT$K+2%R!.\5&!19ICA8]]"=;X,,9_C+\!/FY1?< M6,!*USJS43$9"G& B\0BF,3(*E8\!Y>S:=-+J@NZ'N[#K'O'O%G:(*!.(H)F M)FF:5]%&%NMRZS7/5H'3J;2)^3V$;/^+3^]L67$MIC]E-#@JO ??K1KO+\[' MD]EEG\F!]\7J0@Y_RK0]:V^AYFHADSD9HV7.R-N$]C;'^K0(U8?"&I@_]R#^ M#6>#A+;D0@H/P=3&5_7$I+:012G 6O"Q>+MO.OUVB #?(:FSJ2(:G&/>@^[' M"[(+\3:G?_C\D3P.?!&G_8EGG_"RMRJ:&$S) MG&DK%4FOV@1&.@8^.^XESTGM?<'L@/N9HRT4O-_=? 7Z.J'>_3D>*##"6)') M!7*R7JMU+/J8F*2-1WCK=%XNBG405E["?29CC^H\^(8^!UU+T V\D:AZECX"@4D"R22[5<^@OO_R*_S?\>3E&4RGBY0@R$9*]"2W6OA2TDH4!)?, MJVR<%X[K1C<)-@!Y^-*._=*D^ZJ^D[KV&Q:] ?H;G.-5XF 'N$W3-S<$?+"J MC6T(T)UHO6GO"$@G+$2>43.$6OI;)LMBE)8AQU)D]@"Z667:PY/MX9*+1\FU M3936@&.OAF2>#^-%E?_\CLYUN9N"&;SF) /2N0Y&,P#+Z8MPV8*1IE%![76( MCLK=V5V5XP9Z:)#(]0H_X=GX(^9WF#Z,QF?C]U^^@I>Y%L%:9"56KRX5P M810J<&&+9UQ*7J^(:L)('HTE9UU:""F:!S.3-WGA:3*BF Z3?UYO M@D*CJ@/+466FE1,LU.HW$;.VZ&P!V\997T9RVI382>Y]MZ.Z:Q&MW?4>7/]6 M2ZT9SH:>@8A! 0-"CIM2H= ?YKD?!QD:'"L^OW% M=#A"?V?LU\8T*1"MOE19&HTM%1QU"EL(HX*(DH7D0=^Z+]UPJNM.9OLV%HT*R M2M#8>I72UX3ZS*3!:"V'8!K5B]['Q?%%<:]ZOO^Z++_DA\_I["(/1^]_&H_S MG\.SLX&3*.KJR73@G&F=#(O:<6:DT2HE(VUJ8]UN!/.H7*WM>+2\*;534X-C MB:M5_.7X/%[6X7B#==T8_HODDVD0PS*$6U>8YRM\)B_OJJ9J[9P\G5Z2<=BS$"&BI4

YS4F8S NR8*+>-]HZ =$FA+IH75G2N M=_/J(9**BOEBA.7&H^1M:C$>!=EZ3,K<)],_02^0V(IZT739.8U+7-2N=J/3!O>J$O!HT[*W&4-Z4L;^TC* M%%+%@&B8,M[2."&P$&5BQ3LE+(G QC8QHL>7][8+)7:2^TDD98)(PN1LF$2# M3)<$#)#62BN-1BR"' /7:5-Z3LKL=8<[>C(T2,K\>?3[9)QP.JWM)>C)'PCC MY:AKL/02I,\I&TL>:G%UJX^U'"0W-XN )]S>[=4 MZ,;9FMMHXR"YO58+I8PJS&8=F39*,W N,!/]S<17(\QX#F: MMQ= O[H"XH0.SM=VJ36 5!LY^QPY4\4FZ;GDY"%VTN#MIYZ4\K86U]KIUV-. M]BN<##_-$XY_'M5F9=5(W:5;U[W/VSD7NSO:I3QL4"HI#1HC&)V3C]IDI&76 M> B@DQO<^^1=STM6/)K<@K]C?C\K,O9)&/ M)SA\/WIY,9G@*'VY03D5@QRX!@B!)MH*[ M_T5N?TQ?FXEIXA>00&K#>,*=H;==@JG_O/(/$8_!@C4F-RA=M M"WE?^8R'H^!^M'DL>8^7HWJ%4YI<<.U;N(#P\28@?1[Y,: M7 F? Y#2LB\UF82\&!! ^S3RF'B*D-L$BO=+B0<"./MDQ"82;\"$W\;D3"TP M8;XZ"Y,B>ZE^]'4N%\Q[^,6]\J] M\_7%;#J#4;VD20;]GS#)UV>M\WVS[XA"U_>UB3AL-=JEB(2,7&:!Z$34.DL7 M,8)U =!SR)&'U39*US?WY?CV$=,EJP'0O6.V"[2KVIK[^P\S,XQV.AD8F@"42@33S8PF*T6%"CHSV^,0D. MY)?WK>S-Y7GD/C3ZD)",.1:#-#047;NY6,N,4//: \'8-A>?C]6'WD+#W3SC M322]3_>G"ZYGSW@C[77U@[81_5Z#)C%@R,DR67.ER5K/# PY P(T8BA9R=S& M*7H,GG$31FPB\3UYQB4XC#HIYHS1M72G)4A!L*0]&*F%XHUZK1ZW9[R1ICIX MQIN(N4>3<3J9#:Z.J^:TMIKLTY0B*S(@V4F./'1,R)37V16.HB#OHFYZ\"U5 MTT_+:EY^\V/>^G>28H]9C^D2P^#%V=DEGAKWO\KY>!A3AXU^BNDO[\>?OKMZ MUT++5S_-M;S(@[D'RWZW]MVT,VXDVC[ST>[#YC,ZI0W02E)DS1 M1^0J^P2/4MUKMNWVVMY$HBVT_,,?;P:^9)MTO38=C&!: +"0'3!.ADAQ7%EW M;W6UC;5*[]S?YMN?])?5N:GH^LPVO,+P\K?_'G!3;"0;@0G',]-!* 8H-2O! MEV"BE$'VJCYZYRFH;U/1M9A]O_[7;P-E;48>'7&FMIJ5&EDH9+NE(H@_Z S9 MAGVJC]YY"NK;5'0M+*/_[_?_'M22Q$(X,M:-4C0(D1BX2 N"K0F4QO*PG*B] MF_KHG:>@ODU%U^/-Z6L,?__CQT'PROE@./-%ID7O)>]%[:N#F0,YX?2U3_71 M.T]!?9N*KL\+SU<8?OK^]X&*$)*F-R>#NMICM0E.#(P#MY!C]O*FZW(?ZJ-W MGH+Z-A5=CS=VKS&\^\>K@8PV6UM7[/I%:UT8:)&9LU;'HK+6T.OLHW>>@OHV M%5V/-V5OS*<7K^JE;R5\\4RE1"M H$TX8"DLUS8\,AEKY'WQG2WUA]],Y34-^F MHKNK/K^S^O[/FW\,:,D.6F=;8Q$T")%"]3T-DY""$I$ YE[]/GKG*:AO4]'= M55_83^K8U67[<5GYY^'H[0QF\X/]<;V.#R0A./M]O+BC]R,,)_\)9Q>])YCU MBZI-&EI#R2TEJ[ED1(P7=HD[TU1BGMP;^/9S1&HMO/R#.?JF/ M((E_?^O&Y54J\3MZR?=?[A[C+PY[4ZTS$(ME@H;!M$2H#G5FHA05%2]*F#9, M:C>F_2=9]DW"(]'WD6=N6N#(@\C,&K*JM53DC>;BF(O68^%*@FG3W>NX,C>/ MA2S=DD W4=H^,_VZX'I. MU(>UU3_K81_3ZI482-O.3 8G"65G+MF)>!,\Z3 M- Y]LG9?Z\SQ)8$V8<0F$M]3$JB6SI4$G 5>[P$64E@LT3,5DLDN5M$N.^D^?%0XZ':FGMFQB9R;\"(WR?X$8;Y MA\\?23Y8*]G,*YHO3I1F7_5Q0*D][9F!655/9'/.M6ND8KFF[0?,PNLVX9ON M& ]0_;$GS8[WHI:^ZWF^2&ER@=NX)\D=L,;GBE_^1-+X93QM4 "TP\M:50?==)Q+9Y]&>F>E\4I$ MH8LOWFE.SD5,&F54Q:PK'=KAM0W*$UZ]XB:LK'*V@@?+4B8BUJMQS.LH6/%" M":=%*+)--XAN^/H[[KIZ].O1S>]^PQDMK58):TD J::0F5K&P)/#J'CB*<N:61DX.:A&(^HV2QEG12SM!_VEP$WM\8#UHXM!5SCXH8 M1WZHEKBWCJ9N/>GF3'-36 RAWA+S$-"2Y_ID$T)^E_QM ":9"YS[K19%%TL*VK>(\ 1*G(I& 3M,T?I21!-&' /J&<;Y%X;I"]U-CA] M6P/MVN5J(KTY\N"LQB\"@@&5:*V3@ MG6"&)V\-KV6_4YL\ZOM@[=^(Z5&%RTG1OOY_@^VJ0Q2\_X?C]!#Y^^++#(,--\\G5[YNER^]"9:61'3,N,+"2E6#3>E()96M[FG&8+L F32\LK96MUM3C%62V/ MR\1 8='F6+>)$LBD*)'%P"TS.:(+!D2*C?JOW8-J;R M&QU7Z_XPP=G<)A4.R!JUF1E7J\;(FE_L=&;%B*BCXE:SW1@3POAJ6 MR*05M3N),BQJ2S_RD%7V0BG?Z3+/,1+@GGJP^]3_)B+N6>\OR+PA)%=.H?56 M@-2ZWMVOO=N$9)X7QVHQ7.%CK73:R2#OI.ROW[T_D[)'98Q[D63/Q=E_N)B, M/^)5PW70<=XOS2@A:L-.P7R4ABGG>;;*I%PZI>!TTNCM-S]V?6XMQ3XKR-;6 M4)-:Q';@$R>KE1>FT!FF%61"H)#5EGHE9&/@WKSUZS)0BR=>5H%:_'"K"-3U M^QZS]K:46I^E8^?)T=,A7'N.+S\,1W!))BFEPD0;B)6AU!N@-"9/C+(%$^<@ MD$;<+;-\S1L>M?)Z$]W:6K('"%K^/AGGBS2;PBB_Q.O> IE= M1[X4TD3CBRL85.!9]Z_6P#FA]%L./ORCV'>=E M/#F'6QAJ(.D'&M!D!&=70:2;^$.RPL3D$N,QF!K3CPP">A9\C*Y$%;*]KYKM M]M&9K2$?(APJ8K(2LF=)96"Z%I &&3US8#07D'-NU&;N481#]\.^/N*DF^BQ M09STJ@C?Z[*IR*;?7R\>+VX6CT402%K%LS"!\9P"#8I,02_1L)(M6!&*E[E- M);DFP]E79/8PI#T\ XXAUGLYD->3RV',0QDF<"4]>":*J_5M"TE4>,4,"I09 MP.G2:2?JY!RN0G"H".\1<&+ MDYCWQ@&N P\A:!;F!8R*S"PH2TNSB*AR409P+">U+])M+M,])4 MW>ZW,_*28))7^$R7_G?T(EBO%8O66]J'25_>.EKF#*UQT6.)R^U=UX0N'GS5 M?F,8/>ECW$R8O=<\^/CQ;+C(-'O[$=.P#-/5#O=V?'8QSX^^BF1SR[E SJ2H M[9>$ZSK, M1W%9XF&'H%6GY^X1:*.N5MJ'0/,Q.1P\6(R@='[N4?P_9>;C_P.7^JO7OQ):\V-PX2 AM?Q(P,F5>H8=F"G.D7B%2MT2/O9'\Q6C>*;V MOBC0MQ-".^EP,@>_0$.3KNZXKS_.?W4&HX%7GAOO->-:$SH=@ 4/-;]"(Y=% MU .B3@;I@Z]Z,BQJ(/D&MQ.W%LYB"-/Y6CW]^7)X_\#A^P\SS"\^X03>X_R/ MKV"&UP5;!T[K'$W,+'%(M5#//+N;,\@:K>-*I-#F"&K/ WTR-'\,1.JS!>X\ M#C$W63H,=KINM#]\QDD:3JO!\_-H-AF.IL.T&)>(*8=0.',2"YD]W# ?%#)R MCD4N)B0A9:>5N"'()T/NH])VGYV K\>UPXRM!@[FFQEI)4D6Q*PTLA\ M3IS9@ 8U+TDO7W"XC[G] 7N";#V05GML=KRS*'_XGXOA[,NMHA7S.KGO/L!H MRPTGI"P,UZ:6IZCYJB(QK\@S3=YJD3P/%HXL_-.W")[,1#HZR6]$OAY[5K<7 MQ&*YN1+$(&&IQ18U;8"6QEE2((/.T3B+@F2=E]:WR>/;UPB?Y] Q4*?/ON!U MT[V*9?XT&5]\G-;\O>'HA_./9^,OB+^//UXLJB,-/$I(Y.PS6[PA:Z]6OQ): M,:2O@AP6)Y>CW6LLI&[O>S)<:Z6#/ON/SZ-!T]GPO.90_SB>%!S.+B;XIB[S MX\D?HT]S-E]2FW[S%D?#\>17&,%"<@.>LA=%<28+UN(BM/K'E!)S.DE?4*5L MNYT9[X+B:5%J;_I:VRE]#T1[<7;VVWAT!WY**@( X94>F>;9LN",8T4JU )# M\D'T3K?56)Y)UU!W*\X:=DN#^7F4)DAR^7FTZC#_ M^-W^"G(MO7YS78C"#I(M"GA.S]?ZY]HA$ M>YF8('- NER<2]N;A%N">C(D.Z@V5]!RZ^.3N[>''Y3H=)U(%S>&O:$1I*R8 M B')&9.VWFOGK&!T.4CALFO3O:.W(>RK=L"A%\B#J/P8"@>\J>.:7W8%DQW) MRS%O@V*ZD/P@U%;BQ10E:ST/W:FJ<*>+O]>O/7R)@+UJ?+RKY'N^!SX'<7E5 ML0N,WF__WP*P__O^6ZI@68D[R*^A.@F,T2IJEG2N-T^%9=X[7D]>*EU%*JE3 M!X[C4.,]5_?[U>(F8NM9>[^2I,XOSB^!""U+2%B8Y>3&:0XT&+*,6!(A@7<1 M5>GDPG?2WU>OWN_][*V%/^Y#AMM-C>ZXJ;96$#?#&.5ZY^XW.,>K:A0=QM2T_5Z+41VF:]\. M9-DT971?FFZPR#49FXP\"JXEM,\'O8^T$SP MR,F[B8(;D/8ZT'AS=_FJ>'106:3HF=*.=I>"H=8!MTPDP4F&UG/;)MBV%M(1 MAH";:WS=N=9.ZFI04^-WG,SK08XN@]77?1.MT,JB(F7'ZD(FSH(.F0E; (4 MIUPGDWUC%JT!],RA7E358"5Z@]/99)AJ1D$E]Q^DE^F;MW]1O%T_8ZM]9'CV4>EK%\M^[<'=A'_N(7L M]M'\_-ZBHO?_\7(;')=5=DNK>JT]0&I;ZK5OF2U5B8V1/ BNK-)%:A=,L$[& M!"*7)"*BN;]*; _@#EY@-FJ;N*8I$SUW3*,/#+BIO7"U0J4SHNMT>+R_X@>_ M'+S [(-5 JYO/KP9GYW].)[4?S2(!K44,;"BZEH5C*WE- R+61FAA82>9[^S8'_%)G:FT3&5J.T^VD51A8%)6+2EO5V%E.LM-V11Z<14QF"U ML@;@TM@BSRR@M ;CO!Y/AUD/NU LV,J+KQI[:>0K:0%(S"I0V(Z2E7K)WLF,9?@ M1$BQ6].U(YI.C[9LV"E-IQUHUB 8W6Z;#+(YTEUD$FU&]EZK(*\?_-6VQHW5Y8%*;!>^>0T4!>9($T8 M'U21HDVBPX'\J*/4Q8/55F]/H:) Z*(+*8OXJ:WW#$*.3%F/,9$[DNR1Q>3: M".(1K96/)I34C(B/RC/N+HZ!K*64>!',EEIGR1K'P$C.0%D=@H]9QT>[?)Y2 M]>UCF )'.)TWXN^CFL.;EC,W7)+"E&%6RTR.5);,EU!(&@:+$MZTJI1S-")X MGLW'.9M;,OD11]@Z]&-*VG/.)>,EA]K?CEP;0,T0("A=4G+H']F4WE $SU/Z M.*=T2R8_QBC?Q02G'6P5)R"'C*QH0PL;BE1[:"=6ZY8[A5%!>6SS>9/Q/T_F MXYS,S3C\...*#\L -=<&0L-]G8A MPD((M'.0=:B0-A6#@D&)B66A"M@@T07>1@U/L"K93G&_@ZC\T%7)5M^#%KYP M%86A5=/1/I @LZ"<8\&'$($GH.WAN09'STRXMP;')AIY+-4+NHSIN09'IZM9 M.Y!E'V4,MM'T8V&QC2#!(##++=">(WFM@*:8PB+ )<-S.9"==33LW:@&Q]&1 M=Q,%[_WF>R*;7J@@F,A1$SBCF<\AD.-C,8A@0@EM NI/X>;[1IK?Z.;[)FH[ M_)VYZUM4G5J.7/9^H._JM:L51:B;7:1KA+/Q[;I]2'?IRITM+FFAI9&0-);D MP1>-#HT%D[UT#URY:X1X#[T\;K"\7HWEQI=$A4Y#4$P:L/5::ZF]29!YR-EH M660NHLG*VO- ]M2!IT2GM$!%KG>@%2V*P$*PED4)Z#'%'$2;BPW'VH'GD'S< MLAW/)CIL<:WMVN_N1W:7%4FLYT)YQW10DFGE$X,<"L/ DX0,Q>I&YQDMAK.O M8-PQL??PO#B6*-W/([(I\.V,IG)]W"^7XUR4XQ8E*%OK*.5$$D:MF/?:D,"= MBC%K![P-S^\!=?@(WL$8,VZCN08.YAIHESY0%W!-@W3WPCM,M*TW978CR0Z: MV#M=N! V"8@T1W(M$T@K?A"*LQ*PZ"),SK[-A;P#T.2!L-9A6+*) AJPHRZ7 MK\M/X_%E"]VK"O/>6"_(E%2ZCC<9SV*(A@'X4)S5(<4VWL%J//OW!GI4VKAW MB3>PY=_@%.F!'UZ,\BO\A&?CCW78EX[&5>>($"!8$V@22$\0E6=!<I5"L$J3!**.SED2O8R@%O9&)6^>%!SVX_]$[QDSG M&531"F%Y,O\Q?>>.[$+:&($44%/?,",(*67GOVFS= M'<#M''%:*=L7%[,/X\E-CTPQ$(6,M9RA]L>$VB"',] T^S!(Z\#I(EOETG4# M>(#H9L_,N1/S::"9%B'+KV'F5Q<36FP7D8-YK&$ZL%(ZZ50-I?I2[^(C(=2) M!9KU18D4N6@4?WP0V\G39E=]M,A!N0?A(G$W8#)* V>6#"^B=*V*+ERNA?=1 MYE"2@3:5R!^$]K3XLKDV6MSS6@#,2$9A?CUY"6=G*UFM50L:@*H?0FT*D;%P%J3 MBE0)PX'X<]HK3Y]Z:7&39:49]@:K" GIC3UV\YDKRPS1Q& 2,,-K>U@,-:+@ M0^T6&U66RCC?J'3HUIA/EF6M]7>7>6;G0/(*F2R.X720J$VT#'T*3 M$%C3- MB\+)KA,\&B/;&-1K(>WM4+XQ6_J1^;$P;.1*3(7?:L[ '?#:8LH:Q=L[6^DK$%W MF+/NOC39B2 [J&'?5)&TJJ(5A4$1>M'V/ :?F8B*V\PM?6W3IGK_%'G@G/L0 M#-E$^GT?5]W!]#K-QF3E22[\U6E:R8745YC+LEX<\)%Y01+(&I(."D$LQ\S7 MG%4]_*X#7;7H13'C=E+M,=:[&MZO]425T/!+<-P$G;DG-"[7!$<1:RE36QO? MJ5AHU$)U.YY\Z$TGJ_!=)+IVCO=X)KDXH'T'GW&7&RPKGK+SZ>-#R):.''GV MGB82S[GV7"@J1N^\$%8E:SF/?K#B>7WDC-$#7Y*I3WXGCM*7&Y=%9N.()X45 M(!MS7@78QQR8Y44%AYPGWR8/Y%Y8._?.+@53/6*_?LL;F&%-+QVEX=EP?KB_ M+AT_X71*_^!['!$?9K^3-4_^T, A2I^L8VBK1UX49\'DPK!$0_+"DD2;&%WO M0SE4=D4?#+S3=/N@>FYPIMEE0/3+MSB;+3SVZ< HD YU(9S(Z\XL:!/ PC1( MI U"2=^H5^;F6)\:]7;05-^&X-"?.+C))Z=5PFB8X6TCI:F:H7+*,'EG( MHIZ@U+/;DA++$:QQSM72BYV,K)VAG *-#J"4!B>D?XPFUU(0A095 M UOX"A?_'61=6R!(SI0FRU+7C+I8?5-T4$L-N)1NFIGWNE)M!/,4V-5>/SV> MELZGPC*8GT#>D?3FAC M'L+9 (*1HLC(; 8R]\CT8][ZP$0$CTHJ(*/O8'Q\"/U3(V2OVKS+2+O3YOC+ M$"(!G7TAE'^,$DYF)% "^?MX.E?*=!!3E(4'SDJMG*P5CRR(HID+Z%)&YV"Y MTN6:G?'!5YT",1H(]:[*W:Z+T(, ?R/^7DPJ00>T(EJO!=%1UDQ)30( FY'Q M+'.,V8@@VIC6&X \!>:TULU=&OD>[@POF7^OD):U">:K053[#XTT/D-A*GGB M>DR"!4_?F2A%\DG*5KUQ.\$[)>KTKX^[I D[;3>_DG3/+\YO %X+X_+>XJL+ M?#=^@V>+O]8KCI-/A-G%D+7ABB4RTFB]C(Z%)!TS(2KO<[9%E$Z;T)8 3H$E M>U/ B@#C;J>TO\+GX<56J*TONI!QSUVP3&>16$S&L!0U87:0$74WVFR)X'1X MLP\5K"#.;J%I0O<%83(=$\+9&#_#^7 TM\GCEWFH8@1G;_ 3CBZN"LD,I$RB M(%G@1'9#/%>*;/'$62HRI^BYQI Z,6;C5Y\,5=H*?05'MHXU7\6PKGA\C?2_ M*_X_1O3X6[^P&LA[2N/ MO:EAVX.TCR6#_7HTE_YB8-0'\*+2N] M+>,Y5.9Z3[I>QZ#M9=ZLZ-9M5%=U03K@VD-YMKO(#EF9;3?M/4B('42_3VJ4 MS+F5@3PQ*^KYA0[DB6%F.487LDK<-FKDME]*=*K"MA]&;"+Q!DRX/#]X6>_O M3;Y<9M'&Z!5$+\E&=F0R)PLL<%0L&U6 !LE]:7,"M K- 8W1G70U[EG0#;+V M:%@XG0W3UZ P.A,-M\S&'.MM0"10KH(R(4?T7NB_;0&UD M,5_KBG&Y%'*8C8NIU@X3+)::2.^S"\%GX5*;F]CK,9VZS;B5[!LDQZU&=C4' M.F#;L^UXZ#Y:?6FR$T%V4,/>%I"K!EZN0#:^-E:,M34RZ3*HX&FO2XX#!.MB MXUC%WBBRL3W9GB&;2+])!ZIY$/;E^/Q\.*U"PLGTYPF>P2A?[GV6S&D5C6*U M=#'37#D:N0)6DI'"?HF'+&@2[&>'G?+:(IIK^\'W_Z[O*)"U9< M_C GQ.(HY?I])Z#D+86WCPJ^2RVZ%\70=K@W>^_S=KY!VQWMTEU:8WUQ4&1" M2%J:%$W.6:I4I,G.@1O<^^0#M9F_.6OAP08CI26N .T8_W]YU]+;QA&#[_TO M!.8]G$L/*>)3T12-[P+GU:IP[5:/ /GW'4JR$\N2)7MW5JZ;@Q'XL?J&_)9# M#CFDC Y"]1Z\DQXU_W.=II,/QCYXKED+ //\9LU%N9]+6B\V^<+M5:>2K]K+ MR\C6JYW)_$@+[IC%]U8VP+9MLF;>>V6\Y!'CE)O/9RN@2!Z(&@N\JD*&TD6 MH\!_@W,ZQ^7LDT%HDRN]@Y^U9U)^6;/(F\#F:6M=/JU7RU7S"KG!6_YSO5RQ M$']=W%W=+?ZBF;-%U6 <2!0\Y T5();V17BMI?,^8I^TP"#8_SNF3J?D'IV3 M'N9OO7XN[^Y8KO#L7?0@72(P1EH@I41S4MFCR0YU[-1Y?:PE3%54<6&^7D;E M;Z528^"^\N'KX0=LFVBA0*=JAJ*K9,\^ ')!DPC9U:QDE;I/I[&.B[K\8,!) M63JN%S(:6SI8_L/(O@MSS\'7->EP"N%E$@]OAA)G476@/B_!.RP5@ZL.K#:5 MST8)T!4)052GJXY2F#Z1[F7X=B*+\9^EVTO4V(%F#^-DN4WNI[]9.O?S]D3* M%(J'(K#M!XD0"+."K(652OH:1)^#@*.0I@^9QM7>_@WJ443?9]3A:C%//%V= MH>U *;)HJ@R@BFT16#(*@O86-,8:LG"&J$^+Z8-PWAD7AHM\BH:1&Y3KM-H, M=?BIVR?K[:VV)J#1+0(U M7F 0JE#V38\^N.3*[/4?.\+[_O"Y=YLF-KL/^!9*(PGA.)LF6N@,QL4(4>@, M@LU3RJ$6U2LC?AK=*!9O3_*S$+.F:BV(VH 9)PE",L3Y*)ML4-A>P0E6O$4S MO;T;G14';=X0H??:^O9>LM_N;FZN[A8<*<\\QFR":$M5?(,\-'^PQ<89=+:4 MR$M5D^S/B:? WCL]!JJB2PW14WBS&H.VO$J5//%Z P1?$21IWPQ_\:+3R=8A M-!?FQ%"5G4&'%\F[ P=VAVC+MKY'\&86LS,Q94!TNKF"G%GS(D**'$AJG[/Q M77AP#-'[XL(H;,]B']):,^6B;A%"BQ5DM6"H 25A'"3M M6_"0#W*J=&AWAZN78MY*2O,9 6Z.>4UI+Q7O&[KP7%//(T R*? B^)!K<4V" M4T>X;R.U.#(?GHT#A^FE@Y-WW7YO3P2[ []S@'7-_!V%=IF4WZB*O.NIA4EI M@BEX6Z4#PDT[^>918"4-/BEM@JNUZ#[G2!/3XT2&[C+L>(GP.[#BTVVY;A*Z M+HO[9C[W[>)W1_Q5%-+599 J-L.IG8,8O8O]_)"7> M==1 AQ-'OK>[H+3Z#N!]%C G:ZM.8#<='50#AIA#\^I*R3PH4%"19P2KCU3:$J*K9U, *'U#)3I.RCB%Z+U081>(= MCI(^T W=IO+YCU)6/_-OLVQYF]2:#'EIH#IRS-#8/&TM(3KO#=FB,O5I@'$, MT7L/3T;1Q$0,V;T0YR#K&I@PO2 M$6?2N-6#)*[^-CK7&D7&/MO*,433.QAC:6V_ G0,D1\-/$:L[OJ\CLORS[K< MKCY^X>S:@-JM8X\:7)EU%L:]NJN0?1.P"48;9=JK&[$F$F@\8PS1X$YM\R_SW"2^G,F0 MDT:'X$(M8!)R/EZKMD$K$6S%0J%/D=@#A MW=:= M;K%6"J&MA_\#1C?'.F1$\*;FHHELBYZG8/"TUQ%[Z'FP>-]*W/-FY4 MKD):DP*H8%KDY7(+NH274+(V'K6*54QB[.X!72Q:':SH$\QYCA3:96+2411XFA0#I#\I/:J+(BGCP-O"UT^MA6!EX5/Y*K&XY'6? MBJB):7$B'IV6%2\1>G\V[.(BP9V=:BK-SW%\^ZEFGIB<03BC@\18R?6I=CH( MY^(.Y6O5]3P)7B'KE\:@NV_SETC+\N,/_P)02P,$% @ 28$%4Y.%M"C) M!@$ >,* !4 !C9VYX+3(P,C$P-S T7VQA8BYX;6SLO6ESY#B6+?B]?P4F MJZTGRLR1R04DP>KEF3*6+)E%1L2+4%:^MK0Q-ZP2NUQ.-4E7A.K7#\#%W>4K M0 RR._![WGQ]^R10/@?]46O\X>G(KN]JT#@!?[N7XN_Q $/D.]+&*4LA"CA M N(@Q-!G$4N3!",4D-GM7[A/$QE3!D62,(APS&$:B@A*$H<)CX0?IV%]TT6V M_/M?]#^4E (HXY9E_>.__W!750]_^>FGKU^__OB-%HL?\^+VI\#SPI^Z;__0 M?OW;WO>_AO6W_31-?ZK_NOYJF1WZHKJM_]/_^?7]%W8G[@G,EF5%EDPW4&9_ M*>M?OL\9J6K.S^("1[^A?X+=UZ#^%?0#&/H_?BOY#__Q3P T=!3Y0GP6$NC_ M__;Y^FB3Z4_Z&S\MQ:WNV4^BR'+^I2)%]9Y0L5#HZ[M53P_BWW\HL_N'A>A^ M=U<(>?BVBZ)X=E>-,M4H_5BC_-.QQGZZ +XCO-4^5@?@:G,_N,)XBM,/SN#> M*'T0PP/>:N9BR,T#]7;)QWIVUTU=#'UXQ*X>B[PBBQ$>BTTS6Y 7^A?OU:>V M&7VC$V):M]-*]Q94\:T22RX:M7QV:Y#Q?_]!?9JSV^6W^:_D6[:Z7]V_$4R- M>Z6X7EZK4?)>W)!O;[\]B&4IWJS$3?Y9+)J_?A:E*!Y%.?=H*$1(U)@5\@ B M@3U(TQ!!/\$111Z/D1?/J_6#/Q=+^-N7#F,-Q &*'RPXJHZ\ZX4H\U7!-J/D M_>+0T*=&/3U.XI^6Y%Z4#Z2]0)FB'8K&NO_H[ "=(>!Z"1I3@+(%M,8 90VX MR4%KC_Y29]&__;0A:*BN6TRC0Q;_?U^4<]ZZG;7/]/)]\@S.=]DW.7N&>J'= MT;S8Y31G;CAMQ@!]*ZBG 5[BH5KA+[OY3WM/VU71F44*=J8CVV_\Q'+EFC]4 M\-E[IJ@1:SF9/\0_.H^7RTK?XY1'$K*,(R"-(&(!3%, MB8PAHXR*!'FA'QGYR);M3DU]-@"!&@[N\R4HM2&@R@$5H%C;8RE$IKU@)D<# M<#NP*-6(P08R:#'/P!;A#6QWPF1)DU-Y,FU[5)&R)&17JFPO[R=8?Q7\-EO> MOA%E=KNL??LW^3W)EO,P2"*,XP F/E=3>1G%$/.(PH R09B4,4X#&X4ZUM#4 M)*G%";: @C\:J,='<3MJS63'!6$#ZTPOKJR%Y1P13I7D:&.C2LUXNSW M^XG#6RD%J[)'L9ZM?2:5^"RT%=DBJQNZJMX)=4>R^%*1:J5Z\NG9E^<1CQ'C M!$$/8:P\G41 $E()12Q%2DCH1;[5#,L!IJE)3KN\49%O0+3+&Z^H6 J957\& MI *__?CE1R ;BY2#U)JD/*;B(2^4/?65^H.=/KGH73,I&[G/!E:]M37;ZU(: M(WANT4SW76L46%NU>]$,?!(*F$M/S"'=3K75!:Y19=@AD;N*[?+6/:>J=Z00 M/^O)E9H-:]5IVBP*]:P+O=+[\]/F*Y_(D_[5U5=2\+?_O)6I6;*VK_RSY:QXK XWG%9/L!N'GI=K>Z ^N<+!MM%@ MRVI G\#V]UK+06WZ##3&@RWK06T^J)3]H"5@!MIG13TJ#0D.I_DC=YO;=8*Q MP(^[T#!RE^RM5(S=?K\![QW)BK^1Q4K\*DBY*FIDY?J7?\W42%NPNZ=VDAXQ M(GSIQ= /*84HQA*F-/)A0/PPP5X<1VEB,VI9M3ZUH4?C!#50L$8*]/[&AZN_ M]5P=L>L-LR%E,(X''A MYV4Y1R2(&5-^MI^$4LF6D)!PS"%*4X]R/XXI#N;5^GC9V5?JV=VM9.G(23F7 M[XT"UTZG[;3G.65,5\0MOR,2!5[\4[,?;_/$G=8?FK5]?LW/W7>4%][0N.[5-_UZ M/[?GXX-RHBIUT_?ZR.!G'6_U4?Y6BJNR%-6H:G&YQ5%?!R/A=U\'LHGXJR$%\$6Q59 ME8GRC:#5YJ?7JT)[A/,DB/P(A3%,4:#$!2$.4YHR&+)0$L^+ D0B&UVQ;']J M2M/"4C.*1U%6]2QW!LA]7E3MF;ZR KD$_^SC=(9]7*]I_+/O!;,@PGIQN@Z0 MU;]4'[P94- >FEVQQ9.ZSV*1?]5!I$#F!6"%X%D%%LI]%&5]4V_O#G829]OW M,?.8G\:IFACB6$VH$868J6FCE#[V,/808LG\410TGT#O;^,8M?^'[0.S@6= M7@<>BC0^L $X VM3H'H)8*F,F8$6MKLQJ2=?3DIM_8 M]DEUCU WXO5)TGH'IORXJG1@OLYU,(_B((BCT(=(4O6/&L<@296R,2)%B@6G MG'LV8]F9]J8V=JWAMF?.FSUUD&\0]]]J/T>]F8PY)'1@V=IP64.=-3O8)=A" MZTZM#&EQJD[GVAQ5C0P)V%4?T\OZJ4VSNJ=/*M6['5VRCZMO63GW6!+1T N4 MM 02HH &D,8IAY%,XR3%"'NI;Z,T)]J:FLJTZ\QKK* #"_[0<"TW34^1;*8I MCJ@;6$]ZLV8M)@9\.!624^V-*B(&AN\*B,DE=N)1%M7\LSXETH7C,I9(XC/( MO1 IH6 )),)#2BUD$/"$_41$%3F)55QL@";.T06YZDV"7OM !< M0,G +WMO-HQ?]B.VGWJQU25;+[7Z:?>%WKWG*"_O$4.Z%_78GWN>E\J6627> M9X_Z!)9R$FXS-7.I%]W**\96]ZN%3E5SU:SV-%DJDI3+D'@Q3)@:WE$484C5 M[Z#OTS#@TN<4VQV:LH8PM5=]"R;8QFEY6,J^*Y22>@'A$0P]?1"$$0'3. QA M@*,T(L27' 5VJU7#=L8X"U;;W4'&[ XS[VQ8B@?6\08\K-&##?QF T4O9=F^ M"O8'VWK3Y_9TFSV,<8^X]:9I[YQ;_SOU&Y-^R7/^-5LLWF0E6^3:5;@1WZJ? ME75_GX=Q$L61%!")1"D>1C%,91K"*!24!H*&C!D=_S!H:VJC3 ?53L9.D6FF M5XXH&EB8.I1@ Q/\H8&"&JG#V:0!'TZ5YE1[HTJ*@>&[VF%R2=_S85>H M;/_W/EL*?XYCCZ6"2.@GDD$4^P)2/TP@5__0D'I>BHT6H4ZV,C5A:,\[M1!G MW0>@P8*/2\-#H*>)/2T5SN@:6"1Z,]7C;-@))BXX&7;HKB.?"SMAV/ZIL%-? M[GDF3(I(*G'D<\P@I\2'B(A4S8!DCD9L"'VV-@)]H;]Q#8 M>,!#ZU2EIRL)6IR<0&)%BT* U/CY\FTR,!HB1@,*8ZUYU>CJ(LBF 2")QX M:9HPQFQ"DBXGC1,$)>$I;&=&W:RN:E)[ 9MZU=8.F&GN37TPYPQ-K0K MMDL6^*/&"@99NC&CQ:U'=KK)<9TR(_/W_#*SJZ:6H.A=7DB152OUM/XN=#R! MX%>/HB"WXA=U\^H-J<0Z6'N.8LD0DAC&W/,@$JE0[@MGT!,Q1@*ERD.T.B8Y M#;.FIHPM=L'5(Z*SX&5%F^J(YXL%*93;I*9E]5G,R60]LGJ*S+1Y&F G- :, MES%IBZ 9Z"@"+4>@)@EHEL F6NJ1>Z MBTI[O%/E55^+XHK6M:_FY/ #Q,6$(QIY2"9+" M@(4L$7'"?6H5L&?8[M2&UZY,15VOL@/>%++LH(,_.O"6AY)-N\)L"!R X('' M*$?<]JT$8LK4$/5 SK;]$E5!3 DY4AO$^/*>45F-H"JIU(VHF9/Z07TJ,UY' M.>?+]0K8NVQ)EDS/K71(;+N6B@5B7AS E% &41)+2,*8P2"FD<0X\A,JYWNU M)<]'&ET"RNA5-*NNZ30FJ74#V,)>&;*9JU7>=^=-6!CCL.(,1>LNHTGNPC1N-%F+LC;BT5S.1\XSW03 M9/&)9/QZ^9H\9!59O*X+$-6Q<7,N0LRHSV'L>3%$4:H$5R(,$Y2@ /,P3+G5 M4<+S34[-8=P@!@\*,LR6@#6@+0/\SY-MIHQN*1Q8_K;8TVAUHHH6[PPTB)M M68:;7]GW5.*[;"&*U\K_N_UC.F_5Z-?85V5#[*W=-';[^Q MQ4K'S7?GF.>489KZ(H0>EBE$/F:0<(_#!"?JO<9A@)E5SCFKUJ?VNF^=H*O3 MSX%L;0U@=Z2X%25X]2&O!,"6&SIVG<(I24FB^H.FNOA(XC%(0^G#6+* 2X3\ M))%V87"#=X-Q/+"B;W#K98?]4Z2OUN!!A_[XTV^?RZ / M:VZS&U@A&#??01]R]C(@]+I)SX-42W&3W8L;4=QG34V_GYN:<-VQ:YG@E*1) M ,-$JDFJ1QA,!0DA]OS$EX2D0>392=NY)J>G9@HQK#)=3FV#&72@+0]7G>/; M3+I<],YEDTW2)UQ-_C&J"UM/?9 C?Y3#+(4Q]!%&(!<1!(Z N.69S*,$KB_NG:SP.8 MFN"LSY^1]OQ9T6%N4[HK$/>7)'0WZ!-#=V= IH=V?W;3ON^=^EOC;[Y1^TE# M98(WIV[ Y/ &(%XP7[PY1:=3R%O6K(2JY:S"NT[TO@4Y]K1=5!D@U M?JA3##35Q!KW([!TDT=,$NI69H/ZMFIC20HCX42U(&"6PI'[T3X. MS37G;D/)G*$;-QK,-:E[ 5W.&Q@Y8'L=%*9&JM5]$TOV]ILN!2;XF^PQXV+) M/Y-*S-,XPI&0ZFV(?>55ZK@NHB?-:>IAZ26>3$(R2BRV*>*I#20=1L!;D. I M$PO+5#3#][/A"#&EWAMZY+@\$'H3N RV[)Z!]3/1F0ZT[1,(;K;MIFG$+1NC M_CY"DFT[P5FTL77#(P]:'U9ZX[T=<\OM%91#F<=0W9;YU]8+;G. E*7:\OK)P(\J&O+ M_H7:!NO]@4 +#E6&?3&.4.@?V^QB<#"EW M-B:9MM=O*.JBSK=.>;5'#P.2A*&0(?0E"B%*"(*4(P8]QB/B>X(FPJ@NUMF6 MIC88K-,I5%M'%'59:/44H]Z'L<<*A)]B+AZS2AA#,:)[X4HP'% B=TI M6B?DCE2_N:-W^P3H:Y?TFHV#3B@;>" [R)7[0[)GJ7 Z?AQO;=0!X*S1NPI^ M_H*^54P_%3D3>HNT%.KJNZLE?R,>Q2)_T(- ^U S$E,6ITI_:9) %%,?IB)& M,(IE',=*JA-AE<34J-6I2?/U$CXTJ)4XL[MEOLAO3V5MN(!O,Q%QSN+ @G*] M!"U@T"$&9,G!%N8!],6*)<>E3TU:'KD(J@49^^50;2[NZ1*2\D[_IU.O/9*% M7L&OC^YF>A5$_Z$YM[OUBZUO?A)%EO/K)2OTP;8WHOF_^KF)4WK[C=UIAU-7Q\.<96%,!.B[J%7K0L.'0]7R17G3KSXYKPKA.\HMTSY[G_3(H M)K0C_;=\H6ZCY41]B,4! *F81) Q'3-\L@/H"\]%B.1XE1:Q:Z,@'EJ M4XGU#N3C&N8$=J1W^OD%]Z3[]][T%_?/[DIOC/\>]J4/=]4TUOPM<'\?R__V M'3'*[O21INV&L.:L+GN:W_S^9IZ(-!4^XC!,*88(1PFDL:0PP%3*0%(_\8QR MA6W?=&J#P W)OI*EFDJ#-W7)![,1X!E-IR6ZK_$#:VAC]PQ\$%];RQV$VARR M]43BK^[KC0AU/VU2@#V[W2C:<,B [N4]^+>^N4#_:]5&D]WD1U( U@) =S7B MLY[!EUDEOHCB,6.B<6T_"Y;?+NN[-'4__% BRG$,(^E+?6*10BP"#Q*1!@2% MF(C(RCL<&O#45*'.O-AZ#FS;PQ#?]&?# L:C=;>9DSBE3AQ8W:X^7;^>'?;_ M-H/L;+/NT22,+BNP99/++*GC$.\XQ^K H$?.T#I.%^SG=QVIW7X#T;N\$-GM M\G4[M'7[F^4F#W;G<+[)2K;(RU4AYH+&C")"()$AAXA+ 4G,$0R9" (A!$V0 MU;&0/B"F-F"\5<]A?I\Q<"?X;:TG=:@,ZVRQ&S!Z=8O9(# TV0,+>PL?=/C7 ME4_4W'T[L?]F>K\QPYV@7T*B4Y'N!614X;V$JETQO>A>(R_E[M>FNEKRM[K" M8'V'\GK9"/K<1VHNG7 UOT8\@DA&"!),E;A2B7U)D$<2U-56&7@IUQ2SD1X\ M+[TRL/P>JN,X:\]FC[2F:]SA Z_H.NW$[V8]]U!!Q7K[<\MRO1W>V#Z!U5S; M;IK&6JXQZN]C)=>V$YRMXUHWW&_T^H5D2YUMY>-2#8@/>5G/&S[*)C.#/X]2 M[/N>P)"DGG+DI2\@EK$'99B@E :A3$74HZS7Z59[#!YCU.W2@'7")UY#)@L= M]_%0Y ^BT/ZDCO>I9K6@Z&E9?=+*;EPYTQ5F@X(#9L=1= T4O-)0_ZQ)W4*K M>3U3A-Y:A,UH<:J@9YH<5?[,S-_5+L.K++>/;I??YOL'+=0,7-3)/C^))5G4 MA>D$"4*/)1R&7.H5:DDAU74%$QEYU&.1YU.CP\S&+4YMQ:##6(O*0X=2^2CZ M5(JHBS<536I4PRTI8^K/[%<-0>C Q^WP@C6["C%80W;-),]979*X'K3' M9?19TR,PRSMFLX//[8\.-@]M:6H$75]6J[27>*C9-C2^T3A[BK9VK3<GPW^3Z\S#G\)N/>GY9-JE^;\2WZN>%+KJ;!&$2"4]KCJ;H*[]WM^8WD9]M3_4UC=+<:+\,_A#4P!J#IQ&]X[798Z#@T< M/G)L\7A=L1^:/&+;/=/&%[=DF?VC7C5YG2_+?)'Q9M-&S:?U>EN[HO)1OLN6 M9,DRLOBB?M-D,;VB97W@8.X%+ K\Q(.4Z&$L9 G$L9HB!P$A$4]DS")DE6;> M!:JIC5/;1NGZ\UMFU1*U;9C>%5B;!C:V@3\ZZRS]08!WKS MFT/*$@R)WH;R4D20;U?_Z&1S4Q/G;;1-?:/G];EMJQR=YMI,1]TQ.+! [I*W M5W';8>B $2=N#_Z?;G+<8_M&YN\=NC>[ZM(Z),^J6;9E+']^T@LR'Z4.)ME: M]HA9PB-!((L]!A$B2FNPSLSKH3CE* TEM5KVZ(%A:@*T79/BBE79HY[LJOGO M,X/ 9YL=\$MZR'"U=EC>AU['W:+\(,WZC&6]MJN^4$=#-94^P"!K!A=P.5!Y M#W,<+U3(PYJHXR4[[&_53RV5LR=%40A>1U369_,_KJI2*;+.O#(/8H\+W_=@ M0"E2PIAZRO_B#'J8A)2P&$OBVPCCZ>:FIH%KM$UR\1GXYQ\]'SR0 CS6H2O_ M\B<<^/Z_@JM5=9<7>D7D+P!Y7GNN7:NE?J;K.9GZX,WT@2&="R![%(NG&5CF MZV^6Y:I=&,PW=-BIZIF>-!-0=_TSL%9NNN9+TS4UUAGX:$"?M12:L>)4]D^L??Z+J;3K?/7'\ZX/N#% MM.VY@I??\8+"O4T(9]5,R-MTRU$4$Y2*$')&)40\QA"3((%(^G[/Q?IEE?%LL=)SETW9\+??FF"(=PJVCK!;=;L&;TFA54IG]JP#[!II MFJ=2<$$C!)F("$0L(!"'&$,1(QG@*)8$4ZLU?1>HIJ8WVBC8607*M5E M'8! M_934:8]6FTT^T=H&'G0M+&T=>-6K]I6;GC;<41B[_X;>>-BR!VP, F^?]=SK MYSW76:5CGYL0ZIESM\XIT6YW,YP@&W?3PR69>WLC3F_>(SKPJLQ(TYRZ[^N[ M;$FZDD@D$32E L9(4(A2U9O)F%Z!WCH^307E'+QXO M$.\<_F?!=V>_W',*K'PH]2PL;]_KB+[?179[5PE^]:A^>UNG+M(:JY/X*M5E M0A=UQ3X1-$"01FD(D8+/1H&$:-6H3JV *:FFAUB0!K(.FM#C1D4 MIW)UN^D,PTGU@!0//=GNH(,:^PRLZ6[A@PY_G1J]KB+"3B7$L)^']R3/[?S< M%L2X\_:>%.W-Y_O>Y]+3,_JP^%(]!D_M8D)]U&!S((-%,8J\.(12!'HJSQ'$ MC :Z5&9,D] 37F UE3=M>&I2MWUHHT-N7>_.F'7#/9$!N!QZ!^0 C4^S]8KB M. ==S-@:Z'3+F<9?Z$B+&27'S[$87M]/K Y7V'O;I !OIQ*(I7'*0@_&G/D0 MT9#"5(9ZZLJ]-"*ACYG5=J]!FU.3J [R;+N&9!./^'9YFRV%*)HJ8K4-EM)E MT@=FJN68V8$%Z_.QVIPMX %V/RP("O2KM,AXE$?^QYD8224EQ1%D%+&8"*D5,Z3+[A%/JVCS4Q->C10J)':1SZ? MX=-@*+:2=_[:3[#:;R$WIXX0H!PR&H>00I8A![(D0^B1B42247V9Y M"N](0U,3Q-U<+?TC:(]2:SA'=$#8T'/"/EQ=FM5FV#C4HXV]9$Z;L]&B9[\_ MH_OB&56%2,>(' 10H1! E MB0=3%B0P)0$.4. S1.4HQ5I=6S8U^:L1"@Y>94O FZIVFP,KE@=5)D/RT!4# M7O*A&%KB+Z\LL)^'!S2;]I4B:%-WH.%H4V+@P*Y)_16@J=JJ3S.!4@1#]?\T M2A8XM^[[*&TP5*:VM4V3MC\*X(G?MZ/TEXNZR40OV><7&]E'EQWY9E5%.4 ME= ')=]^4V_BDBQ>K\HJOQ?%>X7ANA+WY5P&81K'S(7O8M)V!?+R&_:3T/=*E//B?5/ H&1%5KMV]2;]/ V#".D M/R_6A0^9AR .> @EX9['?.1YDMN(Y(FVIB:##=19=[YN"VY[$L52_4[1;*9O MCL@;>C>K/V_6PF7 B%-I.M7>J.)C8/BNO)AKGUX7@6:6SQ383QMW"*7."&!$126$B8PX1T@G_*.50>B(6 M(8I]%EG%%[N#-C5Y:O""15L2+^N;5-QAYYFIV,MTR<"B5V<$WU@U VN[H!K* M8:DL4[_K;-.EQT';@=J\6;L>"=:5G%YU-AY?#[<62_?$.]56A_!&E6+WM.XJ M]P M]!/Z7U?+C&4/9/%SON3=T1*/BE!PED(4ZQRML9 0LS16W8QI@E-&N?!L M)/M0(U,3WS5&4(.T4]R#+)IIYZ7<#*R".[0,A@0Z/JRBE3=Q7B MY''&"81SYDL0I#ICHD4+&/="I:8["!5:; M B*W=?7>15>]E^SY&]LNX0PLU=6Y!!7YUB=MS0"/@9G@3:%S!Q;-CZ^O9^", M__BE]A^WRL>T5H.M&LXS0(7ZK@!7_+]63;_/ )'JT00W)WJ]9_Z=X;ID@/P] M X!]@?P_PU%^.'_0@.WUK7ZF0:C[M(G/JJ+I6(K0YO'6]J:L-"@U2_XF"-=08TVEY;P2M1=NL<'XZ+91UM;N025^?,WB],=?:*@8Z8EL>.O]3_Z'S;NB**>H TH+9R MJ!!!XA$$)?>2V)."Q2)T>EJT!\BI256-]*)"KD/TI)FL MO73_#"R(-EWC_M#C!=R->WZQ#]!I'46\@&KK4X67M'6!U.\ES&U?]#!,:.Q+ M"B-/2[;T,$R]E,/84Y]%0'V"F+5D'VEL:M);8SV07/H2(3[&LX6@.F!O8&'L M3UP_F3S#B'NY.];@^+)UQO2#\G/NFI[['/EC+6#7RR^Z5($2*W5WOF+5[T2K M6_5TQ5BQ(HO/^6+Q+B^TFLWC-(VCD%,8A!CID@)*77#,H$@8XS(*)>-6QPE[ M8)B:Z'0FZ("+S@C06@$Z,T!K!_A#6P):4RSUJ$^'&>ZX#-L-0V_(#-$#]ILV M_3ETNZ?3 \>X6S[]B=K;$;K@5OU$\UVVS"KQ/GL4?+>:W[M5M:K3TJXK_K7) M-M;QRK%'(LEI GU>UY@2'L2^QR$.?>6M!5S0U$H]+P$S-1EM;(&U,?ME+&?@ M@ZCJ9-&;M03/P+BN9>K'_4Y "_$IT(3'UNO<--K^H@\W4=JQN&UAV7Z#' MK$79!=5.U?DB0*/*M OJ=O7:R3W["??6)@[ITK6U^\9SG*)4I(3 P,>1/N&# M8!HP 3&-0\1X)"26\Z6X)97@9LI\HC6C-SAMWN#M-H=[D3\_VVU7[VF]L5Z7 M8NYYW/(4V68:>2F!XTC@UL:TYNT+V:1U/,>;M909,.)4J4ZU-ZH0&1B^JS,F ME_2L#E.+U7K 1RCPF(ATT$B<0A3%(:1<$A@B'$L_]04.D569EV>WGYJ/=O7E MR]N;+Y9%5IX39O;V]Z=AZ!V$MM[3 *[*89O=5B!YWL2XI40.FK=7$^3PMR[- M\+Q[FGASCN.ST/BS14;6<2*;',0X23WIZ[A9*1*(/!I![(4Q)%AZ//"]F,56 M$?>7 IJ:'GQ9W=^3XJDNG+YWDLL^#Z*S?C-O]\N8;]_1G*K/M-S M@T;*-GT9OP-EH>X)ZH6R4U]&X?&LU1?>=^1T:&T^EBO.Z\P*9*'+ BSR4LT< MMWPR&L:1\LM@G,1*N@D+84KC"'(D! EYF$21533OH&BG)NE=)FOE&-TSC01A1HBG==+&!?G.$GE9-?HR0]?;;Z)@6:E'TP^K.B9. MQBGR0IY")%BD_O$)Q)@3R#PK/813&Z*V )2:I>W$ ]ZV5@- M4;RN M54@QUW)-KOV'%&GXNZZSL:<;;LG('&TNF,,4<[85+CRC[*[VHL.4JR MZ_'C>$,O,V;\390ZW>22ZQTQIC[>Y/I7'U=5J4\]*-W;24G9&B ^%1G3V4:$ M8#+$D"+,(5*S'TAX$$$_T1DE4<(YQ6,.,)>9,[71J+&FKHTC6GM E0.]]#4# M^<:F&3B4"'K<,>K"!VF< 6V\Q^,[&OVVGK*W6T_9W^JG[./V4[:7Z[FC!]3\ M3&?,=-//DQI@+S3INQJ-W72?ZZ';$:J^&<**[)%4=2#Q.I>TPO)7P6]5RU=, M_:E>6MU,2S=[%M3S*0\0@H((H1-&^##E D,L&8YHDDH26TT#+P$SM3%V8\MV M\GO;#& 7=([9R#<6Y0./6X?9KL>>UA*P,65K^0_\,<@VD@M6':?PN@#0R$F[ M+J=N/TV7@WOVS8RPWE!^O2!EFTZ[E-F< M<^4)+G:81-8+NK9;=-8&+(%_WTL ?7LDIIR)D0O-35*:[+(FD"A4 T2!(1T2"U&>8&13NUL4UG"WUH#6Z*R62MR7KJPO+[>QW- MI T *VU[^_E!&V@W" [[$)B-?)/IVH&'N\[.&;C>ZLW&SMGA06ZC&3.P-J\= MUM8[( Y'LU&ZPND0-BSB4<>M4U&C-3B>1#KS0CC0:<'2BYX!]=R MF^ 9E8;K_M;,C+20W^&: 8W,X9+\(8/=KK$_:V'<1?-#QNVM@A_\TLL<#]K: MW&Q/'D8LX(C(& 8,A1!Q0B&-_ 1*Z<>8,19SYLT?:M_X2T6*:IQS/WLX;5Z5 M7;3#O37/3E.\Q$G2_?Y,4P]1SGPEX5S-$:2:+:2)(# . X]QWTNX1]K^?+LT MS% P@=[LL/Y_JB_'.41U4>],?S5KO5[UK(.G=BKX:"=,8VWJ*,KO8Q'J',FN MCQ8=;\ANV.:QS2GA()PA#.B6- MY 'WN/ 3HP3_)]J8VA). Q.T.)6GJG_*"Z"QFFGU*4)/JZTCF@;6RUX,&8N= M 0<'Y*H4[,?;_/$G=76C5.I#+5"U-)VZYRCB8F!4)P\F7[5[P%858 MLJ>ZI(0OF8^(\MR\,%(3\D2GEY*I!RGF 0I8D/I,F+S5NS>>VJO<8;,JR;'' MUNE7]A(.!GY/3WUW*XF:F] MEAU*T,&TFP(=X=)L'G,Y0P._M'OD#%#.\30)3B<#1YH:U:,_;>ZN6W[FV[UK M:#VK"'N]_%2(!Y+Q-T(*I3*\RRVYY/76<9-V:IX2*1GR$QB3-(0(40*)AWLIC WY\+S^B@)JP6\ J3&;UV1JT^/F:G0 M@!TP6B6OW8K9]1F=MB]:^'57-*=ZKDYW09_Z7A75 MV;^4"_5CNW"!28@#JN9WL9?X4*?WA]0/ L@C*GSAR01C<\_E8!.3>[7^EH$. M97T\\L?SBQRF;!KX)1=S-/"+."0]%E['Q32-Y>HZ(I6!Q04:Z27KET=X+WO2E5/&E]T76K-Z.?SC#I8BCI.T< + M3P<:?N%EIN-4G%]4.G'M:/EPUJF;?8\0C#""7$]SD- R1:2$:12S-%7N&TJL M2N5=@&5J[ES__"P]2^)=TH]FLC=2[PRLAD-VS!AID(LW)K&J>1DA'JW.($U]"%$0,8BX4 MMWI-S4M\RLV7:.Q)D6IR80'3Q0-/AJGY^MRDH)+1?Y5IV%0/[]6;6:5+OFKR]8]BN)I3@EG:4A"&&/,E+."?8B)5B8_4'(4 MH00G5H>]+P$S-;WZI5#@]'JW1I?9!L5>U"VF"T+CD#WXBA"MP,:.V8'BG.IW MG37UT9W&'J -FH'.))?+0I<3ZWA=Z ) (R\,74[=_LJ0@WOV$]>W]P^+_$F( M+Z)XS)@X$AZ[J!\I]>FCU.W>+K-_"-ZD57N=EU7Y/EN*ZTKB*P/A';/O[E MFY7X3T&*&_6LB#GW) J%ET DI >1S_7>+D80RP"3*)6(QD;QT+T13&TL4.\" MLI-L>]+-1'E0*@>6W0:[3@[3H@L#J]8MKPU(2MQ=WYK'HTL@T^-V3<3-Z&X'%@5>LH MK+,;=Z#!5X4:=+ '*KQD2Y;C0';#QD<.;;>C9#_8W?+Z?CKU+E/OFE+"1\&O MEY5ZFC*Z$$U4J)I@%%7VC]HQ[,)&I9("+9'OU 7S(&:2H)#!6,WF(8H9AX1A M7\WE.6&,>IBD?/XH"IJ;BM<%:&S>PVU,P[V.-W>B$$1CM!.R2[K$3-M&HGE@ MN6NL@+498&-'$] ^VQ0_W39I!NH.:1PZ;8\[#71 JE-9O 3/J$KI@+A=\71Q MR[Y^GSZUQW1%I>6M^D'-N\5-09;EHIEJ\_]:-4=QYDF4>)CJY$(48S6_C:ER M_#B&41+@F,5,^7VB1W2%,0"C-WG\$(MW>2&RVR40W]B=7@8#A2Y8UGRV3D=D MVA>F+J%+:L?R";.':<@]SD@2>Z.E-A_^N1@^Y?GN4_&KDH4[$*3ZD0B\[^&1 M,!NW)]G)(VXL#EL'<,W!A+*J]^VX:61;MT;_?61A[]LIX]4"/ :@Y](:R8J_ MD<5*_"J(CM/23>HEO-^6.=6.FCZ]<[U\6-5AM(K[;)'5EN@?E5NN'#IE05:N M=RGJ>\U9((4?B BRD*BY(T\]B-5,$GI!R#!/_=B+C'*2#(IR:IL+>@55(=7B MIFPH,UYO RDU7'2P+9?H!NE:P\6[E^ZPH9?UE'V@!C4#6R8V^QC;1H+&2O#< MS/HD9&,GJ W=VM1M;NMPR6_(KG"[&#@(TG&7"8V\!<=#&[&/MWK0)>V[4 MI7/L4QDSSJ ,)8:(1A(2IC[%E*0182E"E)K&UFW?>&JJW6$#&IQYY-PSKDYK MZB4,#"R#9L9;Q<$=LK17W-NS&XT6YW8(_G9>, M2^J%,&9!"A$* TA0ZD,4^$$B?,("814%?[B9J;V&-[>'/'T MMR>["/XY7RS>Y86^:,Z]-/&XC&#*PQ@B3W!(0A]!'_D1DBAF86QU,FQ<^)-3 ML7HELU[4K.[R54F6?(+KFMO]/YG%S9Z]^C]WA7-38Q[\H@A%SR#"MFK/)U'4H-YDBY5J8)W^C6,F(AFF$)-4 M5R[&"4P#[D'$@YC$- [B%%D%!9YN;VKCTP?1I9<"KQ;ZZ 5X4$+S562W=Y4> M^1]%06Z%=L#OE<;522/JCU"HOGPD"RUK]6[=7RPC^LYTB]DHY)#L@8>-=?$N M!;41\1EHT0Z27,^0&;>1<6?:'#?2S8R O<@UP\OZB='/JS);Z@J>^3W-EK5L M;B+?KKEZF3*9DLD*UON3=DIZ.P2Y+I9Y;)PS+.29)P%,:0AXB)6)Z MBR:E7/GL*:5>Z(6^'V,;$1L(Y]3$;^OT;E,1#)#6$CLQ&ZI;S41P ITUL'AV M%H(M$V?;8>;;5K:5Q4!G9SUH;5D*6E-GX,A);H=%R0;N&J?J/136455_8,)W M1XNAF^N;';%-J_99/.A3Y\O;+Q6I5J7Z@H]%0BGT!4K5,($)I)1AB)B0J4QC M'IE5ESW7T-1TODWWUX(%:[2@@6N;'?$(N^?W?%QQ-K2OVI.N'MD13W-Q07;$ M(S<>.3OB:?/VLR.>^7Z/"D-?5D1];FN]1!X6/(EBB)#/]"$>G0HG32&+L7K] M<8BI9,:%A;;O/+47OL%F41OG&4VG7^2+C!]Z<;*&U:SGV07CU?@YA/-9:9^#7^@WH_V5?,ON5_>?Q3W)],3Y5Z*# M0JJGC[*-]>E"?389YDM_+AGG@40* MJ8G6&CVX;^'K!7_9ADRQ+F2*;TP KU8/H,HM]Y/Z=9G97'3PCAA80%O\8-,7 MOV[UQ5[XVI85[B:-%W'H=$K8#\FH$[Z+R-J=SEUVLWX"^CPW3)<29IYZ?N03 M$4". PZ14*Z:^J#\-1&$3&FG(-2W4)D19-8J2'%JB=PAWAU$S" M+F=J8(W:RQ[UZ1Q)UA)TF@.G&G.DJ5%%Y+2YNRIQYMN75B);GP'^*#>_K->/ MYB+V1<"]!/H!TL?_$@K3)/(@#R,:IX)'F$1VF4],FK5Y],=)<=(DAR;W30D_ M-3 7FZ7@9B&_;_FP$^2;J8=K0@?6DJV"8&W^DNTXB(;G^@]#E/TZS]! ];U. M-/Q"A;S.4W&\8I?!M1!XJ=^$L62)*'1XM,@Z*;F")V/')N!1?Y5%* V[>+M MR@OZM?961@^Y"7L[]T'N/ M%R!\Z1W'R\DUV&=TT$C/ W52"M94BM2WO2'?/I-*/(]'.WQ"\.TWIFQ0%_PL MED)FU2>A7D)=M$U-:BF3"":QSK:,90BI+Z1>'(Q%0F,6B3X%OYT#-9*=\5-7 MZ9*Z/9U.N&R"0YI3EA:GM)SWM=^POV0^A$,DJ:O*22Q MZG!)(B*(Y#&*K6*97J:3QXQ&_)YZU\P7>-$^&]@?6-O6UB(%"BS0YNW%B^L_ MM %"X%5KSY]GA^,&MDLSM#8[/"HZ5'>X/5SJ'.6XQU&'(GGO .M@#?5S%SX5 M^6-6JMN_RXLW^8I6NE&C 1:)0"'D?D(@BCT*U7 OH/!BFO@^0XQ8 MS0E/-38U8>]*TY5:Q:L[ M8OSIZS_((D7TOF$G(H-P.+##M?*])8+TIAM(8 #86U#.X=>Q? M;873:M']"'1=/=H2Q=C5I/N1=*"Z=,\;]9Q+J0?N@WH$K[YEY=QC.(VT;\/] M6,V=O-2#)/)C2.* 122*/4:EU=QIZ^93DZPZE8T&!_[0\"Q=FF>T&I(Q ML,88\V _F3E@L-O)RW8#XTY6#IBV-SDY])U^+VD3ZK7>E-?KMVH2ORK$.K:= M)JJ?F1?")-)U.#@+(29! )-4(.9+*2)DY9&<;7%JKW,#V#)CP'E>S5YMIVP- MO;Y18]T^E ,V> ?)&V#,CE-Q.-_JJ(IA3,*NC)A?>&%NYR8)Z'OQ*!9^&[3C MZY53[DD8\##4,14I3)&'H"<3+XE\DL:^U<[:B;:FIB?_>Y4K#^M?_N3'WK]^ M*C(FRN9SM@17S6;,KZ3XNPX*URNK35PN(XLN4OQ5;1OP+2=!ISK#3(H<43RP M"&V?"&R SD#+V/E(L_[)C8]S,DR*X@/MO4RBX>.&'TT7?.*2?D+S052O27E7 MK]ERP7]^^JW4$>K7=7HF-<.I7ZLF>KT;?5-/A(D("4PQCB#R!88I5Y\"/V64 MLBCQN%7>0'L(4Y,E#1_(1?ZU;)8#L@XZ(&OLEDY0CWXQDZ)AV1Y8H702JYKL M#KY.P/=*6Z X_S-8&P$V5@SB//4GT:FD]8 QJM+UIVE7 "^X4^_EYWK3]HUH M_G^]?".D* JQG=!C+N+4\P65D''FZ25G#HGGQU#ZE*$D87&(K'+*&;4Z-?7K M0.OM[66^A*Q-)\%;Z/6!IIZ%,,RZP7C-V2VYPZ\S-[R^ZA#_6:D/S8GX\":L<7%%Y1LT.48LR8CD2G? ;\NW 2JCO1R1,D0=#RF(U%U,O M/!$20RS#)*(>C7%@E0_R1%M3>^6WCMW:+95:DVRSI7TQ=>-L7MNSUG.'^B0? M ^Q%'V[O!7:=3QI^>'_Y]"5][WX-$_49"?&S(>Q3*BN MD(L@CE,$2>H3CT2Z/DU@GE;,+;BIR=--7I$%D'I)]5'CJ\/7G\5P #UWM6Z M=JR4<'77':@K19X7\"BWOM>FH0&D[N+M%U7]I,UN-G,?)\MQ74E[LLYC0*4",X@3=1$ !&= M8X]&!')$PSB,2)P0NXJ]!HU.;;15?E-59'353&MU38MR!M[H;;+\0;VY-X+= M+?-%?ONT_N/KE1J,[T51G]W4CE8)KI9<38D7S8&^N^Q!?:LIU[.5/KX[J*&_ MJ^9Y7-R3XN^683M&O6JXL>RXKX;>83ZK:I]=*<&]%.2>$8^[[#'I" MZ()U 8:ISW168TJ%QV2$I=%NBUES4Y.X!G!=Y"!O(=<;S35FP!K0%K[G>;X- M)@A.61Q8?+8([-""-5SP>@ "+=QQIT2.Y&!?1JB=IVS,STG?]_Q=QO-FC2UZ MYI^:7]7/X]PN5['D=9G3NWRAKB^;FFYS'\<)2A"! >8ZNY=R.7$2!M!',O*B M4/F:/)U7>O'#S-L\UZ"5#*^;'7I=9[%59D8___48V2.GH]G#\CD4NX9G9YF4W(M_,"7%-Z]:;$;'VX M]VG6E>=SYUK84.34E3!J>%37P8:*75?!ZMJ>JS&B+(5X7H=BW417D.+-2ORG M(,4[Y;3,*0\0C<(4^G$D]20I@,IKX%"F2>K1@(48138"90M@:F*E'L38!;Z/U.0*>E[$())) FE BBH3 0-)*'8ZJS$N/"GIJX=./729TO M\\6"%.4FUYB=\([\))C)]G3[=V#1W\Y.?>Q\9*E/SQU,8ZT)F'4G)&=@38)^ M3!H:9J C K1,K+\%:B[<#1XOTX=.AYZ131AUX'J9[MD=]EX(Q3";M)L$5%'$ M*.5,IYV*(,(Q@3@(]7H%B8.(AH1Y5JGC3!N>VD#U_OKJY^OWUS?7;[^ JP]O MP)>_7GU^^]>/[]^\_?SE7_Z$ S_Y5_#V?_]V??.?;C=M+4.(AJ#W139Q!PDH MLF5GU'W=EPDULJ7$=I]WL&0*73YP):0ZE_L\]#A.:"BA%%1 I!-=IHE$4/HA M)C%G/N9657#/MC@UA5HGN']H\%V:)F&78#,!%\.H1C%UY:5_?]^@R]""*.I#XF'%*J9OM$350XPU#] M/O8IQ2S$5JIRH(VIZCT_3&7)H)R(4,#2P9MN1<4/)VS_R!*MR^?YE M@A.&'J]?N__5?J_Z9Z&\DA6K5D6VO%4_B.)1;!4>F%/?%S3Q*)3J7X@832#F M)((\8H1$4NACJC:O_9GVIB8!S^""%N]%I4+.$6ZF#0YI'%@G+F+06C0,>7$J M(.?:'%5,# G8%1;3RWJ&7N:%R&Z7S3XN>^HV>^N IP-Y?^>$(#]EGH1A+)6O MP=((DE $4!"L[I\$$B=6%@;PD&*I;J>K'M6;8C?B6_6S0OKWN0QY(%(40C^1,40"Q3#EOG*#6$JE M+SEFB57)DZ,M34THNNT^V&UGUW!M"W4?Y=5,(9RP-;!"=!CKZFA-CIX_-$Y0 M W4H$6?)N2ZB-D]E$,:I MT@9)@A B2E.(O8C -! Q"TDLHLCJ&-:IQJ8F%)MCE(MZ^X)H7PYD:\QVJ1R, MZ#83#U\=0-TCK4M#N!,2$$*<:K*O[O*BR M?[2%[>LBX/715/6\S0F*0X\D"**8"_4/BR&F20ACFG*6(*EWEAUEQCH!8VH" MI!Z^R%G"JE/T&Z["#$[JT(LQIY):S>K*]*P^Y[AE37=*7H$8)=&5 9-CI;XZ M!64JR; ,Z+)(CV5RMYZGY_6)G>NR7 G^IEX&;XX>UJM"]=]V#B?R>1CRB"+N M0YH*I8N^TD6"N9JI15Z$><"I3XPBC'LCF)H:ZI)"F<)/U#.C4_2J"?-]OFPS M]:Z67!]FKS\_J,LLG3+[[C&3S$%)'U@M:WR@ 0\:].LCX6WMN>8K77[=M1$. M3X3WY<_MH6YK%..>R^Y+TM[1ZMXWLL^G\*M2X?O5?9LC@#(O3%*40"F2!"*4 M2HB3-(8^JC/)*"^0QZ;I%)[=>6HBUH(S3Z;PG*?3JG.1]0.K28O+<2:%@]9> MG$CA^5U'RZ-PT)CM- J'O] C@V<7!+W.J'NUY,_RZ78%;)%>)!88@&$8R4 &042HT;$\FT:G]L:NTP\7VU@MLD^:DGWZW1Z*PH%?>Y/DS>;DBV2_-IR=;)9)^F]QHOY:>E=<\2?]I>ZRI2HTYVM5[: M>TT>LHHLU*1I3F.1)C%/84IE"A'U(Z7B*8$^3@,4L2 0,9HOQ2VI!+^Y)'+C M& *C5R9M7ID]' .N3]OGY+-@W6R"Z)C$%PWH:)+M;5;]VUSQ.MAL*WQI!I0Q M0\9ZG"-PX*"/H\V_QB%,8H%1 )*6 .DL?C$44 MQ"B.)$D]FP6UD7!/S1_^+'1AG2;%0+T*U^'7'S<&V.GJ6,^ F2A/L&<'5O3. M8K!E\FQS+JP"STQXEEIB!AK#ZY"^VG3]6!R[="L7D;LQ8.3^4.^?2V<@^$/$#C\YKU#7G:]SJ9S7F;LYQUW.K-7[WZ3PL2!LDHX=) M^R^2U,."F&-Y/6QNT6^X^:7(R_)3D]BF-,S6O:V&BQ&JP-30P#TI;C/+.(N@2](%;]_FDL)1'^7;;ZR>5NO:+!^7KTEYI__3.R4*W6.<&R/2Q6_V' M>JML^Q=;WYSS@'I^&B'(4R^%B"4"IJF:D<51$DNN(_=3*_$; ./4!+(Q42_( MR3807;3&@D+72VH^ER!? J8L:2I$Z ]B8U.?JE5N.]Y,A%^X.P<6ZDU/=O8U M%:]4SVG0L_I?L(5]!C9F-7\D]9F Y[][:]#//2MB#=(3 Q3,II#4+T MX7);PS35<]^0+/11\"]W0E3O]3.IILMO\GLU?YX'4M"XKO[C)0RB6 :0IB&' MGD2^2-0+)@.KD>)X4U,3_!8IJ*&"#BOXHT%KF0;A!,.&&VE.>!MZ[ZLG9?;; M5&?9<+NS=+RY<3>#SIJ]MW]S_HI+TJ;H,,=W"F:SP;-2SG#K%>?+\F>A':5U M-@91_IHM\T)YR-=+]?HJ)5."]OPN3?[=7T5UEW-=XKFKQ.DGE.ID+) &3$+D M8P2ISWPH.::8AUC$46BSQC8B]JFMX;5+W*\6"O:?U5Q4F[FU]:!\VCI4"[RB M8BED5OVY3[:7<9X*,]V<:%\/+,1=-[^ONUD+"=B8#C:V=T] F\&\,0ELV30[ ML"FB#V/FBX6^4T>1ZQPWH_;7 %ESQL'_ GEX1NV8PYE]QH70,T95U._'+TI$ M"[)0C5[Q^VR9Z<3R.BEL&Q [CQ,:!3I"/Y!2.==1&D+*4 *],,!$$,09M\HP M9M;LU!SM%O4,W#:X9_7TFCR#W@U,ML&H9OU@-I2X9W?@46!-; NYYO4Y:-"B M=AAG:L62V^!2LZ;'C2BUHF,OC-3NZH'*T9VI O0N+Z3(JE51%]10F+)6C8UJ MDL4XCD284!@@K8&^3V":*B'$:>)A'/'0IW8:^)+63$U:6V,$5P^$EM"L&*EN MW:"/C*%**#Z#>2?BK9,?9UAHLG%>;52,YLB^X?@,1%E$<(JN1]G1S4QL*UVC;U#;UJ*=4; T8O%(*UOS6 M3S9$UDAG;=)7L 'K3M_-2'$JP&>:'%4ASL7IJM['BE*9> M% 50^ )#)*,$$AFH?VA(L* H8'9Q%<<:FIJN;"7_7B/MN4EXE%N;I>[+&!MG M7=J2K/Z)TH\P,4R>]-W&7B9-^A&3CV9)/_;]"Y+S?19<*%^)?RQ>D\7B0 :L M.4M]DN"40Y1*HER16)=6T#MZ42I"/TF],+"J5F76[-2DHQTX"_&@[GA73[R( MCOT]L9]R">F&TV;G5 X]OZW=N0ZQ7NAH,!],M.OS,><9T M'$R79WYU/VVZ>B390A>"4'.T+V0AW@A:?1%,M5+7 F9L=;]:Z(PI=5#";\M" MD(7VF'Y1LMAL+"FYG'.6<,[B& 9()%JZ,*1^%$'F,Q9)JOP>NS3N3E!-3=F: M0)G5&BRX56@M]V[<=)>9Z(W>"0-KHL8/-@;,P-I J,#"4IDX UMF@:;#-H8! M;=FL.QZ@C',GG$ZY=JJK;I"-*KM.R=Q59;'IKIP>C_X57WCKOQ8O,^7MZ*8)[$?$[VI$"%=+A'[(20A\V!((Q;XB8) MK2(%W,*;FH=NMLJ:R3:;HN"O-=.KE.F@*WO/&OFVW M^7V=(* UL>[97]<]V]CI3BF'X=^IQCJ&.*HZ#T/OKJX/U(K=B,!%-K\I"%=# MRY>G>YHOYM+S T[C KE"4(4$P)Q0GS(D(\Q#W LX\A$S/?N/#4=;L&!!IV9 MZN[3=5HP+R)A8*TSM-]8G([:>D!72L%^O,T??U+7-)*B/M1*4FO(_IU&>?V/ M&M"]N<>_T-<-:W9K-SLR=;)?G?B8B5#B #&(0Y^JMS#$D*220^H)CR$_'G(E"Z(B,*4!4CGI>>&)_=%25R(ZKDT6)#&\U7DTB.]N>E22RO+2'@N^N 6U6 MA_1:T:^DZM:*I%+)FZ^YSC+7!C[?J&ZHL\Z5>GFY.?45I3$2@BM?$.FC=C26 M,,420^44>BF5E*8H-59ZM]BF-B($,*RS,MJ4I'/<6P:CP\OUP<"CR-HP'68& MM&E;B_"@7I3?6 =J\W3^S*;+P,_M415M8ONK>H_E]+&_P3O48G1ZN8X=:13; MWT8!Y=8N"]<]?+_I85+WL/I&ON3@26=+I:NJ.Y*D=+=H?CL#P]/P C;MBHJ9$.%U_.=K8J*LOYTS>77LY^_V7R:31!@-KI3N9 ($+*6,6 M1%!J?4$^T[NSDNG*$Q'UI62$!V/FS##$/35_?PNV+K.C9M>%>,B+.G<[5RJV M260 #R-<&G#A5R%/MC:IJ!H;O*I'))3U3W;155C[*-]ECQL62ZQ*E]_FR MCB2=^PG&H7*.H>_IXXO,YY 0';,9IT&$J(S]-)XOQ:V>JMY89+PYV:K1*Y$V MK\1>V\.]'IVSHMQ;WJ&VS&]SFFPS+7' W4CY;5J@FK"/!<^6I'@":\SZX+=& MW22_<9CIQH@>MYEN3C6[4[-<=E" M#LL6.F M=E!VX&UV8LS[P&3;;!!FA]X2VR*U0PTZV&"-^[R;3G1ECN]+B/B* D\B"7DD*$DACBQ-/QT23U4\F"(*96F8*. M-C4UL=@@!1U4D[/FM@2;J8<;VH9V]/HQ9I]\YRP9;C/J'&]NW#0Y9\W>RWUS M_HH+]HCI^=5Y>F1U_N.J*BNRU.&'.ZOSGX5.X*A^KZ.&-=(56=R(XCZ8(^YC MF7B!ZB%*(!(R5CY++&&4D"3EB"=>*JWWB\>U86H2MV5"O0O\9'YN]"6?!(M= MX.GV[W>T(_SL,=G;$5ZS ;;H )H/Q[O#+].7[G>*1[9C_%WCE^FH@SO(+P2E MYZ',I@3<\O:]4)BZT+JGN>!1$OAZY*-<0,1CJGSP)(6^E%$4^^WM/+9G>"KQ;BHWRKG/CJZ?>,B^NES(O[6LH^BT>Q7(FZ M .0W]4(NR:);3RQ_?OI4Y'S%*EW Y8LH'C,FRLV251SBA%*"%?>8Z_R_,4Q) M$$)*.?(2@6//LTIS-AC2J6E2:TE3C;:S9;V\7FJ/JC.GKBW5&63I5 _6\8:N M\Q2Z%H4? M)K=[#\[<'I:T:'_?5"PNWI!*;#(UB"@0,DH) MC#GW(0I\!FE $10\B0(2Q0G!PKZHQ!1,LWGGQRMBL<;?QEZ^$:P^P05"?P8" MST_K@JQ[T966?N$4^)\G+&*"J4P5*Y@@&':>!S*)"7AB)13B*Q.B]UI)VI36NW8+9% MW2WC!(_0:394.2!IX-%CGY\!XHO/T. V O!(6^.&_ITV>"_F[\S7>\Y 5[04 M_[U2:O16'Q6O]ZGFH8=B+PX]&!$2Z_(+(21>D$ U3\21"%$0VV55/]3(U#1@ M@Q'4(-L].\O%K(-T&GJL%Y(TM =IRX^]^W:" +?NU*&&QG5O3IBZYVZ<^F[/ M@@JB+(5X?@!E^Z0'2WB /0(]@0*(4D[5ZX]BR)*(TEA@Z0NCS+EFS4U-"!IX MEJ443A-J)@#N:!I8"AJ@^K#OLU-DY4 Q7V:\N"VN<+K)<0LL&)F_5V3![*K> ML5]=!>1Z"J/G086X4U.A[%$TY5_TMMP'47V4>M\Y\#"*!".Z0B:#""EXN_:GIC#;]@F%;1L ]"F &5B*.G5)=6*;VDGGF(G3 M@)0/K%;;;#<+5L^P=_6CNM,!'QK:W59^[T>>ZX@T*PQCAZGU(>A [%JOV_13 MP=<+4I;J1H72UE7Q5*=>:1Q^0:D(/8]!GR%?S9^20.D=QDKO.,4\#@6SBY<_ MVM+4E*T&6K\^+=0F6U"_N=1Q?LTDRPEK XM37\*L)>@L&4[%YGAKH\K*6:-W M!>3\!3T=IL4B_ZI7;M[EQ9M\12NY6K2!MN5GP416ISULJV'-(YJD2<1TV$Y* M(0K43(PD<0SCA*>"1LG_R]V[-KF-:UFB?X41,S%=)R+10Q(@ S?_T%^- C)5$ !#+9=Z:CCC-3)/9>$!;_8883(U2,2MTBG&*4\"@( ")0@&J,PH0SY'*E=0D\RHO"C=E M:@RX-=+&";HVTZ9T9-=O43E.3?CV57S 7V9K:Z] \B;9+!.NDL^LDC?)P=PT M'M4]F(;=_?*#=?"=,4=S7GS7S \VEQTUSSN&D6K=KJ,29E%;QZ/MV;+&J58F M+ 1%@2% FN> Y7D.L$904PRQR#,?OCPYRO2HL#/R@@RM!Y!N['8U/ ,3UW-D M!CB@[X4@*LF<'FE4_NAU]CDU]'_XVD+NT\E$]4AMWI!-"6J2D-;KQX?F=_6R M=7<$!2'-,[1/I!)^G7.BFC?*'38ZT M37[7F^JA"1)VV8SU9D[S!+;>-UF/2H:69?L<4A!>;U*&3%UK'ZLDYG^)Z M,&\WR=;%@^D?IY8[Y@0,5, =Q<07JMJ.">_Y4NVHHP3N/"XVE:RL4O#/O>Z1 MG\RS\F9I0]59H3BF""F0:8BMMJ\ 1,,4*$J+#%(B6>Z5['%IP*E1_;Z]>VUW M;Q)KC)_J^.D._W^X8>)FI2L_S;+"8!010"+'.="H)AH=R;202;,35RZFQMFCPGRV?J9BOK&5AJ\+BVC1R- M ^ND:OWQZ(@0/FO]/#;>7 S,;D>[@;4;X$X#XTA26WN3;.>J=B:YTTGG3O.) M42;$HV/%*!,S4@.+82?(KZO%U;CV-KD(O_MX/2^N1N"@!<;U=_-[D4E5S=ZT M7]O/7>VN+;Z:08F1DID K.0:(*PX(*DJ0*K2'&:L2!5U4O\X.\+47C^=D4EC M96+,K*LWW:CL/)#]KXTH\ S\1O!&QIE#+GI_(J1=*_&OWY<__Z>YMHEFS3]J M[JAYX_P=1Z&$BPYU3_OE#X:>G_1IH_VNEM]7[,=])6YMUL^S?3-%9*',_S?+ M86$%#+ &'.8YR/*BH"57.21>VZ97V#(UT3(%Z. MG*Z%9F"R\D3%*VSJ_C\Q\(PP[SZ3R5M NC= MXGVM4%'GNCQ[Y=I"+EW(S.[;E>;Y%B7@NN0@1X466J628K]>._XV3(T"?E\9 M>Y.=^742K6JTH?>/C&V:[>U/5LVM-\#\!+ZRN:U,VOH9>GCL/GV^)\2#3,J( MQ\#/9B59+O;Q'NF4UQO$@8YRW>UXH?-:;Z#.'\KZW\KS(*35J9W]_NKSC+*, MD[+ 0'** ))F$CBV#5D(I9@*2XQ.67K[-YT:R_VQJ&S:V;]7B^]R^7"3?%X^ M+J1KO^M]L"Z<)@1",#"G>'KOOI=\PMV>(*;[>//T=S_MPIF#VXVS%7S"@>W& M[JF_A38NMF6=W]@OVUC)3(*][8>M=G!>8L()9H!+3 $JB?E7F6( "929*GA& MH5=V0^]H4WLPV\IF8VVR9^X54LW]6+M%$-$0'/BYO@:\@+;&#J!$[FO<-^+( MC8T=G#_N;.QRT964UGHF,%[PL,= I8P")3 /S>B^!*%*6 M0J)$CKS*,D\/,V$2V=J9_&DM#26/0U0]62,8J_'HPAFF<)HXB<(P_' XU,L0 MPTEWSS+"Z4^'4D';0/WOR]4_WB\^KY9"M0(27]1:K>K'"Q?'G!I)6$M!M0 _&EM]B>$RQJXL$16YP2FCM?8F ML?;:DH+6XJT*36=U3 IQAB@RGUP>=V1R<0;BF&G<+PV4EF'K^QDK9<9RB(&" M60H0QB;>T&850TWX44BHD>$6+Q49<].I$8>UR5,5QD+C1@>^#@_\O/?ZZB_H MLN=<7.T6>^-Q95KV7#E29-G_6]C#],>"5_.YDCNQ@W4G[H&P5 PK"H14A0GI M\Q(P4C";=0R1P KIW"GK^/)04WOP.DN357-"[/<0]D#J]FC& 6KPK;T6HSTK M!Y! N8Q%U.>[9[A1G_K+;C_G H!-D_#T?##/1FM MA5W[LI9#$MFZ8T/9'ZMJN4J:YC>>#>$NSH8;Q\0!=Z1\T@ZYULJ;;4NXG;T1 M&\*Y(A.W(]S%4<=M"><*PE%/..<+ YMSK-0/5LFWOVQO$76[:+0LZY3V[5LV M9[* )2V!4-@$+AIJP+4L .-8JL;G)JFCE=!N+ MVY(HSUX>#NB[\4]D3 =FH [.UMP:S48NM[%X@,#' Z"XW3\VFO<[A- M8F('>61KFT=6A>:1#3'U;MSYPA,Z,-?>O7Y_D[Q1?'-0*G^< 7BSGZ76.GRR ME_FM_(_'9H9OXBJ7#S@/42E]"#M'?04,"/3S5\:00P5H!AQKD>XKEC;JL]:* MM@W\VU_BWC;:^V+6NKNO_0P3411I+D&)N "($0@8+@B 3!10"(2A(L[Z 5%, MFMH+I#76Q,N-ML<2ZQG M>U0_^IQYB N,/G[5'X@STGA:!%&1.= EB'OGP!SS?__R M]QD3M,PQXX"SDIC%5*D 32D'I&0L5YCF5#O)$NS?=&HOKW\W(+)%\O?EPC.O MW )TX5T3Z/; ;XO:X^2WK\O'S?W?;GH]]\\IWW,U1DZYO=VX.>5[#ASEE.__ M+3#]XC@X[GH&W7);9"NR "7T#QU!<^%1%0R/T%5AS&G M]E#>G>A=5K7=M.;-^G37Q.Q_>:9Y.$R!VU9"9& '?NP=>Y.9H&.S657\<5.7 MJ6V6R6=6;WG_V?D4LW>0.X)Q,U$SL#,I;/X>K M&_M$0&M@Q@D!RIM"+L 0E3;.C34J55QP^#D]7/IX<)_6U:.279>*:I>E!6$F M,VKXH-34D$)."D HEX"B+!549Y!@K^X19T>:&BVTAFY/C;U[JYX!U(T-HL T M_#95C=">D4/T_;J$1.SFIV=&&[O-:;_3)QJ:7KC@:DDT6S]GHX^_5YO[3AKH M[2\Q?[0G /8S=V&1C1@7GG0,:LLS_YRSBPU3*[2;8^))T3<<\[KX!P*,TR9SM> M2JO,%Z@>C3+O6P6<-V[K!-_^8@\F[+('!K9+U_H/V[=K[Y?U]D8MKF1X=T8Q M+&T30B"RU-!?JB"@G#" \U*J3&I),Z>,NRMLF!K]V924)VNU%29?V$T(M;/< MR@[^9*MJ^;BVVS_VD65M86;52AXUR7JJ]<[C."MP"AW.'(>?F(%9=*\.><_: MNB>A5:*RG0KW?]]LX;T=;0H\CA"'GXJ1S@R_W2O[!-2/RF_KOR5<-0^#K(5C MJD5B*'>A1#T?]>O.^-/MH]KK]A^JX\?F7R,=(5X'=^^98>"MQSLDO,[W@U/! M*V]U997ZNVI1K>^5_'VYE,\JJ'-9,BZ0B=>5MBM^F &64PI4SF%1F-@=9U[G M%0YC3NU]U5F:?+>F!A:I]T#L%J5'!F[P]\FV2'T+7VWPJEQ$:ID:]9]R7 MJ5&_#,39&G6'2Z_5"-TFKKY;KFS:ZBY;L!;4FY50$$P0,U&SS '"A0(LS4I0 M9#S%6NM,^FTV.H\\-0+:UY^\/<[3WEG?RD]ZGE2XSX@;4PV"\\!\%0_B*V0] M'>$:2,SSTN@O).'I",IYX4[7&X31V=N''_/EDU)[W1G;!M%88,(QD6:I3PQ] M\5(#3KCA,*9Y491YP3(O'8ZS(TV-KCI##_JB^E'2>53=*"@*5D-3SJF&LJN5 M3?9K*C(:NP?HR'T1G:@,3R!2%5"V?)R-;U?&2;KEY"FR?U MFYD'5:\"7]7U.N_,=Z_^T8J UQK@,X@+$R;1W.!N^Q_:/@D<4@$X*E(F>$&H MFQ+)$,9-C9<@0,V&ED\&?.3Y;F['JG0X#I[7>\6*TD[RPVZ263W)F_MJ M)>N-SH0_;KKJ1&V,VMS7O[Y)M)WINIUIK)W+@>:BOPPB\I@C%D0,@]9A:<1 M8P1&]O]\M&*@7=8PY41QHE- H:*V#Y$$K* *I"G!'$I6YMPKC^'P]E-[5S;6 MN:0%NV#G&+0'(S+P>\L=#/]0_*3/<>/OPR'&#;I/NG<4:9_^5& ^<_?XOWK: M_O/?*K4R-[I_^J!^&G]M&FXILE*C- 6ID R@S(30)&>I"9Q)FBJ&!:+(*[W9 M:=BI/>:[^"G9&EM+N'RZ_7_"LI[=T'*"?%4Y/U_A*@C911=06>@8F?E/@&+C$ M1W2DP*8S/-G+_ZE+S0^-OVGZF=3VW]C>U2)J4G<8?G&#)#\3Q@VB@N Y"K+" M[A*H1=CL9]LB]B_*5J:(3:W\,F.4(D5Q"2 LD%7PR@'-L&U5=!=1(BH*MB772VH&1$24$+\ 05S?PW&#C MB@5>7J]G,_-D[=B\R_5]_O-MZ4AI3FK'NQ3 M,% 6@95F" F5&8?^D< MY(+*5(A49\@I8=MMN*G16&=P\J.UN#ZX7+P1MEX%VB)&CPCY7A>[]\LU> M2X!GQ&]%/*K%X_)QO>LH8 4L/R_7=<>X#VJ]_G;/%EG^T7SR?CW+,R0YX@H0 M!DN =,$!QXP!S=.:C-]=TJ MCCJ3KGO(+S4_@V\N][9T6=FS]Z6>CC*TV M?=K)$]K29SX8V/'OAUJ9=<'B>Y-A9'EC5N@4ETH@H#0R,1IE&#"4Y4"2DD-: MY*@@>+99;MC<[7D^,8;7$[T=:;CO\-;$0U%[SQ9Z)[!T>[RO1&C@!WP'SH%& M?<3.<^?=C]LY[L0XXW9^.^_H4>>VGH\&-I!Y??MF)BDI,<\+@+DMH:!I :BD M M!22%ID92Z8F[3AWDTG]WIF"R;93?+&GO0[GUWNHW1ALRO0]Z'?PXYN^[>0 MV?,S1@L9>[MQ6\CL.7#40F;_;\.I(WVH%NK]1CVL9PAJ3O.\!"K-H(F6B0 \ M9:DM&( YE0)A5,962-J./K5'U6$5G?QIK4]J\P<02=I-C-NK>C"X7WZ_P@WI M0;22CA ;72]I9\'D-)..P G133J^R94+A@^*K?>RZMK>"#FB.B]Y!C(.,X!8 M5IKX J= I*F$$&8:<'O)EEB"][I]=C?1?%2>+Z=EVIQ"/#X\V95?6R06' MFYR-CH3MFY!#4@B=:U!F4@'$=0Z(Y/5_>(XRA!4.*3>(8IS3L_92Y0>/NY,) MN^GAW2(RK6@^96A5GVHDE7 M5X%Y*1OKNIL'=R2L-N;%\%/)]XN-^8Y7MDFR89/-^O9AN=I4_UEGG[QM6G'9 MW-=O?RUGM"PTL5W))&(8(*@(8"6B9FE<2H(ESHCR[5?H;\74@DCSK8?>;0L# MP'>CW,$A'9AB&_M![4"R\Z#N*;2Q389^*&&9==^9FSK!/C&.1.V*&(YC[)Z) M 9:,W5$Q'*P3_1:ON%E@+7V3C?5W9K5AZR* :BU,=/5HOMI;A:T"" M6@ D! <\M\=NC!!*2ET*Z)4+Y3+HU,BNM3G9&9WL61VL9>:$OQL!QD9U8+Z[ M'E#_PGP/A.(6Z;L,/&[!O@<41\7[/M=>>U)AJUUO%]+^CU5R^VG"QL6F[1B0 MT0Q+4>8 9S@#B&H,2,802 5AF"):0NJUA^B PH):2)ES0"-$4"%((000K"2^FEYGIZF*D146ME MLF=FD,KC&5#=:.9ZJ ;FE0"4O$FD'X2HK'%FJ%%IHM_=Y[QPX=.AS>[$RAXX MO%'-_[YO,A_OEW-SCW4C0?ME.9^_6Z[^8BLY*V0FBB*#("L1!$@2#;B4!$A9 MEA+K/)>YET"LY_A3HX[._.2WSH&_V1Z4^S[\2])XX=LASV]>W$AF0+0'9A\/ MH),_K0M)ZT-$=@I$+W)7/3\;1NZP%P30<;>]L-L$KMALPZ%7MM_0Z^6#W:!J MBD>Y8$SH@@'(1 Z0YA!01200LH0J3\N<9%G 8>?IT29Z>MFJ7B8K-6^2!S;+ MY+M=.J\3PA2 M(2!(G@*$,37?%I@#45*9IKJ@.B4^T5.($5,+H0Y\2%Z;N?KNFR 1-!=NG#,T MP@,STB&X=B>H=2#9>;"W>YW\:9U(:B\B!D[7@!B5NX(,&979KH'J.>]==:_ M1#,IZXI8-O_,*OE^\9K]J#9LWE9BFGA*<(DP*'-NV_+!#!!,.& 95%FN2@:E M5QEK[VA3X[F=L8FU%IC52VNO9S98+\1NK!8-N('IZSQF Y3!.H$2-\VJ=\1Q MTZ=]^WF-5NMG@R?-4T&J6)IP;0"FA$*$%42L#(E=JE& M95:@$D'J51CO,NK4F&5[RE.O+=3.;L_*>2?$(=:<$)B"5&4*($)2P QY TP@ MXBF#1<:Y3^ER?,1'*&8>%7$W2H^.X\#4?O9H\B9AFZ2S^D(74W^I Q^4XLH? M.(T\KB2"#QA',@E>%XUJI92V[8K]:_JKV^.9*X*K '-:JT[ MB@ M3/@G9$H0H8J;=:6S-ND8%D^-:/ZN;(<&)1/V4ZW8=Y7\J(VV&_U<):NM M+QXJG:-,?#]O37(Z!R;#SMU.#C39/XS8]ZL^A6B<3AJO;P[^;OZ\28SGR<[U MNKF=_5HTO:>V[D_M6^$A_SJU;\=("K*3^I;XR=&..6.]BK:C&#*>*.Z8N![H MZHXZ<$ $\[%:5 ^/#[LLA&V+R/;X]LVCLKV-YLU?ORBK"J[6,YJ9&$1Q#G)< M% !Q98M.) &0EH0C)-(2.25W7V/$U.*,UHVD\R-YO]AOKMKZDAAGDF^V5]B\ M^U#GD,>K)G3>'&**$69CX##AO\)$>+S&1YB0D=[,PTV,WVOV2D1[WYRA]Q[O M97BE]P?OMVOO=;5X\)OJ9R750J[-F[%^N]K-.GM2,T.YT#F$&A2%[>FA& 6D M3"& NJ"(4IQ[J11Z#/HU%Y)];ZS[*RU"]]$-#J[:VMV\MOC6M:_K7_T%"IU MF@7'C?W(V Z]K[^G57R3;"VN%P?-:N.FV?*W=@^B87P1I:%DC<\/_%)*QQ>A MZ!$_OGQMU(/=KF188,@R7:8 H<(*5L@"4!,T X:T*F0ABE1Z;?/W#S=)4CI= ML!=8IWT![JL.%Z=7FWT5?K%.$X%:NYO:[L8S3N$[/R6&6_]!TL"X7'+4=['G9N+R<;%9/ 85%GNH"2:13 MIZW![2VG%L#\^]V7M[[UE]MO[U\GG]_>??[P]E^^)E_>?O[CU0?S MF[MWCIM(.^ N[,T%P3$P)5R)A/NNS9'S?0KRS8=; ?GFASW]^-VMQMER.3)] MNX%R_)=K]5@.Q5^>M@JKM9S"KBR$*,1RP0B W*89I64&>,%KD18E\HPK,^]A MTBQN!DSM@6Y"A+5]FW66)W=\7GVO]T,]0P3OV7"+%H;$>&"6V%=K>28L];03 M:6[E6I)!JG-"T1M(Q,71B!?2<_&#Z+RTB^=]8JV&;H58/9IEQ4XU?582BG!A MFT]!)@#2N>WO7)1 Y"3+H8):E4XQB<^@4R.YUL)$-1OS5R]\3L /L.@Y#]' :YX3 [_PDN<\%)=7/#W7AM'/1[;ZA]I80MMI)>\W MKK?JR&]_B?FCK!;?[S;W:F6;:'Y3#S^6*[9Z>O_P@U4K>_2ZGNFB0(:5"F!6 M2#8J(QI0Q0L "P$ERS7-B0I08XAG8<#>SG@*#K7J?+)J1)Q* M-R(<>69&2K[8.G4@2=_YE5C'VM9_5C>Y]2ZIW0.V?S'8= XF.P]KA?IX_!H? M^:@L'-&\4;DZ/JS/&7V $4+R_K59)V^JGVJ[6:Y'*: R*\U/99%KIRKQ..9,+53= M.F2WZ).5<<9$K1U3R-:!I+(>)+^Q=<)L#H-UQ#&#(=(D7MBP&WUJ!F;VW:SL MY6Q9=Y)#?_9IO7.I:0=7)T@(YVJN2-/DDS$_YG2-E0X_PK1Y9KG'0KD_A?WJ M44;,3X^%R&'R>;2[!C;YL^_?3\O%\K )<9L9.$N5RJ3.H>;VCNNMG;;)[S=E/%M%=X/L-LJ)!YL []_&L3V+=UV$G][ M"3[__GY.J,3M[]<_Y+C]_9S6J6W#B#/"NH!$6) M%$ :84"YR@&4S&[O*DV1],MWZ1]P>HDN[Q[GNIK/Z^7R4B=_=290,6E['#WXV4]L545?RK+=]C[FY:.\1-S\]?[R/[SK*TWO6F>[A M//^!0.VOK3;MG=ZO^F]%;%\OUYOU3C*@HX1M70O*BAQ"IH"4E)D'EFM :4D MX:P414H*B;VR6JXS9VI/^06A^N!BHRLGS2T0&6\JAEY573\+_NIF4<"+JX=V MG4GC*JA%@>]($L$S( N! 9*Z $P@859I4!69R'5!I(^X M:VC*WP@2KM_L&,G<(4/M(FINM#7-#+Y!4O2&SL1[L80[A[RZ>.ES[Q<_S6.^ M7#U]87]]-#RPJMA\_4EM[O16*24E@O$,"T 0U !!(@'EYE\P%;1D/,^SU*M? MX^4AIQ;)&$.3A\Y2W[3=B_BZ/=EQ41OX@=\:>Y-8[+;VWB3&8KL)%4]/QA^? MR/FZ%X<=.5O7%8;C7%WG*T,RMM:;RCY"\MURI56U,6&(/0LW/_W1:J_=_:A/ M2,QOOJI%M5Q]9 O6Q*@S7&90D1P!BS3RV$DL+AN_ZE^N:\\,JW6N^60$73.7_6PWZ@P- M3(*[R=GYT>3]F)^3SI6D]:7^9>--\G'T6?%)T1II=L;*SMK.4OBS\Z^Q\K(B M0-N?DG7- "-F8T7 X3 1*\8- YM564G1;^;:NDTW(V4FF11 Y,+6P8D,,(@0 MP"7,S7*XE$4AO)I3[=]]:F^GVKC$6A?4Z?P0.;J4=*98J7 MPJNP_SISID8(YON5^W' E=/A1AKC@3PPRS2.@-J39.=*4OMR4\N[BEIK?<^K MF^3_*K9*[A81&R#% 30JAUUITJBD%P>^YRP9Z:X1&AFW[7>[?ITBE9"F!2A9 M20%B-O\!&MZ4L%2RQ'E10*]^G>>'FAH=QFY*?(BK&_?%06M@7CL)U #-.2^# M,5RCX,/A7JX=\$FW>YO^GKXB4$GI9!?UO?/J]:NGW6?:0\HZ_FL7<+_;O-/U M^T73IZ'K/'3;-!YZ^TNM1+56GU>54#.-69J7J@"2"@(0%SD@)JUI[J32-^ ]PHX*U,"0=#DD-1$3AJ?%G+ZYFU8CV MCRMW-?[$'"EEO8 )8>_%3VI3*Z.OEE8O7;YZ^F-MPW@3T[.%,._@6UMF6N<# M;//L*VMO\OO[=5P+RXO72&17O@=X<]Y&_:+[3FV_?$;]8#\PKX6[)U(MEY M,4@>8CB(42D\P(Q1F3@$>L6=!EHO7"#PN\?-VI8=UJ6R&[.:65>B:8BN ML! J+S H"IT#1,S"@*:: HKS7%%--&0JZNH@U-*IL>R>H?OK@IS4+H\8RU\[*^-&[L'63BM.OQ9T[ZC\Z@$#<]C5>JW4 M72>M\,'6GF\E=3\RNQEV)"V-199EMKV0P%924F498&66 @H9U4)EW 3B/F^1 M !NF]GYH7+#QVOYR;*]:V2'KS-,NS I8<*+A:6R M5\S\H6?#V!5/S9A,*9FJ8>XB7N+7&E&%42*M7B^73AJAL1 LQML MP S8.E2*!J3C NLJ:(9>&>T9]R])8UYRNS&Q)']LE)4W2[,46D55\CB/2-Q5 MR?$PXRXGSKIYM XX_\F I2O:F[^]/UWM3!OPOGM0M[*AVI1V5THJ]#827! M;?Z?$ !#8>-US %#4(*<,IUC38NR<.I9[#[DU,+SUNB;I#6[4:XYM-RC*L$- M]G[.& ;,H3FDL;>#,;D]0O%R DLHG![5'-%A':EL8_LU_;[_-64'QL'EV4%'A=^757>;K#9_U^_7Z4ZS>030 8@[ M+$Z&Q7%H=K&9.O5_]LQ/:OL3:W6]=+$N-#^]]VWO%8J[QRIF6/Q'6M)8!VX2 M82="[?RPD9Z=B8W%WJYQYG8FZI_V&JW%6NJ$ ]F[[@FX[7B+H'"?#U9$5]PF M5(^_[1Y_'/@4&G'%D "I,H$[@J@$!!8**%PP1EDI88I\5DCGAYK:(FEK:;-. MBK5,ZL':+ >A9O1(\S(8D67USPXWLJ3^);>/Y?0O7A'&';\O ME_*O:FXW;IX7@^YT(K=V352V<@CF4OW2^]KFW1N^7J MB_K1MN*I-;B[[<09R0EAF>(@%50#E&,"*-,(I"7+=*&Q6<658>V*S@_J].B, MVJ9H9ZB5B!5[QUUA78EZ '=0N1%:B\!#*_?.#^*V'+J,S2,NAGF%? MI-7091C.M1ARN#)6)NYVU5 6I%0X@R#GQ"SI&$> :)(#S!!CYJL&4>Y5F'!^ MJ*F%-U_/YN1ZUO[VH.M&+W$P&YA6/'(A!UF"709IX/3(EUE<77;[ MTGV#38U)]MJY;ZV]2:R]R9^-Q9X;/[U(NZZ9XN W^&(I'+J 9=)E3"*OCWH& M''EA=-GUXQ61PS5A5-+PTNLY6Z_O]#?;O?=Q]503UX=JT72^GQ60H:R@*4AS M50"$DV&J]_&&; MGZA?[*%:U'D>_.G]PCSK"S;_HGZJQ:/ZJE8_K6AHE:PQP=Y6N%W"8MY MV^SVK_=*;3[8*;5B)K:C!3$ :,X0X"@S2V=,-6!48J!201CA5OW:2W_VW$!3 M>V5TZ?ZUH4EG:5"+D+/8NL6P,1 ;F.K#P/*.5"\A$34\/3O8J#'I)9>?!Z(7 M/Q]&#V>4.3X9)QY7=E=U5F80Y88H0(YR9GA":D )$Z! JB@)AQE2W(7RJ*/R MC#,(SPG'_<+ SF1"K!Z5W.LEW):/%YDDI20*"*F@6>%""0@O"$!$XKS$DD+H MUZ3LS$!3XYG6SJ1M@>))*&?A=..1&" -3!\=/GLV#M"$XQ(0<5N;G1MLW"YG M%UP^:GAVZ?.!O<]8M:J%$C_6NVRUUN*[E?KGHUJ(I_84BF.54:VM=%=1 F26 MCX#D4(-2RDS8;?N4>YWW.8PY-9K8LS39FAIXXN<"N1M_1 9R8"H)Q-"_$YD[ M*G';C3F,.VY/,7<@CAJ'>5P:>"SX\&.^?%+=ALMI =AO[-,8]QXQC MVKA'G5'A/#H-C7OW,+I^TQ8EMMODKY[VOJVGJCVT86(3&0I "MOTFF8(T(P1 MP*1&6+.L$ S[\++G^%,CX,[\[ESHQAX6'3SP.R?\>-AW8MP(=T"X!V96'Z0' M%;X.A# JF?K:,"IK!@+TG!Y#;^/'@U)5L] M.Y/#.5=///5K)?[U^_+G_S27- ^\^4?]G-=/^-&-1GETSYG?/9-G_Q[:07IC M%II*OF4KJ\FWOA7B\>%Q;LO2S%-?B6HS*P4DN900(2YR S_76] Z:Y/?]NQ-6H//"\8$ MM)EV12=RN^F+PX[<=MH5AN/VT\Y7!BO/;M=,7U1]X]?+]6;=RMWN(FA.2LRY M5$#ERE!.AI5]\YO_:*U3JA 5A=>6D^O 4R.>.B$7O#KN)?8V9#_)&7XW-AH" MU*%CC7T,6YN3VNBM,/M F@*^8,66!74;?&R=4"](3@B'^ET?NBVSJG[6ZMOK M[9;]AVU51XY36\^/@!1E"9!9KP!>X *0/.>8%#DO?#=A>D:;&CWM&7N36'.; MSH17%-+T@^VZL1()PL&W4:Y +V"OQ &5R#LC?2..O _BX/SQKH?+1:'+KO5F M58E-*T'WQZ+:K+]\_:--;4&$0:1S ;)Z9U>6&!!,.8"$%TB00C#NI3/9.]K4 M2&5G;%M$5IN;_&8,]I67[$?9=Z=[]#-2(3@M" '*MK1#FJ: "2Z SO-"Y1DJ4IW[J9,X MC#HU?MD:;>M53\IPA I,NDV"&^U$AW;HT_88J :HF'B@%%G0Q&7DD;5-/, X MECGQN3B0I$([4&_#K]OU^O&A:4?]I5K_X]U*J;JXS##K%V/_S+;/*0J*@69* M 23L0BQ%'. BQUF6(ZJE4Y^YT2R>&CE:&X$V1B8K8YTG_0T^O8[4.:5)&YIV M]Y*<#C:W]MRUI_,GDZ&LSP_*E[SOA3]YCS5-:&B_7ENYK(;>V!FE-]"#L$>Y?C=L8<7H 9&%!=2\:\:/A MT\.-'\;VNGTR_NR_(HPR_OBZE5-3XG&U7[*,9*$IMYET&2:&F5L=0%?5?.Y9_I<#Z!N#!$'IH$9XH^O>^*)6S,'.+BYC$94 MAN@9;E2&N.SV=M!+,]&9 THL6[$X30\Y=SN+JQ1 2T!J:($* "59W/PC" H//Q6"^@Y7S6 MX=,RSN<_[E_SH5 @P32#@TJPI<"ET(9TZ M2!S=>6J/_=:XQ%KG7O5R"%?_LWT5" ,_S8[^>]6]G/0UJ/#E\$ZC5;Z<=&"_ M].7T!T+?PS^M5N7JZ43[1PA+C(I4F)>OM T8( .T5 )(I%-1(JX@3OW>Q6?' MFMJ#N34U1M/-/HQ=W\M1D!O\W1P&6L#[^2(%1P/'?"K01I)Z[L#JU7'6?]K) WO7O][=;I/7SF> M%G>OY0=ZV_V?#&"UX /YN^8,_E;*ROZ#S7=LN\ZV+WNNJ4 JA8 J+ $BF@!2 MBASDF>!800F1=CK]'L'6R?'L]^^KNE.HS<1958MU)=J$G=^JQ?_X;UF9_N_- M_?)QS1;2]41\C!EW8//IS.,HYS\G"CGW\[1>M7E:[><.\K22UN-DYW*R[[-W M@#[&-\#CE36=;\)([[YA'(ZZY!AQ8GI?R@.;,-[;?1PL#\*$D88,VX#YI/XR M8Y46.@W[-18=L_PI+4\V9J>U+9[Q.;NZ#LLM ;!=&#J[(?3 M(Z?XJF^V^Q)F$(Q'6HWL8ZU;K,46Z[HA?:S-.6^8>M<&[G<;+\SW]O @8O>_ M.BSX-B\4^2@V?V=V+;!YJO<3V;S]L3(OEO7Z4M-&/.()']M#4ZJVN)$ M/J[L\[.Y5\D/M:J6TB_(=IP0MS Z/LA#[Y"UT7$=%;_]M5$+:?? &C>2SH^D M=>0F>;\0J[I5F9V+G5])XUB\6-D/R*C1L./0H\:[?G \CV@]KP[LMU,MJHWZ M4/U4\KUY<2Z^5X8U;]=KM5F_>OK(_F.YJMM>UR4&DA*5F0 5Z+P4P 2QNA$: M5'F92BA2+)1?WQWWL:<6O3:F@]KV9&=\TEAOBXAK^]M>[R&E'CX3X\9R \$] M,-5%1=J_=X\_9G%[^'B,/VXO'W]@CGKZ!-SBFASR;^Q7>P#<=J:804(RS@L, M0'XTS-?)J4Z,W[%>73)#\UG;C\:P1/@>L M&R%%@&M@\FF1LCUOWG9(O;J$5& 6^5D/CPL%\FZEM93_WRL?K*Y MW8@U="/FCW:ITC3]8G-A%;/MT?Y2)[*:/UI%OH7:)/.E>9F;=6&RKL_X?ZO_ MQU?!X+H9=N.PT>9M8*;K_$A:1Y+&DZ1VI\Y"\>Y:7";:'MJL_ZBA#)D8N+$3VKSNNV13G#&9&DFK(3* M1'$I0H S+$").)(2\XQR+Z'&OL&FQK2=K[A$K):N& M45K LY^WZXWU8.5U#=5PI*ZIE?OIC\5.MS1_:!"'S&_/U^+1U^&+]K#VVSB7+-OW3_M*08;+)3NWQITIC^/K<6=LI'/MW)@=GZ1%O&U(G^)-5<_M*-G?_ MRN9J)R/R1O'-1[9I?[JU0=;=0OU?Q5:OE/D.JF]_+>T/N[X3,YA!C,VR !0" M(JL-0@ OD,URE5PIA)#*/:H+XQDVM;=J!O*DMM"GWB[B/#F\&E\(_:&7#YU7 M]>O/^K4O8V0]2W:N);5OB7&NGJRD<2\Q_C63MR=*_$+SZ%-M^3+S.=(;]-M] MM4ZJC7HPB^@?YL;UIJ=-<=%VBG[696AVI]-.\'HWX7_=5^(^L1N=]CRF;DNR M69J7:?T"_JO:W)M%^M),_Y.=?G.]O2-G\WJ1N;Y7:I-L4Z1WMS*O5?5]N:K^ ML]Y2K>H0F*V3>S678+,$#PW43^;UO4HV*U9OZNULBE9=&G^^^VM2(XXW8B5K M?)0.ZU\'N/^5O5>:9@FVSL9\LVV2MDUD4$(4J$0EX!(6 .5F%J6<'/%E M>J3T.7^V-TKO18'):AT)[977;>MGLQ(ID1ONP(QPFYTF@?E'#J@5$H6,I11S MK^RTGL&F1AU[;2GVK W6(>K%V8U"8J$W,(.$ ^>?2N: 2-SY'0VS8WX9TQW[+68[-8N--=A^_/:M54_SZ=OD'] M@BV04B@5" @H,H!T2@#!.01IR@J5(H8+3+P.(X>S=6HDMF_I@:IO0!0TY!0[ M'F1.8^*&WL@(FS/_@\[AT8Q[3CJ@O>,>LPX/_-$I[0A#AFM@-GDMW\P-:C)@ M'%.>%3E0@ID5*X$(T$(Q4.A,0%AF'&*O)GK'0TR-IG<6)M;$('H^ :0;JUX' MS\!DZ(E,D)KE:>>CBU@^&V9T[OQWH[QH!;UW:,1#3&):PVU3/F M.@#/,4H*A63HN*:V:XB,K5,.QPT]#D88-U@XY=S1Z_WDA\*>5[,V9*W>7QT+ M?%$_U>)1U:7?,TZ4>5*) AE'.4 <*4"R @$(I968%08_KP8R?8--[25]:*L] M,VJM;:4@/-_7O3B[/>FQT!OXP0\'SIL*7!")R@R] XY*%"ZN/^<-IVL":63; M/J\FI]?+^9R9IY3-[_B\:L;[MORB-H^KQ6NVOK_3VGQJ)A7A!2QS4.8B->%! M6@*6Y00(QM)<0%S2E,X6M1:I_.9!,R'&.#U!M'F"CDP:[FGZ?67K>-A#DRN] MK$WU9)Z@J7&DI,&0'KV;:.V "5>V+MPD.R=L,D'C1F+],'_JGPA_)KL&R+@4 M%V3)N-QW#5A'I'C5S<+8\H,R0ZF['V88JZ/VP0J+?*@8K^;5YJE5Q5R_L6E! MI2X-*TI ,PD!@AH"0B0'U/"F()BDB!"?]9/KP)-<6OG1GC/&;DPW!'(#DUMC MLN&JSNBDMOHFV=I]8WF-J^0SJR)*V/A"%96^G 3Y;[=L\4NX=DF1%N=BL^U5M6,84H(SP3@I>8 91D"-!4Y((B7 M3*J<:Q(2^XWHPD0CQJV=9NIM-F2U,O_\K5HD017@8WXEW)AX:C,\HJ(_X/V* M_KQ5]&\_=Z#H?Y.TN5Y[ "0U LG&0-!5$]TDN^^/^6"^L7/>[DQ6] M/9+]XW>T'G=B3K;('MF$*SOY?3(K99:Q%%-EJV2X/;]$)2 EY\ \QTJ3'$F$ MO(KG]V\^M4W1SK;*M03T)&(:PX+E4 (H)05(FG]1*_0).46BR 53J/!9U00C M-L+*)0YB[D>[(3B,<*A;FW63?(JY9W+*W6%Z$7X:>X?CE&MGNPU^NGH_XMJN M';];/N8&CL"OGH_I!]G;,+IQDL";N@5 \[PWA>1*8IE3#D%! MM>V?D&/ B"X!)&9=A5E:,E:&;*M>&GBBFZ$[D^VK5^RI:OK6A%X"/LNX5H)G M@#)1&(K4=F>;"X"1% PB5$@WBHR+^(B\61MLJ_8[B[L&%3_:^.>GN[Z".^R. M$6M,,(<.0FL<]XQ-&FNW<62_3D5 @:XC-I&+="^-.G*AKB,(Q\6ZKA=>6;#; M)'W>+F1W[E?9+MS,5O7)N\476Z1A1S8?^+1:@]RVU2$I+!3UDFN/:MW4"&U7V7K3]4JP^B!['B:=BXEY MJVR=K#^U[V8M ;Q._K2>)K6KH=7$4;X$;I3Y8E,[,+V^R*R&ESK'1'^8VN@H M%KY,,75,<,]67T<=Y$K)F#O]KEJPA:C8_/-R77=:WJH2\"Q'-,L*4'!.S$(_ MS0%'$ *>IYDNRU0CYK=KZS#HU"A_:W.]4==9G71F!\M!.$V :R@;%];!H]FK M$0V7G'& :!CEF;Z!7T: Q@&*LSHT+M=>04RW\J%:5/9^35G"-_:K_M?K>S/J M1U7OH_$FZL\P(K/5RZ#C\]9'I"K53= M^V&8'/_#*7!CL<&!'9C2_++_N]8;M3RN]63\2J0U]7HXFGV\?_]-!-2T!PS!""V3;SS% .6"FZ6DD0:@DO34F G]?"] MFTZ-LSZJ7Y58WB2?S3U=U;_W,>IGH5#/!R85-Z?=]8U/>-ES"-Q]O'GBNY]V MQ\$'MQM'>OB$ UO9X%-_"ZVNYIL]&:9G4L3;=DGFYZ99DNV5U*F(%$I0 LVB M211(F)63A( C+0')>5F6HBB%\@HXKK!E:H_P[?DN7[XEUN'SXQ:-C(3ZP/11 MR_+OW+A)MHX ,P-@S6P/L#&[?T6 -7+Q=;@](Y=@7PW<<2'V];?TH]?U:C/[ MO%K*1[&Y6WU5JY^5:)34.$IY+BD#1&IBXI>< \J*'!0"E;9ND2ODE,MQ;H"I M$6%K8WW$U9KI)4IW%LA^ZQB?GK.*&=O/@I- M7'*M>_8O?BXT=]4VO%[]6#:[/_6&T&NKH+)Z>KV4:E9FG*AZ5:)S6[*E*& % M*6R(1'*),,R%9SIK[WA3>]S;O,X#FV^29@_4OG(;RQ-KNF_J:S_N_70P )H# MLT,,( ,R9YW@N2*9MO_^(^?7.CE[G'+K=EG@J96X5_)QKN[TR8[.=[IIYUSK M:GU3OS:OC$?_F"&"\SQG%*B2(X!$:8**E$J0,5;:>42\QO2 KID9%KP\; MV'>>@*Z'^M>0FJB@Z7$\VQH:]*$/NEK[]\%^WK#>_*GM5M\(]B76D:3V).;! MUS5(QCT%"[)DW".Q:\ Z.A^[ZF:!LL![R[^T8_SXU[27Y;SN5GTVY*F M&2,8II#;)O0E,VLP2YVHF MO[-J8;]3'[89W!2C%&;4=N8R\21B.@6<2I'[K9]?6#S^:O'M;GA>CW+*>8\2^V>&DH!0D5A_J4%T# G#$HL!7;J M'7[F_E.CH783J+8QZ8STW3<[1-!UGRP8EW'VQ1PA"=@!.^GX%3M>A_<;>8?K MI#/'.UJG/Q869[1[[G]G5EMB\[1K$+C;#R%,2(QD"A3,$$"2&=F6_QVYB9_#K*7Y Y/U'C! M8=A18P5W&)['"1Y7AA*.TFIEUL=UO?1GMKI;U9OR38UTUWANEI9:,RDDX"E5 M &&4 R8+!80D,*5$2X2H'^FX##LUXME:W2A5)#_8JA%/J&5\I56H7ZVMK$(C M&>:IZ.LX%:[$%!O@P993GN,@(0*G4 )4( 987F>&^0C!= M:JZR\N54$R_:/S42W1XELO9TZ[LU&4A[-J^M!D#-J.N;Y!2EOJ0(X^5OBN-1 MY73G?^A#SD%E'(^.3>N/)!:,9"YF MA+U=&\UV:^ER80QYLWQ@U6(F(%-*F:B_*!4%2,$,,(%2D$(-S2L?,82]RKQ/ MCC*U-U7;EV%K9?)G8Z?G@<5I1-W>%5?C-/2&HC=$WC3;"T%4,CP]TJB4U>OL MVG*GD& E 66:B9,1*0"2# &N(L2+$ MBEP.43_]W)"ID8CYKN7#%$\?38$;I8P![,"LXUM"71=/WRU>H';Z'(@O4CY] M9,PD*ZC/019:1'WV?O&5?IO\O!G&$/$4$F 59@$J*0,TXQAD65I 0XJ:YSRR MU&\SLM,C.B6MWRO:GUV>!HX9Q%2E@ HH -(( BXR!'!98)YRAA05,Q-%\^7( M,]"2Y/[0_[\#WW$K)"J@0^]>7-+_O9 3'U4 ^!"=T12 VV$G(P%\"(./!O"S M*\->!G4_,QN K]2]6=C7Z3SF$5,VB^?=950A',E8[1Y,] M3^LB[SU?DYVSV^9-QN%X+]YA)R3JRWH@4T=]P0\+]_.@8.#11C[3;L*8]^OU MXUZ_YER@G-JFIT6NB!5EM=)")0*$08%%0:F67B^6J-9-[7UBK:LKA9XOCQX7 MTAX[-YD^YI+U"S3K/CF] Q\S7SMITS]$;JMH&QM/"_QK%N M'[C1#FU[!_&4;OR^^#4S+Z>5W=I\O]@WY.TO^T_UYE%]6WY1/RMCQ-OUIGJP M6WJ[/I9?S(]6-(E*RC,&E+ ] GDA <\*#@H&,PPSGG'LE# >QYS)T7_K4/*; M5,V__F;/#L0^LZC&/4I1L M7=IKVYK43HTZ2W(IZMJM^L()S=:!7>,^/.9U>NKA2:290/-@K=H)5-L)U+L) M7%D__S6"?FE4P)L7K[UG_39-<8H:6=,XHXPCB!H5D:V4:MR[7ME$Y\.V^->\ MXS(N- 8ZSP1 9CT$*$T9$!!1*K-2*.C9\_'Y$%-[C>W:N8175I\ TO48YQIX M!C^V\4(FO*G-D?/#M+#Y\#+USN?=/-N>YOB380]X1S!O5$2J)Y$(I[O/,.XTZ-1IH330OX7IW M=6--]2,!-[#=>"$ZA&,%H;^]V0]G.E!KJY/6['@$XH525$YQ&WE4FO$"XSGS M^%T+Q=URZV_5YO[UX_KC7GP5MM$I!F%6*92*H *D0,D2PX8)AI R?,B MIT(6Q*M8G?QG[D\Z! MO?3(( +E.;VVU>IL3R[G&SWK"%K!;?G]6KO/VE5L(L M!C^O*G$@5$<9QE!C#F2=#*$+#3C,"I"5!$G!,2^ADSC-R[DP-:K=%EIN"^(Z MRY/:]'%K*0.^$@.?;R6DC!A+H_55!"9\ \N+V,AD5WX)>)4Q>H MG>41M7.#48LKGNMOQKCJN<$P'<, IH6'"#**> 80I QF>4T9U@3V=5+N9%YS<&IJ\=X#-7QO* 8^XBE!] XZK ^7@^I'ZD\LU M@?K;RP>;,"#:7C%MVWM=<(RYB8TD+S! 4G- ,\8!9"6A#!>JT%[*3"='F5KX MTQEICR.2V\?-_7+5MZ/G :<;25P-TM!1S$E\DC\;0V,*8OFC O@7>:. M(!0]<@?CHCE26)=V]LM2^K=LYUW M2>U>8OUKYBQI/$RLB^UO'%0I!Y]0C[?0RTWL2&^LX_W.9+VW'2KM##_L9IC5 M,ZS-\)O[Y,EJ3/''3<*;:=:5;G][LR=K&RNW?9BIZ'TQ1AYRO)?H,%@=O' ' M&F+80Z:9S#-4""J S%(&$"'2+IDD* DE7'&L[\-1>J^^J!5N(BLT3 MMEZKC7FP-WN/[# G2[.^Z"GH-,\^KSWQ#%T8MXHAL__S^?_.2H+,EP@3@*7MT,5* M6Y-2E("42G%2$LZAVU;DWDVG]L[\/^P'6ZBU7]_'F,>Y^VG7,.[C=.*'U"0>V,?&IOX4%LUU?O=?+!V[" M-+O^LXG/U>*[60Z:?ZTK60O 'J1]K;_8?]WIN\>-+8-:UU'UOU7?[V>%Q%0I M38&R M4H$Q#0HL! J!P52!,H)?$)>>.:-[6'?.=*(O9]2>8[G>7''[8Y2^V; M7TP1>6;=(H^7FZ^!N:ES+-GS[";9F\ #Y_;3@TTL4_MGDT\Z#V^:7:F;Q'H9 M+ZX9!OVHT4]D$T>-D8:!]WDD-= HP?U2A5)R_FZ<[ZQ#Z]]1'"37=F\%1#O_/!XC],5ELX@K&[M'K;,7;; MUE"@3O1Q#;Y5: G?[=L$P\(14QGF0 DD]C*2RM 8 I!6G)=X(PH MCG._4KMS0TV-YVI+@375Z='R!=:-P>+ -3!1-4AMGB$U0!;=930B%V>='6[D M(JI+;A\7.UV\8MB63_:0RIY=S3A$*:49!+Q0!4 Y58!+7H 22JUR)FW)[A"M MGCH#IL8JYJM6#-/B:0NY&[,,">3 ?!/4TLGZ,'Y/I^?HO4@OIZT1D^SA]!RB MT-Y-1_<)2%?[72W,,/.Z%TA3]_G9?//:-W:N(6>I60&F#-GJ2D4!$92!-!5Y M 4FF1.ZT%KPXTM0XJ[6U:;;>UH GUER/3*1>9"_L\,?$:V!J.@M52%YP+V8> MN5BQL!LILZK#L%%37S886E'U6 E1+GCTIC?UWF"\9"47/PY2CYPN\*--J:K9 MV\7&+D^E--^"=:WH=[GWQ6-GL-5 M74=ZQIH:,7RMOB\J70FVV"1-LZ,[OE:K MGW6R>&-^\EOM0))[M@[I0]QM51@)QX&I8I<+?],B9M9^#6(#[#HY8!)U6=V=EUDUAKVPYTB5F/[/_)&!VQ4MP5G[A5XQ=' M';>"W!6$HVIRYPM#66@_ ?1YHN@?BY5B<_O$V9$_+]=5O3AG::%E6AA.$ED& M$.,$4+MQA#-!K-Z%)NZ:?:; MY8,AWQGC4N70T!YF5J47FO^00FL@,"L@+5-,H9>:^=F1IA:'64-M1LZ!J?5;.P^M&9U% &YBS O'R)J6+6$1EGO.CC4HO%YU^SB&7+XA3:OJ,JQZ6 MJXVEIM?+]>856U?K61?#=V&5(2*<0*.T@?]T'^=5%>ZZX#5J\=]&(%RWB#+0$LOR7DI9L% MYI^+>R4?YR;L;(XC_UY)]7YAOG$/]4[UEZ;]D\V'?_O+,,^"S;LF-NM73Y]7 M2VD"U?7M0GY5JY^54.MO==\YK"6165:"/"\*6UI= IIE&&!80,QIP3(JO5+7 MA[!R:J3;>M'4G'1^;-M"K6U_D,Z5N@:EQ=-QB@2'!/JHS&'2PL)?)PM.K#T91V=)IX%')SP>*YUSF=6UHDNS7>S6?VP94;/$TRXR' M68$AR"4SJ_ZB5#9 5:#4G.;V8!B[=:$^??NIT4V;WUF;F+0V^N; 'L#7SR#7 M@S(P5WCA$9#B>LKM*Q);#VXW.DUA/?LK_0?U@L)U_OE\NU*?'.G,2 MB;0H(&> $HT!(H4"#)408/-S24F::NY4PGCJYE-[2&O[DMK I+'0_1$] N[R M WH-' ,_GAY(>#VC2/;C;:@WG.C?W'\NQGP@+[.EG:/M\K=:\6Z^JG M66I8@1B;S/!);>[T-_;KL]V>6BYN-YM5Q1\W=CGQ;?F9-9OL62Z5-C%_07 * M4%ZF@"*( 90D@U0S:()^G_/$*^V9VO%BDXLN]OU)JMJA)J7T;S?)0M7;\!OV MRV]!<.W,N:T51IR/@;FGF8H#5Y+W[51\:*;B4S,5QJ6;I'4JV??*%D W?L5; M:$0"..H:Y%J;1EV>1 +P^[<]6R1.=LM\>;G&L%?I/L7&XRLK8E!(W7]9Z&KPC.8%\0[XW^ MEYOT@=\8)WNV[R3U;I*WOZR#YJ^U: Y7D!&-6TE)C@G#BI_@:-/K7M@-;@ M1+66)BM;D]W\VZ>QE/V>U1G[H7F?MY!MR,P M44/G2V..&@ [ O \C'6]+(Q9WFIM!7R[+9IO[-<7$U+9^'1> M1ZG,,W"*-D-NO#4F[D.?9'>N=)O4=@ZL-\FA.S?-OO:>0TTNS$W2^A2/_&*A M&Y4=KS9J5/J,!>%S?HUVW\ RQ+IMXTP5F418:P#+H@2(8@&XE CPHBQ9*G.= M9=RKN+"^[=3.]!J5A:93I6?!8 .3&Y?Y.S\P(]WV>^Q?KW?@8-PJO.;6X];6 M';AS5#%W^-=!ZN#F\^5?S-AJ?GYMEG75QIY5?5G.Y^87?[&5G-%<<9+J N2, M*(!P00'/( 6:*0&E>5RQ+B-6Q%VR9VI1CENA5N=58GZ7-'XU@A]_6M>2UC?/ M[-YK9]:-4D:H>WGQJIUCK=UKQ K99G MX+D173@D _.6!QK^;:5..AVW8]3A$.,V@SKIWE&?I].?"GMP7R\?'I:+6MF[ M/FY=WSYN[IZ0ZXP)EW"QH &%I;I[B$@*2E@:Q7"E8*E&JTJN'4\]84WND M&U-;*?EU;6S"MM8FOU6+]K>>2KM]<+L]]Y% ')@$6OQJ,V^:M*%ULK,T'B,X MP!&5'OK&&Y4K'!Q_3APNE_BQR'JUF7U5W^UFZ>]J^7W%?MQ7@LW;%YF BF&6 MI4!# R0JI0!<8PZ@R%/*4H8X="J6[!UE:LRQ;Z%G/-"/9C\]1,-H8&+P@\>9 M#IS<[R," _A%&>?2=G.P>>K%.MQ4IME"V+2%239IFLU-RX M(6T6OOVU^?OC:I'H>C/;EGF:<80,1-G>XA#VTQ7000$Y1G/4D(SZ$695UDS-?;<+U/8NI/L_&D[J=4> M)9U+H?4'(;/GQJ6CS'65JS-D:NJ_=%;!. M/0_JY75J%*B&WL4.0M')_>7JY0\'*WLI<]&]N>\; MVUAJ^<,&=VUEVRSE0@B;QZ-PC@!*&0%,Z0*4!#-29C W_^<*M!]WMP I&IH#\T5G9PW=GJ5= 654V:[+ MB,36Z^H9<6RAKLO.GU#H2: 4@SPS*9*@&AJ 1I42J"H1 %]\I+]M.I,MIUO&Z.3QNJV K\[A8NXPO)#*NY:RG'L M<5=-?H ?=M7)'&_;+ MYNFU:D>R*Q:U&_F\<=2/V/RFRHW>!IN @4ENW^YZ:[ZS_*93&.F,3W[KS#__ M'O'FNB#8HC*>GP6C\EX0.,_9+^PF@4';:6&)G>[)JZ?=1UI9E%N;)?EA*T.< M$299J:69*:5M'0BQN0TE4!*E6&,$D?9:-5YOTM38\IQ6T+Z^C!63/RE!8SV[ M0DDZP@0[1HNC3MO0@>0X,^8?:$8#.6X,>KU9XX:GT6 \BESCW3F0T"OSXM"5 M8.:^0EA=*ALT+^>5J-2>[I> @A":$S.3)06((0$8+\PB7/"\+%2>"^65ENXV M[.2(^?'A@:V>;(RZYT"R\R#I7/ D7;=)<"36Z- .39[]4"9_#G/*Z0537/IS M&WI0J='0K96OW]KH>039BV8_P\3":& ^\87'74S*P?\>4?'N M\H8HNI]V\N*]MQ]'/[[ZP.0E,36"P50 ,5)[JWM:;8XZ-!EIR)CM!D]^LJ)Z;/A? W8R/P#!& M9HI>"'I;&AZ8!#4S7,8=U,;P .+0P/#Y:C_2>:\VK]CZZ\?5\OM,*OGRZ:]F MQ_5V\>%!K9BU9IK@*L-Q4TW3 N9< FU^ BPH!+2$AH6X)BB3&X'Q]YS(4;+<5!.#([67"MU,G'%K@O MK.3);/%3LA,^N;L,LS=I^2,6E+L\AA^4POQA.62R'G<(W[SEDQ)SMEY76[;* MX;2KW&8[1]Y]>/6VJ7[P0>\K(VP;&TPSA;#D90:4$LCLN50)2L4YR""&$N9* ME22=+M2]S<=Q8\!HLCJ]SF7].K=-7JBX/G[RX9_;UM@U@ M$O.Q02:Q%4OL=>RHCDF[*;OY?;-,MMW:&Q9>+CRY-]YC(_.,,5H2&RY( 2:0 M 9[2 BC*L&8YRT4&MX_-%W?+?4S/SI=! @]C/4!C>5#M&U%;;*M;B<_,0M"LC[9L:#=.T*,C$#-;.Z#II1]/H* CH/BV0P@QXI?.H M+JIWMY#O9HS/YM48S=Y1?EA\LN/: #%SP?NEC:"H__F2K6=-4_LR9YPR\]#D M,), :UZ DE017 B+,F-%!LM>+J9K)1N;(\HJ5M?2KNBH%K<*YV[+?['+?>3I M]'1@#3E)D5>10//3W_$5"LLX[K&KI;N-$RT4J&==;<$&Z-NZVRP&;Z59-';K M2-/E-B<*JQ)SLWU0MCJ.*@#+2P:T@)HBBA633A%D%T<:&]$V#:QM$.=S<;T[ M!W<#W$V506&+3'V]$>O1_OL"&E=T C]WYX&;@E]0\+@_^*4O]"R\Q]8V(SK0("&9DVKL30OQ:?&S)AZ_%=&'/8FGQN !S5 MY7/\6M\*GZN'I>UL\G)I\ZJW&]5?5;5(6CV.9+U__*'D_6]R_5NO9_:(IMVD/-:3U=8J<&5L"VKPL5 "*& ,%HA@R"&F1 M>B73QA-U;*2S/Q19)RU=)TFC;5*IFVSUG=C@N_UUR5;GQ"I]Y=%6^,?"\ZSK MII,]V.'7 //<_X@LVA3$.3,++^YM#M&BP7[V5"W>B/T6I[^KV?W7C9)WW]6* MW:O:0_]!UQ5S/CQNUANVD,VYGI@:(U3B/"V!SIA9;XI" UJ4!4!,"E:FC-+" MJPV[U^AC6T(JH9(7O4IO^<&>TYQA94\\LS0#F&8,E)J4@!=8F/^CA%-QKXD=?2K=Q)(WAS MB%H%%=:0MX2W*ZP1/]Q:V0NUH,N?GP2#KFB]P#E>B@ *7*"->[4Y.CS.VM:01*WGQ MN);)@WFG*K+RY*ISF+JQ4@"D(O//5D);N*QFG$G22!FPN4@W#&$[B)P9:]@V M(=T*'_4"N7!Y0#.TN?41_^SCB:<*&ZL3R=* RSC G E00FX;+VJ>ZA0KRKP< M(#WE&!N=U U;JF**5G:[DU7_?+2A4,Q6#UH'MH<<)NH*RR@L_#>RD;8$?VPH MM3(V(AM+[D#&-YL<9+F] >4.F),IY7$[SQ(Y]XL?MDGEPW)A V ^:!L10;_>Y7@<]=](T8SBG&4@EDH9&"P0X3Q5 2+!<,%5@Z!3,P\DVBH5Z6J"E']4*U9LB]**^'T3P%J,@4"LE[P[-VJ50P2B.NB M3-?>?YC"38%0V!5W"G6_OA'>#[--G_$44+20M*H?#*Z#T[TMAXXS":T+<^[5E$W<@B"$Z1 MF>((HEAU9R]A$3/D\F;592\I?2'H\NH:LKO[[CII5@TT'\7FL?P;-?5U!N9\"U_W6_3-6CNJ MR;*KK,1LM CC!(B2VIRUC /.- =IF<&"*V"GJ2 MX0!7X)RV\^,-G-%V4?'C?+;+7PE:'O?GV8(MQ/.2K&6AE:!$ UO1#^"TH( 2 M"0W.BO*48$Q$$: \[HFAQ\8Y)\OCOGC<5G#56PU"%\H]-2MNW!0'Z\A4=:%0 M[D[X(0OE=B V1*'<4\./H5!N!RR.A7*[[A"^4.Z6/4\WT[OCZ\IS-86RH!P1 M"'2&;'RN4(!KH0$NI(":*XD(1"GBO M,+9ME@4#-,,%(+J$)4]YGG$OE[ZO &/CV;^?28FP[J/Z5[ _D#^1*.')Q-[S MY<:[,60F__/ M,MMA7A& 2_.C5!H!F:5(*(BYR)E7ZSMST['1V6>#&7M85H'^R_F0E#PDO,T+[)">9T,7AAO;"_E5MS&?YYL MV ]?Q]4EA-W,A("X17Z;=Y U&RZ[PVH)6^V\PBW\CK@$7>?2,:#A1C,4V\ZQ M,@-NA4[:BB4MS:P_OWU=HUU2:3:I_Y-L9[E6,6!41 3 M!5[$&*/? O#R<3U;J/7Z3OSS<;:>57+87U=*-?VW&;=V92X I+H 6%'#ZJDF M@"O-.,=%6FBOTN471QP;56\%3EH23Y*MS)ZMSMUQ=V/@H&A&IM5K@?2F26=P M@G+?Y5$')31G$ Y9ROV+U\:]UIGA.\^^,7(_L8WZI*R&QM3=UY7:!WECH7*" MA0 ,927 @C# RE( 52@"B91I@52_0%A_8<9&6,]EM5[>ORYF59ZW+2:Y3GY6 M9I+8O/KGHWF#GI)]17"[";3ZVJ@INSBQQ=-_72<[3':?3\Q4MS>.U9'XV@S7 M-\:VQS/@:*,.-+.Q;=)6%.Y^.EHS4,W:P=1[9)Q>$9G;']=(H;H]!+I1[&Y_ MZ,X'\UYQSRMKR;Z>K<5\:9MQM=)Q$->",B(!X6D*<,D)* MMF#J5B.("<5*B M7N5@3XTV-BK>5_I,FC9E/;K:=N/KQH+!4(M,<)QVQ=1VT;?OIDCRZWW5 &S M$D-4J,SO:./,0&,CC[:<4'EHX.*2]?W8X4[(9:/9LG\R)ZLS?*J.E'=3"4F.;4+NT#TJG)P<:E$R[5#VDTLYK^X:/;1LXO%W8FW]KRF4U#1SVB4OM MC5U5VB!-(28X54#QPNR^",>&%XRYQ4JI$-6\((575$=O2<9&R:V.+"U-JJCV M1I=6:@6/DK@3M.'KN MVAOV=(G/[(G;.S.N?+O8F$=T9NYYMUXK,_JWY6HS^X_*#?_FAXW^4/]0;/7% MS+>:4I:7D$H*!*,28(DA8"0M 2K25 MC]:+2:UO;4XZQ4:UYJK&GS[SG!#AZ MT^/#&MO/7FD *A62O0Y)I<0DL9*+*F.HI=:C>"OMD$1J;M=A3(?I(FR:4YM6&- MHD<"@GL^G"3D(#V-Z>5*S>X7KZQ[>?74'& R!DD*-04IT:6A?&(HGTIC+L,L MQUR72I9>;HE3@XR-N1L9JW"ON\?-U^5JMGGRM(M/8>EH]%Z)4&R+]A0X$8Z" MNV (:XR>&FA82[-#U2,SLNO:GAGEK][_8ZI+B&510D!Q8IAR416'VQC K M4IK2G NG0-_V37V=L-FE;<4.,HJ;W_6MS#K>O-!_[)1(ZX)(IS(.W<.,[C4T4M9%CK^KQ:-W#=:32+HMK=?C$_LM M;:"I1*RV&9_5ZOM,J.2E>1*_?F.KWR,LM=VP!*ZP>G*H@8NK=JE[7%>U\^K> MT5:/WQZKXL_GZFYM*8)+A%)MV*&$9ETN4PJH8BG(29&5A>0E9UYI@MJZ7+E)+BQ2Q1H(Q/.W8=7;\^4<8Y --X(A8[UQ3'?-P[O2$Q3BHNWH21GEH]VS.:KVJ@[Q; M'>%UHGS#X[S3\U;TGHQZO= M"+LQYO6 #<.%6SF3%UM)?TIFB\0%.V]^<\(D*'-UCS@H)SDI?\@V;E^*VB]M M=V)<*,,@)!6@P&:3BCF$@.9E 2CG4&):F@VKUT[5<_RQ[5?/M_.Z%-X=9#9\ MS^^#8QR9E]PZI,4^=O="[18-TVY]=.X%4,_&::$Z3ULF3D[4C4]>&(.@_K-G M@E0GY*XN_3! 1G?L5QA^KC&L)9VTR\$';9IV$9'07=/.#SATV[2+JI_HFW;Y M._T8Y=UR<6\V,M_>[KO=3!D6J62\ !IG"N ,YV;_A2%(2T(,CW"-N1>1G!AC M;/SQ?KD ]5GJIMWX9Y*P>D.L;'N*^MSKWW*<3B#*JP7]W[(23C B=K]A'[WJ MC^87.$F,> ]U\9WYD[G/?+[\%S-/2%7?U5C"2G#Z8D98G_ZH*2Z:,80AP@)@EE4MX5)0\AP!G3-H$[TSI(@/ MVX<4;FS+Q$[29SF%_Y!8#OJ"L&%3 0>DT!K2' M/!QEC&M3\.NT;"5+(E+" =(I \8N@X#K@@"$&&8%DCGJFU@_]G3Y*_/?^V6U MCSA7/6+R^1 IY3=-%'=,_PZ1U/UQM92/8O-W9@OU;Y[NA%@]LOD4%8Q#RY].ZS\?G#5MMW-[FTX/Y/+^'0\9[E%^J^]EB M83UNG,WM?M?OS3Z#J](E9;K( 27*X$HD DP5$"!&2T)DFE&RQ?7-0@Z+ZG; M>)B^J5V8(0%U8\SK(8I,G)^M$\QV5[%.DS<_-FIAVZLW8B=;N9-&\'"DV@U, M4&X],]2@%-NM[B'37KBZK\7$-Y]M7F&5:[AKU_WS7&UUF*B M'=V@XYMD+_TD.>XO/TGVLV&5B%"CLC^$@:U#;S$&-B#[PG1L8_:^T]4Y6[M- MK5I_7L[E5"DJH3V_T26TY8-R!#A1!"A&.%1I@2GRJH-Q?JBQL=PV06EU9>[6 M(:)NO!4&I\C\=#:':YU82:.D;9U!(U;JUN%PMTK?.J-V1PK7N6\$*)N[#TO9 MESO;]OR>I@@2K1$!1-D^2A1E@&*) 2P4I2BG0C,OQG >>6P$M M])Z^*_?Y<..;*"A'II]0 %]79-8%K'B59SM'OUTY6A=0.FO4.MV@'Y7]NOQ> M]2>Y.4T VZ\%1K7R)05 E)ONO+!*"A3 M.0T\*$GY0''(3U[?';AY^H>JQW<[H*_]*N4XPSB3$@B-[29.<\!+K@'.LI3" M7-,2TT':J'>*.3;ZJV,D;+>H?H_FZ$]S!VK"[C=9O47'IWEGU\;6%&,WS M.]]=I];3%,M<4*)!"4N[=$ ->,:RJM>F*,PGM"A]EHYKA!G= F'E-)9=\>$GS&U9&&H:(I._:]OB2=VHNJYF:]5I76]G M[:,R H4\,PF!;U NOTJ@01D[!'2'O!SDGCTS8VRRLG7+3@F7*!-8 2)LVYM, M0\!HD0(E(:($\ER+PBL?9GOGL?%B)=BD.ASVS);88>7&8KT0B$Q)C?*ONI3W MSXGK'&ULKVJS#.ZD3;;B]LQ&Z(;:[:T.!F#D M-_T*[/K4"[F,2>AZ(1TC#ETOY++R)^J%.'RI[YJ^7B]7[^IR)&NQFE6[MW>S MA7IK1EM/I> ,%BP%NBP1P&E*0,D(!"B'@E*8JHQZM1>_,-[82*46=Y(T2V%+ MY.0W*W122>W)+)-H83-($MC^XQ![9'G XME+B2GZK+AH0R6?C#ODT+G5=2B99UH@^F.O_%* 5 M@1="-6';[U0L# G$=0<"M[L,TYO 2Z-=UP*_;_7=/!HF4^O-)R74['N5)X@) MT2F1)5#8QL06QK*C!2- LY2+O*"E)*G?CO%PB+$1;95\H60R:R1-5CM1??>' M1VBZ;@JOP2CZ3K"!Y=-E6'IL_[^S.7MD["],0]N;) MLL7F;B'?_/-Q]F 7C/=J,TVY0F5NO;:JU KI0&5N@0HXZ+D&HE4>^54=PTV MMM=^*^ND6KDVD^K\1&T%K@Z[O-,(SR/M1@2A\(M,"7OH*D'KS,(] MVP]']!UV<>$QCQ" .RWN_.#JG.+YWBKX?9Y M?KH]V^QY?K6?.5AUEFEUI'UO=&IRCD66$9D;LM8*0,9^]=QB*HM==MJK9YU*TH:O?KU( @RP6X,=ZMI MB\R)[1GK[#;5/7V#=#D("7V4%@A!!+Q)?X20T)YKGA!TC&L[R;SY]C!?/BG5 MY."?R0R8SYNX%-OX02SO%[:P1WV047=\J%SD15Y EN44% (;L]/FH984$9"3 MLE00$B%RO_RM&%*.;JDXE?"SS\28;)FEKOKUBCW,-FQN%:M*ZCS:KJ!]BDK& M>0+\EI";S6OLM23ZE%[1("<"Y)':Z(24]$;-=B* ?;XE3XS!>J9RL94MBKDV MMZVDV'GA2*HIPFD!-$0V32NC@*8$ Y335.9"0ZR\'!/G!AH;R6_EM#$L=8IG M[XHJ9[%UX]X0B$6FSWY@^><^74 B;%[3N<&&S5FZH/)1/M*EZZ^M!U[;O%/! M.2R*0AISD1. "4\!LWF<$NI,YIGDN?9R+1P.,#8Z:%7 9E; OO7 &_@T9=+P MJ:%1E6>V%1H$+,^(>0:S-%.I2M,233=+8V0, -]NF'CPO5<;VZG(&DIFMUXA MN$X>S C&N%+GR[FY@>E&H]= %)D^6P_77>?#=45Q]>=*1ZJNW@QRH_+JSU4\ M7U_]X+I^C'BW[9?U\W+U>OG(-_IQ?B>$?<37K1BT5"&"--$@RW$*<%84@,HB ML_W*)(EJO-E*4Y9@IB4$J* 68: T9MI#=$C!6, MI:IT2N3K&&-T)G0C9K*3,ZD%=6.=+C2[*2801K&-0&]XG*G# 8 3/+%6XD_W MR^__S7R[I@CS2\4,%2=TW7,0 G!0:ONVNUP:H^O#7Q5?X\ M821YK"J0VC]/18XR8X4@(!BE *,\!Y27!##,D2)9!LV?I@MU;[_PQ6=+>+5H M3F]'6;\=1P+&>U.J,9*]!M4"ZQLW%&+F7#>>PTS$B#I'',Q-LE5KDK04"VP7 M!81YP.X2;G*-J-V$%Y!^_2?\;MVWVKR8L_5ZIF?UDU75JNF'4AR[OU>:#_L)^3(D-J9&QHC+94JRDAE69]BO M('TXX<9F_1WJ5C7WV7<93UZLE%A^5ZNGGQ+S8>]V/T'GUXW?;S5KD8G^:,*J M#/@V?]=!J<]4:ZK?[7H%-1G@55J2G7&C8LAB^>&!#UQ//Z" Y?<#P_M<57^ M"&/T[EV^GW]:^6-G$I9Y$SK#*",(("%+=*/7K3DMUJXL VZ3^H=NLGV\T&&;I1]4L43S:Y/ M7W?S^O9_5[/[K[8]B+%&V+UZ\T.MQ&RM/JYF0DU%F5*A$ 6DS"# .6& I4@# M2@A& F)&BQ[G.0-)/\X#H9;P$]N]0B[G<[9:VU(GR=IJ?;.B^)U/ BQ1275) M &*B!#C#&:"*0Y RREB:":B9=\O?T3X'\0^E_J!/@=MZ-\)YC;R,1FJ>,$FV M^B<- ,D6@:2"8)3M%%SF;*S]%3IE_Z,V7'"9D(@=&)R&OR+%^,2NR;K.?IXM MV$+,V'R;N/CT,YNM_L;FCZJ6\7!'=K?+@*[V9DLQL\>D:E4'(5=7:+,[L:X2 MIHFF64H 5KD &.<:L)QKD&.59I2+5!*U.\3P3&,>7IT^!Q]C]J'9\EK+72]M M6Z2D^GZ?5.L;/%MN:^R8'Y4AD\1/^>.2%Q:%GR;)#HA=+OF3^:/!(JG :-;< M27+TI.T!:?R 'UZ]K6)]EMCN@44.B%^.,0J+8^3%XEH(O8*/W)'I M%8?D-(0R$X].HOX#3LV.BE);5CH3A/F-TLVO#@1>:49_6)6E;E7N@H M:8%^.(5M,^ V]+#=!KS@.&HZX/?M_LDSPNZ:3SM5FF3[*6$%S@J;;,PR;HP< MC0P180$PXU*K3!@V\NIVXC;LV-BH6@\:%ZEHNU)5G_I#CM"[,51X0 =T2W?5 M>0B;KN$.4?!T#8>A!T_7<(?C5+J&Q[>O.$KFEQV]_(RCMW'GVL#& T?O)V5; M1!EC[M5R4='H(YM_4:MO: HYHQP) 50*S79.4@I8H20@98Y2KC)82J\.CC?0 M86RTV5*A.E!\4FSEZ?"\Q9/@<: XWOG] QTN/GM,C@X7=V@D+3@2BT?@@\;; MS&7X0\>!]1C^ /(V$W7R,/)&HOBMJNO59OKFT1;&;R($A<1-1CP5&F!(%*!2 M*1M0I8EB$"GI5'+N\,:C6W\JV=P6G".0NE>!:U2/[5:LQ H8.GE.UR[J,M]I MT9;YUR%E'=UT$!XYI\KVY3[[^< AD;9MQ>;I[<)L]:N4R75U@O+E*ULT[/%^ M61TM*WG ';_8]GBOC7V^\QQ\6L[G/R]7]J[3K,P*3&Q?JQR:%[] #)2I%" K M4I4*PE*MO7;S(]-O;/RSE1UL;9E*^L2*W_+-#115%^F1BAQ]=_L'9?R&=(U1 MT@*IR0O:&)CV9O8.J1-&]LD',XJG>*1/PCAB_R+I^,>($8P[P<%B"2.+V;^^ MR<^SM6#S.BGK9_.W]90;TY[JC .2$5O60$/ B[( 0FFNN:)F&^!4.+1SE+$M MNKLB'K6DVP:XE:S^94Z.0;TE4[.8O"5?5.CN\Z>,63LXJ= MJGER_N*>Q8*U5F*S"Z3ZPGY\,LQB'0:SQ>-L M $JA[4ZG!229*!3-?0I=N@_M10T#5"UI(C$W[,?VX"YYP=5"Z=GF)\]ZPN[P MNQG(<4"-[6G8"KV-<35B)U9N&[QJ7J39?,;JF%3SX L5LDV2/UYA*Q.[#S]L MK6)O6(ZJ%_O?(4;=IG95N+J&GXT5;7462PM)E9(:Y$0AF^T@ >.I!+(L4Z7R M@A=(^54_OD:Z*-*(ZC*YPN=7DLGYKCVZ&K]9F#WN@_KE&_]+<^I1IJC$YGD& M%-NBF)Q@0(4-A1!%+F$!LS1WBCX]??NQT60C8&(E].B>>PQ;-[5=#T9L0ZZ% MP^6#(Q= /#H'7P7,0$V"G1X4OR[ 9]7N;/A[_*WA>ON>E?A9&]_S5_6S$]_N M0K=*ONY# MCHW(WK8237][O;3Q YX=3QS9Y1\,+LC2K'?ZMWY =MH^VK N1W"_EQI;[-'K^M6X_*-"LR17)E$_ZX M/4P7$%"M%,A9J0AB2@J^JQ?L1CG]!'%ZDYXGR>+;;NRYU(K<*F&FQW68J M#:XJ+]ESRMS(*^(T#-82H58@>=%6X:>JT<=N+FP'Q:T>D^2MPU3X!]U?A638 M(/Q^H@P;E'\57$=!^M?=K6>PDZU[H6;W"[N?;4P&QHJ<(4Z SK+<;".T0I9 MK='"_J+VXB9LDW!U/UM4^1!F2:]E\N.8ZR8Q0Y1@74B026%,7R@I8%))H#%) M699SIB7SK;DX\!3&KZ38.8'*_/TF4^>VD PV&9&7'"O9)*EFHB6@K:NTE3W9 M3=/AWUI?"+=$!0$VZ&)VG42#+GM!P#M<(,/<-("UO#_]:6P^2"3)!2Y!3I"V MD7L8,)*F@ A14,@YD857\?/.T?[?M:"/<.UA2U^#UK!6]5[2V ;V.4SBF=I' M(][.Z#ZG?*?Y??9+/8-G9M]GTA@2ZZF$!/(\SP%+N6$*QHQY+1 %*C/[;"$% MTHAXQ<%L[SPV5M@)EKPX59O:,X!O#Z ;)?2")?+KOY,I8'S(H9IA0SUV=Q\V M:N-0J:, C*,+>FZ/]\7#/K+5AY79*QJ[H0KU_ZA653K!M$AYR13- 95F><=( M(E"6.0%0E5"Q(L_-RSPUQ,&7KF^LPZ@^#VU[[(C6>5WT;FVE3A[8*OE>91R% M>+5=9L%Q*Q06V=@;GF=U!(W ]LBE%KG)YS)"UWED 3 MQ5E/X^A&6E>C$YF5:OGV?3=C9,]W8A V:.+D2,/&1'0I>Q3RT'EQ3Q^M-<1L M:,0'76=#W2WDB2KVN^=88TE3DF: ICD$6/(2<&:9 3&E"ZH@\VM&[#G^V)AB M)[X][CK9$\/A%0DR,8YNWWAPQW8$AT#:WR7<#Z^P3F)/&89U&_<#Z,B1W/,V M_4COY]EBME'OS&WEV\7&/&4S8UO5[/K+RFXQM*"V5JH *,\*@'5! )-Y 7)8 M%DARSKC?OO#2@&.CM4JHY!5;K9YL%$:/&DX7(7;CJY# 12:H6E10R9KLA4VV M-E,E;SAFK6Q'ON5JYEH?X1E*W:]E7]TCOXRN:KNG MN)[0LZ/@T_;R^@7<_FM?^NG9[8;)>#VAP"[/]=1GO7O,*5OD>?YV(=6/_Z6> MID61I;"PS>2P+=I&4PDXH@H(Q!2A*-<8.A4V.3O"V%ZY-TT;M%K*I!(S,7)Z MMXX[ ++[10P"3^2WTAN9/AWA3FM_31.X@SL.W??MM$(G6KV=N;"GKU!\5?)Q MKC[H#@OZBSVG^*)^;%X:F7^?:LY%IHH,")Q9+V%A[&!."I!1"0L$ER>_54HD5HND4B.D][ _ MB&$]B#WD&-:+V!^H(T_B%;?RMV^:,]JG-S_$5UM5][UY**<$4-FVNA28V!_FA MXF77=*G>RZPY>=U?<\_#0&\7:\?E7QM[KVXK^O7UHUQJP^? M][)1MBK$3;5)' MM/I:,O[SX'KB&07;/TSGA,,69&IMV]1][,[,['%.VA?EP$>EWF(,?%K:%Z;C M ]/>=^I11/'US&8(\D=[QT^VXO_ZM?JNYLL');\H\76QG"_OG^H/7CVN-\MO M:K5M[+6N$@SG=3W=K[.'NI? H4%F+OJR8E)]8ZO?MXEL*:-YJLW6D69: 5SH M')1,EH"P3!O"S0BGS+E.XRTT&)N=9MT NMX-S:O=T&R_&ZI"W1+U0\P?;1]X M\Q%X6"V%6J^3S1:?F2NIW^Z9N>"9_B,\"9&7E+;Z2:WF)-DAD.PAV'VX16'7 MG'*=W%4)Y2T@)DT[GA/GWO;:/1Y]2F_>Y$GRJ.XY]B=JH *BHW^R_(J7WG)6 M.^NCWD2PX4JPWA+W9U5>;RI(O]WL03NF]X_VGK8HVOQQV\Y\_>%QLS9RV%5^ M2ABCJM I$!3F #-$ <^I!)2;)PYG.429]O'.>XX_-@.ID3-Y4>]@/9,R?<'/ M4"F@3$N0LK0 &$$.N$(E4"FA7)2BI(7R:5H3$_P!.M?L.DFRIF&?J),]JQI# MU:]@7V6H\3$DR[T^56+M(!/GYGB(.!V13<2CUHFU[/8PI18[:6[6G^R'EWKOFBL;E50 M0I#*@&8H!3A-.2@UH6;/3V%!8*YR[M2VVV?0L:U"^^ZDDZ0MMJWKU0CN&8OM M@KP;J87&,S*3M:'<21FA$8E-* +B%#D&8HX\2+?;H&&QOK[-O;^1[==$+J M1BNA@(I,)ZT6@'M!D]^BQ(ZX0!*XI4+'@ ,W4[BL^G$;!8?O^,=W-,FV=6O3 M?RBV>K.0MK_Q5/"2Z[1,[;D$!ABF.6""%R 5$,$4FEUUZ137UC7(V"ABF_7= M]-.UDB9&U*JGNGNTQUE(+T=\A J,D7TPL@K]N,2"+WB/\[>=+ 8D$MJM>- M+EY[;7SKZ<[I[6/5.]M =+9Y.@BNE"1#.$4Y4(3GAAN*##"".,"\(+EFNC3$ MT"_*H;T6QO,AM5??^8H@O:_+N?G&VI:GWCR] M7V[4J>U&EC(I:0J!1AP"C WUEAA"@(3,!!14")G[E2=Q''ET-%MQZR?U8&[X MU4Q8\G&UO%^Q;SVB\IR =V31&'#&)LN6S/\UJ:5.K-CQ]X#><(4/IG,:??@8 M.A]03H;.>=V@9T&U5I6VU\M'OM&/\SM1=Z?ZI(2:?;<<^??5;&.85:^G D-> MIKJPA[$:8"FT6:(I!B05*<*$I#KEV[CB+QX5U_S$<'KSGD<6?QF SRKYP-(( M.$D6JBH"M%+"EA]WCDKK.R]NU!8#YL'ZZ=4M\_9B=C9MKW0P,Q&PY%L_[,(6 M@_.48=@R;]2OV,-NPN?WKW3$* ZIU"0J*,"L(I9A[]>;J)\;8UE?S^!?!JB!VP>^VXX@/:N3%L;,R M@TU8?%!5O\*V-I/Z2,UJ,D@M10X1N=H8UN)&F&3K;2)%3=Y807V3&#L!MG1 MFQ *NMA.@P[48F3VN, 2U@/0.>*P&WT7Y8_V\TY?ZLN=C-9>_8N2]]94 M?;LPNYKJ$,2/04X!Z\8;5\(5F2UEP0\W M?F7_OER]FK/UVM:(?+W\9EAH2J064MG^*]@V=U $@3+C!!2R+$2!"IV7E/BN.!E<4K&/;80;FZDSD8QOFOVYAW@F? MW%V&V=\:\T8LK)'F/ORPMILW+$H;2"[%ZM+=NDKS-RP(1DSCG)5!E M(>VV+P4<<[,+U$4J,9<(L\RK,?G1$&.SUXP!#<2V,WDMK7EYJHH$&_^J#2<@ M=>.?ZX"*S#.-<(E3-0O_./6SJH<-13\>9MAH\[-J'@64G[^R1\SX/ENM25;[ MU7S_JP$)-AX)I'.DBYP!+2$#YNTG@"'-@:*4I&9/EY?*J>B"TVAC>_V/<_F2 M2N+$BNP1$WP1Y6X:"(Y=9$;HA*U/->*+^'D$2H?$<:#HYROQ] MG=L6G,T;Y MXDV&"SQVU>=9-+'SE_K95J_5:O;=/#3?ZYWI^Z5]?MB\B?K/LDR51"*@A"V) MQ20#O* 49 )RG#'(!14^9E;G:&.CW%;Q0YL&9T]/$[$M\>MG;G6C[&9Y!<,N M,N7NY=R&\FY%O93!XFV1.4$2U#CK'G%0.\U)^4.3S>U+_:BDJG)MPQ%6ZJM: MK,T8M65X]YW-YC:DP+Q$:S9731\GLR^\D__^N-[89OP);95%AAM@56W\7I5U1?]6"[V ^#&DR.:ULA,6[=&>*;J=NM; M1T1,DKOCZ=WKG>P5-R1=I]4;Y2=)HW[2UM\^+#4"X?A[H*D*N@+$EGG0-62@ M"3ANLHY<]!SE*ZYN6J,Y5 :-_V;&6G1.ML)4I2 M2G\0ASANZ1)C#,ZS-(^Y*KNA_/%V*+/HI'?+NI4Z(/& M!+^8^V]L?<]=?? IU:C@*#>F?X&03=%+ 2MS"3"T=9.*5.?0K\[;6#0;&XLW M.0^VMXIJ()>.VQ M0DNDNX5LXJ_WMLF^\.+ZW6RAWF[4M_6T1+EF! F ),( 9]QLI\I,@4QE*42P M1()Z17=<)ZZ;3]WPC\B0- M=_X18WZN."2Y M=(ARA])+K1(%NO7[\ MMNTNWR2/JM4W-"TS7J9Y1D%>9E6A1@Y8FI>@I#A7IE-EK]=EAQ9E:CRW3S2=L_'N@_78E:2G<*GEE=0Z\DXDZ+>&W)G'$ M'7ZO$17VDYN'N"/V6W3>S1B?S:LEK6G>,Y6YD@+J%-!4(("A>0Y81CB@@O,, M(Y$CZ=7^^'B(L9V_?[%C)-L0[OE>7C^6/X&E&SM?AU!D5FT)-VF2^P.>,Y]7 M/2ASG1AF4,8YK^8A4W1;M"E3)3N$+3O%AI]TC,GXDTS]04'TS MNR=*B+/G>XIU^\*'YC%@U6.P;!X#U7H,#M[^4%7&!YBR(;!,[6JHX-& ML:HMR+;"I(W7W6F7[-6;)#L%;=1N=43>Z!AN3Q4#^:"[L: "#KJ/BP'MX0XP MRAB>>\>F1MSTS5\_37,A>:Y2 4J8VK;J7 &>%J6W-NZZ=CX M]LWC:IG467OF/7ZT:ZAU=]@_.YKH;<0N[*)ZXA"9V/I X&Z=GM"YHQ_Z]O*: M4K;_VG=&?W:[80S#$PKLC+A3G_4SN'Y9+N6_9O/Y0:W&+\827,\KJW!;MG&: MP4)E7"I0*)4!G!4(< P+0'5)4L08)LC+G'(?>FPO[[;RJ/JQ3:*RRVK]NZ<+ MUP-_-RLH#JJ1J6 K]"0Y*NK:$MRI+*ZW\>(/6%#3Q&/X00T/?U@.S8H>=^CA M<+Z[MS=]N5S(;95CQ75!"TE JID$N*0(4%(H('"6YSDJBD*[NXF/;C\V+JH% M3"H)/9Q[Q[ Y>&*O B,RA;1QZ%/,XQ@0#Q_E5< ,Y%EL .)&R%#>O[-J=_KL MCK\UG*?MK,3/_&/GKQI5:YA648J[^_M5U8+[P,^N4T6-R:8!UPK;(S-AME*V MT*W98]&22JF97P.K6VDR-MJ]W#QFDNPS94;1*\;A<7$S,?\0#\$0QW5#=)-I MH3))=K@X'^N-I<&,^^2.([?E:FW^&+DLH29MH)XT'@+YK=12S:9O%IO9YNE. M2L,3ZX]+,]#\_\P>7BVEFJ8YS(2$' A.%< PYX!370*!6 &U8AP2IR24[F'& MML;5DB:-J+84B!4V,=(F5ERW1>T"LMTK3CB\8OLR>T+E3,]N2'1X.,T-:MHT MO^S]FA=N.PB)N:FV91C'JP.FJFV]%"^?FJ2,ZGS$LM37V;#ET^G;O9IMO[]BSTUGQ:95BI-"Z!(Q@'.-3)6 C4_%*=8Z+S,E5=C[>%$ M'QM-G4ZRFCQO!U5)'B+3+<[3X&9XCW..(U-KB.D-DR@7%>GX675QQ+]]"E[4 M:7'*UXLK@;\EV]3*>D(I_S+;&'J!RO8TDA@@9)X7S*0$+"4:9*G&5'.(1.'4 M&>W4S<>V'%1"V7 8E+[@/VU+W#VY6ZM'Z%VV4:_!)#)]^L+A99&>T[N7'7IT ML\&LSW-JM&W.L]?T= EOV:!>_U.<$YAE*5 %@@"74@ .!0*"%D+D)2]8ZE7E MX/GMQ_:*[J3K9Y<=8.?HM.R-2&Q/HC,8_KZ\DSJ'=; ]'V)8K]=)]8Y<4:>O MZME^QE9*?LG$[TKN"U(VYX6<$I[G*@,E)K:I(#7O<"IR(!'1A>!E@7*O]J,= M8XWMA:Y$!;6LK:*RGGUH.K!U>\<#(1;[I+H"BQ^"%:'YJ ,>8=O5=(PW;-^: MRXH?-;!Q^$K?&K+_NA/"!CB:G<''U7)A?A45(ZT_+N* XQE 9C@&A"H#)>4#*)2^U60]1-@;.QBY$^>B^U;+-9S MS8 M)B:LD2G((KJ7_0!_-?^U&B25"D%KQ/9#+W"%6$\A!JX/VP^BX^JP M/>_3C^\^KM0#FU4G=XNULL6,ZAK?=7)YT_2T7M9USJ"RC4<+SC# 2!+ 52% M3I36J=D&<>W%=.Y#CXWC&LF3K>A5-$!3U+\I$U&+[T=]'G/A1GIQ$(Y,=\[@ M1K#!_ $+RG >PP_*;?ZP'+):CSOTX[,WWQ[FRR>E/JO5]YE0IT,;WB\7=2A8 M%<6PKDHNM#^ODJF6FW^HS2+V7\H.569E&F104!R4@),2@E8@5* ,EP2 ME4N=,J\=8S1)Q\:6?UVL=K(]SY)7]>/@QY+Q9MB-5$/V4E8# U>_Y2,5Z*7(E2N2P%S^XZ-MJVKMC9 M>C,3;)[\JI@M9EH[OJVPCH< SV'KYM?>8 S@\N^!@S.QG=2[BX3,%UH$9/YU M2#[/[S@(49Q48OM2G_[PVJ"O7>W##WK_QVU]M*>I*K*"Y42"4DB; "LPX)0B M( I)RHPC5O)\^EVM^-(_:*M[:)]GMRU O$?XE]5R;?91U4J\ML?++8.L=SU# MYYEP,ZMBH!N9&5K!3COQVD5B)TD-_.[#&"%/;FA%"EBZ,/B-PHW<(#D?+.3X M_9ZQ!(]\K?[Y:%:0-]_-C\:?PRC$,LL+P(M4 ,P+"2A")="Y(B4O2\R1EV_M MY"BCLS!V0B:5E)Z!!2>!=(PON!:>V#;' 3(17%V=$(2-.C@YTK#!!UW*'L4@ M=%[L'^#W:FE6^5UGPY*H0K&< 8J9V3MPA$')80Y@"66A4EKPS.E-/[KSV-[N M2CB7CH47 .M^HZ^"(?);[(R 5QC?26U[Q? ]O]-@ 7PG%6A'[YV^H-]R^_-L M,=N8Q?N[K8&U,;,SX_.ZA?KZO=I,-:.L3#-A]^\YP 0J0%/S7HJ2F=>T0 )E M7JTONH<;VRNZ%S%AE8R39*$\E^$+ %-2,"QLT@S/;)]';4R<3"&0(X$+S%6: M4^13+CX@P .U;G_%5JLG>W#O4=+7$5PW8R<<9)'YLA845)(FK6?SKGDVWW<\ MF][VCQLJ00VA"T,.:A&YJ7]H&CE^Z[KJ9E-:9H8M8 F@+A' J>&STNY6K7Q&R*4XQDI!1( 4T>T:M(>!<<: +D:=:<,05F3Y4 M70,_;]AJ$P^LPT'B0?:2F7\*NUQ9-]9K)>J*A!F:).:E@SV1+)1D'!$(F,$. M8%EE=II'KY"L)$6N%4)9@^2;A8R-XW:(H5#\GX_SIP17 **> +HM1'T@B;SD M7'P%>U>HB[*"[&Y^D^IRYU:%H\_[NO:U6JV4_*3,MOM13;.,0HT5!05/%C_'] XYI 6&19 Y)H"7'(.J!;2K!O&',KA3U>Z00HW-/-]6M]VP'W7-8-D2 MUC-F+<25G3I)+6UBQ$VLO,ESE?95I ^O M:RLV"=\'(R3>86,&0P@V;'A@0"B/(@%#WKOOQH1O]FF&=]_9;&ZSD\VHG]E< MO5K:5)W'Y>/:!CJSN8VJL?5%METXWJGU^LM7MD#IK^;*K^L[(1Z_/59-.ZI* M\86@),_-8X"P,-L<:2QQ*@RW8Y*FQD)G*538C]:CRCL^OM^KDKD":Z.LC2_?JINT MYMMJLNND-$G>M:>]5GN2M!2OK@^YOQE@@@+OEF)*//#>:P#PCW=R0PS:L]J% M$*O'JM-3O0CNVTSG G%24 A$AB7 .2& 0IJ!7$$D&*)F]^>UV3L[TMAV<(V@ M9B-0698;*ZIGF8NSH+IQ>!"H(O/O%J6]_1VEE_=%*,)6MS@[VK"U+2XI?539 MXN(7>H:=BJ]*/L[5![WUUN\K* @A4B3M*2NR,1H<5OPH M9-7A*SVM"OGOC^M-57[BRW*[ZU;OU:9F*&NW?%F^8NNO'U?+[S.IY,NGOZXM M?WUX4"MF:UCS&-K^>3^Q.01ONMK7)FLK)YF.K9_*Q-;'F=L:\!16I 5U"LA^Q*PCA;K]7#%ME;[('5M#M4A#C&SJ'9CW3*/ MZE#A"YE41Y?W(X57RV_?EHO/&V//F MZW)E/9-_3C(()Q#"9&VK:ZSM<;E]]JIZ6S;*;&*,S/5#??@V?YHDL_7ZL>E\ MMMS#\.<$D6)"(*D^0"2?&!/>[99^E-4U[6ZT%6@R(U-7,X^?ZWEL$LE;HH:C M+P<\@E)8UWB#TIB#XH=4YO*5:SUS)]M5O%WL:F)_T#_/%LQ896R^/5+8I:KO MG4Z%PB3%PGK[J4TE-[]1##- N*(ZA64F4-[/FQ=$OK'19MNO=;I[C66Q?=UW M<]E.R];1X[[J0U_W89C9]W4Y#CZG [HI@TSG0#[.H/,0R2\:1L8;^5*# GS> M_QIVF+[Q2L:Z6CXH^46)KXOE?'G_]&EV_W57/)9AB#.;A"L8MZ<\2@)*:0&D M9+Q,F9*Y\BHV@J0*9("++(<,%EF(*SEPW-8[G,(,!'IW,.@,./U<5>C1ODL]G]&=-P^W'R MVGPR2:S:B5$_X(%+$.3#'JU<)]*PARA!X#LZ+@ESUWY6505+A[Z2L=HKK M*9(%U802 $E& 6;6B"I0 :!BN2I3RF7A%:IW;J"QO>JUG&Q>%Z^M9$WX;#ZO M0A^,W:02T?0&J=/)JT)6K4JW5JFKTKSW4^"ZM;L>V.AFT//$;V/=;*6,E@-^ MA$/,9/#]8+?,"C]2^4)Z^/'UO?,!JGK/GY10L^_64+'&Z[]L#01CL;PR \XV M54R'_6CO0%:8Y$33%%!(%,#*F!&TR#1 I9(993FE>>J9+-!#C+'Q3]NMO),_ M,;N%I-:@SD1JXE\\#S9[3I3CIBTZ_)%9:JM LM=@TC$%,;WUUV$9.KVACRA# MYSY< =>)Q(AK[G:+S-]MGM>'U;OEXEZM#M- E4($ID4&,E(5'\T@8,:D X+0 MG$.BRP*50V;^7I#7B11NG?F[R_U'F\]CZ/PQ'FD M_NX2?NV\UVJ/-_77<8)&E/I[2>(_4.JO(_AA4W]=![TVA*BC0&NU,$XSB#1B M5(-2, (P8SG@,*6@I#F5Y@,I_'*!W8<>LTG?77FX,2I]0ZS=)\5M48@#=62& M#XCR%=$UKH!%"IRY./R-8F)<83D?[N)\!S]B$_>+']/33?]:;2A?/NTO:;I4 M5IT /SQ4_I,W/]1*S-;55N'>F(+6(C5"KF:+]4S4!Y\0(546) 6IXA1@FXW( M(#1LB$J9ST3G:*^X3##O4PR*6H0O*J._^1 M'HIG@L=^..K&O\]:-;/6P\&?ZOR.YKJ'YN%@U<.Q;!X.U7HXV.[AF.T>CBHM MY4_7+_8#SU5M(=A!JV4?$HBK17\H,0:Q% ;&=&M>##ULS\V6'9U?%I"?$?!O M=^::[VK%[M4G]8T9,VMQ;S>9-JGVDM>+*HAX6?VU,H!LY)YG)/%X,'?=AHY&X+$958!W&U6\,:J:ZYX959.M535) M:H"J ,,WK8?L;]5#UH)IDFR!2AJDDAU420NKQ((5<%<]NOD/NVL?CWK#>@7& MH_"TR,#(Q,#&UL[+U9DUM'DB[X MWK]"4_=UO!3[TM;=U[A(U;2A1 Y%==T[+[!8/$C< @$V@*3$_O7C >2^$['$L,;\W6_3](D:2C#29HW<>+EY MZ&PZ_\<_US]B6.%WQ-Q\M?GGO_[EXWK]^9^___ZWWW[[Z^]Q.?OK8OGA>\&8 M_/[BTW\Y__CO=S[_F]Q\FGOOO]_\]/*CJ^E]'Z3'\N__UT^O?TD?\5. Z7RU M#O-47[":_O-J\\W7BQ36&YE_DZ[O'OQ$_1=B5X1U1MEK##]]?'$+C_^]96-(39U_? MX>?%PXJ1P8Q1P]D,H,04EAEPR#*O_7BG7 @^L?!,?+L!!)O M<3E=Y!_F^25MPQ,7M;+*>O'91%3#H2"*.G";O&;E/+MF2,.G@C]O4'GKS3I!0 M_4/B*(F.C(H?YNOI^NN/TQG^?/8IXG*24E#D(9-EXU& *D:#+S$##Y9%Z92T M(1^%AMMOW D%NE\4'"7!+K3_#C],JQ#FZY_#)YS$$&76FCR=H (Q@0Z\*P%$ M5C$*%YF)QSD,][UU)Q28WE%PA"2[0,(+DM4RS%Y1T/3[_X-?)T%K&[PE #M% MTO"6(FXE&$@E1,1@M!#';0WWOG8G+-C>L7",+$<&PXNS9974C]-5"K/_C6%Y MX>Y(I0MW+D)Q+A&@G0#/' )'+8KW4F2T1^'AH3?O! G7+R0&D6@G#N05$S_2 M=U:3:"+M>+$0"[94F42(M,M!L$AQDN0YV^,\A@=>O!,F?+^8&$*>74%B&QIM MF9!<4&AL%0CA+85#,H*+-D)21A13M":O>$!07'OU;N=/[*G@XE"ACHR,9\1! MWG Q"Q\F6I=< G((O(J"&0=1> &6IZ0%Q='W'C=;@CH^ CR<.%UX46^ MFJ?%D@+ACSI%/8K92"*5 'F,,(M2=DO* OWRS?+WZ;3U(4.B8C MP'"?R01F0T(1A'#&A=9.),&.N_A\X,6[H:+[0\WC!-H3)C:;XYOEV^7BRW2> M<((FIUB4 Y$=89ND!$&AA6BD1L-LY"P.!XQ;;]\-'=T?=@X@VIX@\G:Q6H?9 M_S?]O'&>BM?!6J)=Y)Q F60A!*, ;4ZT)W)+L!\.(#?>O1L\NC__/%JL8Q^" M5AZ6 TQYP146BP1D10-B(X5!F8C*)FC];]\M MEZKC,\W!1-L%1%[-Z6DDCND7?!G6X9RM2423BG0.UZZ&R"Z/^,\7)!=X."73V$V>WZVFL[)%YZDPIWT44+RF0.QE&@ '-UZZ&PZZ/[\\7)!=X."'3[C\0%O>WY:+W]8?7RP^ M?0[SKY/,#05$#H&B8@FJ. DA.4M?98(Y8]:5(>Y"[GWY;KCH_N3R>,%V@8]? M/N)L=D&]=5*RA X""Q0R<6X@.I*-#NAL,-GY/,3IU/5W[H:&[D\L#Q;CR"#X M!=/9DNCG(KZ?KF,<0L8,@8N)<*1U?]^&6H5Y2]?/\7%;&+1*A3.@.01R=FU% ]I^B+L@LG@#:N3S618Y'^\$]"T J1 M:3"(]>K-DCF3@LQ9,:9>SGH40]Q(/$;#;C#I^'1R8#$/!II_^?Z.1%_3-PXM MRYZO%K-IKB7WF\NYFDFV6I0WGW&;*;2Z2?^N]=K??.H@A=S[T7YDA??9"CZ$ M\'E2$ZD^X>4+KW"&7(MH'%@6:G:V"@0&94$H@A]3W KSF#$N814WFC]_SW;A MX6R]NOC.1L9DG\X+\?_'-P@ZU,1G#6T5JS,H0DA%7Y,;MSN P. M(':RPS6,BTE;F7-6137!WL,TC5/6WA)B \F_ R3];;E8K=XN%V6Z MGFCI>8I2@V.12*\9*(X7!.]YYCFAB.*QH[7#H7.-B'%JWEMBY5 )'PZ.Q3K, M!@''.Y(^$?"1,/Z2C.IL\;E*Y8??/^-\1;%"S,H5(8GZ:C-MCN 2:@B.>15L M,$1THUWN$;+&J9!ONY\-I84.[,TO.)O5HV>Y4_3^:8"N%Y@7G E MDO?") 07G*A6-$(0T@./2B@2G&-2-L'6;O2-4X#?$F0-]-(!VLYCH/F'K MDR6>H FZN$"!L+>6I.0]>*T+<.$MQ:O&.=/&0;J'F'%*^%OBZ%B)=[#K_;A8 MXO3#?)M'D;YN6I74](K%_&]A.J\G2 M>[2ZJ(@,M =Y^CLPPKGZ:SA?+BVQ%6E[D8MY\R@__>48__@G7'Q?Y M:@6N)BI)YUTD'S/9FK]&\O?6&^"(S(1LHN)M#E-/R.1(#1C:&M$^(=*!@WG) M\OGJ?TY!5ST=4HR(9BH!=YJ!PF@@<,4@!1,B4]8DW2;H?8"@D9I"M$?E<:+O MP/[^C.MK\572WA>I-$2#D> O&43M(Q _OAB6I/)M<'.#C)$:1+1$R^%B[L#* M_!"6<[*WJ[>XW%S9OYS.SM:8+P4C0G:I2 G,AP!*1@6^!)*3S%YDSVL[UB:H M^09A(S6/:(FC(571@?7Y]M9.C)[SN.%W$I5TDIL"IFA>TXH,>"$*V,1CL"4Y M&\U(/MPM4L>]#A\4*'L[9,=HK0-8/B"\24;#T!H-G--ZI4"*V.#,0@DHT5DA M+6L#O@<(&OT M,"0H%2G^$-J";844*F7^8QAG6W/3UZC)5O68:_S:= MS2:Q-KVD?Z'>R;]PB%^'E3WH??+X63HLV!&P6R6/(A MHQ!D\.LLB)B\TD($](_U(CS*L?\6<>/&F*>$V=":Z@!\FVRN>_BJ"^F"M^T4 M$OK^$L,*7^+V[TN.=9 NIRI,BS_'_.MFF, M]5;^V2)-?UPL7^(2:PBS&9#[K!#I54Q%.$MQI0:+4MUT/J=+'U!++]UZ+?KL4Y?JB1^/N3+,EO"./-BUK>MOO5^\W0!A0M;":A\5,$$ M5U@,JOIIM$! N MF5U=$W>1QA(W)M7N:%'6B_G,(6AC5=;1Y7RK1/CN[QO7:VH5G+<2>._A MQ(.%SL_F^?V5&.XNLDE2M7"P7G8E3E*HR9S!1P9.HTE!1EI5;?JPM>%GG,B[ M&>SV\?9/@X\(77,;%*<]5']D^% ]D2D("\K<4J) ,F9;"(:,H113-C&QS M@W0DX>/ZY%V F:>59;(/:EM?&^V+A/[SZYZ'69@G_.4CXOKH1N,W'S:PN7V$ MTN'MZ>4UQ]O%:GM)<1EJ*58T9@3:ED,=:4;;O_(,+)-)BR1DL^Z0.U!WK.7< MYI1>\HI-OTM&-O1H&%;>-U!%"[^ ( M:4O]^>#'2R9X-,S52?/:2XK^32@0G4J AILBI*60KDT2Z;WDC N@8_1[+U2. M$78'B*EE-G7/I[]J4Z4O8;8YRUJ_",OE5]IJ-Y?)$VY5*;ED")B)J1 91),9 MR.@+2NEK<46;:'47\GI U%$PN!V=#JZ3#H!V>3%T?G=ZY=J]Q+B^^M?%U%K/ MN?')>A"N1%!%,? Q>[!"E>1==CJVV=KW)'3<:Y;AP==23SW ,*7%&:VF=YB0 M5A;Q^3.N+WA!KB-FP< HE-5Q8."B=H#H99+%I9(?&S%[!.8>H6K<4[D& !M* M QV@Z==YG,YFF*]XN5P7"G7T-B (2>[%9LQ6X#I L6BD3,B8;N-T/4S3N D+ MPR-I(.EW@*/:PW).'_E*2V'B<@Y9! >2#"BM 1\A9): %\^*H!6B;=EP3?:2"$=5#]^S8'L*P04Z5CA5T!\;D[;(VMU]_?3L+\]J[NQYB?#[/ M1YJH:+,3,8),JGIF@4&H?TA1T*MHT.4VC2L>HZJ'&&L0] PF^@Y@=#E!Z'7- M6GY7VU.]*;^NMKTV)H5S3ULK46_)_JK@&?@B:EZ;=QR=8LFU:;7X*%D]A%B# M &DXX7> I,MV++YX*Q$E:)N([NP->"P%DF"6]F^RH[R-\=FK(4[CL&H0?!PD MT@Z@\.-T/EWCZ^D7S+>[]U03:2UC-7,,5/(6E$X*'&,D(:D"!IXL-IH)]SA= M/410@\!F0/%W *:7YZ^]'"9QQ8FV7 GI);A8XS^7,@F)"\C))DEQ0^TTU01( M#]/40SPU"(@&$GL' +IV?!&P?(2V NE>ANUY(- M>D(S[EBVP7,X]A)G#X*89L"!=B8%V4]LF9VQ7"KMI?M4FFZR)HCJP0M?XNGU":E &Y10'36%A MS0=($+G)H-!E8B5Z=&TN(AZF:=S\H#88>!AHQRBD VA=I >\#5_KC>[%<;E- M*FJA!119$P.8HVV:!PM:V,RY,[Q5(\S[Z>D&4D=I^X',C"-$WP> EF?TUCLR MFI KQPQJ!5EX+ QD+N@'#9*[GF0I'%O,-HBZ4@%=("D.F2M2N/O MT_7'%V>K-;&SO.S9=1 L1BY0L^QQ#F[R?7:@;]V*C M$;X&5TL'4+MY<7.'FRQMLD%Z\,5SVLSMYH0U0K0YLVB]E:%-)^3'Z1KW7J01 MO 9410? NF<_5][SHK*#4FPB*RP,.*^(#:VT+YK^P^;'"UWDF#4"T)$B[^"D MZH$E<.W\U2%/R1(;3&0-%&F0>44;(?.HLO%*>M&H.]RW2.O&.6]W;#"L>CHP M4G>NAJZ)<9,"4S )DPS8Z/@V!<8I76<"*1TB1Q\;C2,VUH, %L-1KL> \A* L:.82"IZD,6U =Y>6 M;KS[=M@Z4@$=0&AS/7[=)E\M!ANB16TM2%]/6Y"L:U5RXJG-P>G# M-'7C[S=TSH912 ?0NL;$Q/,8 A<1N)<.%)>R-NN)((D=Y,ZX@FU.N:X1,6XF MU*DO!/<2>0)Y!B&4BBH4U*95;O!M ^AXYYIM;)Q M#975 1;O2FV2O8I1&:+;EP!*Z35"%%'BKR# MXXAOA=@3;W7AD@QRTIP605 "@F#D6FJ1LZC+U64;QMK*GV>K $U)->>1D62,!V:#2]EG M84.;F?3[TSKVX=C Z+J;-=%4>1TX9=_@<#9;_%;M!?W[!1$W75<']()5XT7* MFG8-:[@#Y52I4]8,Z,*84%(FI]ILO4<0/?;1V[B '4R='2#W.C,O%V=Q77J:29UX[;R!KE8^Q#YMA'=XW1V4YE'>!Q MC[WB>H:G,Y9%42#ZZ.J@=P:NA (^!!Y$2CHT:B5P$+ECG_KUL]T?J,+^<7KO M%G&-6Q36$F<"9(DU-4]ZB,9KR Y%U"['W.@^[3BZQSXP['#?/U"I'4#XVJT/ MA;!OEAOQYLVMXUM<_O*1=#)A'D52S!",R)%1CKAQBC/@0A:6/'>8VP11.Q W M]EEC8S .K9XN9B)?8VK#P>K9V?KC8EGW@TDN3,8@,SA1JXRBH^QNJI(P94D#*3HL\': MHZ_9W.L'J1KWHN3TN#I4(1V ZV;:X,.;>[1.,&U :PK:E;<2(E.U(R1ZIXI. M(K6I3-Z-OMT.K=F315P#+76'O3N;?G2>>TW[?2#*B1MR+5VUVMX9Y,%G;GB; MIC"/T[4;UI[N#Z6D(1$!+Q%%,*+NCL4VJ3JO(P M3;MAZ^E>9@RDC4YQ==T-*"9FM#P -P%KQ,+(%&<%C"PS?5N85J[^-PC;#6%/ M]T)B2+WT/^#^4IRK1:GC;7^<+7X[>M#]_0\=.&ME!\J'3UBY?-$EU()'9CD2 MP%0MY0O60G N0!;<>&53$;Y-A=)C5!UKF^K\3WKFV^7BRY3D]_SKKZM:27W9 MG.196D^_;(^5+^0@I4D&DR-SJS0MBUQ((KSVI,RTYK(INI&YVI_6;A)4CD/3 M;'.3).OF-G,D@,1M7N+:A341Y@XQQP=1: MYWZDY$JY-I;U?GK&-;'CX^2^ H[CE-8!]%XBO9F"M\K& MA+:1;&U2$#4&$@?%[\YMYM@Y&01M,8AM[B"N4S'RP-+>8':P@CH U]_"=%XE M]F;^<*P7A:D)HY$66;[L![D3GR5-?> -M.Q:/FX=53Z G1 MCZM::_HFKNC!:ZQSVN?T"U]?? S+#[B:F#I(3A<'I;:;4:9V=.<^@F0N6XDL MI7PKG+E[O+W;JT:>"ML+[!KHI0,[>;,U]]62VIR%V9"2#)(6"=]FA%$<1AX( MJ&P3+S:JZ-JD&CQ&U"&],P))?$8V.JX\B-Z1)]WV!N 3*/W8 M2&G@\+U6JE27Y8H9S8IG1D0(W%E02EMP!@L@[1G$)6-"MXF0'B%JY.&[O<%T M*/5U@<6?PO(?N*Z%4U>U5.\PS&HJVP6CER[TID73^X]A_AX_?5XLP_+KU2Y# M<2'JC)LEK):L68FWB8UE(7!=50FI3;SP<#R.GR78']9'0T<]YUO.SU71. M?OZ+Q:X$;?$5$W7(2TLSP&RI+ASF[%#$0!]^:KN8V>;1(C[?^5R M/ 2G6($E'K4 'XRK>U@ %VLE#]J"6IJ21)LF="=B<.2)3V\O;Y KR #%S$GR(!8)*A&XI9>VPY2*V\?)W(F_D%.7N MH#Z\3KMPG.ZR=;>MQT1R@2)K#LBRVR;3NF(B,$7AN"FRR-BFS=AN$/[S MW-RUU'.7[L'%H7N=.A-L"BXK T977T>[6A7A/)0L?0K6,ZL:7=T]1M9N$/T3 MW=4-IL.>S>O;)5+HFR\\G?,DMGI;5(/D\XOT[%..1@8HCB<2HT>(02!X9[-A M&IV2;8*^P^C=#-9Y1DL5IE!24:K&,"(L1$BUB7 M[**H^?*JS7B0;Y*V&W#_/!>%P^JR2[_@?#KFC:%T&KU,$L'Z1+Z.U1I<#A98 M4K4E0';HRNGP>8NZW2#ZY[D*'%RC/:-TP"5O8-88@0= M34*I#9.^38?AG!3BSM$9K%1)%A M3G7650:?HP 94\@A:Z=$LP+P'6DIH"35H- 9;@/F1M[TGX8C]#:S?R+D_3#&$II'6SUY#Z?;TW/TG^> M39=X/=/.!6FCX@*$J/-U8SVBR+4[0]$RZ&@+MFI^]PA577;+& P1MSM)#:6> M+N[S26H),:]^)+'6O,Z?PKHFO'U]-L\O%K,9IJK%UN";7AW:9K,#96HCDC' Q>^=RFRR4W6GLTI$\F>$<1G5=F-'=13EA MD@FQ.0;+(8 RMM2Q<0RL#J)8X63*;0Z1=J=QW,+P$\.RD>KZC6_.&VS>*TCM MG8F1!(G>D2"],. M.>HQ)N9MS,+9-G?S^]/:S02UD\0W0RFMARW\FI=2F_S6 M<45ORK8EZZ]S4MLK^L:2! M8BJ2E;7498@V'R$3=V7(#TL%K.O:8? M%\MW^/ELF3X2K[4&XG+6Q"2D9$UP#$2J8^FJRQ3K07313$0A%,NL3;/:;]/6 M9?C5#+?#JJH+Q_:"IUJ/7(4XSZOK_##,1G@2EQ,V@E+$2LQ%@^)"ABP8.4IM M6KP]3E>7<55KV V@HGXNC,Z9JF,,OU'M=8]8)S%D2P+5$-$3I\K5$[@@P6N> M4HY.LM*FG/PHLKL,NQJC]@0*[@?4NXMX@HPK)DN&J*TDT7)-O.4 4A>GE/8^ MV#:7^+O3.&XWKA/#M9'J.C@E^*$43!3&_O![VM39OB/,OYE79NO_]4SN2YCA MIAR,Y#A-M"+J#\CUOOF-:Y^<>,-#$8E#O5VFY*Q% M/@9*$<8;+$RR-HU"3LMG-_.WAUTO'8.E@TWD.+OA,M/*JEP[-(F)MFP92Z,V(.TWAE/,]NX(Z'NI\F#GUTWA@G0*MZ@U[' M47NC+ B>M9'>!*O:G#BW1^\IIH;WA-Y]5'DD>G^87S^@:S\);K$]0/^XF)%F M5Y7I]=>;K!PQ$>[>A[>:#/=M3H:?$+DUUA3F@VQT^KX3>_3\G&LJP=^;(0@<+?P.D'2+AY>+3V$ZGUC&D^1E M,Z8U 'F;$1QF!B($E%J4G'R;-CWWDM,)X76P$@UT4T'H+OT)E_3 GI% M7ZXFS'J-4BH(-E,LPHH$+Y0#56(D^VNY;WV\<4E+)Q6M \9HAXFY Z#Q+R;C&;_;A8_A:6>1*,P5BDA\ Y&5_':>,NJ,$7%6M?+1&P#8KV)+238.Y M7'RSJ\1P2NH @W>9F:!*W*#V1#QCH)35$+SED(R(5JA2N&ES%7.7EG&1U%3U M]TVN/EP/_=P"7L6OVUJ#6GN >6)*8=;1FM.*TQXNHX 02P:.F6033+:-=L ' M"!IW&SPELH;02#?PVK"Q9>#EV9("DVU2R'^$V1E>+U#YX7=:Y&KHCX"< \E0DN1D,*'-.>?>I(X;0I[O61 M\R3N9U6LUU?HJ_E6+!/A4PE2<9(R\GH)1D%WR1Y0,JF5EIHWF@0Q*!OCQJ\G MA?=HVN\!^E6L5Y5;=Q?XQ"L5"RNTEM'PFN*4P7OB*NHBHDIH9*-FS]\D;=RL MRY-;X,&TU$]QR&-\;5?71"6E14X.3,R6Q)9$#08SF**5",.XQ[I-&$8 M776 OZN*;V)@(G3&0"L%#.,"5,X" KG9M=>KUCQK:TP;]_0&&>/.S3XEH@Z7 M?C^[_HVNUQ/-;/&!14@% RA9^U?+C)"U#"2-PG)I8ZIND#'R/.I30NAP\7=@ M?1ZZ_/YUOCR?EOWO)#/RCJ_-CK\[ _,-U]YF$\::\#[]/E"JA2.? M^=IHK90$]=\D$2&TLD7RV.;(O15'(P^"/B6BNP!%!XN#7-M96*VF99HVBJ[= MK'9(''EQMJP:O<6[=T(781/4]#=07M4&[H%!9$9;Z84,L4W2_)!==W+ M CD1(#K8/1[*^6 ^<"XST=7]9..T&7/>0AK./2@:M MEA\T9U"H8M'$#)D%"RJ)6DY2:O1M@Y#1BMQH0.JA.8-_G%NTPQ7Q!VB^\':C MDX^X)I]G=I.O@3LQW'S3*=LR/,+C27LT")ZDT9(!4RZ2A^@%!4^6_ADU*\GD MVM^C;1%#RQX-.UUL2!<9EIB@1$6+-6L#7@@',F%6VE@>;)O.#8-=0HW\-U>@,VEB&C.#E(+@R(>HFC#%KPS C@+KF@N2K&-6HDTLR0 M_8R_77OXOVSZMUXV@GYXR5.OC$@]+>09#%@S3%^6@2TM;? M*,]D/TJ[-6[[H.ANTDE#=?5IYHCEFXP>8LGN/F0 8_4-R@:R1V^6'\)\^E\; MZJZ.;[;W!V^O4?ZFG(\T"+/+$.(*="8D):62P#4B*%\TA:C<@[%>^A!MCK)- M>M@@Y#>TN:QU "2NX3!W2%4XAC$$*H%2K%()IL M D5BI[9\.U,_KC4\/8;W,)QM$-"G,?TQ3)>;=/V?,*S.EH<;U/L?-(!1W8'" M@0SKY9M>3E=IMJ@ON\):YIG" $U:5MS50J $+AD*2'CA 8W#$-I4E+ %;V60(V"&!SD:)I%/QK(UG]RA9XQJNP3!RVQX-IXHG M9&@V_9>&,S?GCVME=.ZC]A2F1UAEE0X:K-8&E*2O E,* C+-#7);&N4!M30] MOZ2/F,]J&MCE6YZM5KC9?2_FQ5&0="[__&;^KIXXUS/FYV$UW>KB:GTP6AM& MDG022A*1M@6BTA&B1AG1"%9"HVY!0[+1L6G;!X-W#N!&4_43,H5;B81[)1+6 ME[^RF(>;TGE96V3.AK.AQ]+1RO@.*I^36.WL!.=, 0KA03%D0 Z H%A%2\58 M0F;:G V>Q&'<<0'3!WY>S)=WU_,DR:@+XQ:5,4=9$%<,O[\Z^67_S[%)1'U\>MK_(*S32-^%)B*WC0K MDR1;RPP$@[3_Q)AE02==;'.%MQM]G:#RM.!Y",+#:;(G?%[?%N_R=]X461N& M,6B$@H+<)(4)?!(%6'8A%.^SM;DM3'>S]6HC M,7[>+KN$('0]C(U2;$H\%;A,7PFC#!=2FAP;'Q[=):H3M T/A8= =Z1>.H68 MN&2%"ZX-0O(A@L*2Z@@)!S;2-US)TI(6K<5,%Q(7:(7CJ%F#QGA1QE M423S8!03Q$J*$%ABH%RQ1N8<@FI3K/T(4>-V:!T78H?HI2>(/?]Z36P_+O$_ MSVH-X,;+X#8Q1W$;H/.%1)49>*D<9*\S.1XI"];F-GD'XCJQ:KT$%8/HL"=8 MWL?0^0HVIN@0::45A9E6FB>1Q1+!.",EAA)U;@S+AXGKQ)\;"A [A [':*=3 MP*TNU^W%="=4T63D4(*WH(S2$+A+H(,1.CK/:-LX7>1ZB[I.(#<4)':)5H_1 M3P^8NT@@>C5?K9=GFS;7FZ7)D:)W4R#90FQD^L.5Z$%3K)],"BXUFK7U $&= MN'7C[K$#Z*H#R&VZ.-";JQBW/5))1-=2V:ZX6[VG1Z[N_]'Y>@Y::L:- Z.E M L5#HH#=UKHJSK6(5H;4IEO"D%R,;#:'@-6B$QUW@.\7B^7GQ3*L\?FB,G]1 M"7B^/S"=LN<4_IL8:H8Y^3R1$ULL9Y81O>&YS;_<;$U?[W"B=#1.^DRNB8IUV)H'SX4$[U0*S$LK4INSP8=I&C>([@:! M RFM _AM7*7G(?T#[ZZDI&P,S%KP5O+:Z$^#QQP LZ6HK]#/6)N(&M?# M[ : 0ZEM1 367*[)LP\UZJMV_(+Z&&(1M0A!Z:1KV^H$(1@)D2AGAIP=ZV^! M[FY2V/V/'G=LTNC0&4#>'=BK7Q9?<--[[B7&]1WH:\XTTY*\WV+(&2[)0I"U MSCJ2H"C(YT&U<=L>)6O<84BC V]XU76 PY_.YB3(SV%V?2VEDK1,3M1!.R2= MXFOS,8Q0) _("T.AVPQ$NH^:<4<@=8.ZHQ75 =B&.-AZ?3G#.6KB<--;1R=B M/E@*D&PQD%*()C >N6E\-CT$&^/NYIT<-8Z&BPX6Q9;G>U*(+S.(Z]CGF&6N M!6<4BF4>(0A'JYPC=TDP[W2;^/F;I'5R W-ZV-P7Q@RFPPY ^=-BCE]_"LM_ MX/K',]IOGJU?A.7R*TEM.T],BI!3R@C,D*.M4L[@E,.ZY#.M^AA;7=A\@["1 M^XH,"X/;'L" .ND 8L^^A.FL;AWG/>BO/.F;?O4$M4\^J #D/150)#Z(Q6F( ML5:[N6*E;E.=LBN%XQXFM@5=$RUU@+Y;G=]?+.8;66V$>8\L)UE8V@<<,650 MU8MVVAT"8V"\R%IGKDVC=M9[$CKNN6);++;460>0O.:\/";!8%RP@EP4@8(6 MFB<_):B2(=35Y\E+D=@F#78W^IY^>N(P+F$#;7: T0>6X.J"VZ_WK4/,9K/@ MP#/T)$8*$KW7!D((*4F,GNM&@?H!U([K0;9 S6Y6=#@5/J%"_Z$+]EL7WH]6 M0*]3H/\HM@C6ZO.>-YQET+IXVD@+IM9YH%T7T%N>K1$A@;0ITWID#KR3$9C/ M&)00R=O&!79_X +Z?;#7KH!^'Q5WL%$_/UN1&[-:/4O;^?!5D37-SBJCN34, MTJ9^EF4.@>0(6M#.(5))CK?)A7B H$YP=UIX+(;75:>0JU\N$<_OOZR5/A4M MP!89*""+ ERQ"C (DQ.22XUMVK!\D[1Q83@( '8 U>':&#N_YF__,?T/$F3= M%U[-TU_/KS]]8EC7'4AI!2BM$+QR"B)+/#.T6:?=!BK?I^N/O\X7<87++U6ZVSXGQ/]BGD@L M&WA<55^?\W]^8+Y-OS!!IJPE@@PHZVTC GVA:\\=+WPN+,G&'9"&9.?IG\L< M",\=JO!/BY4.%LQ%+/IB\2E.YQ>#0NH@#I)&'1DR)3B<@V-9AW5L>Q74K]Z4 M-V?KND^O-IR_7OPVL4E%EQ*"$YZ1W3*2U,$#J2,HQQE&WFA4RZ!L//UX;I@% M,AXV_E +X]^G'SY.N(Z2/,CJI 8R"R%[\")O3OZ*Y5)Q$]ND=@S+Q]-WL'I; M&GNCHX.U\>;SAKGYA]H>OJE&,/@=C#-]9D)4B?#U__KT.XO85;77)CG5_,O%/4?/'+K MVP\=("=D3\H'2@RI;ZQCV&Z^^"JCT[@DUX+$.6HH2SEXYYH-8#N*"KM"L)7[D9U+][,'UZE1CH,)DO0(55W0U%89QF%=4+H M++P@CZ--RX\#B!WW?.DD0&VCN ZP>8V1%[.P6DW+%//SRRJ4LS#[*=1[]_77 MEV&-MW@5UF:G= )AG0!E10"G>0!)>XA'91RR-J=&QU ][JE20[2>3)5/-+PY MHKAHYV>?(L!I673T#7C*&(JNK=PP\0@J*$[(K,>.: WC:(MG;4K_VYXM7=GY M^]^SS>]@JF"0VH./](=R6D"PP0&S16*)QHA&;5]V(J_K0&=A%N8)?_F(>#/S$I$;&S" %BS5PDX),9$WX96R*EDK,;9)Z7J(HG%QU4#Y MMR\%A]!$IX@Z3[TD/JPRDK9UR6C-^7I%I,DYC8%FM;H8FT"X^HA?6 20C$90@PJ1<6=:314 M\"&*^H/1(1J_?=T[A/@[@-']%OOJ2CQ97U"@(?I+G4ZG(GTE' ANE$*G,GWK MA,[DZ[WRD9N=N[7?\8;42P

S6G9U%L] X33C?YGQ.468K@//"4"ZB40NU] MY4"CM@REB4FW*O>Y34N/;OF!JKYSW'"4W#M SLV.:;?/HI_-9HO?JGVG?[\@ MXJ;;?!OIN,JZUK%P)>LYL*"5FU&#AU";8]7",.@K[GNGB@^ MW^)RNLBOYJG.$<&7N/U[@B%[<@\!4T\Y[E-B>UP_'0XRW# M>%@>0,]/%.'U9O ++K].A$IHDB$.L0YD$LZ =QB!T^X3"J;$8YNP]ABJ>[Q] M& _%!^FR ]P^?&_]M^6&K6N)9!,ME!!2)8C*)5J314'D@D)#EW/":)D.;;S1 M?:@<=Y9(2UPVT]73P>$VEW$2;&%,6P0VV2W[D7F MN/-%.D#B =IZHC>R5VELB_O2V$YW?7L0(:>XZSU>0B>Z&$:?2PX&4F2;*A0) M4:* Z((1]$^*N]I<6YWJ8OCAM;L]D$,=G#:&03%(&X>*&H*) 4IFBFME16%M M!+ SB3V>1!V$GT/2"?=74@>[^T.CF8OT)KE(\1V+!6IN#@0,!20S'BD"5+Y1 MP?8QT]E/<$4\J/IWG+Z^CRXZ@-2@X],2R\D5H8'5Y%OE"P5MR#0(DW*,QB?9 MR.C_\:>O[P6KEM/7]]%Q!_A^9("RDS%(+0NX7&CUBU3 >U,K<+E%CCZ&V*8) MX9%3KY_&W/6]<++[U.M]E-8!_!Z?()^,,,'R"$PD6MDY*HH=90:3K53/P>!0:AN[._3=:>!!,%-\T.!SM*"P'F8I0@D1SQ.*S,OM@0Q_PNGK MAT!G 'EW8*_N':9L3/#O' M6*BC%=4!V&[,B[](K0Q&\)(\:%['X*D0P$O#(:,PA97 K&M3V'(/,7^@ >O' M0.U8-?6 M!V.IEY?FVYG2DC.US-08BYA@""D!\>]Y,BX$ZIUR>\.9/:2'=OR ML*^=WCH 93V"G]@2.8O6@;>:3'9 \A1B-A -22OJ8H-K%(K2V_L_+SY0N?%9T MQ\@+CH'5\7C2Y-L- <"XCW$C'NJMKGAW3S'7SXNENO*5>W" M?0^#FOA@(;,Z^XD83-R2U^L*1%NR]\&G.WUI'NHTN?>[=\*5?;JX.H5*!O,# M3YN^_,O9IT]A^75Q)?NRE?V)LI;W>?\IDI4/EL=IO^M:1J& I2JLBT6G)]W52@J-8#:3(Q6(J@&K4/O+N MP!H^DARM([(2B@1M6!T[AJDV\7<0>>)9F:28;7.)>V1&^]-()CX$<@,KK0/X M/9X6+9WSR20#1=0T0Q4-A?NU9KYFZ4@6:4&UN0T^/J/]:603'P/"X537 0X? M2XTNCL7L4X%D# 5F&14X38YS<$(H[5$XWR:N/3:C_6FD)1^#P:'4U@$";^0C MWF%&><]T/1= (^I4'8,0=-&UCX@LM)J,YFWNW!XEZP^4M7P,"H=370D1KH#D,OR"'] ML%A._VNCIPMG5">ID5Q0+H@M51,68\@HK8*0DHJQ*05EO&&C[[>JZ9KU SV MX_VH=GKK )2W6;K5B_<3&>;:6?+%8K5^'E;D1#"FC+19DNAD[1.M.+CB+(@B MG);!%Y[;X')?2ON_MS\0--]($!Y4@QW66=SB+Z6S3V81L\S\0;!8":F=8;HB@$2A18F)Z53F\.50)T45I3S!=\]>MSK#&?YQ -"TI[8E">!LH/4?B4 M2N2&1.L@&ANP3.2T2?OW+$FL'_DQ3)>;"M85K<^1$OJ'HNT4R?Y-Y'B:0H!4 MQ^.%[.O%LZZ+R4"LLT><\5(8C!I-FX/!7@H!9 B)HTQ0'&>@"AF2&)4&S"YF MF[P)I=%E]1^B$& ?_!Q>"+"/DCKP?Q_*$M;2,/)G(C"G3>U_0G*2Q@'M-3ZX M:)Q2M@G6GG@AP%[JW[$08!]== "I06_R8PF!>8H?M>>*Y*D$^=WDYE@C:3&' MPA-O,VWVCU\(L!>L6A8"[*/C#O#]>()F9"A"(:E:6T=B\%JTS34'3KM+4"&I MF-H,&CT^M_9IU!3LA9:];"M:RQH"^T/(2#H(+&G220B95@G!M>MC\ M(;NR'A/5M--;!Z!\?'KNB\5\/9V?+?PQS+GZB3WY< M35).M ?4\V);:W.9(Y<\UF*?Q*QB0JK(QIB-O"\?_0?K!P)NK]G)3;7_A\/^ MM>NW^K%)'1_-&F'R6-8-YOFP)3E-&&6=HS.>DE9T^FP&7(W"AF;"PJM2E!::II5B^(R>FZRNI96D^_3-=?6V:L#4[D M*5+7VDKV-#ELCL6Z#"*9>&2@I*1UZ)F"H&K[O9+)\K=)9VB;P_:XB;C4QH_7 MM?%N,9O1-WX+RSP)(B1E+((MAM6D%="3A7>>[[8.U M_6S^L H=+$8]K:'_H12L!@5_"NLJIZ\O:?-9C=95_ AR3F&\AY+6B.,'3 M?Z<:'ZG^'5.-]]%%!Y :=NIQ2J\J M\3ZJZP"'CS3&+AX52]9!$IJ3C+2#6+P"[EDH/)BD&_6 ^U-T,S\&@0,IK0/X M/9;%*JQ(J8ZKY;:>>+0Z:O[?R7M\\I!AW\\C0;DAT!G 'EW8*\>;USML[(,=2$6 MK-]6?@23&#PWL*CDDOV62O(/M9)[\1( MY!A 9BM\X,*SU";,_8/W'#\&=4=D+A[Q4 M"H;($P6*RM^6]1_K*[X)FL@R(6V@$[6.G=,=:="XCLI3"I@5&:WZ&4XHOJW MM,=!=E0E/BGP7K!ZSC@!$&^Q3IN=9")KT#F18^14!)^R *.\9L832&]WYQX" MO]^DZTF5LYP$PL.J\FFA^)+9+?,_+LZ6MU%X@M>)S:%X(J/(&61VTEN+I.HM0S2 M2V%E]*(!6B_>_Z2*1DZ#RH-4T_W9PK4&S9IGQIU'2)A5G51I280JT:JRRA8G MF$UM>FD.VE+;/EU0-M788)5X@Z:OUSSJ.>&W:O> =//KOSY >OB#U R4SGWQ M_*\OIZLT6ZS.EGB5BYN$5"4$2#%3B!%K5Q7+ [AD15&LB*A$D]7W"%%#S&:\ M]>CW),KG])E_U+Y>L4XH .65J,V]',00$$*VIFC$NW%%.X8OJ1I_A-X0^+AO M,.,@>NBS!N;:LMW<,QQK2LX?,JQ!N8^R$YB56&BK025!J+09/UV'FF$"H;52 MPB9'J'IJ9N5J)[Y\R8NS95U@&R%?03MJE4)""=YY8MX8 [&"7,;@@]59!]FF MR^BN%/9K;O;!S<-7=0/JIWO3^V;1Y32[?KH89YT!SX2"DESBM$E%Q=JLWU/X1._";Q1BXG(:9JN?=.6@@N!5"E]@UC10.*DKT-SDO;)O7EV[3U:[#VPS=\N%PE7MUC*.FD;#0-?2%A*1@\Q2P[&^:1EY";9-ET\=R!N_%'%37$V MD%9Z MJ/T_ET17O'WQ:+?(LE@4)93SM\%0:3#2"]GC!9:-VL3L0 M-^YM:'.@#:25GH!&7$Q*3!EYYE!3JFF1< %.FPQ!NY1EQE"P\=D!43'N!61S MZ.PKYQ%;?6U.\W_XO1K39_/\)J[HL6N\"CX^AN6'BGBOT2LRK<[6(Q3F,AE9 M6[L7<\Q%F*0Y_Y97OMNKQKW4&QH:#<3;9S3W&L/JL-.C\]\<(!:[CX:!0JWM MHR^AX'.P10D))7)9LW$C1&[)Y!5I>(DR!]4F:_0F'<=N#+4+,^*;S[@D6<\_ M;!]^[8PAE!1CS&3"O "5O08OC (,NB16)]\"AU/,:V<=2%>ONPM'"-(R,-;E;)P@S[%-WY/V9N+U M-,3I;+K^>M'MZ=;Y9$&9Z@QD\+'4T7.:=K18+_Z%1J9XCLJ>SG9\@]BN#,H^ MF-G%H RIJ)ZMS,]A6;G^@D><&S_PI,$LS^,TMK%!@0F6H@S 9&V1S1AYE0X= M",TT12A!*=NF%G5X&[18;I[Y$E=I.?U<5;"MC8J1!V&:: M!<6-DN29MZDT>X2HKFS*/ABXSZ8,(?@.SD'>8:WH3-4,SC^\6*S6%)*=G^EL MQZ4*GI0B#XX<.%6/=12X+!,8+]$P[P3F-E[]-P@;&TL# 6#13AL=@*N6#V^. M"*^8.B\;YEI:ZTJFA5=/@HJ1%")P#TD'>HP3M/P:=1U[B*1Q 36HXF^W$AM$ M"QW J4[&J+;[/2X_3><;W5PTEN(Z(8H((68+2A8!SH8ZTM8&;T-AK%6#Z8=( M&KD?V# JO]/<:PCY=P"D^\WWZZML6^[( R;?(!I')EQI#;Y@!H,J!!.-8KI- MZO(W"!OW&K/5IC>D-CH U\U0L]KR2[M/3H-QVHZL6@@(F,0&2; 1/B/:&3"-M.@][,V MS=(A6F+E,"EW (\'3D(GZ)Q@H=85,1UJ04"!&&P]#Q%&6V=Y5FTZ2CY T+CI M$*I!O;F*-]*1TWW>)TT!M89[UC\AW6"/CBAS6(Y;7X-KM4 M.]?EY.D/VM9=+@IL1.^U"SR*-B-/]J5TW KJT3!YK,[&+M>_R=R[RMN;\NL* M-TV"7X3E\BO];-.%X$UY]>ESF!)]FY]-K"E>,!0@E,/:(P;!>5J#B<2<41>T M;+>*_8-)&+<^N@7D3JB2GJ^%?SQ;GRWQ)UI7G\X^78]UWL39],/F%:M?YZ3> M6VDX1]\B'_OBP2Z=!Y5 FSMJB[$(K+,2N%"@4-426D8!1F"L6,(^9VW.C$Z8 M)W,18F^M?!5W^9& R[L3IRS/\F9;Y^]]P]@6WX]=)O+(:? 1-C(&JW8J# M)3YE8#&2UVQY:5-->"C%8Q_1YX2.?2IXHJ"GAK_:+'!2H@S>604LD-DG$5J(BM7T M;%,R-XSDW $"*ZEC'R^.@\&]E?3$4%A[_4VD)BJ"^*GI"$-PTE[QD,EE6'0L.)CH)2M7R28&>@"--UN@+8ZV* M;0X@=^P#QY.#\7!E/2%$3BP9>Q=%!J[JJ4!2'IP+CKQ>YH-4*3'>IE_#KA3N MA#OW!\+=7BKIL]-G[4#QVW0V.^0P^O)W!SA/OI^.@8Z$+Q[^;)Y?$6WS#],X MV]Y3K.ZIQ9?&2Z.,)Z>J5K0$VLQ\00DY">=-HF@SM5EG>Y%YK-FY>-E]O2>Y MU2%EB11?"P%*A RTE1.VHV0Q,\^\;.-V/4+4N$?"[1!TV_8,I9<^+\XNN#N\ M;OO6$P8T/0UKM_>#CY:1)6$K(W K'*B, EQM8<+^__;>K+FM)%<7?;__!6?G/+S<")?+5;ON<94= MMJO[[B=&#DB;NV72FZ3.8IQ\Q=6^/G#C'GI'/V0PD0YD5/*":26ZWM[4:OY M I!'B)Z<1>,:]6_ZWAT;&S0'B_(!:.S%UX/Q0"[_=)[?K\)B-2@JB!-U+/A5 MO^WT;3TZ^F(MDU_#=/9ZOEQ."N.\#@BG$]6%NG]J GOT8)PIJ6XBWRB%=G<: MQ\U\:(6L@673DRXJM2.R%@Y]>FJWU_E,4.$MCZI@:KJ)H9HE+9T0!G($NF8XU:"KUT^I?&F MGE(H;)LBP9%BB+6C^@I?3[_B#Z^]UY0PJ9 P)@DT+;!W$/QQS;R+$#F_QV@L\C2[RJIWGQ>;Y83?^UEO.KO[[@;(GW MUIZ=RSHP!87T"JW8&PB9'&*98A3*9&2Y+8:'6$4?WN3IP'URR9_'L7[4+*[M MCVIPL/<3F1=<:BN]!#(4.:AD20,*PH(H%E,NSAKQ#%R1W4^$2= ^QN 13*JM MV 3MS?XWM)K8/C^Y'U_/3M]_#?\\7+ MB[!<7C69#%D+@0XXJT.FA;+DVC$!3F8Z13AIKT:1W#V('!>1K7 R/XW0^L;C M[<+^")_QNE^E"9%EK-4IM?6[2(;L9F$ &98BL@M!M;G/W9/0<7'9##"[ _-H MZ74 3CI55HMIO*QB6S>&6&[ZF];.$L$I1CQ;3[;6"D(PC#YPFTW00KLV=Z,/ M4=0MW(Z'P;R!3'K %G[%B_D7S!\P?9K-+^8?OWVWG,P4]W625EG7HZ3"(2K) M(43EBU3,!=8F?>,)PL;U=D^*M $E-';?H9>7R]7\,RZN6S8OU_W$KVZ'EY^F M7Z[7Q*5GW!0'3 A6>RDI6E.Q8#)+P@2?HG[2F]WGA>/>JYX"3[/Z MA(L?.+?9'4($'@J"J(4D*FD&7K@,3@0=4W%:-M)?CQ U;I'W*7774)+I &0? M%B'CY[#XQ\U!SQ7*RH@<908E[7JRK("(61FTI@33QBV]3\FX]=JGA--1,AC[ M[/O18GSP9']23V_=5_1+/S HA62C)"??H=2@6"YD%UAB50Z<\^!5D&&G@W0, MZL>M C_9J=P],#K0OC]=+J>S.IDW_<_E=#E=8Z! @.3BB,8$(]1(S(X%5) MP*W516O)/;:I[7F H''=DA/% 8<01J>8JI\N\'I+6RNB"D6#C'Q=CRQHNX0" M1?J8-1G!6;<9,&6@8!P Z@.EP:8Q_VKV;O/X4O^.OG^)\;A2N"85BG MA0=?W71=R$HI]8PH*GG%;"UPW^DD_N'1_6'A"+G-!V-B!QKF$2W\^J9CL%0< M98H2A"<76S&>( 9-FX9)R;*WF7ATZJN$UWN-=FH6&!G_7NLP,?4-O5\7M0;# MUWYJ,2C021'#HHD0ZQ _1[:@D<&J5-ID-#Y%6;=W" =B87>P[2^8OH'V(J7+ MSY?DG6"^FXDUJ9E?JCB$E T=",X$N)@E-R87 XCVQ3&$=;J.Q H>C DNED;9RX_3U>U]1'/8[2N4P=I M-8'8@VFH-^EAZ]D@FA1]EM6B#3E!,,I"\MYJ$9QSH4W]SS%4=WN!T1R>PPJT M;_VX997;6^L33Y-=YS2FD$$I1KSFFD.2PDA>/#'B].?YCL1W:VT.C+0]#OX6 M8C\8Z5]Q$>>C8/V'-OVHH]W)FQ/ M"#]*V&>GQJ\;_\N@N38\DX-I:P,\.BFCJS-1Z(CDSEA5BS'&1W07\QG.!,B' MB/8\\;L>&N"D3=8$ ZBPUBIF3=ZH0JCGDLO2&"O:C*,ZD.!N+>?N,+RW>,\2 MQ>NQ QR+\-8HL#EQ\G=KTR\AZ;/@/',E,>_;7#,>1F^W^4:]87AOX9XGA&N3 M^"*8,"XH_D49P+FP\7<>^BB1LRC9\AE(.XEFT E M6HJ71D(2)4L>M$H23PW;7:\QFDVPZ!&9^PJKSRD7#W1SF-P[!8[J.C'A#?M. MW*?TIO/$?PS#D#_"HLXZ^8H#=N/XX9D-V/,XW>-T[X_.YYK3+WTBXT-;A"@$ MF=,F":$9BSR:L1MNG5-_CGWP M=4Q_CCVDUK<-_4/EO@T$F(P!,GT&2@H#ODA!#J^D_Z(U,9[<9C[?_AS[X.2( M_AS["*UO/&XMQB$32A7%"A25:]2EEK?(*,$5S0VK<[:9.C4FS[L_QUZ .;(_ MQS[2ZP"<#_:",%;JHHE)HF:B*,-H"=XY0">L98'%(-L$=I]'?XZ]8+!K?XY] M9-(#MI[H_L!S,;8@&2V\!I59T!"R]2!T]KQ848NKVT#L.?7G. II TIH[+*E M71M$)"%%D863E5);Q*9,K&+" 8O%H! \8+DW4.S?J3_'(6AJQOX.=-AC72"L MXHIEGR!E1;R2R.M0$ ="6A494YKE-BDHSZ8_QS&Z:RC)= "R'RK_^',? Z2@9C'WVC=*&(?#$=6W:1&5V(J_;>_3!]?3PTNH @@\U MI9!2J&A2@1@* V61T3)H55)KAC9+S*%-@_>S;Q%S1"AZ"&%TBJGOFUL8Q>5Z M@J;)*H+24D&PY-U;KY V3XFI47/R,VT1LQ< ]FX1LX\TQK8W?^QNXKG5ABQB MX%J%6O>:(3(RGGUD,:J$T;K=NIZ>78N8O>3V>(N8?9@X-@3>7P;ZUC7AEBMO MG0"A:E G!U*\.3*0Q23AF&#D/>TD_;M/'?>P:2CX@UG7P:FR4P&SR86A1 F1 M&%'[++A:>Y9!:*1SEP6O&XW(?%YM@=I7>3K[>#.7UPKDM6L;*,_HL%9)0ZQCFS4YH3(E+4QJTUUQ+S*[O=0\$"7W MG;5F(NLBL_GZC'@Y_QRGL[78WF'-4YS^BSB::=G3,@UWVM*LSX],'NMK^O;T M@DX57-+/+C_?%P1W;3&;6MT#(8; M"V] =3UH-<#?:]+X;/7M3;R8?KP*=1^2[[[M,0.DN#])W4!9[6\7\WR95IO7 MD3*ZS35>WLX]C987Q@1HQ^N4N[KIH&%T^U:,"YW*M5A=1N6 8QS8UA*?03;@=[:!UD/ ME]@T$-S9:+&7G\B:1/*0MOSLJE1O( VWPXO::+]]5WA*S_ MS!?_I%^8)!,EEZ5 *(E<:4];VWO:/NQ"$R M.1A97W QG6=:YV+5$%^W6_:WY?(2\\0FY(7K##I%"XH,&F)7(IY)Q;-1 9,Y MQ2GP$'WCQH?[P-]1,NOB-F3[NMZ&;Y6YRXDR"JU3&I@WK"8W1 C6!!!88N$) M@S9MFB$\3M>X<=T^L'>0C/;'G+_"W P_UEARR_.5.X8I90&*6P3EA 6G:Z3: M(B:=#2GV[L[79D4Y?6!L+YD<>;Z^FN56#N[/](*OZS8SO\W(!+Z\TB$'.+#; M'S2 @[H#A0,YH%O?]&*6_Q/SQ^GLXXM$/YI^[SC<^ TQ9&FB$1"44J""=N"Y MR2"3L=HK;H1N<\5]!-''UT/O_>K;V)#AR?B@#$19S8&(!9S,U1RP,16=U.SE:]KRWF%5WF, MOTQG89:FY#7-K]+"?PG3Q=_"Q>6=Y6.]C99&0]#U](C<0V".>& 4YX9KP7CK M/G>#+&3)J53E\FXU^NQJ&+$63''!?.VH7J< 9EP') M*_2L<*M+F^3^Q^D:-XXS%E0'E%4'R'MBX_T:IK/7\^5#&Q 79;[X3%_<88!7 M-D7M-%CI$IU#2D/T+-7V[\)DGTH.;0)!@R]EW!A2IZJX,2+.R+\ZHEGSH\]K MY6&U;-)\#%BMF =3#)Y^NU[8/, 2)2!TBX PMBLZ"?<3G]>%6) M<]4 UB,SI>0ZK$"0TL\67$$+&C,712>%C9)^MM-S=B \! SSP273);XVQ>!, MS!&8[ !2-;6):0&A7B'43N^=EZ!\+I?G)W<]F>473FJ8NSH:,WN[ZO573G MH/5V$/T)P@EG0P*65#4R*OPB:6Y.WV16BFA%FW!Q%]&?J],K!VM9+!P"]PJ4 M]F2C>U,@1D.;3*'%YHE&9QZIV0=%#Y__^TNC@Q/] ;\/G4](3AY$+S2M0M5Q MI<: YG+=V,=KTZ;/1]_QEP-$O%M491]^=XF:C=-GHT>?DP%1F_F3DY8A:/(! M>5"(OF0I]>HRCZL[P!"VUS\XBU&E218K6EC,3)?@_8O =F-!7]R%R_\V]Q#@./XJ.XN6876PW-$]>7%QLZ*_FW-6^ MP<,2T__Z./_Z']?ON,+$]5=K3%QE MG#Y"PS@:XSAIS@=F;0_P>/7GNXDKV215!^]YS4'Q$,!G&X#185LLD\8^VI!Q M;SC0.\<1_W"2NP^%?=G8@^A?_O%?$Z:+B70. K#&H MZ.F=XYP)[42_+QM[$/WO__\?$VE,1A8MX=.2<204@B]DVZ3"":MH-=E.0XJ> MWCE.%FL[T>_+QAY$__^]_:^)"D5S;LD0UK*VJ^,)@HVDN$SP06G#_/UQ!L>) MGMXY3H)G.]'OR\8>1/^??_XR\4Y:YS4#5P3!-1/_^UY]IT39SZVNKFT":RC@!WH<,DOIG;N%=-CYR'Y? M/G9P3W0;\7Y]D^8D6186!9*I:C-AN-2VNXI#<+(P%3*9K&TZVV\AIIKBIUO+WJ=WA:[SA_I/S!T3N&P5+7*/&S( MNP[R$[WSI)&#@^RJ9QT2I],Z9=">.ZF3RO+^G,WSST^\$ET?0=+[Z4XJ\76ZZ0=ZR4_??DQ_N#K>4IVN&HL!'FI?0H&A!BHR\%)D ME*Q(KMND%[5;4R_JORVV?YA>U0=&.C!9'D@1,X$A\SR#T63K*R').<_%@HW& MT8$L1=!M&D#WF(#9"UIVR^7<1W1= G#C:19N(BO90_36@#**? GA&3"6A+;H MDFG4@_RL MIK[Z?'(Y]Y+R#KF<^["\ ]1L4^#K+96+X2FJ##ZM._Y$"R$*!H)^$&/F&4V; MEBX/433R.-P^3[]!Q-.P M0.SA#!Q&YCL Z0 != "EMPO\$J;YU5]?<+;$ZD>]67W"Q54,?W75\&^CJU$H M1_K:@Y'U\BWG7(< 2\@U9NLQDM5&O^N9 M#7BSK,T*4D[*$), >=2@DG<0 ]/ F22_77!$O5HKO9@EW'=U!8?+>3';^+V MXWA7B+F>OCO%Y81Q:YU!"0CU+M$&8Y#V6(B\C=VTE9Q>B@';8>=0 MWI_1[>W]EMR#]W9YX/G->KGLLIX.[D:S24)G*VI'. Y*&0XAJP)9:LS"*L9\ M:U-DQ-XM-SOV;J?LM< F1C@9DZ_ME$($A8R,!J4X>%-,(IE);=N$3G>AKI?C MLBW>'E:( \FMBP&@]Q;P>@?YN]P=;F8O0S+3U>*9:(Q,;TN M"@P!R:;-$J(U"%@L>5:<>V7%*2RWW"Z^M)'OL--$/[5R+7#0R3!S0 ML-K.T2($F1,$;4+RBB,QL!_7HLL1)P-B;S]Y'&XWSE?A8F \;=7UUQ;QMXEQ M+&.I,2$3ZX!4'<%;0P9WXQ#,5@^FRW]<74PQ MZ6N+OP Q,@'$; DNHX!8ARQ(J^F?-JT63[?&\XU4[8/]G>81C(^A#BZ4'DC@ M3 MUHXZT(:O\TADUN28Y@2BR%"XDJ4TNN0\J\S[O:2]\VRJ/5C? 82VI8%+3O\5 M1]M))[VYYU=&@"??,"/G,;LVU?'GDWF_EY1WR+S?A^4=H.8!C;W>5=%D7E0Q M4.1ZH MYDE[1U@I>N8\'<#U0&2Z !6]^9876_AZW1O9DO, MW$,HP9#3)1&"LQPT2\YH5LI2L+F%UB/CO%X /)HL.@/7H"?'ZMJ]* MSH;<> ,I>P=UP )9"9%#<5QRJ[@O0C5!V&[T=7A;W=\IVT#470'X>BEO9K?? M^P-7$Q1&A-P0PNDS M,?<=?L79)?UZ_<&ZM<\A5R];GC+ GO:DK]/5Y]>7BY7 MI.06-\%A*ZQ0A<[:K)0EWY6$38::/9C[M2.*YF:H&G^ZJIB:S.14.M MC8F#KH@??%83;;6-SA/K+*4B6B8DF(ADSWN#X+FL;0!C,C$Q)WT;Z^'T.NL5 M<78Q"Q?7KR#;]5>. <%2TDF.5MDF\G$ MS98T;B3Z%,#O PT=;(L7*=6>M4LZ29%\+=KA+RXNYO^L1>&_S!O MW7#TIV\O%HLP^[B.B]UF&-TNKW#O? Y(RZN=F+72=02QAQ*L9XH'6EZK%NI[ M$3IN"<,I\-E2V(;-R#W]7$%3MDG:<.+]5C M. 8-IHZ&48% '66R($CG"91.&S=*5&6P'-M;WI- WI3-:S?M6KA!DV.]PB+- MKPII_NB9 9UI?_L:JHAM#N_'J#H/9VL?W/R@ H>2R<@3RF]NHF[]PW"QOH/G M9$7(;#)H6WMEB]JDTZH,1?.HHK7!JIVZW>PTKOQ!,D:^*AE,RO.A63XV;O#C M_25)/-!Q+O?&A>CPR8 M%Z1YB?+K= GC# ]"J=K928!R7(!CQ4(= \]=K'.Z=ZKPW DEW[][1&@,(\CY M(%P=&0^O+A?S+[BAVP<5(^,,M.2<3F+-P46A05K'LI$ZY;)3:<].:+C[YG&" M8VVP<#!'Q^P$6N,(2RT1P 8E6@Y(A$\42@7S15'S6.CS:7O9F6-[5 M$S>S\JZ^N#,J[^9]XT21AI?\@1P_94N+O-T]O'EI^DL;( KA)"8 MZ) TPIX@%;C>T7]]D(]6\ M7\ZU!&-K1G!B@83!<0RYVW5L*P2B9;^,G:-% M=]X1Y^O[RW![?WF"V/,C;SUA%'K7M9\X'DWFEQ'%,LC"&3K->8&(ZTMDXWP* M)3/6IB_,B>+1@]^WKT\K823+7'M@.=%IQR-@I$C&)LUO%EL5K".\6G/I'#! 2^VCJDO#NIL2=#(4>00K"H[ M[?V=(AG;*!@7>!V 8CZ@A/I V%V&7->Q*<^\]PK\>H1?$1F\-(GP$5'F(G78 MK=70/C#[D8SQ(JG'2_9'F!S)YK$C*N]79 :%1=YB%&UB M%Q;YPB*]A4;1]$ MG7YK:2]IVDC188G9/64@[O:JT8%QK"SGS1@[-DQ>?/ER,;TJ.GS_!=.T3-.U M"GX_O[A<5RI>WR8PPQA'!H+;1&K76O"9MA>3*FKO@U;.[(27W=\Y7CR^ 7 : ML;J#:,J^A_MM(""14QX3K9%%KVL!=H3@D12UB]&6*#UMF"96_L$DCQO@Z\>@ M.JWL.P#Y(7$G'I,1(3M(,H>ZCSD$$1U8VL&,AYRS:=.C\.Q"AB>"T0"QQ'UD M>BZQQ!X/VC<\-$W-(D1[KZF$\<#-9><6T)H]B@K8&W-,Y0@'"LI M913"M8ELG2@>^#)\F:["Q?1?F*]?\W*^7/VZF"_)*7,F^TR63 M9'#!)EJY#J)1:[?'J#J/Z-P^N+FOZ :3R;EHM&M#:5YN:F7*W5J9097;KB]K MHN<.6NF)59YW$EE*%AC3')2VM7,-TD$MDQ.RWLR)-AUJ3Z3R[M9C_3R_C*MR M>?%CU=:[^<4%B>:?89$GC+/HF"O@'#%#.9LA&);!YD*/YZ99 L/>I)Z'NRVX+G!AMHM)1 V(=]9NB!4]K 5>(E4)KEUF;[EZ[T37Z_"HO5(&A\NYA_G2Y);%O6-E$F,!6R!\\\K8AG6I$Q M' I/2IK@:9>W*=YZC*IQ8SZG1=Y@TCD;O??WQ72%=1[11*A &RDPT.3*@\I9 MT?G!%""SCAN=H_5MG),]"1VWY+U'37B8#,>?*'5U,;!C??^FX^BKO]*G6E[] MCDAXD?^;+*&:1CSQ(@JIC 8>@ZL=1P6=!8HXG1&CXD[[73.EAR!GW*KWTT!T M).&=C6*=,%N$R(JL\$*FN,K2@$??* O9:,^UP,:E,T&]?6H1O>2V)$& MY:M9/ETXZ%Z+BLWLHF';,CSQCB;!GWW6=>JT5Z.RTEQ B@G)5M0)8J#3V)=2 M_7'NG&L3X3A1S.?W^==U7>]O]X50M^POFRVK5&U.&124DB6HXGUMJ>:!S.7: M;4 $H]O4#.Q"W7E$=O;!T7VM-[B,.CA[[ZUDXEAQEDL'.1L+BIDZ"89.A>(< M]U8:1RMJ4PKU/2'CHFEX23_>Y&@OMG<3>KE_7&RN2)>3*+)V+B(8F7(=_T.F M!;H $9-,@6O-5:N!\]LI&C?D-P#2#%WMI="?5IMD%K/G0@ 7M1UR M0005:L>"B?O^!LN7[> MJ[_JI_= OUODX?$'#A!FV(/BH<:LWW0)?5/NOG,]+*F2L5PMWW\BE,9*U=OP M[6H6];6+* @EQGH$Y@@MRC,%4<6J:+)(W!4TV,@%.HKNHQ/M'GCCKSC#1;BX M;;CJ)&?<:0U6T3)4S)J,RD3J-P7,R)BRIU2K'#Z)9)?'MM:)#>>3'(E-=$XX:PLD7V&#A,V@8P$KHR*S2P44SU$SWI;) MK-_Q@]S6TGSS9>UR7\?,[W5/1Z4B3R)"]JF 4D@^N%,(D95@3';.Z-;]!PZE M_:RUZ3Z(?;@'P4G$WH&GLFW%&Y:^J/;XW17_+5Q<7J%@N;S\?/6]>ZO74I4H M&!GN##,H80U$JP,(Y9RG0XW9V,90&'8=HS?AZFD#G @.76V&/^:SK[A<55>2 MN#I-]-EZZ7_.IJN'=KY*0B>&M=]W;9$I+)EQ426P@7GK,GHOVH3 CR)[Y)&W M/4"]M;"[0O8KLHGGWQ W!;S;S[F:[)%N>J]=!WS?KB,=:YG<880NBLE">YH; MVN<^D%]A@P=C&,JDI2ZQ36BKV9+&#;QVL2/&!,G!N^4K+N)\)/?SB#R@G9[; MV@%MF>]S)*)S3LGH[(&+6$<)>K*E!0%("G2)&"EYHZ*2OCW0.R.2EC]]VVZM M735G<)I;GK($&3@Q4 E3Z]L9%(PVDY:PV;:V2XY%(3%C#,UIA#H,6K(B%QGX*S$679*5EV)\%_]^J117^( MX.9#<'%L\8>_[A"NK E9D^\C7"Z@@O(0HN1@ BM>^YRSWVG6\F[BO_OJ\=K, M#2+^@[G8063CZL"C7UZK/V8%8B@(IB1-CB9]""XA<*NM)]^8%M:H*\)=,GII M\3:&!7&\7#H U>&,NUWV++^]"+,_PF?<]'T4D46R]058KNJX-H7@1%%0K XV M.2:$;C-9L\5J1NZE<#BX[GM88TNZ [3?1/MN+W>NI_YXF7F*#J2RZP0Z7X<_ M&>"),^*Y<X6/?8FVVBS=>-;-%P)0U* M DJL_DQBX)7/P$T)P8=BI=W)IMN_G<=V@D8^VGO#WQ!BZP!]VR[^WKW_\WHK M!1%#$@PB#V011T/GB_$.=/129W2*I5;]%A\A:]R+V^Z0.)P(.\#C-5_6YDUA MR1K!-6"*J89T"@0A!#!9:D)1[>O=YH;U+A4CHZT+E^9@J72$J,U.2X5)QFGQ M2I5('U2N.TV X#D(*;,6C1+>>_(B#I?G \ X@+ECCV_8Y(G?L1_K8JZ'_I; MM30*T$@/RI%CY5!&.LJM]BZ'0/;E4]?;3[ZE#PP<(KIY"SYVH"N>U+$/J=C7 M-SW5,:!F=4 H*UC3HXP 'VT$;:.1J?"DL5%6T-&TCYO^T\=)=V($G#/F_[BL M6WPCKN6+KV%Z4=G_RWSQ*_WM:N),$D:3&#QR4BO>D@V:60 ;>8XR!A5BFP8N MK5;4>01F8&0.M3&&A,DY;Y?UA[^1KS:=?;Q*%>035[Q<3\#(V9) DBUT/!H/ MNEA+XN RW4XK[V.+;%E%YX&A3K?%L7 8VWQ^]=>7Z6*]V"OJ:8-_;P%.G'1, M.Z> *46K43Z =T& 8PJ9*)QSEW:RH9]\5>877\E%^8CK'_X<5OA+F"YJ$0].+#DZ4<<,B05R?G593S9G$+)" M8YGDR;<9,W7BA8YLVY^IDCX!J,;6XU=FV0[,63[$G5=_X2)-E]6H^VVV6DQG MRVFZX@./*7M?&%B!I9;WD_?O)0+*S'/1/G$A=CH!&A(Y;F.8,<^.7B3?Q0XX M0CO\;5U!=[O[C2!)8/8@F2.!R'J7DQ,#XU&C8B71(;P[ZHDFV>+])$D M?,XVU:O_N9RNOOTV6ZX6E^NXVYO5)UQ\^!1F!QZ,/F6NF=(0(UE$*O $3I+7 MGYQ1/#GF3>@L.#HT"W;:A/:9;<+NI+ 7$)_U#KY2;=>,FR0LV? Z\T,:7K-7 M/!FMEOA29$C&.F%G?UW,+[\L:Q_UZ>PZ MN?#M_,OEQ9I)$XLNMW>MQ-._3/# M:2MYC VQ5\O5]'.MF/UEOB@X75TNUD-LZ*L_-_TW-MN(OO,>9]/YXO< MGK"4'2^2@2A8;^?IE(HI); J"5=0IFS,3L [AHK=KK[8<\3CR81W3BA]<7'Q MQWSVPW)3DC&$0.L3#D&Q;,!;;6L=%BJ./CG/!\?J=EIV0^QSNZT=0Y!CX_:W M65H@L?&WV;;V'I?X8?X.OTZ)S0_P93E)1J'$R,$5Y6BUS(%7,D'0+'MT5C/, M.\'V:%)V0^USNTP=08P=.'4[M1JZZ="U9O/RPWP5+N[^O/;@^&.^^B]>W<2$^ MP87O?[3Z=G?Q5[YJF2_N#(6;*)>5M P)X'KT'-2Y[J(%*5W M.;:;5?\T?;N!^KG=R#:480?(W.D ^Q#^^@EG6*:KJ\&&/ZXZ$/=L%!82UB/+ M60G1^ @R&60Z6,MRFXSB8>C?#=G/[09V1 QT@/SMRYQ(&Y,0)0#R&$'5KNDA MTZ*4S.2M>.^*:*.#M].S&S+_O:XE]Y)1)S/>=MIC6SO6O@Q?IN0PU.^^^%Q' M6T^2*A)93F!X349VB+311 ).AH^PN5B;#K>$#R1J-YP^M^N[445[AA-QWE]^ M_AP6W^9W>]U]M#E.SG(=;:DYLM7+P@*.="N@2T(JH173 M;8I@1FYS?&12VIO+U7(59GDZ^_CNSA3!R#/M09X@)O)4E2;3R'EOP2OB(WH7 MO Y]97 \NIZS;H"\#[*'SED? ![=FL\'<>$JKV!")ZQT)CI0=!*#4B&##TJ" M3C:()!T/NK.JU(>6%8ZJU'=NHXSK5+M=[<< 9,>#I9J(O^V7%YB_OER<5.#>U7O-&? M+O3^;3K%\L4LWU86W^YQAJK$Q#((%+J._@H0>$#:X]D)JV/8LRO+>8EUXI'4:"P]9FY5C&6I)2L8R4'9=E.XSK.Q!?I[\ZV MW_US'%B.]$5>S?K8,7?JBS=,B(YE9@J'*&.-J,A4FP4EDDNLK>128JK/Z-8/ M2SGK0;MC!K:. T4/KL<@U_& M'9NS@2I'&G+.@9QS$]APN^<]BA+4#W_*X$'V5- M5I9E7P(XINL06/+>HR[K9JW<87%DE'36R'"_!8Z['\\X%ML"0,_@G'O@1FA7 M3<1,(!5D%(3L$RBO30V1.<"816'*9ZM'Q'A(L+5DJ->QEM(2H-$+QT1!KD@ZZ3Y?QT66-VRC[C+?6<&#I M9>?$IYD1][:DWV$=>TK??SF?K5ES&2X^X.*SF$@L)7@A@$1D2B!3W#!? MA]ES0,&9S\EG[QM>_Y]VL>=]X=COUFR-NV>P-?>VSA_F''<92U()2*8D[N(9 M^%H;* /FH&W*KF6Y=1<\..^[R7XW\D@H';L-:A.!\AN)6A(HAA @QT*L2%)! M]$(#&0\\LRPL)N_CD_W73D3K.'Y7KSNE1X \@Z/G:=OU(49Q MJ;/4B2P&CZHFN3H(+ 4PS@GKG78YF"Z/IH.7/([_U.N&'%T<>R'P#+N'WG,: M7RR7EY^O6/8G_<%TMAD_0PRZ&2>Z_*[EYE7R.N96K48')[!U7]*V'.VCB2E' M'X*7#$+0M"F8=>!TG?MF#4:1M.>R32N/,VUB>B/I.VAX-UW^XY<%5GV#A,-5 MG>HT*5&4*(T!RTTMZN !@BU()@)Z]#Q*XFU?Y]VN2SOKUJ;[X'VPHZL):,[9 MFMS&D.OS_.?IUVDFS;AFB$7%O% .#)TQH*P@AJ1 UG;TP61%!H?)_>^B;4L[ MZSXJW>RBHT'S7'?1W^9UWO#%=/5MS1(LR5E3!"@D#U7E'&H*&J%>3C@!.+WOID+NYQUAR==<6,,7L8X$4?22M4CB=S5Y#,8PG M#-%I;)BNV&1-9]T8Y>B=,SY,SC#*\/@/TR?,EQ<#,RU/F('06=4D2DH-@90442(@FL@!R:;E&5QI4WQQ,BQ@XV\ MWI3#"](_U#N%B0G>IV0%.%EOW#22KB@Q0>:R!.,%6L_:'"E#+>&L8P'[X/>' M$V04$'1@85U13K_\XJ_I"=][%&UXMJDW/^'1DC M9X./ X7[ U@/EDL'H#J<<;?+GN6W%V'V1_B,/\]KOMS$Q"""Q@"&F?5D!P:^ M: D2"P\V:9;+2*7M!ZQF7(@? :[!>K@,).D.T+[-S'OW_L_?<=VZ-$7NN"07 MF^=(?@V2<^.R]U"40<^]]L6WR3Q^E*S."VZ:HV;>2H0=X/'@.-+KF_&@49G$ ME"0#RC%;8T4> M/TI5<2ITCUROTH7Q<&($G#/F7_W/Y73U[;<9 M[?_+M53>K#[AXL.G,-O<^?\QGWU=YZA\-Y)!UVZ;D52 E/ZJ\-M).D%CEIHK M+C+C#6LS3[;.SD^)@5$\U"9J#ZE_CPVWZ?VN$])!:Q1(GS(H$1"B5 ED1F^4 M-#J$L]UK9SU!\P0X/_V6/ !TY]-K^6#VW!NRJ(UCD7L+MO;Z4L5R<,QHX%;9 M[)0W170VBW//%9YIT?-SVI%'0.Y9'X]7"=,W?/'9"%)1'H2J+8BBD,07Y4!@ M)J^4^Q1+9PWF]ESAF98M/Z>M> 3DGO56W'2PO<.:DHNTH0C@KEY!,:O 8Y9@ MA9$J,V_SK6S M@HVUKH]KYV41O+-RM29.9'^=D9_3MCP&=.?>%WEWYMPKPUK;^3^37KG)Q;LK MZ"(#5T45XEY-6C7.0? Y@C0.8R(O/)G.+B+:,.),'=*SB<0V ^6S-H!W9]]$ M!.84*[RV+K.U0Y.%H 6#((WRWL6LXMD>P$^N_MD'>-MMGPY5P5Y8_K<+#C_- M/LT$B5EJ,$ID4#$+<,47XJ'&(KG3+(\TIN]4+#C3T_S?2A^T1/6S-@J^CQ8^ MS3B;E&.,"6 EDR^7+'E) 15@+0=2)27;LA"K!Q8\^Q#W,U '+5']K-7!G3%O M.UA6EH?L,T)1FI0H\@0^AP0R96,E1AG*N>F"?=;_[$/KST 1-,/SL]8">WA7 MJ)C2(6!6":#+%(R=FYW: -'"LXYBO\,-$ C+ ]Z W#""O*; M#8K*V]$9_-: M\U/P=Z "]-OJAVVT_K@9;VA]LYW6JTH(9QSCTEE07HK:DS75GB4%T+,D0@[% MJ$9&88OE''M&_S8CW.![0ME:B[W>O')=R1=X\=($TICW%N$@^1F%2G M/*P'/)Z"A$ M.M*YSMFUR4Q\E*QQX3B8\'<#U0&2Z !6=:.]*;_.YWGY8;X*%YLJ3.6T<=P8 MD*KR)VFRI7S4$(+SQ1KE4VR3=+Z=GBZ!=(C YX-SOP,,O2-Q$ &?7LSRS_@5 M+^9?*ILV)M5F2=S[X(WVM.&$JVVO'7C)%+"HR.D0RFK=YDIZ!^+&O2%JAZZA MY3+ZS J\H.]__!5GY )>T*I>Y,_3V;1VI%E-OUZO2">6BR4L.$D*G180:-^4 M#$)H$;B6PF-XRKG9_77C7B<,CYU&C.Y 2PUCD]XF6:%$JP+Q5.A 2MK5YO@E M(KB0LU:BB%QX$XTV\$)ZJ>'OQ6<8$R<=;)/-RC!O7_CF])B4:*7B*"$ZKT!% M[L%[LEBB".C6;1QY&P-Q-_K&-1A'A=#]WE;#R[/CUIOO\,LE63RTRK>+^<=% M^'QP://')PT5?'R"QH'"@U>1]9M^?4R%$#(C%1@=(UN 9X@I$(22%\:[I HV M.JV^H^/H2[/*P$_S"]J_RZLG_S%?X6TOPP_$O9_H#_XQX2DY5(F#UIS3$5 + M%H)48%$:)@/W)C2ZV=J5Q)%UU.'X^.'VIXE0SDG+''N/\N #F^FH=#1UEBLYTAP1/'E;4)@5EK.HM6AS$_ @25VIEGWD_T. ;!"F=V!6KZVO M'W;A.A9-MI;,2D30I'M!Z:H43= @D1''BG+6-NPJL)6F:(_QVMH_"(C>9>!1,I.9H8]MM.UC5'50DS. Y'<"U %B&#NN M^L,:WJ35/.)",.ZNP\0E%Y)[ 9M%[??I(CA.',LJ).4E!F[U4Y;.CN_J$2N' M"'7>CL/= >;W>LU U+/-8ICV*C-'U-M< Q8\U@X)!@I&&0MQBK3?%$CJR\^SR]G*TZ*5II09W$IA_0A5'=$ M20;HA;'!*M+"#0-#3Q/8@^\V(#"VQ8H&EE)_X,L_7RZFLX]7P?SU*;&<&"%H M7\H:5W>EME%!6I%*X.O@4LE3)%O@%+C;0MNX&N[$D#M6-@>C[2LNXOP$>+O* MAO>8M%2!@:FQ%A6,!C(A,X$DHLB^)!WDR>'6007FF&C;7S+]J+:,^!GSF\7+ M<'&Q=0\IF7+2J6:II7J#$!RXNC;EDK )#5K5%'!/$3ANO=^)8#>HE,X!?%=; M2NHBHHL,HJ(%*4=6<%!10C!&IR)D0C\2]CHH-!L=>OO+J!_DW3-4WV'U[6EE MMQ;K[>]7#&1YF%U-8U:J)_,,T[(=2<.4);R[+/ M&^L/X2\\Z&;ZZ@\'N('>0L% -\U7^:_T_-MD@YMK1R6]9447,%XA22XJ.NED M@AC1>,)2"JI-2.D1HH8I OKNT;?)%8;[J!0*J+XS+1CK.*,BH)!,69&V%-]BZLL*:GSM+T8KJ6UYKQ MMW#WBKM4+S:2D!:4+@8\A@1!%"]"R71*-K)VCJ"Z8[6T![X>'JS<6([=JZWO M5SHO=8U03K,OBUON+CY MR7QQ\PJR(;].E[76YO#4OU'I'589C\SO$^A];SSZDN@8=[6[D+((/C@#];95 MUIJ25E,Z&^K]7;3$B]5]^7WWRQ/)&)?1;5:IA=?+JVS08 M'8#X?D^!?=#VP]WNB:7:0;!FER6OE=&+67Y-3[NXH[HF(4KMG&& $@OH?:Z7$P/*AV,X)CX/E%4_PZYV.D@> M*(A-N%S2'_R$,RS3U5M<))+6A&&1UI(_'(ORH(S)X(6.D+FQ+%B)1K6)^PR^ ME'%O(T?.MV:=HL2HK!HY< 5 \..T5 MRUFUZ=1S+.7CWF&.B>O!Y'DFIL1ZO2_R?U\N5^NFL1/KHE3>*L@Z<5!1:?") M$):R\T%+I_F(+MQ]:G?"J7VV.#U4;MUB\^6<;/;9)>V[-U]PL5[H+6_E%6(9,!#KZL3>M.Z'1/P\T#B:S[N_AAKD= M:W-G-=9-DN.E**TLE"09J! 4Q* 4)&&+UC(DT>AH.$5BTI6B_8BS].VJ2BT' MF1GR6F%MR/RT0D 07(!(21@59%2-AD$_2%*_MS[[(./!E*2C)-"!D76SD$U: MYNK;NE*?L6Q4$@60,?)EI" W9NW0H$N54TGXENW6[]/3"8B.$_9#$#J<\UWB M9U.073)C1G@)R7 ZQP6=KCYAAARC]5DF9AK-NWJ(HDXP=(2TGP30 :SO $*; MZYF7-05\\6U3=1^CDR$Z :E8#2J9 )[5ZT4M2R"F,%="$_ALHZ8WZ!PBY_G M3.\ .,0&7*ZFZ?M%8+0Z:D8>0\RQEBZ0 \%L783V.:)S*N9 T-" MYWBV=X"='SGS1_B,:YUVA:K>#K3#)+\3 MH X00P>0>H=?<7:)+^>?/T^7-1&7GOS; B_"+&_TK2'3448MH<[/ <6D)4[) M0,ZL%MPPS4IJ0^#@60 QG9@<[99DJ^OJDZ%UE;(UF!$A!)@=*R7,P>#"O26V0L MN=-%KU_OU9&N/7C:&-]'RZ$#4 V?C&81A4O& IK:AZ!(!E[G EBB)D9@2;S- MB3=.^N%)(^<'PJQY N(^,C\3T-^[Z]8R"(NJT+J0U1 S.5>T+E!!H A2"H>/ M';K=Y2><-.!Q.M@>(;6Q6Q7OLCS:?Q>7F;A:KV07N,+O\B=E+EE$A^ SKWVR M:F_ DA+D&(RVUFHL]S3O [V,CR:EOV/_. B.(* .U.2?L\7-M*];G;^\:I5% M3*CMC_!GO/IWDE6NY3X,I'*NYNR265Y;U2/9TBEDFY)NP%YF=5,H,KAS; MR6ILO7B?^-]F]&!5Z)E!^LE8W>"UX$1%,#F0.DVD,SC@// :'4LA 1O%H M6!ZD!KM],ADA+6WVC=?TY2[A8A6EUW=[.E].K@H>8 MHBC,,ZB17%"21?"\*+ >;ENXQ0G\(O:M5P1PX+)""R+'&/6W/,VCL@>1'920S*X,FLEIRY&&?QH M(O]\3 M.&,[OK]/9]//EY]O%W3#O,TH])\O\T&N0,IV US9W3I<3IYC TZ6LPW#(OEG!:TFN-?X?-T MMI9<_+:.01V MEA[]\-:6=T47$J6?19:/YWG'[\M,+\@OR1\!$W MJ.'\5%G662;V;6K_EIJA8N^)92@[(*Z13JZ2: MV,'V+?RYM5+5IMLNR M.J6TJUS4' SFPF,1.JDV;4T/(K=3U;0/EAZ>?]%*;&>DMEZ&BW1YL9G'L/4W MCFC.<^0;6RF_ ]?<6C\JU+8D@C-#9D&M>XH*38:^0'16,FY9H_:$C?3CH]OK MS>5JN0JSFJ_W4UA.TT2122%=<9!2(K\V:P9!>(1,QD*QB24AVQ0&[D5FI_IP M'^S1$.%'C> 4<#ZIF+6?P,K-UGEXQ M&(IIU,GC0()''L]^,F0.++H.+M@?V( /+73BA=/9:0$Y)U6;_?LZ@EZ!$$G1 M5]KHU*;*9T]"1Q[A?D)=.8BH!FL>VMYJ'-HF;&WQC6+/:5D*"=C2T1AKV4OT MX$0NX!5/3&:)P37*7FWN[VZO4'NQ6(39QZORGY^^W?[.V_"M?N_%/\,B;TI MD3RVX"QPDVK+<:[)B! ,BJR%O]DX&=O8>H,MH5,[P7GU*\'9R_+V:K M::X:?/H5WV.Z7*QO/J[*B3#_0MRO;+A<;3H9W&?^3]^V/V#=&"8ZYHPH&5 6 M7NO<22#U-H7Y;$H6O'#9QJEKN*AQL3\23.=]8J;;[7.G583#XKPI!K14=4R5 M#. ,-1J_\!!)/2+R4,G?OQ$<1 P=X.D= MDK$U3>O)Q;24S2)$T$X5[D&@)D\O*0%>6@W2Q>(S,RJ$-K?*6\D9-QC4%$?' ML[\###UINCQDN;R^201BWG@M1!VY&RPH'@WX8BU8PZV3]3_3YE0]GO9QT=F' M 7EB!'2 ^2/MG1>?:_>PB;56*,LC1!_JI%-=P+%D(80LI!6%<=_FS!Z$_)%= MIQ-C;EB?Z0 =(#ZK1'C]57:(S<8;Q?S7^:+SV%B-(KBE0'N&!UKM<>YLX\O: R@ U2T]'!*IVGA.=CQ([K<(P*T<%D>#YG[Q]A4:<*?,4CTI!V M>FZC\_AQ^D]^,A,>0[1,@T-;""0Z0E#2@9%9V5Q,4>G,3^9'=/IU!M]-DYQ7 M%]-U(2S6SIVXOJ;Z,/^9OKYN)"M4T5%+"PD-&="ZU+DI)H#TM'M3S8'6#2]Z M!EK%N9SI^V!S1V^EO=0[./"WJ1WRQ+(6A2FPS-69X4F"CQ$)9V2T6,\Y:S0< M]^%03O]']F (/$0* Q90-#^5-[S[-IUMLT\&/JIW>UFC\_N E9[\4%?AC M+:LV!I3SHA8N%A!)>XU1J%;%MKVYV^N+6A'0L8)D:#-<-YQEX%W0I,*Y3@Z3 MB^:DOLPV(L_E2-X'60>ZV7O+K+L3=[YNWKW1".N,/(5>>6^ES0!->F[/L)PGI)YAT8$(^>Q,=)IP.P7?GZWRWJ.K,J>:L+-Q#<>LP% MC^!*D&!K7:8WI:!LDQ7T($D=Z;5C!3]O(84.X/1FAA^FG_$#+JY[0%W/L-AD MUQ6&019R?+B(M/4D*?X8+3E#7"G/C*M]JIN@ZBG*Q@770 "8-Y1&%R78M9%9 MM1WN+.DZ]35W+?0WRE9FZ52V&K@)=&@;SVM+UEIVH&0N);+L MVJBHARCJ#T:'2/Q^MOH0[.\ 1H]XP*]O$IY=8,QPZTGHMO;3BY&4N,S :C5> MRKZ@:-.081?JQK6D.@A1'2:G[K"WN0#S,=7#^&[C2Q.E8M* YH6\G$#K"TP92-)*55*.\12%9(^1.*XM?VH5=KR4 M^D;A!*73WC +7M=&'HJTLU<>@1E65 X,I3I!,NP^QV.SL3TG/Q[WX?V1Q^.K MV=W)PX.F$KZ_C$O\GTMZT*NO560;#G_AKHS]97C[DPKE7R(+S*I ZS MAL@L!\Q265*SL;"3'+S7!'4%GP,D_01T#F%[G^C9W#@6$UD2Y,Q9C;7"5VLR MSSG65+W"'9ID9:.B_H=(Z@M!!PG\:1 =P/W^8+2Y7V;:"5\2@K>FMD,M&2+& M3'Z=DIZ[6()IXU-O):<[^!PBZLM$B M!604S.OB,/@VV1\W)'2E90Z4Z'P(]K9WL3<_J!]B6.+_^__\'U!+ 0(4 Q0 M ( $F!!5-O<%[3+@@ /&AI8FET,S$Q+FAT;5!+ 0(4 Q0 ( $F!!5.7>*M&AI8FET,S$R+FAT M;5!+ 0(4 Q0 ( $F!!5/OWAWV7 4 /0= : " =P0 M !A-S0R,#(Q+3$P<7AE>&AI8FET,S(Q+FAT;5!+ 0(4 Q0 ( $F!!5,: MS"JD>@4 -D= : " 7 6 !A-S0R,#(Q+3$P<7AE>&AI M8FET,S(R+FAT;5!+ 0(4 Q0 ( $F!!5,S%)219PD" -QM&0 1 M " 2(< !C9VYX+3(P,C$P-S T+FAT;5!+ 0(4 Q0 ( $F!!5/G MI]?0>A( #[( 1 " ;@E @!C9VYX+3(P,C$P-S T+GAS M9%!+ 0(4 Q0 ( $F!!5,*JA4=/24 $I] 0 5 " 6$X M @!C9VYX+3(P,C$P-S T7V-A;"YX;6Q02P$"% ,4 " !)@053R68Q@C14 M DR0, %0 @ '170( 8V=N>"TR,#(Q,#&UL M4$L! A0#% @ 28$%4Y.%M"C)!@$ >,* !4 ( !.+(" M &-G;G@M,C R,3 W,#1?;&%B+GAM;%!+ 0(4 Q0 ( $F!!5,?] /VL9H M (52!P 5 " 32Y P!C9VYX+3(P,C$P-S T7W!R92YX;6Q0 52P4& H "@"J @ &%0$ end