0001628280-24-005285.txt : 20240216 0001628280-24-005285.hdr.sgml : 20240216 20240216135029 ACCESSION NUMBER: 0001628280-24-005285 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 106 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240216 DATE AS OF CHANGE: 20240216 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Proto Labs Inc CENTRAL INDEX KEY: 0001443669 STANDARD INDUSTRIAL CLASSIFICATION: FABRICATED STRUCTURAL METAL PRODUCTS [3440] ORGANIZATION NAME: 04 Manufacturing IRS NUMBER: 000000000 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-35435 FILM NUMBER: 24647370 BUSINESS ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 BUSINESS PHONE: 763-479-7474 MAIL ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 10-K 1 prlb-20231231.htm 10-K prlb-20231231
00014436692023FYfalseP2Y00014436692023-01-012023-12-3100014436692023-06-30iso4217:USD00014436692024-02-09xbrli:shares00014436692023-12-3100014436692022-12-31iso4217:USDxbrli:shares00014436692022-01-012022-12-3100014436692021-01-012021-12-310001443669us-gaap:CommonStockMember2020-12-310001443669us-gaap:AdditionalPaidInCapitalMember2020-12-310001443669us-gaap:RetainedEarningsMember2020-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-3100014436692020-12-310001443669us-gaap:CommonStockMember2021-01-012021-12-310001443669us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-310001443669us-gaap:RetainedEarningsMember2021-01-012021-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-310001443669us-gaap:CommonStockMember2021-12-310001443669us-gaap:AdditionalPaidInCapitalMember2021-12-310001443669us-gaap:RetainedEarningsMember2021-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-3100014436692021-12-310001443669us-gaap:CommonStockMember2022-01-012022-12-310001443669us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-310001443669us-gaap:RetainedEarningsMember2022-01-012022-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-12-310001443669us-gaap:CommonStockMember2022-12-310001443669us-gaap:AdditionalPaidInCapitalMember2022-12-310001443669us-gaap:RetainedEarningsMember2022-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001443669us-gaap:CommonStockMember2023-01-012023-12-310001443669us-gaap:AdditionalPaidInCapitalMember2023-01-012023-12-310001443669us-gaap:RetainedEarningsMember2023-01-012023-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-12-310001443669us-gaap:CommonStockMember2023-12-310001443669us-gaap:AdditionalPaidInCapitalMember2023-12-310001443669us-gaap:RetainedEarningsMember2023-12-310001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001443669srt:MinimumMember2023-12-310001443669srt:MaximumMember2023-12-310001443669srt:MinimumMemberus-gaap:EquipmentMember2023-12-310001443669srt:MaximumMemberus-gaap:EquipmentMember2023-12-310001443669srt:MinimumMemberus-gaap:FurnitureAndFixturesMember2023-12-310001443669us-gaap:FurnitureAndFixturesMembersrt:MaximumMember2023-12-310001443669srt:MinimumMemberus-gaap:ComputerEquipmentMember2023-12-310001443669srt:MaximumMemberus-gaap:ComputerEquipmentMember2023-12-310001443669us-gaap:BuildingMember2023-12-310001443669srt:MinimumMemberus-gaap:LandBuildingsAndImprovementsMember2023-12-310001443669srt:MaximumMemberus-gaap:LandBuildingsAndImprovementsMember2023-12-310001443669prlb:EuropeReportingUnitMember2022-01-012022-12-310001443669prlb:EuropeReportingUnitMember2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2022-01-012022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-01-012021-12-310001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2022-01-012022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-01-012021-12-310001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2022-01-012022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-01-012021-12-310001443669us-gaap:OperatingSegmentsMember2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMember2022-01-012022-12-310001443669us-gaap:OperatingSegmentsMember2021-01-012021-12-310001443669prlb:InjectionMoldingProtomoldMember2023-01-012023-12-310001443669prlb:InjectionMoldingProtomoldMember2022-01-012022-12-310001443669prlb:InjectionMoldingProtomoldMember2021-01-012021-12-310001443669prlb:CNCMachiningFirstcutMember2023-01-012023-12-310001443669prlb:CNCMachiningFirstcutMember2022-01-012022-12-310001443669prlb:CNCMachiningFirstcutMember2021-01-012021-12-310001443669prlb:ThreeDPrintingFinelineMember2023-01-012023-12-310001443669prlb:ThreeDPrintingFinelineMember2022-01-012022-12-310001443669prlb:ThreeDPrintingFinelineMember2021-01-012021-12-310001443669prlb:SheetMetalMember2023-01-012023-12-310001443669prlb:SheetMetalMember2022-01-012022-12-310001443669prlb:SheetMetalMember2021-01-012021-12-310001443669prlb:OtherProductsMember2023-01-012023-12-310001443669prlb:OtherProductsMember2022-01-012022-12-310001443669prlb:OtherProductsMember2021-01-012021-12-310001443669prlb:UnitedStatesReportingUnitMember2021-12-310001443669prlb:UnitedStatesReportingUnitMember2022-01-012022-12-310001443669prlb:UnitedStatesReportingUnitMember2022-12-310001443669prlb:UnitedStatesReportingUnitMember2023-01-012023-12-310001443669prlb:UnitedStatesReportingUnitMember2023-12-310001443669prlb:EuropeReportingUnitMember2021-12-310001443669prlb:EuropeReportingUnitMember2022-12-310001443669prlb:EuropeReportingUnitMember2023-12-310001443669prlb:JapanReportingUnitMember2021-12-310001443669prlb:JapanReportingUnitMember2022-01-012022-12-310001443669prlb:JapanReportingUnitMember2022-12-310001443669prlb:JapanReportingUnitMember2023-01-012023-12-310001443669prlb:JapanReportingUnitMember2023-12-310001443669prlb:A3DHubsIncHubsMember2021-01-222021-01-220001443669prlb:A3DHubsIncHubsMember2021-01-220001443669us-gaap:MarketingRelatedIntangibleAssetsMember2023-12-310001443669us-gaap:MarketingRelatedIntangibleAssetsMember2022-12-310001443669us-gaap:NoncompeteAgreementsMember2023-12-310001443669us-gaap:NoncompeteAgreementsMember2022-12-310001443669us-gaap:NoncompeteAgreementsMembersrt:MinimumMember2023-12-310001443669us-gaap:NoncompeteAgreementsMembersrt:MaximumMember2023-12-310001443669us-gaap:ComputerSoftwareIntangibleAssetMember2023-12-310001443669us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-310001443669prlb:SoftwarePlatformMember2023-12-310001443669prlb:SoftwarePlatformMember2022-12-310001443669us-gaap:TradeNamesMember2023-12-310001443669us-gaap:TradeNamesMember2022-12-310001443669us-gaap:CustomerRelationshipsMember2023-12-310001443669us-gaap:CustomerRelationshipsMember2022-12-310001443669srt:MinimumMemberus-gaap:CustomerRelationshipsMember2023-12-310001443669srt:MaximumMemberus-gaap:CustomerRelationshipsMember2023-12-310001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:FairValueInputsLevel2Memberus-gaap:CashMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:FairValueInputsLevel2Memberus-gaap:CashMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2023-12-310001443669us-gaap:CorporateDebtSecuritiesMember2023-12-310001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-12-310001443669us-gaap:BankTimeDepositsMember2023-12-310001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2022-12-310001443669us-gaap:CorporateDebtSecuritiesMember2022-12-310001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001443669us-gaap:BankTimeDepositsMember2022-12-310001443669us-gaap:LandMember2023-12-310001443669us-gaap:LandMember2022-12-310001443669us-gaap:BuildingAndBuildingImprovementsMember2023-12-310001443669us-gaap:BuildingAndBuildingImprovementsMember2022-12-310001443669us-gaap:EquipmentMember2023-12-310001443669us-gaap:EquipmentMember2022-12-310001443669us-gaap:ComputerEquipmentMember2023-12-310001443669us-gaap:ComputerEquipmentMember2022-12-310001443669us-gaap:LeaseholdImprovementsMember2023-12-310001443669us-gaap:LeaseholdImprovementsMember2022-12-310001443669us-gaap:ConstructionInProgressMember2023-12-310001443669us-gaap:ConstructionInProgressMember2022-12-310001443669country:US2023-01-012023-12-31xbrli:pure0001443669country:US2022-01-012022-12-310001443669country:US2021-01-012021-12-310001443669us-gaap:ForeignPlanMember2023-01-012023-12-310001443669us-gaap:ForeignPlanMember2022-01-012022-12-310001443669us-gaap:ForeignPlanMember2021-01-012021-12-310001443669prlb:LongtermIncentivePlan2012Member2022-02-232022-08-290001443669prlb:LongtermIncentivePlan2012Member2023-01-012023-12-310001443669prlb:ESPPMember2023-01-012023-12-310001443669prlb:ESPPMember2022-01-012022-12-310001443669prlb:ESPPMember2023-12-310001443669prlb:ESPPMember2022-12-310001443669prlb:StockOptionsAndOtherMember2023-01-012023-12-310001443669prlb:StockOptionsAndOtherMember2022-01-012022-12-310001443669prlb:StockOptionsAndOtherMember2021-01-012021-12-310001443669prlb:ESPPMember2021-01-012021-12-310001443669us-gaap:CostOfSalesMember2023-01-012023-12-310001443669us-gaap:CostOfSalesMember2022-01-012022-12-310001443669us-gaap:CostOfSalesMember2021-01-012021-12-310001443669us-gaap:SellingAndMarketingExpenseMember2023-01-012023-12-310001443669us-gaap:SellingAndMarketingExpenseMember2022-01-012022-12-310001443669us-gaap:SellingAndMarketingExpenseMember2021-01-012021-12-310001443669us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-12-310001443669us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-12-310001443669us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-12-310001443669us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-12-310001443669us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-12-310001443669us-gaap:GeneralAndAdministrativeExpenseMember2021-01-012021-12-310001443669srt:MinimumMemberus-gaap:EmployeeStockOptionMember2023-01-012023-12-310001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2023-01-012023-12-310001443669srt:MinimumMemberus-gaap:EmployeeStockOptionMember2022-01-012022-12-310001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2022-01-012022-12-310001443669srt:MinimumMemberus-gaap:EmployeeStockOptionMember2021-01-012021-12-310001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2021-01-012021-12-310001443669us-gaap:EmployeeStockOptionMember2022-01-012022-12-310001443669us-gaap:EmployeeStockOptionMember2021-01-012021-12-310001443669us-gaap:EmployeeStockOptionMember2023-01-012023-12-310001443669prlb:ExercisePriceRangeOneMember2023-01-012023-12-310001443669prlb:ExercisePriceRangeOneMember2023-12-310001443669prlb:ExercisePriceRangeTwoMember2023-01-012023-12-310001443669prlb:ExercisePriceRangeTwoMember2023-12-310001443669prlb:ExercisePriceRangeThreeMember2023-01-012023-12-310001443669prlb:ExercisePriceRangeThreeMember2023-12-310001443669us-gaap:EmployeeStockOptionMember2023-12-310001443669us-gaap:RestrictedStockMembersrt:MaximumMember2023-01-012023-12-310001443669us-gaap:RestrictedStockMember2020-12-310001443669us-gaap:RestrictedStockMember2021-01-012021-12-310001443669us-gaap:RestrictedStockMember2021-12-310001443669us-gaap:RestrictedStockMember2022-01-012022-12-310001443669us-gaap:RestrictedStockMember2022-12-310001443669us-gaap:RestrictedStockMember2023-01-012023-12-310001443669us-gaap:RestrictedStockMember2023-12-310001443669us-gaap:PerformanceSharesMember2023-12-310001443669us-gaap:PerformanceSharesMember2023-01-012023-12-310001443669us-gaap:PerformanceSharesMember2020-12-310001443669us-gaap:PerformanceSharesMember2021-01-012021-12-310001443669us-gaap:PerformanceSharesMember2021-12-310001443669us-gaap:PerformanceSharesMember2022-01-012022-12-310001443669us-gaap:PerformanceSharesMember2022-12-310001443669srt:MinimumMemberus-gaap:PerformanceSharesMember2023-01-012023-12-310001443669srt:MaximumMemberus-gaap:PerformanceSharesMember2023-01-012023-12-310001443669srt:MinimumMemberus-gaap:PerformanceSharesMember2022-01-012022-12-310001443669srt:MaximumMemberus-gaap:PerformanceSharesMember2022-01-012022-12-310001443669srt:MinimumMemberus-gaap:PerformanceSharesMember2021-01-012021-12-310001443669srt:MaximumMemberus-gaap:PerformanceSharesMember2021-01-012021-12-310001443669us-gaap:AccumulatedTranslationAdjustmentMember2023-01-012023-12-310001443669us-gaap:AccumulatedTranslationAdjustmentMember2022-01-012022-12-310001443669us-gaap:AccumulatedTranslationAdjustmentMember2021-01-012021-12-310001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-01-012023-12-310001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-01-012022-12-310001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-01-012021-12-310001443669country:DE2023-01-012023-12-310001443669country:NL2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2023-01-012023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2022-01-012022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2021-01-012021-12-310001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-12-310001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-12-310001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2023-12-310001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2022-12-310001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-12-310001443669us-gaap:OperatingSegmentsMember2023-12-310001443669us-gaap:OperatingSegmentsMember2022-12-310001443669us-gaap:OperatingSegmentsMember2021-12-310001443669country:US2023-01-012023-12-310001443669country:US2022-01-012022-12-310001443669country:US2021-01-012021-12-310001443669srt:EuropeMember2023-01-012023-12-310001443669srt:EuropeMember2022-01-012022-12-310001443669srt:EuropeMember2021-01-012021-12-310001443669country:JP2023-01-012023-12-310001443669country:JP2022-01-012022-12-310001443669country:JP2021-01-012021-12-3100014436692023-10-012023-12-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
_________________
FORM 10-K
(Mark One)
þANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the fiscal year ended December 31, 2023
or
oTRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from___________ to___________
Commission File Number: 001-35435
Proto Labs, Inc.
(Exact name of Registrant as specified in its charter)
Minnesota41-1939628
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)
5540 Pioneer Creek Drive
Maple Plain, Minnesota
55359
(Address of principal executive offices)(Zip Code)
(763) 479-3680
(Registrant’s telephone number, including area code)
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 $0.001 Per SharePRLBNew York Stock Exchange
Securities registered pursuant to Section 12(g) of the Act: None
____________________________________________
Indicate by check mark if the Registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes x No o
Indicate by check mark if the Registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes o No x
Indicate by check mark whether the Registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes x No o
Indicate by check mark whether the Registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§ 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the Registrant was required to submit such files). Yes x No o


Indicate by check mark whether the Registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filerxAccelerated filero
Non-accelerated fileroSmaller reporting companyo
Emerging growth companyo
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. o
Indicate by check mark whether the Registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. x
If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. o
Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to §240.10D-1(b). o
Indicate by check mark whether the Registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes o No x
As of June 30, 2023 (the last business day of the Registrant’s most recently completed second fiscal quarter), the aggregate market value of voting stock held by non-affiliates of the Registrant was approximately $0.9 billion.
As of February 9, 2024, there were 25,721,957 shares of the Registrant’s common stock outstanding.
DOCUMENTS INCORPORATED BY REFERENCE
Portions of the Registrant’s definitive proxy statement relating to its 2024 annual meeting of shareholders are incorporated by reference into Part III of this Annual Report on Form 10-K where indicated. Such proxy statement will be filed with the U.S. Securities and Exchange Commission within 120 days after the end of the fiscal year to which this report relates.
2

Table of Contents
Page
Item 1C.
3

Special Note Regarding Forward Looking Statements
Statements contained in this Annual Report on Form 10-K regarding matters that are not historical or current facts are “forward-looking statements” within the meaning of The Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by the following words: “may,” “will,” “could,” “would,” “should,” “expect,” “intend,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “project,” “potential,” “continue,” “ongoing” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. These statements involve known and unknown risks, uncertainties and other factors which may cause our results to be materially different than those expressed or implied in such statements. In particular, some of the risks associated with our business include:
the level of competition in our industry and our ability to compete;
our ability to respond to changes in our industry;
our ability to effectively grow our business and manage our growth;
our ability to continue to sell to existing and new customers;
our ability to meet product developers’ and engineers’ needs and expectations regarding lead time, breadth of manufacturing processes, price and specifications for quality;
the adoption rate of e-commerce and 3D CAD software by product developers and engineers;
our ability to process a large volume of designs and identify significant opportunities in our business;
our ability to maintain and enhance our brand;
our ability to successfully identify, complete and integrate acquisitions or other strategic transactions;
our ability to complete and successfully launch updates to our systems;
the loss of key personnel or failure to attract and retain additional personnel;
system interruptions at our operating facilities;
possible unauthorized access to customers’ confidential information stored in our systems; and
our ability to protect our intellectual property and not infringe on others’ intellectual property.
Certain of these factors and others are described in the discussion on risk factors that appear in Part I, Item 1A. “Risk Factors” of this Annual Report on Form 10-K and uncertainties are detailed in this and other reports and filings with the Securities and Exchange Commission (SEC). Other unknown or unpredictable factors also could have material adverse effects on our future results. We cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, except as required by law, we expressly disclaim any intent or obligation to update any forward-looking statements to reflect subsequent events or circumstances.
4

PART I
Item 1. Business
Overview
Proto Labs, Inc. was incorporated in Minnesota in 1999. The terms “Proto Labs,” the “Company,” “we,” “us,” and “our” as used herein refer to the business and operations of Proto Labs, Inc. and its subsidiaries.
We are one of the world’s largest, fastest, and most comprehensive digital manufacturers of custom parts. Our vision is accelerating innovation by revolutionizing manufacturing. Our mission is to empower companies to bring new ideas to market by offering the fastest and most comprehensive digital manufacturing service in the world. We accomplish this by offering a variety of manufacturing capabilities fulfilled through a combination of owned manufacturing factories and a worldwide network of premium manufacturing partners. Our automated quoting and manufacturing systems are highly integrated with our manufacturing and fulfillment systems, which allow us to offer a vast array of manufacturing technologies in a variety of materials across a continuum of lead times and prices. Our technology-enabled digital engineering and manufacturing applications enable us to produce commercial-grade plastic, metal, and liquid silicone rubber parts in as fast as one day.
Our customers engage with us throughout the lifecycle of their product, from early-stage prototyping through end-use production to end-of-life replacement and other parts needs. Through our factories, we manufacture prototype and low volume production parts for companies worldwide, who are under increasing pressure to bring their finished products to market faster than their competition. We utilize injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for our customers. Since our inception, we have manufactured over 450 million parts for customers. For most of our offerings, our proprietary technology eliminates most of the time-consuming and expensive skilled labor conventionally required to quote and manufacture parts. Using our technology, we have analyzed over 13 million unique part designs since inception.
Through the acquisition of Hubs (formerly 3D Hubs, Inc.) (Hubs) in 2021, we provide our customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia. The manufacturing partner network, complements our in-house manufacturing, enabling us to significantly increase the size, complexity, breadth of manufacturing processes, lead times and prices of the parts we produce. In January 2024, we rebranded Hubs to the Protolabs Network by Hubs (Protolabs Network).
Our customers conduct nearly all their business with us over the Internet. We target our products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets, to the procurement and supply chain professionals seeking to easily and efficiently source custom parts on-demand, and to a wide variety of customers seeking to purchase custom parts. We believe our use of advanced technology enables us to offer significant advantages at competitive prices to many customers and is the primary reason we have become a leading supplier of custom parts.
We have established our operations in the United States and Europe. Previously we had established operations in Japan. On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. The Company dissolved its Japan operations in December 2023.
We create time for our customers by providing an efficient way for them to procure high-quality custom parts at competitive prices. We believe prototype and low volume custom parts manufacturing has historically been an underserved market due to the inefficiencies inherent in the quotation, equipment set-up and non-recurring engineering processes required to produce custom parts. We also believe that there are a multitude of factors that are valuable to our customers that our offer uniquely provides, including speed to market, supply chain stability, access to a broad range of manufacturing capabilities, reduced supply chain waste, and efficient sourcing of custom parts. Our customers typically partner with us for a variety of reasons, including:
they need a prototype to confirm the form, fit and function of one or more components of a product under development;
they need an initial supply of parts to support pilot production for testing of a product;
5

they need an initial supply of parts to support production while their tools for a high-volume production mold are prepared;
they need to meet their customers' variable demand for parts in a competitive timeframe;
their product will only be produced in a limited quantity and/or is highly customized;
they need to support end-of-life production in a cost-effective manner;
they want to avoid minimum order quantities or costs related to storing excess inventory;
they need access to diverse, cost competitive manufacturing capabilities and value the convenience of working with a single supplier to match parts to the best producer; or
they need low- to mid-volumes of parts on an irregular schedule and prefer to order on-demand.
In each of these instances, we believe our solution provides product developers, engineers, production buyers and other customers with an exceptional combination of speed, quality, competitive pricing, ease of use and reliability that they typically cannot find among conventional custom parts manufacturers or other competitors in our industry. Our technology enables us to ship parts not only with industry-leading speed as soon as the same day after receipt of a customer’s design submission, but also provides the flexibility to produce for our customers custom parts in the manufacturing processes and materials they want, with the flexible lead time they choose, at competitive prices..
Our primary manufacturing product lines currently include Injection Molding, CNC Machining, 3D Printing and Sheet Metal. We continually seek to expand the range of size and geometric complexity of the parts we can make or source with these processes, to extend the variety of materials we are able to support, and to identify additional manufacturing processes to which we can apply our technology or incorporate into our manufacturing network in order to better serve the evolving preferences and needs of our customers. With the addition of the Protolabs Network in 2021, our global network of premium manufacturing partners significantly expands the breadth and depth of our manufacturing capabilities, enabling us to offer customers a wider variety of lead times and pricing options, and an expanded envelope of parts (complexity, size, etc.).
Industry Overview
We pioneered the digital manufacturing industry when we were founded in 1999 and have been recognized as a catalyst for the next generation wave of Industry 4.0. Traditional manufacturing exists as a fragmented collage of niche producers operating in disparate capacities along the supply chain. We strive to be the partner of choice for our customers, to meet them in their times of need with a vast array of manufacturing solutions. We do this by providing our customers an eCommerce experience where they can upload their part design and receive a rapid (or instantaneous) quote coupled with design for manufacturability feedback, evaluate the costs and lead times for a variety of manufacturing processes, and easily order parts at quantities 1 to 1 million-plus. From the time they upload their design, we maintain a continuous digital thread of the part, which enables us to be nimble and adapt to the changing needs of our customer.
We believe there are three significant trends disrupting the manufacturing industry today:
SKU Proliferation – The increase in the number of products launched has been dramatic across many sectors.
Shorter Product Life Cycles – New products are launching faster and more frequently than ever before, partially driven by the "internet of things" and other connected device trends, resulting in shorter lives in the market.
Shift to E-commerce Sourcing – The first two trends, SKU proliferation and shorter product life cycles, put pressure on traditional supply chains causing many to adopt digital solutions and begin to invest in digital supply ecosystems.
The impacts of these trends include increased volatility, reduced development time, increased variety to manage, higher pressure on development costs, shorter payback period in the market and reduced capital investment per product. Our digital thread makes us ideally suited to solve these challenges for many manufacturing companies by offering world-class speed, low upfront investment, no minimum order quantities, broad manufacturing capabilities, and flexibility to adapt to demand volatility.
6

Our Process
Our digital thread, which is the virtual representation of the part created by our proprietary software and mirrors the physical manufacturing process, has enabled us to reinvent manufacturing. Within our factories, our digital thread ties together each aspect of the online ordering and manufacturing processes, including 3D CAD modeling and visualization tools, proprietary design for manufacturability analysis (DFM), computer aided manufacturing, the manufacturing equipment, and the shop floor data collection systems. Digital manufacturing, and the addition of the digital thread, results in automation that reduces manufacturing and labor costs and increases throughput, enabling us to differentiate ourselves as one of the world’s fastest and most effective solutions for prototype and low volume production use cases.
Our technology allows us to manufacture a broad range of parts and products, across multiple industries and processes and enables us to serve a diverse set of customers. We currently serve all manufacturing industry verticals, with our top industries being medical and healthcare, computer electronics, industrial machinery and equipment, aerospace and automotive.
Customer Order
The customer order process begins when the customer uploads one or more 3D CAD models representing the desired part geometry through our web-based customer interfaces. Our websites provide a straightforward means for our customers to submit 3D CAD part designs, including managing projects with multi-part orders, across multiple services and capabilities. Our proprietary software uses complex algorithms to analyze the 3D CAD geometry, analyze its DFM and support the creation of an interactive, web-based quotation containing pricing and manufacturability information. The artificial intelligence and machine learning provided by each analysis allows us to continually improve our DFM technology. When the analysis is complete, a link to the quotation is then e-mailed to the customer, who can access the quotation, change a variety of order parameters, and instantly see the effect on price before finalizing the order.
Digital Manufacturing Process
Our internal manufacturing operations produce parts in-house, while our outsourced manufacturing operations automatically route the parts for production by a global network of premium manufacturing partners. Our proprietary software and business process automates the non-recurring manufacturing engineering in many of our services, removing time and cost from the manufacture of the custom part. With the integrated digital thread, data is shared through the continuum of the manufacturing process, from product conception and design upload to manufacturing, inspection and delivery. This ensures consistency, quality, and a high degree of automation. As a result of this automation, we are able to ship parts to customers with industry leading speed at scale. For parts produced by the manufacturing network, our proprietary software automatically routes the parts to the right manufacturing partner within minutes using an AI-infused smart order routing system built on machine learning data of millions of parts produced.
Our Growth Strategy
We currently operate in a global custom contract manufacturing market which is a form of outsourcing where companies enter into an arrangement or formal agreement with another company or individual for the manufacture of complete parts, products, or components. Since our inception, we have focused on areas where we could automate the manufacturing process via our digital model and we positioned ourselves to avoid routine, low margin, high-volume commoditized manufacturing. Our initial focus was on prototypes and simple parts and have added complexity over time. We have added product lines and expanded those product lines to meet the needs of our customers, which has ultimately driven our growth.
Initially, we focused on speed, reliability and quality as key components of our differentiation, and customers used us for production where there was a good fit. We have evolved from serving primarily fast response prototypes to broader customer use cases including higher requirements, such as a tighter tolerance, broader ranges of lead times and price points, and quality and process documentation to support production needs. We have further expanded our offering through the Protolabs Network to be able to serve our customers more holistically, augmenting our in-house manufacturing capabilities with a network of premium manufacturing partners to serve our customer needs that currently reside outside of our internal manufacturing capabilities. Our goal is to be the fastest, most reliable, and most comprehensive provider of custom parts in our four services. Combining our unprecedented in-house manufacturing with the broad capabilities and wide variety of price and lead time options through our manufacturing network expands our ability to provide value to our customers and differentiates us from competitors.
7

Competition
The market for custom parts manufacturing is fragmented, highly competitive and subject to rapid and significant technological change. Our potential competitors include:
Other custom parts manufacturers. There are thousands of alternative manufacturing machine shops, injection molding suppliers, sheet metal fabricators, and 3D printing service bureaus and vendors worldwide. The size and scale of these businesses range from very small specialty shops to large, high-volume production manufacturers.
Brokers. There are an increasing number of digital brokers that offer a network of manufacturers, generally a subset of the other custom parts manufacturers described above, that can offer a diverse range of capabilities, capacity, competitive pricing and desired lead times to meet customer demand.
Captive in-house product manufacturing. Many larger companies undertaking product development have established additive rapid prototyping (3D printing), CNC machining, injection molding or sheet metal capabilities internally to support prototyping or manufacturing requirements of their product developers and engineers.
We believe that the key competitive factors in our industry include:
Quality: dimensional accuracy, surface finish, color and cleanliness;
Speed: turnaround time for quotations and parts;
Reliability: highly reliable delivery with predictable lead times;
Service: overall customer experience, from web interface to post-sales support;
Capability: range of part sizes and dimensional complexities supported, variety of manufacturing processes offered, materials supported and post-processing provided;
Scale: ability to support thousands of part designs in parallel;
Capacity: ability to manage peaks in demand with very short lead times and no minimum order quantities; and
Price: competitive mold and part pricing, including total cost of ownership.
We believe that our digital end-to-end manufacturing capabilities position us favorably and has enabled us to become a leader in our markets.
Corporate Responsibility and Sustainability
Our corporate responsibility and sustainability practices are built on a foundation of shared fundamental values of teamwork, trust and achievement, and help us to deliver strong financial results that create value for our Company and our shareholders in a way that respects our communities and the environments in which we operate.
Teamwork – We are dedicated to the idea that a diversity of minds is better than one. Through open communication, we strive to collaborate with and include all of our colleagues to maximize our creativity and to make our good ideas great. We respect each other’s opinions. We help colleagues who are struggling to improve, so our success is everyone’s success.
Trust – Our integrity is built on honest answers to our customers and colleagues. It is okay to make mistakes if we use them to learn. We navigate difficult situations with compassion. The success of our Company depends on the success of our people.
Achievement – Speed and innovation are the cornerstones of our success. We are committed to being a solution for getting things done quickly and sustainably and a catalyst for great ideas for our shareholders, customers, the environment and each other. We are responsible for our performance, our results and our future.
8

2023 Environmental, Social and Governance Strategy and Risk Assessment Process
Our board of directors, executives and leaders throughout the organization have identified our top environmental, social and governance (ESG) priorities. The figure below shows our ESG priorities in terms of both importance to shareholders and our Company’s success.
Image 05.jpg
Our environmental key priorities include:
Environmental compliance
Energy use reduction
Waste management/recycling
In 2023, we devoted resources to manage increasing costs of energy, particularly in the European region, and seek opportunities to reduce our consumption of energy resources. In addition, our teams continue to evaluate opportunities to increase recycling of scrap or other waste material in our manufacturing operations, and reduce our waste impact on landfills.
Our social key priorities include:
Ethics and integrity
Employee health and well being
Diversity, equity and inclusion
In 2023, our global human resources leadership advanced our social initiatives as we continue to integrate operations of the factory and network. This work includes acknowledging the vast and growing diversity we have in our global organization and engaging employees throughout the organization to define our values and culture, which we will deploy in 2024.
9

Our governance key priorities include:
Ethics, compliance and transparency
Regulatory management
Risk and crisis management
In 2023, we expanded our enterprise risk management (ERM) program by embedding ERM into our strategic goal-setting processes. This included in-depth risk-based conversations regarding strategic alternatives and defining actions to mitigate risk. The results of the enterprise risk management program will be used to drive governance key priorities and company strategy in 2024 and beyond. In addition, we established policies and identified leaders to comply with the new cybersecurity regulations effective in 2023.
Environmental
Digital Manufacturing Drives Sustainability
As a digital manufacturer, we are able to assist our customers as they focus on materials management, operational productivity and on-demand solutions. Digital manufacturing is a solution our customers can deploy to reduce product waste by iterating part designs virtually, on a digital twin model before any actual production begins. With on-demand production of parts, there is also reduced reliance on storage facilities since inventory is virtual – the parts you need, when you need them. Our on-demand manufacturing model also helps customers with end-of-life planning for products, reducing the need for ordering excess parts with shifting market demand.
When paired with a robust e-commerce platform, digital manufacturing can also increase efficiencies in material selection and usage, the procurement process, and accelerate innovation. Furthermore, reducing scrap rate requires monitoring systems that enable automated process cycle sheet generation, ensuring run-to-run repeatability and reducing operator error. This kind of monitoring system can improve consistency in part production and reduce scrap costs, especially in injection molding and parts nonconformance. We believe sustainability in product development, and in manufacturing, is the future and we will continue to support our customers in their own sustainability journeys.
Environmental Initiatives
We are committed to having a positive impact on the environment. In 2023, we again hosted InspirON in Europe, an online knowledge sharing event to focus on what design engineers need to consider when developing sustainable products for manufacturing. The event was designed to provide insight into designing more sustainable products and to explore how design can help make the manufacturing process greener and more efficient. The event covered topics ranging from: manufacturing innovation in the face of adversity, using rapid manufacturing to solve complex development challenges, and practical innovation for production methods.
In 2021, we were awarded a Manufacturing Leadership Award from the National Association of Manufacturers (NAM) in the Sustainability Leadership category. This category recognizes companies embracing manufacturing processes that are non-polluting, conserve energy and natural resources, and are economically sound and safe for employees, communities, and consumers. In 2020, we installed nearly 1,900 solar panels on the roof of our facility in Plymouth, MN, one of our larger manufacturing facilities. The solar array covers nearly 20 percent of our energy use in Plymouth, MN and offsets the equivalent of 1.3 million pounds of CO2 and preserves 775 acres of forest annually.
We strive to maximize recycling in both our manufacturing and office facilities. In our manufacturing facilities, we recycle metal, plastic and water used throughout the manufacturing processes. Finally, the Green Team, an employee-led organization, educates our employees on how they can positively impact the environment, both at work and at home. The Green Team also provides opportunities for employees to positively impact the environment, including activities like roadside cleanup and tree planting.
10

Social
Diversity, Equity and Inclusion
At Protolabs, diversity, equity and inclusion matters. We are committed to nurturing a culture where we celebrate diversity, equity and inclusivity as a way of life. Our diversity and inclusion efforts start at the top with our board regularly reviewing initiatives. Our Diversity, Equity and Inclusion (DEI) Leadership Council was established to promote honest conversations, influence best practices and educate our employees. Our DEI Leadership Council members are employee representatives chosen from various functions and locations to work directly with our leadership team to drive change in our work environment. We also require certain employees to participate in annual unconscious bias training to further foster a work environment of fairness and sensitivity. As we continue to grow, we will continue to emphasize employee safety and having an inclusive work environment as top priorities. Our goal is to build diverse teams throughout the global organization and be a role model for the communities where we work and live. Uniqueness defines us as a company, from our custom products to our employees. Our pledge is to promote a global culture that invites, recognizes and embraces each individuals' contributions to make a stronger “US”.
Workforce Demographics
As of December 31, 2023, we had 2,415 full-time employees, including 1,672 full-time employees in the United States and 743 full-time employees in Europe. We also regularly use independent contractors and other temporary employees across the organization to augment our regular staff. We believe that our future success will depend in part on our continued ability to attract, hire and retain qualified, diverse and inclusive personnel.
We are an equal opportunity employer, and we believe that a diverse workforce made up of people with different ideas, strengths, interests and cultural backgrounds drives employee and business success. Our workforce is composed of a diverse group of engineers, technicians and business professionals from around the world and every walk of life.
We believe our employees are critical to our success and continually seek employee feedback to enhance employee engagement. In 2023, our attrition rates were higher than historical averages and were impacted by actions we took during the year to reduce our workforce in areas of the business that experienced lower volumes. Our attrition rates for the years ended December 31, 2023 were 20.4% and 23.9% in the United States and Europe, respectively.
Compensation and Benefits
We believe our success depends in large measure on our ability to attract, retain and motivate a broad range of employees to be successful in a dynamic and changing business environment, and that a competitive compensation program is essential. In determining employee compensation, our executive leadership team reviews and considers several factors, including individual and corporate performance, input from managers, competitor market data from third party compensation surveys, our compensation philosophy and key principles, and the leadership’s collective experience and knowledge. Annually, our executive leadership team reviews input from managers throughout our organization, including recommendations as to compensation levels that the managers believe are commensurate with an individual’s job performance, skills, experience, qualifications, criticality to our company and development/career opportunities. We also award long-term equity-based compensation to high performing employees and managers who have the greatest impact on the creation of shareholder value to further align the interests of our employees and shareholders.
We provide employee benefits that meet or exceed the requirements of local law. We are committed to providing comprehensive benefits plans including, but not limited to, paid leave, retirement savings, health benefits, dental benefits, maternity leave, parental leave, family care leave, and childcare benefits. All overtime is performed and compensated in accordance with the law and the individual’s employment contract or other applicable contract or collective agreement.
11

Education
We firmly believe that investing in the education of our employees is critical to our success. Our employees are provided access to a robust learning management system that offers hundreds of courses on various topics ranging from compliance to leadership to job-specific skills. In 2023 and 2022, employees spent an average of 35 and 36 hours, respectively, per employee in training sessions. We provide an Educational Assistance Program for employees, which offers financial assistance for both professional and personal development to inspire employees to continuously enhance their skills and knowledge. We have a customized leadership development program designed for current and aspiring managers in search of developing their leadership skills. The program provides training on topics that are aligned with our Leadership Principles and our Core Values. In 2023, we completed the first year of our mentorship program to provide opportunity for mentors and mentees to accelerate their personal and professional development through a one-on-one guided relationship.
To ensure our industry remains robust, we are committed to supporting Science, Technology, Engineering and Mathematics (STEM) programs in the cities where we have facilities. Through the Protolabs Foundation, we provide STEM education grants to eligible organizations. In addition, we partner with schools, colleges, and universities to provide various outreach opportunities and sponsorships.
Health, Safety and Wellness
We are committed to providing a safe and healthy working environment that minimizes health and safety risks. Our processes support accident prevention and prioritizes the health and safety of all our employees and all others affected by their activities. We provide and require our employees to use personal protective equipment at all times. To ensure our employees understand the importance of safety, we provide regular, mandatory training.
We strive to continuously improve our employees’ health, safety, and wellness. Our “I Am” safety program teaches that safety is the responsibility of every individual in our organization. We believe this program is the basis for our excellent safety compliance record. We believe that our employees are our most valuable asset, and their safety and health is among our top priorities.
In addition to concentrating on employee safety in the workplace, we also focus on the overall wellbeing of our employees. We continue to invest in a variety of employee health and wellness programs, including gym membership discounts, on-site fitness classes at certain facilities, wellness newsletters and learning sessions, and by providing various Employee Assistance Programs.
Charitable Giving
We pride ourselves in being a responsible corporate citizen through our Protolabs Foundation. We support several charitable causes with our Employee Matching, Cool Ideas, and Major Gifts Programs. The Foundation’s efforts serve as a sustaining investment in the future of the communities where our employees live and work, and a commitment to build talent to support the future employment needs of the manufacturing industry. ProtoGivers, our employee led community involvement team, organizes a wide variety of charitable activities, including blood drives, working for Habitat for Humanity projects, volunteering for Feed My Starving Children, and making financial contributions to charitable causes, many of which are matched through the Protolabs Foundation Employee Giving Program. Our financial support and our community outreach programs are intended to improve the quality of life in the communities where we have facilities.
Human Rights
We recognize our responsibility to protect human rights and we are committed to fostering an organizational culture which promotes support for internationally recognized human rights and labor standards. We strive to respect and promote human rights in accordance with the UN Guiding Principles on Business and Human Rights in our relationship with our employees, customers, and suppliers. We have established a Human Rights Policy which is available on the Investor Relations section of our website.
12

Supply Chain
We are committed to conducting our business in accordance with the highest ethical standards and in compliance with all applicable laws, rules, and regulations. We expect our suppliers to share our principles and uphold our standards and for each to develop policies and programs as appropriate to ensure that all workers understand and adhere to these standards. We have established a Vendor Code of Conduct Policy, including guidance on anti-bribery, privacy, and data protection; responsible sourcing of materials; environmental standards; labor and human rights and anti-tax evasion. Our full policy is available on the Investor Relations section of our website.
Intellectual Property
We regard our patents, trademarks, service marks, trade dress, trade secrets, copyrights, domain names and other intellectual property as valuable to our business and rely on patent, trademark and copyright law, trade secret protection and confidentiality and/or license agreements with our employees, customers, vendors and others to protect our proprietary rights. We register our patents, trademarks and service marks in the United States and other jurisdictions as we deem appropriate. As of December 31, 2023, we owned and had applications pending for patents relating to various aspects of our quoting and manufacturing processes as follows:
JurisdictionIssued PatentsApplications Pending
United States4615
United Kingdom30
Netherlands10
Our patents have expiration dates ranging from 2025 to 2043. We also owned approximately 30 registered United States trademarks or service marks as of December 31, 2023, with corresponding registered protection in Europe and Japan for the most important of these marks such as PROTO LABS, HUBS, PROTOMOLD, FIRSTCUT, PROTOQUOTE, FIRSTQUOTE, PROTOFLOW and FINELINE, corresponding approved protection in Canada for PROTO LABS, FIRSTCUT and FINELINE, and corresponding registered protection in Australia, Canada and Mexico for PROTOMOLD. There can be no assurance that the steps we take to protect our proprietary rights will be adequate or that third parties will not infringe or misappropriate such rights. We have been subject to claims and expect to be subject to legal proceedings and claims from time to time in the ordinary course of our business. In particular, we may face claims from third parties that we have infringed their patents, trademarks or other intellectual property rights. Such claims, even if not meritorious, could result in the expenditure of significant financial and managerial resources. Any unauthorized disclosure or use of our intellectual property could make it more expensive to do business and harm our operating results.
Available Information
Our principal executive offices are located at 5540 Pioneer Creek Drive, Maple Plain, Minnesota 55359 and our telephone number is (763) 479-3680. Our website address is www.protolabs.com. Information on our website does not constitute part of this Annual Report on Form 10-K or any other report we file or furnish with the Securities and Exchange Commission (SEC). We provide free access to various reports that we file with or furnish to the SEC through our website as soon as reasonably practicable after they have been filed or furnished. These reports include, but are not limited to, our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and any amendments to these reports. Our SEC reports can be accessed through the investor relations section of our website.
The SEC maintains a website that contains reports, proxy and information statements, and other information regarding issuers that file information electronically with the SEC. The SEC’s website is www.sec.gov.
13

Executive Officers of the Registrant
Set forth below are the names of our current executive officers, their ages, titles, the year first appointed as an executive officer, and employment for the past five years:
Robert Bodor51President, Chief Executive Officer and Director
Daniel Schumacher49Chief Financial Officer
Oleg Ryaboy48Chief Technology Officer
Michael R. Kenison52Vice President/General Manager – Americas
Bjoern Klaas54Vice President/General Manager and Managing Director – Europe, Middle East and Africa
Executive officers of the Company are elected at the discretion of the board of directors with no fixed terms. There are no family relationships between or among any of the executive officers or directors of the Company. There are no arrangements or understandings between any of the executive officers and any other persons pursuant to which they were selected as an officer.
Robert Bodor. Dr. Bodor has served as our President and Chief Executive Officer since March 2021. Prior to his current position, Dr. Bodor served as Vice President/General Manager - Americas since 2015. From July 2013 to January 2015, Dr. Bodor served as our Chief Technology Officer. From December 2012 to June 2013, Dr. Bodor served as our Director of Business Development. Prior to joining Proto Labs, from January 2011 to December 2012, Dr. Bodor held several roles at Honeywell, most recently leading SaaS business offerings for Honeywell’s Life Safety Division.
Daniel Schumacher. Mr. Schumacher has served as our Chief Financial Officer and principal financial and accounting officer since June 2022. Prior to his current role, Mr. Schumacher served as our Interim Chief Financial Officer since December 2021. Mr. Schumacher also led investor communication, forecasting and planning, and business intelligence for the Company as Vice President of Investor Relations and FP&A from April 2017 to December 2021. From 2015 to 2017, Mr. Schumacher served as finance director in the Americas Finance & Operations organization of Stratasys, Inc, a 3D Printing OEM. From 2001 to 2015, Mr. Schumacher was in finance leadership roles of increasing responsibility for Rockwell Automation, an industrial automation company.
Oleg Ryaboy. Mr. Ryaboy has served as our Chief Technology Officer since September 2022. Prior to joining Proto Labs, Mr. Ryaboy held several roles at Digital River, a global e-commerce platform and software-as-a-service company providing online storefronts, from 2010 to 2022, most recently as Chief Technology Officer and Senior Vice President from 2015 to 2022. Prior to his role of Chief Technology Officer at Digital River, Mr. Ryaboy served as its Vice President of Software Development and Architecture from 2011 to 2015.
Michael Kenison. Mr. Kenison has served as our Vice President/General Manager - Americas since June 2021. Prior to his current position, Mr. Kenison led various teams at the Company, including as Vice President of Manufacturing, a role he held since 2013. Before his tenure at Protolabs, Mr. Kenison served in several leadership roles within the industry, including as Vice President of Manufacturing at Cardiac Science, Inc. - a medical device provider of defibrillator technology.
Bjoern Klaas. Mr. Klaas has led our Company’s business in Europe, Middle East and Africa as the Vice President and Managing Director since December 2017. Prior to joining Proto Labs, Mr. Klaas held key positions with global polymer supplier PolyOne from 2012 to 2017, most recently as its Vice President and General Manager for its ColorMatrix Group headquartered in the United States. From 2008 to 2012, Mr. Klaas worked at Colorant-Chromatics, a global leader for high temperature polymer formulations, as the General Manager for the global business.
14

Item 1A. Risk Factors
The following are the significant factors that could materially adversely affect our business, financial condition, or operating results, as well as adversely affect the value of an investment in our common stock. The risks described below are not the only risks facing our Company. Risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition and operating results.
Risks Relating to Our Business
We face significant competition and expect to face increasing competition in many aspects of our business, which could cause our operating results to suffer.
The market for custom parts manufacturing is fragmented and highly competitive. We compete for customers with a wide variety of custom parts manufacturers and methods. Some of our current and potential competitors include captive in-house product lines, other custom parts manufacturers, brokers of custom parts and alternative manufacturing vendors such as those utilizing 3D printing processes. Moreover, some of our existing and potential competitors are researching, designing, developing and marketing other types of products and product lines. We also expect that future competition may arise from the development of allied or related techniques for custom parts manufacturing that are not encompassed by our patents, from the issuance of patents to other companies that may inhibit our ability to develop certain products and from improvements to existing technologies. Furthermore, our competitors may attempt to adopt and improve upon key aspects of our business model, such as development of technology that automates much of the manual labor conventionally required to quote and manufacture custom parts, implementation of interactive web-based and automated user interface and quoting systems and/or building scalable operating models specifically designed for efficient custom production. Third-party CAD software companies may develop software that mold-makers, injection molders and CNC machine shops could use to compete with our business model. Additive manufacturers may develop stronger, higher temperature resins or introduce other improvements that could more effectively compete with us on part quality. We may also, from time to time, establish alliances or relationships with other competitors or potential competitors. To the extent companies terminate such relationships and establish alliances and relationships with our competitors, our business could be harmed.
Existing and potential competitors may have substantially greater financial, technical, marketing and sales, manufacturing, distribution and other resources and name recognition than us, as well as experience and expertise in intellectual property rights and operating within certain international locations, any of which may enable them to compete effectively against us.
Though we plan to continue to expend resources to develop new technologies, processes and product lines, we cannot assure you that we will be able to maintain our current position or continue to compete successfully against current and future sources of competition. Our challenge to develop new products manufactured internally is finding product lines for which our automated quotation and manufacturing processes offer an attractive value proposition, and we may not be able to find any new product lines with potential economies of scale similar to our existing product lines. We mitigate this risk through products offered by our manufacturing partner network via our acquisition of Hubs in 2021. If we do not keep pace with technological change and introduce new technologies, processes and product lines, the demand for our products and product lines may decline and our operating results may suffer.
We may not timely and effectively scale and adapt our existing technology, processes and infrastructure to meet the needs of our business.
A key element to our continued growth is the ability to quickly and efficiently quote an increasing number of product developer and engineer submissions across geographic regions and to manufacture the related parts. This will require us to timely and effectively scale and adapt our existing technology, processes and infrastructure to meet the needs of our business. With respect to our websites and quoting technology, it may become increasingly difficult to maintain and improve their performance, especially during periods of heavy usage and as our solutions become more complex and our user traffic increases across geographic regions. Similarly, our manufacturing automation technology may not enable us to process the large numbers of unique designs and efficiently manufacture the related parts in a timely fashion to meet the needs of product developers and engineers as our business continues to grow. Any failure in our ability to timely and effectively scale and adapt our existing technology, processes and infrastructure could negatively impact our ability to retain existing customers and attract new customers, damage our reputation and brand, result in lost revenue, and otherwise substantially harm our business and results of operations.
15

Numerous factors may cause us not to maintain the revenue growth that we have historically experienced.
We believe that our continued revenue growth will depend on many factors, a number of which are out of our control, including among others, our ability to:
retain and further penetrate existing customer companies, as well as attract new customer companies;
consistently execute on custom part orders in a manner that satisfies product developers’ and engineers’ needs and provides them with a superior experience;
develop new technologies or manufacturing processes and broaden the range of parts we offer;
successfully execute on our international strategy and expand into new geographic markets;
capitalize on customer expectations for access to comprehensive, user-friendly e-commerce capabilities 24 hours per day, 7 days per week;
increase the strength and awareness of our brand across geographic regions;
respond to changes in customer needs, technology and our industry;
successfully integrate operations and offerings of acquisitions;
react to challenges from existing and new competitors;
continue to attract and retain R&D professionals who will continue to expand our technologies; and
respond to an economic recession which negatively impacts manufacturers' ability to innovate and bring new products to market.
We cannot assure you that we will be successful in addressing the factors above and continuing to grow our business and revenue.
Interruptions to, or other problems with, our website and interactive user interface, information technology systems, manufacturing processes or other operations could damage our reputation and brand and substantially harm our business and results of operations.
The satisfactory performance, reliability, consistency, security and availability of our websites and interactive user interface, information technology systems, manufacturing processes and other operations are critical to our reputation and brand, and to our ability to effectively service product developers and engineers. Any interruptions or other problems that cause any of our websites, interactive user interface or information technology systems to malfunction or be unavailable, or negatively impact our manufacturing processes or other operations, may damage our reputation and brand, result in lost revenue, cause us to incur significant costs seeking to remedy the problem and otherwise substantially harm our business and results of operations.
We are dependent upon our facilities through which we satisfy all of our production demands, as well as managerial, customer service, sales, marketing and other similar functions, and we have not identified alternatives to these facilities or established fully redundant systems in multiple locations. However, we have redundant computing systems for each of our United States and European operations. In addition, we are dependent in part on third parties for the implementation and maintenance of certain aspects of our communications and production systems, and therefore preventing, identifying and rectifying problems with these aspects of our systems is to a large extent outside of our control.
Moreover, the business interruption insurance that we carry may not be sufficient to compensate us for the potentially significant losses, including the potential harm to the future growth of our business that may result from interruptions in our product lines as a result of system failures.
16

We store confidential customer information in our systems that, if breached or otherwise subjected to unauthorized access, may harm our reputation or brand or expose us to liability.
Our system stores, processes and transmits our customers’ confidential information, including the intellectual property in their part designs and other sensitive data. We rely on encryption, authentication and other technologies licensed from third parties, as well as administrative and physical safeguards, to secure such confidential information. Any compromise of our information security could damage our reputation and brand and expose us to a risk of loss, costly litigation and liability that would substantially harm our business and operating results. The rapid evolution and increased adoption of artificial intelligence technologies may intensify our cybersecurity risks. We may not have adequately assessed the internal and external risks posed to the security of our company’s systems and information and may not have implemented adequate preventive safeguards or take adequate reactionary measures in the event of a security incident. In addition, most states have enacted laws requiring companies to notify individuals and often state authorities of data security breaches involving their personal data. These mandatory disclosures regarding a security breach often lead to widespread negative publicity, which may cause our existing and prospective customers to lose confidence in the effectiveness of our data security measures. Any security breach, whether successful or not, would harm our reputation and brand and could cause the loss of customers.
Aspects of our business are subject to privacy, data use and data security regulations, which may impact the way we use data to target customers.
Privacy and security laws and regulations may limit the use and disclosure of certain information and require us to adopt certain cybersecurity and data handling practices that may affect our ability to effectively market our services to current, past or prospective customers. In many jurisdictions consumers must be notified in the event of a data security breach, and such notification requirements continue to increase in scope and cost. The changing privacy laws in the United States, Europe and elsewhere—including the General Data Protection Regulation (GDPR) in the European Union, which became effective May 25, 2018, and the California Consumer Privacy Act of 2018, which was enacted on June 28, 2018, and became effective on January 1, 2020—create new individual privacy rights and impose increased obligations, including disclosure obligations, on companies handling personal data. The impact of these continuously evolving laws and regulations could have a material adverse effect on the way we use data to digitally market and pursue our customers.
Global economic conditions may harm our ability to do business, increase our costs and negatively affect our stock price.
The prospects for economic growth in regions where we operate remain uncertain and could worsen. Economic concerns and other issues such as reduced access to capital for businesses may cause product developers and engineers to further delay or reduce the product development projects that our business supports. Given the continued uncertainty concerning the global economy, we face risks that may arise from financial difficulties experienced by our suppliers, product developers, and engineers and other related risks to our business.
We operate a global business that exposes us to additional risks.
We have established our operations in the United States and Europe and are seeking to further expand our international operations. Our international revenue accounted for approximately 21% of our total revenue in each of the years ended December 31, 2023, 2022 and 2021. The future growth and profitability of our international business is subject to a variety of risks and uncertainties. Many of the following factors have adversely affected our international operations and sales to customers located outside of the United States and may again in the future:
difficulties in staffing and managing foreign operations, particularly in new geographic locations;
challenges in providing solutions across a significant distance, in different languages and among different cultures;
rapid changes in government, economic and political policies and conditions, political or civil unrest or instability, terrorism or epidemics, and other similar outbreaks or events;
fluctuations in foreign currency exchange rates;
17

compliance with and changes in foreign laws and regulations, as well as U.S. laws affecting the activities of U.S. companies abroad, including those associated with export controls, tariffs and embargoes, other trade restrictions and antitrust and data privacy concerns;
different, complex and changing laws governing intellectual property rights, sometimes affording companies lesser protection in certain areas;
seasonal reductions in business activity in certain parts of the world, particularly during the summer months in Europe and holiday season;
higher costs of doing business internationally;
interruptions resulting from any events affecting raw material supply or manufacturing capabilities abroad;
protectionist laws and business practices that favor local producers and service providers;
taxation;
energy costs;
restrictions imposed by local labor practices and laws on our business and operations;
workforce uncertainty in countries where labor unrest is more common than in the United States;
transportation delays; and
increased payment risk and higher levels of payment fraud.
Our business depends on customer demand for our product lines, the general economic health of current and prospective customers, and companies’ desire or ability to make investments in new products. A deterioration of global, regional or local political, economic or social conditions could affect potential customers in ways that reduce demand for our product lines, disrupt our manufacturing and sales plans and efforts or otherwise negatively impact our business. Acts of terrorism, wars, public health issues and increased energy costs could disrupt commerce in ways that could impair our ability to get products to our customers and increase our manufacturing and delivery costs. We have not undertaken hedging transactions to cover our foreign currency exposure, and changes in foreign currency exchange rates may negatively impact reported revenue and expenses. In addition, our sales are often made on unsecured credit terms, and a deterioration of political, economic or social conditions in a given country or region could reduce or eliminate our ability to collect accounts receivable in that country or region. In any of these events, our results of operations could be materially and adversely affected.
Climate change, or legal, regulatory or market measures to address climate change, may materially adversely affect our financial condition and business operations.
Climate change resulting from increased concentrations of carbon dioxide and other greenhouse gases in the atmosphere could present risks to our future operations from natural disasters and extreme weather conditions, such as hurricanes, tornadoes, earthquakes, wildfires or flooding. Such extreme weather conditions could pose physical risks to our facilities and disrupt operation of our supply chain and may increase operational costs. Concern over climate change could result in new legal or regulatory requirements designed to mitigate the effects of climate change on the environment. If such laws or regulations are more stringent than current legal or regulatory requirements, we may experience increased compliance burdens and costs to meet the regulatory obligations and raw material sourcing, manufacturing operations and the distribution of our products may be affected.
If a natural or man-made disaster strikes any of our manufacturing facilities, we will be unable to manufacture our products for a substantial amount of time and our sales will decline.
All of our in-house manufacturing products are produced in 10 manufacturing facilities, located in Rosemount, Minnesota; Plymouth, Minnesota; Brooklyn Park, Minnesota; Cary, North Carolina (2 facilities); Nashua, New Hampshire (2 facilities); Telford, United Kingdom; Putzbrunn, Germany; and Eschenlohe, Germany. These facilities and the
18

manufacturing equipment we use would be costly to replace and could require substantial lead time to repair or replace. Our facilities may be harmed by natural or man-made disasters, including, without limitation, earthquakes, floods, tornadoes, fires, hurricanes, tsunamis and nuclear disasters.
In the event any of our facilities are affected by a disaster, we may:
be unable to meet the shipping deadlines of our customers;
experience disruptions in our ability to process submissions and generate quotations, manufacture and ship parts, provide marketing and sales support and customer service, and otherwise operate our business, any of which could negatively impact our business;
be forced to rely on third-party manufacturers;
need to expend significant capital and other resources to address any damage caused by the disaster; and
lose customers and be unable to regain those customers.
We mitigate such risks through the addition of access to a network of manufacturing partners via our acquisition of Hubs in 2021. Although we possess insurance for damage to our property and the disruption of our business from casualties, this insurance may not be sufficient to cover all of our potential losses and may not continue to be available to us on acceptable terms, or at all.
Any acquisition, strategic relationship, joint venture or investment could disrupt our business and harm our operating results and financial condition.
Our business and our customer base have been built primarily through organic growth. However, from time to time, we may selectively pursue acquisitions, strategic relationships, joint ventures or investments that we believe may allow us to complement our growth strategy, increase market share in our current markets or expand into other markets, or broaden our technology, intellectual property or product line capabilities. For example, in April 2014, we acquired FineLine to enable us to offer our customers 3D printing manufacturing processes; in October 2015, we acquired Alphaform to enable us to expand our 3D printing capabilities in Europe; in November 2017, we acquired RAPID to enable us to offer our customers Sheet Metal and expand our CNC Machining processes; and in 2021 we acquired Hubs to provide our customers with on-demand access to a global network of premium manufacturing partners. We cannot forecast the number, timing or size of any future acquisitions or other similar strategic transactions, or the effect that any such transactions might have on our operating or financial results. Such transactions may be complex, time consuming and expensive, and may present numerous challenges and risks including:
an acquired company, asset or technology not furthering our business strategy as anticipated;
difficulties entering and competing in new product or geographic markets and increased competition, including price competition;
integration challenges;
challenges in working with strategic partners and resolving any related disagreements or disputes;
high valuation for a company, asset or technology, or changes in the economic or market conditions or assumptions underlying our decision to acquire;
significant problems or liabilities associated with acquired businesses, assets or technologies, including increased intellectual property and employment related litigation exposure;
an acquisition that results in a significant amount of goodwill being recognized, which could result in future impairment charges that would reduce our earnings; and
requirements to record substantial charges and amortization expenses related to certain purchased intangible assets, deferred stock compensation and other items, as well as other charges or expenses.
19

Any one of these challenges or risks could impair our ability to realize any benefit from our acquisitions, strategic relationships, joint ventures or investments after we have expended resources on them, as well as divert our management’s attention. Any failure to successfully address these challenges or risks could disrupt our business and harm our operating results and financial condition. Moreover, any such transaction may not be viewed favorably by investors or stakeholders.
In addition, from time to time we may enter into negotiations for acquisitions, relationships, joint ventures or investments that are not ultimately consummated. These negotiations could result in significant diversion of management time, as well as substantial out-of-pocket costs.
Our success depends on our ability to deliver products and product lines that meet the needs of customers and to effectively respond to changes in our industry.
Our business has been, and, we believe, will continue to be, affected by changes in customer requirements and preferences, rapid technological change, new product and product line introductions and the emergence of new standards and practices, any of which could render our technology, products and product lines less attractive, uneconomical or obsolete. To the extent that our customers’ need for quick-turn parts decreases significantly for any reason, it would likely have a material adverse effect on our business and operating results and harm our competitive position. In addition, CAD simulation and other technologies may reduce the demand for physical prototype parts. Therefore, we believe that to remain competitive, we must continually enhance and improve our technology, product offerings and product lines.
In particular, we plan to increase our research and development efforts and to continue to focus a significant portion of those efforts to further develop our technology in areas such as our interactive user interface and manufacturing processes and broaden the range of parts that we are able to manufacture. We believe successful execution of this part of our business plan is critical for our ability to compete in our industry and grow our business, and there are no guarantees we will be able to do so in a timely fashion, or at all. Failures in this area could adversely impact our operating results and harm our reputation and brand. Even if we are successful in executing in these areas, our industry is subject to rapid and significant technological change, and our competitors may develop new technologies, processes and product lines that are superior to ours. Our research and development costs were approximately $40.1 million, $38.2 million and $44.2 million for the years ended December 31, 2023, 2022 and 2021, respectively, and there is no guarantee that these costs will enable us to maintain or grow our revenue profitability. Refer to Item 7. “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in this Annual Report on Form 10-K for additional discussion related to research and development costs.
Our failure to meet our customers' expectations regarding quick turnaround time would adversely affect our business and results of operations.
We believe many customers are facing increased pressure from global competitors to be first to market with their finished products, often resulting in a need for quick turnaround of custom parts. We believe our ability to quickly quote, manufacture and ship custom parts has been an important factor in our results to date. If we fail to meet our customers’ expectations regarding turnaround time in any given period, our business and results of operations will likely suffer.
Our failure to meet our customers’ price expectations would adversely affect our business and results of operations.
Demand for our product lines is sensitive to price. We believe our competitive pricing has been an important factor in our results to date. Therefore, changes in our pricing strategies can have a significant impact on our business and ability to generate revenue. Many factors, including our production and personnel costs and our competitors’ pricing and marketing strategies, can significantly impact our pricing strategies. If we fail to meet our customers’ price expectations in any given period, demand for our products and product lines could be negatively impacted and our business and results of operations could suffer.
Our failure to meet our customers' quality specifications would adversely affect our business and results of operations.
We believe many customers have a need for specific quality of their parts. We believe our ability to create parts within customer specifications is an important factor in our results to date. If we fail to meet our customers’ specifications in any given period, demand for our products and product lines could be negatively impacted and our business and results of operations could suffer.
20

The strength of our brand is important to our business, and any failure to maintain and enhance our brand would hurt our ability to retain and expand our customer base as well as further penetrate existing customers.
Since our products and product lines are sold primarily through our websites, the success of our business depends upon our ability to attract new and repeat customers to our websites in order to increase business and grow our revenue. Customer awareness and the perceived value of our brand will depend largely on the success of our marketing efforts, as well as our ability to consistently provide quality custom parts within the required timeframes and positive customer experiences, which we may not do successfully. A primary component of our business strategy is the continued promotion and strengthening of our brand, and we have incurred and plan to continue to incur substantial expense related to advertising and other marketing efforts directed toward enhancing our brand. We have initiated marketing efforts through social media, but this method of marketing may not be successful and subjects us to a greater risk of inconsistent messaging and bad publicity. We may choose to increase our branding expense materially, but we cannot be sure that this investment will be profitable. If we are unable to successfully maintain and enhance our brand, this could have a negative impact on our business and ability to generate revenue.
Our business depends in part on our ability to process a large volume of new part designs from a diverse group of customers and successfully identify significant opportunities for our business based on those submissions.
We believe the volume of new part designs we process and the size and diversity of our customer base give us valuable insight into the needs of our prospective customers. We utilize this industry knowledge to determine where we should focus our development resources. If the number of new part designs we process or the size and diversity of our customer base decrease, our ability to successfully identify significant opportunities for our business and meet the needs of product developers and engineers could be negatively impacted. In addition, even if we do continue to process a large number of new part designs and work with a significant and diverse customer base, there are no guarantees that any industry knowledge we extract from those interactions will be successfully utilized to help us identify significant business opportunities or better understand the needs of product developers and engineers.
The loss of one or more key members of our management team or personnel, or our failure to attract, integrate and retain additional personnel in the future, could harm our business and negatively affect our ability to successfully grow our business.
We are highly dependent upon the continued service and performance of the key members of our management team and other personnel. The loss of any of these individuals, each of whom is “at will” and may terminate his or her employment relationship with us at any time, could disrupt our operations and significantly delay or prevent the achievement of our business objectives. We believe that our future success will also depend in part on our continued ability to identify, hire, train and motivate qualified personnel. A possible shortage of qualified individuals in the regions where we operate might require us to pay increased compensation to attract and retain key employees, thereby increasing our costs. In addition, we face intense competition for qualified individuals from numerous companies, many of whom have substantially greater financial and other resources and name recognition than us. We may be unable to attract and retain suitably qualified individuals who are capable of meeting our growing operational, managerial and other requirements, or we may be required to pay increased compensation in order to do so. Our failure to attract, hire, integrate and retain qualified personnel could impair our ability to achieve our business objectives.
If our present single or limited source suppliers become unavailable or inadequate, our customer relationships, results of operations and financial condition may be adversely affected.
We acquire substantially all of the manufacturing equipment and certain of our materials that are critical to the ongoing operation and future growth of our business from several third parties. We do not have long-term supply contracts with any of our suppliers and operate on a purchase-order basis. While most manufacturing equipment and materials for our products are available from multiple suppliers, certain of those items are only available from single or limited sources. Should any of our present single or limited source suppliers for manufacturing equipment or materials become unavailable or inadequate, or impose terms unacceptable to us such as increased pricing terms, we could be required to spend a significant amount of time and expense to develop alternate sources of supply, and we may not be successful in doing so on terms acceptable to us, or at all. Natural disasters, such as hurricanes, may affect our supply of materials, particularly resins, from time to time, and we may purchase larger amounts of certain materials in anticipation of future shortages or increases in pricing. Global supply chain disruptions may make scarce materials or supplies critical to our product offers and adversely impact our ability to manufacture and deliver products to our customers on time. In addition, if we were unable to find a suitable supplier for a particular type of manufacturing equipment or material, we could be required to
21

modify our existing business processes and offerings to accommodate the situation. As a result, the loss of a single or limited source supplier could adversely affect our relationship with our customers and our results of operations and financial condition.
We may not be able to adequately protect or enforce our intellectual property rights, which could impair our competitive position.
Our success and future revenue growth will depend, in part, on our ability to protect our intellectual property. We rely primarily on patents, licenses, trademarks and trade secrets, as well as non-disclosure agreements and other methods, to protect our proprietary technologies and processes globally. Despite our efforts to protect our proprietary technologies and processes, it is possible that competitors or other unauthorized third parties may obtain, copy, use or disclose our technologies and processes. We cannot assure you that any of our existing or future patents will not be challenged, invalidated or circumvented. As such, any rights granted under these patents may not provide us with meaningful protection. We may not be able to obtain foreign patents corresponding to our United States patents. Even if foreign patents are granted, effective enforcement in foreign countries may not be available. If our patents and other intellectual property do not adequately protect our technology, our competitors may be able to offer product lines similar to ours. Our competitors may also be able to develop similar technology independently or design around our patents. Any of the foregoing events would lead to increased competition and lower revenue or gross margin, which would adversely affect our net income.
We may be subject to infringement claims.
We may be subject to intellectual property infringement claims from individuals, vendors and other companies who have acquired or developed patents in the fields of injection molding, CNC machining, 3D printing, sheet metal fabrication or part production for purposes of developing competing products or for the sole purpose of asserting claims against us. Any claims that our products or processes infringe the intellectual property rights of others, regardless of the merit or resolution of such claims, could cause us to incur significant costs in responding to, defending and resolving such claims, and may prohibit or otherwise impair our ability to commercialize new or existing products. If we are unable to effectively defend our processes, our market share, sales and profitability could be adversely impacted.
Our failure to expand our intellectual property portfolio could adversely affect the growth of our business and results of operations.
Expansion of our intellectual property portfolio is one of the available methods of growing our revenue and our profits. This involves a complex and costly set of activities with uncertain outcomes. Our ability to obtain patents and other intellectual property can be adversely affected by insufficient inventiveness of our employees, by changes in intellectual property laws, treaties, and regulations, and by judicial and administrative interpretations of those laws, treaties and regulations. Our ability to expand our intellectual property portfolio could also be adversely affected by the lack of valuable intellectual property for sale or license at affordable prices. There is no assurance that we will be able to obtain valuable intellectual property in the jurisdictions where we and our competitors operate or that we will be able to use or license that intellectual property.
We may be subject to product liability claims, which could result in material expense, diversion of management time and attention and damage to our business, reputation, and brand.
The parts we manufacture may contain undetected defects or errors that are not discovered until after the products have been installed and used by customers. This could result in claims from customers or others, damage to our business and reputation and brand, or significant costs to correct the defect or error.
We attempt to include provisions in our agreements with customers that are designed to limit our exposure to potential liability for damages arising from defects or errors in our products. However, it is possible that these limitations may not be effective as a result of unfavorable judicial decisions or laws enacted in the future.
The sale and support of our products entails the risk of product liability claims. Any product liability claim brought against us, regardless of its merit, could result in material expense, diversion of management time and attention, damage to our business, reputation, and brand, and cause us to fail to retain existing customers or to fail to attract new customers.
22

Government regulation of the Internet and e-commerce is evolving, and unfavorable changes or failure by us to comply with these regulations could substantially harm our business and results of operations.
We are subject to general business regulations and laws as well as regulations and laws specifically governing the Internet and e-commerce. Existing and future laws and regulations may impede the growth of the Internet or other online services. These regulations and laws may cover taxation, restrictions on imports and exports, customs, tariffs, user privacy, data protection, pricing, content, copyrights, distribution, electronic contracts and other communications, consumer protection, the provision of online payment services, broadband residential Internet access and the characteristics and quality of products and product lines. It is not clear how existing laws governing issues such as property use and ownership, sales and other taxes, fraud, libel and personal privacy apply to the Internet and e-commerce, especially where these laws were adopted prior to the advent of the Internet and do not contemplate or address the unique issues raised by the Internet or e-commerce. Those laws that do reference the Internet are being interpreted by the courts and their applicability and reach are therefore uncertain. The costs of compliance with these regulations may increase in the future as a result of changes in the regulations or the interpretation of them. Further, any failures on our part to comply with these regulations may subject us to significant liabilities. Those current and future laws and regulations or unfavorable resolution of these issues may substantially harm our business and results of operations.
Changes in, or interpretation of, tax rules and regulations may impact our effective tax rate and future profitability.
We are a multinational company based in the United States and subject to tax in multiple tax jurisdictions, both domestic and abroad. Our future effective tax rates could be adversely affected by changes in statutory tax rates or interpretation of tax rules, and regulations in jurisdictions in which we do business, changes in the amount of revenue or earnings in the countries with varying statutory tax rates, or by changes in the valuation of deferred tax assets and liabilities.
In addition, we are subject to audits and examinations of previously filed income tax returns by the Internal Revenue Service, or IRS, and other domestic and foreign tax authorities. We regularly assess the potential impact of such examinations to determine the adequacy of our provision for income taxes and have reserved for potential adjustments that may result from the current examinations. We believe such estimates to be reasonable; however, there is no assurance that the final determination of any examination will not have an adverse effect on our operating results and financial position.
We may require additional capital to support business growth, and this capital might not be available on acceptable terms, if at all.
We intend to continue to make investments to support our business growth and may require additional funds to respond to business challenges, including the need to complement our growth strategy, increase market share in our current markets or expand into other markets, or broaden our technology, intellectual property or product line capabilities. Accordingly, we may need to engage in equity or debt financings to secure additional funds. If we raise additional funds through future issuances of equity or convertible debt securities, our existing shareholders could suffer significant dilution, and any new equity securities we issue could have rights, preferences and privileges superior to those of holders of our common stock. Any debt financing we secure in the future could involve restrictive covenants relating to our capital raising activities and other financial and operational matters, which may make it more difficult for us to obtain additional capital and to pursue business opportunities, including potential acquisitions. We may not be able to obtain additional financing on terms favorable to us, if at all. If we are unable to obtain adequate financing or financing on terms satisfactory to us when we require it, our ability to continue to support our business growth and to respond to business challenges could be significantly impaired, and our business may be harmed.
Our operating results and financial condition may fluctuate on a quarterly and annual basis.
Our operating results and financial condition may fluctuate from quarter to quarter and year to year, and are likely to continue to vary due to a number of factors, some of which are outside of our control. In addition, our actual or projected operating results may fail to match our past performance. These events could in turn cause the market price of our common stock to fluctuate. If our operating results do not meet the expectations of securities analysts or investors, who may derive their expectations by extrapolating data from recent historical operating results, the market price of our common stock will likely decline.
23

Due to this and the other risks discussed in this “Risk Factors” section, you should not rely on quarter-to-quarter or year-to-year comparisons of our operating results as an indicator of future performance.
Our business involves the use of hazardous materials, and we and our suppliers must comply with environmental laws and regulations, which can be expensive and restrict how we do business.
Our business involves the controlled storage, use and disposal of hazardous materials. We and our suppliers are subject to federal, state and local as well as foreign laws and regulations governing the use, manufacture, storage, handling and disposal of these hazardous materials. Although we believe that the safety procedures utilized by us and our suppliers for handling and disposing of these materials comply with the standards prescribed by these laws and regulations, we cannot eliminate the risk of accidental contamination or injury from these materials. In the event of an accident, state, federal or foreign authorities may curtail the use of these materials and interrupt our business operations. We do not currently maintain hazardous materials insurance coverage. If we are subject to any liability as a result of activities involving hazardous materials, our business and financial condition may be adversely affected and our reputation and brand may be harmed.
If we are unable to meet quality standards applicable to our manufacturing and quality processes for the parts we manufacture, our business, financial condition or operating results could be harmed.
As a manufacturer of CNC-machined, injection-molded, 3D printed and sheet metal fabricated custom parts, we conform to certain international standards, including International Organization for Standardization, or ISO, for our facilities. The ISO standards to which we comply include the following:
Location9001:2015AS9100D13485:201614001:2015
Headquarters, Minnesota, USAYesYesNoNo
Injection Molding, Minnesota, USAYesNoNoNo
CNC Machining, Minnesota, USAYesYesNoNo
3D Printing, North Carolina, USAYesYesNoNo
Sheet Metal, New Hampshire, USAYesNoNoNo
CNC Machining, New Hampshire, USAYesYesNoNo
Putzbrunn, DEYesNoYesYes
Eschenlohe, DEYesNoNoNo
Telford, UKYesNoNoYes
Hubs, Chicago, USA and Amsterdam, NLYesNoNoNo
If any system inspection reveals that we are not in compliance with applicable standards, registrars may take action against us, including issuing a corrective action request or discontinuing our certifications. If any of these actions were to occur, it could harm our reputation as well as our business, financial condition and operating results.
We are subject to payment-related risks.
We accept payments using a variety of methods, including credit card, customer invoicing, physical bank check and payment upon delivery. As we offer new payment options to our customers, we may be subject to additional regulations, compliance requirements and fraud risk. For certain payment methods, including credit and debit cards, we pay interchange and other fees, which may increase over time and raise our operating costs and lower profitability. We rely on third parties to provide payment processing services, including the processing of credit cards, debit cards or electronic checks, and it could disrupt our business if these companies become unwilling or unable to provide these services to us. We are also subject to payment card association operating rules, certification requirements and rules governing electronic funds transfers, which could change or be reinterpreted to make it difficult or impossible for us to comply. If we fail to comply with these rules or requirements, we may be subject to fines and higher transaction fees and lose our ability to accept credit and debit card payments from our customers, process electronic funds transfers, or facilitate other types of online payments, and our business and operating results could be adversely affected.
24

Risks Relating to Ownership of Our Common Stock
Our stock price has been and may continue to be volatile.
In the year ended December 31, 2023, our common stock traded as high as $40.47 and as low as $23.01. The market for our common stock may become less active, liquid or orderly, which could depress the trading price of our common stock. Some of the factors, many of which are outside of our control, that may cause the market price of our common stock to fluctuate include:
the public’s response to press releases or other public announcements by us or third parties, including our filings with the Securities and Exchange Commission and announcements relating to litigation;
the projections we may provide to the public, any changes in these projections or our failure to meet these projections;
changes in the market valuations of similar companies;
changes in accounting principles;
the sustainability of an active trading market for our common stock;
future sales of our common stock by us or our shareholders, including sales by our officers, directors and significant shareholders; and
share price and volume fluctuations attributable to inconsistent trading levels of our shares.
Due to the factors above and the other risks discussed in this “Risk Factors” section, our stock is subject to volatility. In addition, the stock markets have experienced extreme price and volume fluctuations that have affected and continue to affect the market prices of equity securities of many companies. In the past, shareholders have instituted securities class action litigation following periods of market volatility. If we were to become involved in securities litigation, we could incur substantial costs and our resources and the attention of management could be diverted from our business.
If securities or industry analysts publish inaccurate or unfavorable research or reports about our business, our stock price and trading volume could decline.
The trading market for our common stock depends, in part, on the research and reports that securities or industry analysts publish about us or our business. We do not have any control over these analysts. If one or more of the analysts who covers us downgrades our common stock, changes their opinion of our shares or publishes inaccurate or unfavorable research about our business, our stock price would likely decline. If one or more of these analysts ceases coverage of us or fails to publish reports on us regularly, demand for our common stock could decrease and we could lose visibility in the financial markets, which could cause our stock price and trading volume to decline.
Our failure to maintain proper and effective internal controls over financial reporting and otherwise comply with Section 404 of the Sarbanes-Oxley Act or prevent or detect misstatements in our financial statements in the future could harm our business and cause a decrease in our stock price.
Ensuring that we have internal financial and accounting controls and procedures adequate to produce accurate financial statements on a timely basis is a costly and time-consuming effort that needs to be re-evaluated frequently. The Sarbanes-Oxley Act requires, among other things, that we maintain effective internal control over financial reporting and disclosure controls and procedures. In particular, we are required to perform annual system and process evaluation and testing of our internal control over financial reporting to allow management and our independent registered public accounting firm to report on the effectiveness of our internal control over financial reporting, as required by Section 404 of the Sarbanes-Oxley Act. If we are not able to comply with the requirements of Section 404 in the future, or if we fail to prevent or detect misstatements in the financial statements we include in our reports filed with the SEC, our business could be harmed and the market price of our common stock could decline.
25

Anti-takeover provisions in our charter documents and Minnesota law might discourage or delay acquisition attempts for us that you might consider favorable.
Our Third Amended and Restated Articles of Incorporation, as amended, and Third Amended and Restated By-Laws contain provisions that may make the acquisition of our company more difficult without the approval of our board of directors. These provisions:
permit our board of directors to issue up to 10,000,000 shares of preferred stock, with any rights, preferences and privileges as our board may designate, including the right to approve an acquisition or other change in our control;
provide that the authorized number of directors may be changed by resolution of the board of directors;
provide that all vacancies, including newly created directorships, may, except as otherwise required by law, be filled by the affirmative vote of a majority of directors then in office, even if less than a quorum;
provide that shareholders seeking to present proposals before a meeting of shareholders or to nominate candidates for election as directors at a meeting of shareholders must provide notice in writing in a timely manner, comply with Rule 14a-9 under the Securities Exchange Act of 1934, as amended, and also specify requirements as to the form and content of a shareholder’s notice; and
do not provide for cumulative voting rights.
We are subject to the provisions of Section 302A.673 of the Minnesota Statutes, which regulates business combinations. Section 302A.673 generally prohibits any business combination by an issuing public corporation, or any of its subsidiaries, with an interested shareholder, which means any shareholder that purchases 10% or more of the corporation’s voting shares within four years following the date the person became an interested shareholder, unless the business combination is approved by a committee composed solely of one or more disinterested members of the corporation’s board of directors before the date the person became an interested shareholder.
These anti-takeover provisions could discourage, delay or prevent a transaction involving a change in control of our company, even if doing so would benefit our shareholders. These provisions could also discourage proxy contests and make it more difficult for you and other shareholders to elect directors of your choosing and to cause us to take other corporate actions you desire.
We do not expect to pay any cash dividends for the foreseeable future.
We have never declared or paid any cash dividends on our common stock, and we do not anticipate that we will pay any such cash dividends for the foreseeable future. We anticipate that we will retain all of our future earnings for use in the business and for general corporate purposes. Any determination to pay dividends in the future will be at the discretion of our board of directors and will depend upon results of operations, financial condition, contractual restrictions, restrictions imposed by applicable law and other factors our board of directors deems relevant.
Item 1B. Unresolved Staff Comments
None.
Item 1C. Cybersecurity
We have an enterprise-wide information security program designed to identify, protect, detect and respond to and manage reasonably foreseeable cybersecurity risks and threats. To protect our information systems from cybersecurity threats, we use various security tools that help prevent, identify, escalate, investigate, resolve and recover from identified vulnerabilities and security incidents in a timely manner. These include, but are not limited to, internal reporting, and monitoring and detection tools to allow our information security team members to assist us in identifying vulnerabilities in our systems before they are exploited by malicious threat actors. Leadership for our information security team, including our Chief Technology Officer, consist of professionals with cybersecurity expertise across multiple industries.
26

We also maintain a third party security program to identify, prioritize, assess, mitigate and remediate third party risks; however, we rely on the third parties we use to implement security programs commensurate with their risk, and we cannot ensure in all circumstances that their efforts will be successful.
As part of our cybersecurity risk management system, our information security team tracks and logs privacy and security incidents across our Company, our vendors, and other third-party service providers to remediate and resolve any such incidents. Significant incidents are reviewed regularly by a cross-functional working group including legal, SEC regulation and information security professionals to determine whether further escalation is appropriate. Any incident assessed as potentially being or potentially becoming material is immediately escalated for further assessment, and then reported to designated members of our senior management. We consult with outside counsel as appropriate, including on materiality analysis and disclosure matters, and our senior management makes the final materiality determinations and disclosure and other compliance decisions.
The board oversees our annual enterprise risk assessment, where we assess key risks within the Company, including security and technology risks and cyber security threats. The audit committee has oversight responsibility for risks and incidents relating to cybersecurity threats, including compliance with disclosure requirements, cooperation with law enforcement, and related effects on financial and other risks, and it reports any findings and recommendations, as appropriate, to the full board for consideration. Our executive leadership team regularly discusses cyber risks and trends and, should they arise, any material incidents with the audit committee.
Our business strategy, results of operations and financial condition have not been materially affected by risks from cybersecurity threats, including as a result of previously identified cybersecurity incidents, but we cannot provide assurance that they will not be materially affected in the future by such risks or any future material incidents. For more information on our cybersecurity related risks, see Item 1A Risk Factors of this Annual Report on Form 10-K.
Item 2. Properties
We believe that our facilities are well maintained and of sufficient capacity to support our current operations. We have facilities in the following regions:
United States
Our corporate headquarters are located in Maple Plain, Minnesota in a facility we own encompassing approximately 95,000 square feet of office space. We own a facility in Rosemount, Minnesota that encompasses approximately 130,000 square feet of manufacturing and office space. We own a facility in Plymouth, Minnesota that encompasses approximately 170,000 square feet of manufacturing and office space. We own a facility in Brooklyn Park, Minnesota that encompasses approximately 215,000 square feet of manufacturing and office space.
We own a facility in Cary, North Carolina that encompasses approximately 77,000 square feet of manufacturing and office space. In 2021, we entered into a lease agreement to expand our additive manufacturing footprint at a second location, which added approximately 120,000 square feet in 2023. The lease contained a right to purchase option that we exercised in 2023.
In 2021, we consolidated facilities in Nashua, New Hampshire reducing our total footprint by approximately 18,000 square feet. In May 2021, we purchased one of our previously leased facilities and continue to lease a second facility. The lease expires in 2026. The New Hampshire facilities provide a total of approximately 128,000 square feet of manufacturing and office space.
We lease a facility in Chicago, Illinois that encompasses approximately 10,000 square feet of office space utilized to support our outsourced manufacturing operations. The lease expires in 2026.
Europe
Our European operations are headquartered in Telford, United Kingdom in a facility we own encompassing approximately 163,000 square feet of office and manufacturing space. We own a facility in Putzbrunn, Germany which encompasses approximately 70,000 square feet of office and manufacturing space.
27

We also lease office space in Mosbach, Germany; Le Bourget du Lac, France; Novara, Italy and Nacka, Sweden for sales, customer service and technical support staff. The leases expire at various times from 2024 to 2025. We also lease a manufacturing and office facility encompassing approximately 21,000 square feet in Eschenlohe, Germany. The lease expires in 2029.
We lease a facility in Amsterdam, Netherlands that encompasses approximately 12,000 square feet of office space utilized to support our outsourced manufacturing operations. The lease expires in 2025.
Japan
In December 2023, we dissolved our Japan operations headquartered in Zama, Kanagawa, Japan (southwest of Tokyo), where we operated in a leased facility which encompassed approximately 88,000 square feet of office and manufacturing space. The lease expired in 2023.
Item 3. Legal Proceedings
From time to time, we are subject to various legal proceedings and claims that arise in the ordinary course of our business activities. Although the results of litigation and claims cannot be predicted with certainty, as of the date of this Annual Report on Form 10-K, we do not believe we are party to any litigation the outcome of which, if determined adversely to us, would individually or in the aggregate be reasonably expected to have a material adverse effect on our business.
Item 4. Mine Safety Disclosures
Not applicable.
PART II
Item 5. Market for Registrant’s Common Equity, Related Shareholder Matters and Issuer Purchases of Equity Securities
Market Information
Our common stock has traded on the New York Stock Exchange (NYSE) under the symbol “PRLB” since February 24, 2012. Prior to that date, there was no public market for our common stock.
As of January 25, 2024, we had 11 holders of record of our common stock. The actual number of shareholders is greater than this number of record holders, and includes shareholders who are beneficial owners, but whose shares are held in street name by brokers and other nominees.
Dividends
We have never declared or paid any cash dividends on our capital stock and we do not intend to pay cash dividends on our common stock for the foreseeable future. Any future determination related to our dividend policy will be made at the discretion of our board of directors and will depend on then-existing conditions, including our financial condition, operating results, contractual restrictions, capital requirements, business prospects and other factors our board of directors may deem relevant.
Performance Graph
The following graph shows a comparison from December 31, 2018 through December 31, 2023 of the cumulative total return for our common stock, the S&P 500 Index and the Russell 2000 Index. We have selected the Russell 2000 Index because the Russell 2000 Index measures the performance of the small market capitalization segment of U.S. equity instruments and we are a member company included in the Russell 2000 Index. Such returns are based on historical results
28

and are not intended to suggest future performance. Data for the S&P 500 Index and the Russell 2000 Index assume reinvestment of dividends.
1734
Index12/31/20186/30/201912/31/20196/30/202012/31/20206/30/202112/31/20216/30/202212/31/20226/30/202312/31/2023
Proto Labs, Inc.100.00102.8690.0399.72136.0081.3945.5342.4222.6331.0034.54
S&P 500100.00117.35128.88123.67149.83171.43190.13151.00153.16177.53190.27
Russell 2000100.00116.17123.72106.88146.44171.33166.50126.65130.60140.06150.31
Unregistered Sales of Equity Securities and Issuer Purchases of Equity Securities
On February 9, 2017, our board of directors authorized the repurchase of shares of our common stock from time to time on the open market or in privately negotiated purchases, at an aggregate purchase price of up to $50 million. On May 16, 2019, we announced that our board of directors approved a $50 million increase in our authorized stock repurchase program and extended the term of the program through December 31, 2023, which increased the stock repurchase program to $100 million. On December 8, 2021, our board of directors approved another $50 million increase in our authorized stock repurchase program, which increased the total repurchases authorized to $150 million. On November 17, 2022, our board of directors approved $50 million increase in our authorized stock repurchase program, which increased the total repurchases authorized to $200 million and extended the term of the program through December 31, 2024. On February 7, 2023 our board of directors approved a $50 million increase in our authorized stock repurchase program, which increased the stock repurchase authorized to $250 million. We have $88.4 million remaining under this authorization. The timing and amount of any share repurchases will be determined by our management based on market conditions and other factors.
29

During the year ended December 31, 2023, we repurchased 1,392,921 shares at an average price of $31.52 per share for an aggregate purchase price of $43.9 million.
PeriodTotal Number of Shares
Purchased
Average Price Paid per ShareTotal Number of Shares
Purchased as Part of Publicly
Announced Plans or Programs
Maximum Dollar Value of
Shares that May Yet Be
Purchased Under the Plans or
Programs (in thousands)
October 1, 2023 through October 31, 2023$— $93,258 
November 1, 2023 through November 30, 202374,658$36.62 74,658$90,524 
December 1, 2023 through December 31, 202358,677$36.81 58,677$88,364 
133,335$36.70 133,335$88,364 
Item 6. [Reserved]
Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations
The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the consolidated financial statements and related notes included elsewhere in this Annual Report on Form 10-K. This discussion and analysis contains forward-looking statements that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward- looking statements as a result of various factors, including those set forth under “Risk Factors” and elsewhere in this Annual Report on Form 10-K. This Management's Discussion and Analysis (MD&A) generally discusses fiscal years 2023 and 2022 items and year-to-year comparisons between 2023 and 2022. Discussions of fiscal year 2021 items and year-to-year comparisons between 2022 and 2021 are not included in this MD&A, and can be found in "Management's Discussion and Analysis of Financial Condition and Results of Operations" in Part II, Item 7. of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2022, filed with the SEC on February 21, 2023.
Overview
We are one of the world’s largest, fastest, and most comprehensive digital manufacturers of custom parts. We manufacture prototypes and low-volume production parts for companies worldwide that are under increasing pressure to bring their finished products to market faster than their competition. We utilize injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for our customers. Our proprietary technology eliminates most of the time-consuming and expensive skilled labor conventionally required to quote and manufacture parts. Through the acquisition of Hubs (formerly 3D Hubs, Inc.) (Hubs) in 2021, we provide our customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia. In January 2024, we rebranded Hubs to the Protolabs Network by Hubs (Protolabs Network). The Protolabs Network complements our in-house manufacturing, enabling us to significantly increase the size, complexity breadth of manufacturing processes, lead times and prices of the parts we produce. Our customers conduct nearly all their business with us over the Internet. We target our products at the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets, to the procurement and supply chain professionals seeking to easily and efficiently source custom parts on-demand, and to a wide variety of customers seeking to purchase low-volume custom parts.
We currently operate in a global custom contract manufacturing market which is a form of outsourcing where companies enter into an arrangement or formal agreement with another company or individual for the manufacture of complete parts, products, or components. Since our inception, we have focused on areas where we could automate the manufacturing process via our digital model and we positioned ourselves to avoid routine, low margin, high-volume commoditized manufacturing. Our initial focus was on prototypes and simple parts and have added complexity over time. We have added product lines and expanded those product lines to meet the needs of our customers, which has ultimately driven our growth. In 2022, we launched the first iteration of our integrated offer in Europe and followed with the launch in the United States in early 2023. The integrated offer allows us to offer CNC manufacturing for eligible parts through the combination of our internal digital manufacturing and our digital network of manufacturing partners. We also continually seek to enhance other aspects of our technology and manufacturing processes, including our interactive web-based and automated user interface and quoting system. We intend to continue to invest significantly to enhance our technology and
30

manufacturing processes and expand the range of our existing capabilities with the aim of meeting the needs of a broader set of customers. As a result of the factors described above, many of our customers tend to return to Proto Labs to meet their ongoing needs.
We have established our operations in the United States and Europe. Previously we had established operations in Japan. On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. The Company dissolved its Japan operations in December 2023. Our revenue outside of the United States accounted for approximately 21% of our consolidated revenue in each of the years ended December 31, 2023 and 2022. We intend to continue to expand our international sales efforts and believe opportunities exist to serve the needs of customers in select new geographic regions.
We have grown our total revenue from $488.1 million in the year December 31, 2021 to $503.9 million in the year ended December 31, 2023. During this period, our operating expenses increased from $182.3 million in the year ended December 31, 2021 to $193.8 million in the year ended December 31, 2023. Our recent growth in revenue has been accompanied by increased cost of revenues and operating expenses. We expect to increase investment in our operations to support anticipated future growth as discussed more fully below.
In addition, we believe that a number of trends affecting our industry have affected our results of operations and may continue to do so. For example, we believe that many of our target customers are facing three mega trends, which are disrupting long-term product growth models. We believe our customers are facing increased pressure to shorten product life-cycles, to embed products with connectivity driven by the "internet of things" technology, and to deliver products that are personalized and customized to unique customer specifications. We believe we continue to be well positioned to benefit from these trends, given our proprietary technology that enables us to automate and integrate the majority of activities involved in procuring custom parts. As a result, the adoption of e-commerce manufacturing has accelerated, which allows opportunity for us to provide valuable solutions to customers looking to build resiliency in their supply chains through fast, on-demand manufacturers. While our business may be positively affected by these trends, our results may also be favorably or unfavorably impacted by other trends that affect customer orders for custom parts, including, among others, economic conditions, changes in customer preferences or needs, developments in our industry and among our competitors, and developments in our customers' industries. For a more complete discussion of the risks facing our business, see Part I, Item 1A. “Risk Factors” of this Annual Report on Form 10-K.
Key Financial Measures and Trends
Revenue
Our operations are comprised of two geographic operating segments in the United States and Europe. On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. The Company dissolved its Japan operations in December 2023.
Revenue is derived from our Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined custom parts. 3D Printing revenue consists of sales of custom 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal custom parts and assemblies.
Our revenue is generated from a diverse customer base and our historical and current efforts to increase revenue have been directed at gaining new customers and selling to our existing customer base by increasing marketing and selling activities, including:
expanding the breadth and scope of our products by adding more sizes and materials to our offerings;
the introduction of our 3D Printing product line through our acquisition of FineLine in 2014;
expanding 3D printing to Europe through our acquisition of Alphaform in October 2015;
the introduction of our Sheet Metal product line through our acquisition of RAPID in 2017;
continuously improving the usability of our product lines such as our web-centric applications; and
31

providing customers with on-demand access to a global network of premium manufacturing partners through our acquisition of Hubs in January 2021.
During 2023, we served 53,464 unique customer contacts who purchased our products through our web-based customer interface, a decrease of 5.1% over the same period in 2022.
During 2022, we served 56,333 unique customer contacts who purchased our products through our web-based customer interface, an increase of 1.8% over the same period in 2021.
Cost of Revenue, Gross Profit and Gross Margin
Cost of revenue consists primarily of raw materials, equipment depreciation, employee compensation including benefits and stock-based compensation, facilities costs and overhead allocations associated with the manufacturing process for molds and custom parts. We expect our personnel-related costs to increase in order to retain and attract top talent and remain competitive in the market. Overall, we expect cost of revenue to increase in absolute dollars.
Our business model requires that we invest in our capacity well in advance of demand to ensure we can fulfill the expectations for quick delivery of our products to our customers. Therefore, over the last several years, we have made significant investments in additional factory space, equipment and infrastructure across our geographic segments. We expect to continue to grow in future periods, which will result in the need for additional investments in factory space and equipment. We expect that these additional costs for factory and equipment expansion can be absorbed by revenue growth, and allow gross margins by product line to remain relatively consistent over time. Our addition of Hubs in 2021 provides a complementary opportunity to add revenue growth through the use of premium manufacturing partners, without the significant investments required by our internal manufacturing business model.
We define gross profit as our revenue less our cost of revenue, and we define gross margin as gross profit expressed as a percentage of revenue. Our gross profit and gross margin are affected by many factors, including our mix of revenue by product line, pricing, sales volume, manufacturing costs, the costs associated with increasing production capacity, the mix between domestic and foreign revenue sources, the mix between revenue produced in our internal manufacturing operations and outsourced to our external manufacturing partners, and foreign exchange rates.
Operating Expenses
Operating expenses consist of marketing and sales, research and development and general and administrative expenses. Personnel-related costs are the most significant component in each of these categories.
Our business strategy is to continue to be a leading online and technology-enabled manufacturer of quick-turn, on-demand injection-molded, CNC-machined, 3D-printed and sheet metal custom parts for prototyping and low-volume production. In order to achieve our goals, we anticipate continued substantial investments in technology and personnel, resulting in increased operating expenses in the future.
Marketing and sales. Marketing and sales expense consists primarily of employee compensation, benefits, commissions, stock-based compensation, marketing programs such as electronic, print and pay-per-click advertising, trade shows and other related overhead. We expect sales and marketing expense to increase in the future as we increase the number of marketing and sales professionals and marketing programs targeted to increase our customer base and grow revenue.
Research and development. Research and development expense consists primarily of personnel and outside service costs related to the development of new processes and product lines, enhancement of existing product lines, software developed for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under Accounting Standards Codification (ASC) 350-40, Intangibles — Goodwill and Other, Internal-Use Software. We expect research and development expense to increase in the future as we seek to enhance our e-commerce interface technology, internal software and supporting business systems, and continue to expand our product lines.
General and administrative. General and administrative expense consists primarily of employee compensation, benefits, stock-based compensation, professional service fees related to accounting, tax and legal and other related
32

overhead. We expect general and administrative expense to increase in the future as we continue to grow and expand as a global organization.
Goodwill impairment. Goodwill is tested for impairment annually as of the first day of the fourth quarter. An impairment charge for goodwill was recognized for our Europe reporting unit in the fourth quarter of 2022, as it was determined the estimated fair value of the reporting unit, including goodwill, was less than its carrying amount.
Closure of Japan business. Closure of Japan business expense is driven by our decision to close the Japan manufacturing facility and exit the Japan market. The expenses consist primarily of operating expense, including employee severance, write-down of fixed assets, facility-related charges and goodwill impairment charges.
Changes in fair value of contingent consideration. Our contingent consideration liability is related to our acquisition of Hubs in 2021, was evaluated quarterly for changes in fair value, and was written off in 2021.
Other Income, Net
Other income, net primarily consists of foreign currency-related gains and losses and interest income on cash balances and investments. Our foreign currency-related gains and losses will vary depending upon movements in underlying exchange rates. Our interest income will vary each reporting period depending on our average cash balances during the period, composition of our marketable security portfolio and the current level of interest rates.
Provision for Income Taxes
Provision for income taxes is comprised of federal, state, local and foreign taxes based on pre-tax income. Overall, our effective tax rate for 2023 and beyond may differ from historical effective tax rates due to changes in losses in foreign operations that are not eligible for tax benefits on account of valuation allowances, as well as any future tax law changes that may impact the effective tax rate.
33

Results of Operations
The following table summarizes our results of operations and the related changes for the periods indicated. The results below are not necessarily indicative of the results for future periods.
Year Ended
December 31,
ChangeYear Ended
December 31,
Change
(dollars in thousands)20232022$%20222021$%
      
Revenue$503,877 100.0 %$488,398 100.0 %$15,479 3.2 $488,398 100.0 %$488,098 100.0 %$300 0.1 
Cost of revenue281,884 55.9 272,933 55.9 8,951 3.3 272,933 55.9 265,407 54.4 7,526 2.8 
Gross profit221,993 44.1 215,465 44.1 6,528 3.0 215,465 44.1 222,691 45.6 (7,226)(3.2)
Operating expenses:     
Marketing and sales87,688 17.4 82,752 17.0 4,936 6.0 82,752 17.0 82,175 16.8 577 0.7 
Research and development40,135 8.0 38,222 7.8 1,913 5.0 38,222 7.8 44,241 9.1 (6,019)(13.6)
General and administrative65,788 13.1 67,544 13.8 (1,756)(2.6)67,544 13.8 68,436 14.0 (892)(1.3)
Goodwill impairment118,008 24.2 (118,008)*118,008 24.2 — — 118,008 *
Closure of Japan business215 6,922 1.4 (6,707)* 6,922 1.4 — — 6,922 *
Changes in fair value of contingent consideration— — — — — * — — (12,503)(2.6)12,503 *
Total operating expenses193,826 38.5 313,448 64.2 (119,622)(38.2)313,448 64.2 182,349 37.3 131,099 71.9 
Income (loss) from operations28,167 5.6 (97,983)(20.1)126,150 128.7 (97,983)(20.1)40,342 8.3 (138,325)(342.9)
Other (expense) income, net(215)(0.1)106 (321)(302.8)106 (158)— 264 (167.1)
Income (loss) before income taxes27,952 5.5 (97,877)(20.1)125,829 128.6 (97,877)(20.1)40,184 8.2 (138,061)(343.6)
Provision for income taxes10,732 2.1 5,585 1.1 5,147 92.2 5,585 1.1 6,812 1.4 (1,227)(18.0)
Net income (loss)$17,220 3.4 %$(103,462)(21.2 %)$120,682 116.6 %$(103,462)(21.2 %)$33,372 6.8 %$(136,834)(410.0 %)
*Percentage change not meaningful
Stock-based compensation expense included in the statements of comprehensive income data above is as follows:
Year Ended December 31,
(in thousands)202320222021
Stock options and other$14,550 $16,103 $17,553 
Employee stock purchase plan1,439 1,442 1,542 
Total stock-based compensation expense$15,989 $17,545 $19,095 
   
Cost of revenue$1,840 $2,172 $2,595 
Operating expenses:
Marketing and sales3,426 3,295 3,736 
Research and development2,556 2,189 2,833 
General and administrative8,167 9,889 9,931 
Total stock-based compensation expense$15,989 $17,545 $19,095 
34

Comparison of Years Ended December 31, 2023 and 2022
Revenue
Revenue by reportable segment and the related changes for 2023 and 2022 is summarized as follows:
Year Ended December 31,
20232022Change
(dollars in thousands)$% of Total Revenue$% of Total Revenue$%
Revenue
United States$396,821 78.8 %$387,399 79.3 %$9,422 2.4 %
Europe107,056 21.2 92,770 19.0 14,286 15.4 
Japan— — 8,229 1.7 (8,229)(100.0)
Total revenue$503,877 100.0 %$488,398 100.0 %$15,479 3.2 %
Our revenue increased $15.5 million, or 3.2%, for 2023 compared with 2022. By reportable segment, revenue in the United States increased $9.4 million, or 2.4%, for 2023 compared with 2022. Revenue in Europe increased $14.3 million, or 15.4%, for 2023 compared with 2022. Revenue in Japan decreased $8.2 million, or 100.0%, for 2023 compared with 2022. The decrease in Japan revenue was driven by our decision in the second quarter of 2022 to close our Japan operations. International revenue was negatively impacted by $0.2 million during 2023 compared to the same period in 2022 as a result of foreign currency movements, primarily the weakening of the British Pound and Euro relative to the United States Dollar.
During 2023, we served 53,464 unique customer contacts, a decrease of 5.1% over 2022. Our decline in customer contacts served decreased compared to an increase in revenue, which is primarily due to a larger portion of our business shifting to larger orders and improvements in average order values in the Protolabs Network.
Revenue by product line and the related changes for 2023 and 2022 is summarized as follows:
Year Ended December 31,
20232022Change
(dollars in thousands)$% of Total Revenue $% of Total Revenue $%
Revenue
Injection Molding$203,941 40.5 %$200,578 41.1 %$3,363 1.7 %
CNC Machining198,222 39.3 188,372 38.5 9,850 5.2 
3D Printing84,291 16.7 78,988 16.2 5,303 6.7 
Sheet Metal16,540 3.3 19,498 4.0 (2,958)(15.2)
Other Revenue883 0.2 962 0.2 (79)(8.2)
Total revenue$503,877 100.0 %$488,398 100.0 %$15,479 3.2 %
By product line, our revenue increase was driven by a 5.2% increase in CNC Machining revenue, a 6.7% increase in 3D Printing revenue and a 1.7% increase in Injection Molding revenue, which was partially offset by a 15.2% decrease in Sheet Metal revenue, and a 8.2% decrease in Other Revenue, in each case for 2023 compared with 2022.
35

Cost of Revenue, Gross Profit and Gross Margin
Cost of Revenue. Cost of revenue increased $9.0 million, or 3.3%, for 2023 compared to 2022, which was less than the rate of revenue increase of 3.2% for 2023 compared to 2022. The increase in the cost of revenue of $9.0 million was primarily driven by higher revenue volumes in the Protolabs Network, partly offset by reductions in contract labor, headcount and overtime leading to lower personnel and related costs of $8.0 million and lower raw material and product costs of $3.9 million in our digital manufacturing factory offering for 2023 compared with 2022.
Gross Profit and Gross Margin. Gross profit increased from $215.5 million in 2022 to $222.0 million in 2023. Gross margin was 44.1% of revenue in 2023, unchanged compared to 2022.
Operating Expenses
Marketing and Sales. Marketing and sales expense increased $4.9 million, or 6.0%, for 2023 compared to 2022, primarily due to increases in personnel and related costs of $4.3 million and marketing program costs increases of $0.6 million for 2023 compared with 2022.
Research and Development. Our research and development expense increased $1.9 million, or 5.0%, for 2023 compared to 2022 primarily due to increases in personnel and related costs of $2.8 million, partially offset by decreases in other operating costs of $0.5 million and professional services of $0.4 million for 2023 compared with 2022.
General and Administrative. Our general and administrative expense decreased $1.8 million, or 2.6%, for 2023 compared to 2022 primarily due to a decrease of $1.7 million in stock-based compensation and a decrease of $0.7 million in personnel and related costs, which were partially offset by an increase in professional services and other administrative costs of $0.6 million.
Goodwill impairment. We had no goodwill impairment charges recorded during 2023. A goodwill impairment charge of $118.0 million was recognized in the fourth quarter of 2022, as it was determined the estimated fair value of our Europe reporting unit, including goodwill, was less than its carrying amount.
Closure of Japan business. Our decision to close our Japan business resulted in $0.2 million in operating expenses during 2023, a decrease of $6.7 million as compared to 2022. During 2022 we recognized $2.3 million of employee severance, $2.4 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.7 million in other closure related charges.
Income (Loss) from Operations
Income from operations increased $126.2 million, or 128.6%, for 2023 compared with 2022. By reportable segment, income from operations for the United States increased $1.5 million. Income from operations for Europe increased $117.9 million for 2023 compared with 2022, which was primarily driven by a $118.0 goodwill impairment charge in 2022. Loss from operations included in Corporate Unallocated and Japan decreased $6.8 million for 2023 compared with 2022.
Other (Expense) Income, Net and Provision for Income Taxes
Other (Expense) Income, Net. We recognized other expense, net of $0.2 million in 2023, a decrease of $0.3 million compared to other income, net of $0.1 million for 2022. Other expense, net for 2023 primarily consisted of $3.9 million foreign currency translation loss from the completion on the closure of our Japan business and $1.1 million of interest expense, which was partially offset by a $3.3 million of interest income on investments and $1.5 of other income and gains on foreign currency. Other income, net for 2022 primarily consisted of $1.0 million in interest income, which was partially offset by a $0.9 million loss on foreign currency and other losses.
Provision for Income Taxes. Our income tax provision increased by $5.1 million for 2023 compared to 2022. The increase in the provision is primarily due to higher taxable income and the higher effective tax rate. Our effective tax rate of 38.4% for 2023 increased 44.1% compared to (5.7)% for the same period in 2022 primarily due to the tax rate impact of the goodwill impairment recorded during the year ended December 31, 2022 as well as the overall change from a loss to income position in 2023.
36

Comparison of Years Ended December 31, 2022 and 2021
For a comparison of our results of operations for fiscal years ended December 31, 2022 and December 31, 2021, see Part II, Item 7. "Management's Discussion and Analysis of Financial Condition and Results of Operations" of our Annual Report on Form 10-K for the fiscal year ended December 31, 2022, filed with the SEC on February 21, 2023.
Liquidity and Capital Resources
Cash Flows
The following table summarizes our cash flows for the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
(dollars in thousands)202320222021
Net cash provided by operating activities$73,274 $62,079 $55,242 
Net cash used in investing activities(4,552)(43,092)(94,664)
Net cash used in financing activities(41,858)(27,922)(22,198)
Effect of exchange rates on cash and cash equivalents368 (436)(54)
Net (decrease) increase in cash and cash equivalents$27,232 $(9,371)$(61,674)
Sources of Liquidity
We finance our operations and capital expenditures through cash flow from operations. We had cash and cash equivalents of $83.8 million as of December 31, 2023, an increase of $27.2 million from December 31, 2022. The increase in our cash was primarily due to cash generated through operations of $73.3 million, which was partially offset by cash used in investing activities of $4.6 million, consisting primarily of net purchases of property, equipment and other capital assets of $27.4 million partly offset by proceeds from the maturity of marketable securities of $23.9 million, and cash used in financing activities of $41.9 million, primarily for repurchases of common stock of $44.0 million. We had cash and cash equivalents of $56.6 million as of December 31, 2022, a decrease of $9.4 million from December 31, 2021. The decrease in our cash was primarily due to cash used in investing activities for net purchases of, and proceeds of, marketable securities of $25.5 million, purchases of property, equipment and other capital assets of $17.6 million, and cash used in financing activities for repurchases of common stock of $29.7 million, which were partially offset by cash generated through operations of $62.1 million.
As of December 31, 2023, the amount of cash and cash equivalents held by foreign subsidiaries was $18.1 million. Our intent is to continue to reinvest these funds outside the U.S. and our current plans do not demonstrate a need to repatriate them to fund our domestic operations. We believe that our existing cash and cash equivalents together with cash generated from operations will be sufficient to meet our working capital expenditure requirements for at least the next 12 months.
Cash Flows from Operating Activities
Cash flow from operating activities of $73.3 million during 2023 primarily consisted of net income of $17.2 million, adjusted for certain non-cash items, including depreciation and amortization of $37.5 million, stock-based compensation expense of $16.0 million, foreign currency translation losses of $3.9 million, interest on finance lease obligations of $1.1 million and changes in operating assets and liabilities and other items totaling $5.2 million, which were partially offset by changes in deferred taxes of $7.7 million. The cash flow from operating activities during 2023 compared to 2022 increased $11.2 million primarily due to changes in operating assets and liabilities of $7.2 million, increases in deferred taxes of $1.8 million, increases in interest on finance lease obligations of $1.1 million and increases in net income of $120.7 million, which were partially offset by decreases in stock-based compensation of $1.6 million and loss on impairment of goodwill of $118.0 million.
37

Cash flow from operating activities of $62.1 million during 2022 primarily consisted of net loss of $103.5 million, adjusted for certain non-cash items, including depreciation and amortization of $39.4 million and stock-based compensation expense of $17.5 million, loss on goodwill impairment of $118.0 million and impairments related to closure of Japan business of $2.8 million, which were partially offset by changes in deferred taxes of $9.5 million and changes in operating asset and liabilities and other items totaling $2.8 million. The cash flow from operating activities during 2022 compared to 2021 increased $6.8 million primarily due to changes in operating assets and liabilities and other items of $22.0 million, loss on impairment of goodwill of $118.0 million, changes in fair value of contingent consideration of $13.3 million and impairments related to closure of Japan business of $2.8 million, which were partially offset by decreases in net income of $136.8 million, decreases in deferred taxes of $9.8 million, decreases in depreciation and amortization of $1.1 million and decreases in stock-based compensation of $1.6 million.
Cash Flows from Investing Activities
Cash used in investing activities was $4.6 million for the year ended December 31, 2023, consisting of $27.4 million for the net purchases of property, equipment and other capital assets, $1.0 in other investing activities, which were partially offset by $23.9 million in proceeds from maturities of marketable securities.
Cash used in investing activities was $43.1 million for the year ended December 31, 2022, consisting of $17.6 million for the net purchases of property, equipment and other capital assets and $25.5 million of net purchases of marketable securities.
Cash Flows from Financing Activities
Cash used in financing activities was $41.9 million for the year ended December 31, 2023, consisting of $44.0 million in repurchases of common stock, $1.4 million in shares withheld for tax obligations associated with equity transactions, and $0.3 million for repayments of finance lease obligations, which were partially offset by $3.8 million in proceeds from issuance of common stock from equity plans.
Cash used in financing activities was $27.9 million for the year ended December 31, 2022, consisting of $29.7 million in repurchases of common stock, $1.7 million in shares withheld for tax obligations associated with equity transactions, and $0.5 million for repayments of finance lease obligations, which were partially offset by $4.0 million in proceeds from issuance of common stock from equity plans.
Operating and Capital Expenditure Requirements
We believe, based on our current operating plan, that our cash balances and cash generated through operations and interest income will be sufficient to meet our anticipated cash requirements through at least the next 12 months. From time to time we may seek to sell equity or convertible debt securities or enter into credit facilities. The sale of equity and convertible debt securities may result in dilution to our shareholders. If we raise additional funds through the issuance of convertible debt securities or enter into credit facilities, these securities and debt holders could have rights senior to those of our common stock, and this debt could contain covenants that would restrict our operations. We may require additional capital beyond our currently forecasted amounts. Any such required additional capital may not be available on terms acceptable to us, or at all.
Our future capital requirements will depend on many factors, including the following:
the revenue growth in Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines;
costs of operations, including costs relating to expansion and growth;
the emergence of competing or complementary technological developments;
the costs of filing, prosecuting, defending and enforcing any patent claims and other intellectual product rights, or participating in litigation-related activities; and
the acquisition of businesses, products and technologies, although we currently have no commitments or agreements relating to any of these types of transactions.
38

Our recent annual capital expenditures have varied between 4% and 8% of annual revenue. We believe future growth capital expenditures, excluding any expenditures for buildings and maintenance capital we might purchase for our operations, are likely to vary between approximately 4% and 7% of annual revenue.
Contractual Obligations
As of December 31, 2023, our contractual obligations are $5.5 million related to current and long-term operating and finance lease liabilities and $9.5 million related to unsatisfied performance obligations for contracts with an original expected length of one year or less.
Financing Arrangements
We had no financing arrangements as of December 31, 2023 and 2022.
Inflation
We experience normal inflation and changing prices, primarily on our production materials and labor. In the years ended December 31, 2023, 2022 and 2021 wage inflation contributed to our lower gross margin.
Critical Accounting Estimates
The discussion and analysis of our financial condition and results of operations is based upon our consolidated financial statements, which have been prepared in accordance with accounting principles generally accepted in the United States. The preparation of these financial statements requires us to make estimates, judgments and assumptions that affect the reported amount of assets, liabilities, revenue, expenses and related disclosures. Critical accounting estimates are those estimates made in accordance with GAAP which involve a significant level of estimation uncertainty and have had or are reasonably likely to have a material impact on our financial condition and results of operations. On an ongoing basis, we evaluate our estimates, including those related to revenue recognition, goodwill, other intangible assets, stock-based compensation, and income taxes. We base our estimates of the carrying value of certain assets and liabilities on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. In many cases, we could reasonably have used different accounting policies and estimates. In some cases, changes in the accounting estimates are reasonably likely to occur from period to period. Management has discussed the development, selection and disclosure of these estimates with the audit committee of our board of directors. Our actual results may differ significantly from these estimates under different assumptions or conditions.
We believe the following critical accounting policies and estimates affect our more significant judgments used in the preparation of our consolidated financial statements. See the Notes to Consolidated Financial Statements included in Item 8. “Financial Statements and Supplementary Data” in this Annual Report on Form 10-K for additional information about these critical accounting policies and estimates, as well as a description of our other accounting policies and estimates.
Revenue Recognition
We recognize revenue for our internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. We manufacture custom parts to specific customer orders that have no alternative use to us, and we believe there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, we will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of our CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of our injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.
39

Goodwill
We recognize goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to our reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. Our reporting units are the United States and Europe. Goodwill is not amortized.
Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In applying the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, we determined the fair value of our reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires us to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in our valuations. As a result of the fiscal year 2022 analysis, which used the quantitative assessment, a $118.0 million impairment related to the Europe reporting unit was identified, which represents a write-off of all Europe goodwill, and recorded during the year ended December 31, 2022. As a result of the fiscal year 2023 analysis, which used the qualitative assessment, there were no impairments recorded during the year ended December 31, 2023.
Other Intangible Assets
We recognize other intangibles assets in accordance with ASC 350, Intangibles—Goodwill and Other. Other intangible assets include software technology, customer relationships and other intangible assets acquired from independent parties. We used a multi-period excess earnings method under the income approach to measure the software platform when acquired through an acquisition. In 2021, the significant assumptions used to estimate the value of the software platform included forecasted annual revenue growth, gross margin rates, operating expenses as a percentage of sales and the weighted-average cost of capital, which are affected by our business plans and expectations about future market or economic conditions. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. As of December 31, 2023, no impairment charges for intangible assets have been recognized.
Stock-Based Compensation
We determine our stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718), which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on the grant date fair value of the award.
Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. We use the Black-Scholes option pricing model to value our stock option awards. Stock-based compensation expense is significant to our consolidated financial statements and is calculated using our best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include our expected term and stock price volatility. If different estimates and assumptions had been used, our common stock valuations could be significantly different and related stock-based compensation expense may be materially impacted.
40

The Black-Scholes option pricing model requires inputs such as the risk-free interest rate, expected term, expected volatility and expected dividend yield. We base the risk-free interest rate that we use in the Black-Scholes option pricing model on zero coupon U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that our stock options are expected to be outstanding. We estimated the volatility of our stock price based on the historic volatility of our common stock. We have never paid and do not anticipate paying any cash dividends in the foreseeable future and, therefore, we use an expected dividend yield of zero in the option pricing model. We account for forfeitures as they occur.
The fair value of each new employee option awarded was estimated on the date of grant for the periods below using the Black-Scholes option pricing model with the following assumptions:
Year Ended December 31,
202320222021
Risk-free interest rate3.55 - 4.55%1.94 - 3.40%0.80 - 1.12%
Expected life (years)2 - 6.256.256.25
Expected volatility49.23 -55.92%45.95 - 46.03%45.28 - 45.53%
Expected dividend yield0%0%0%
Weighted average grant date fair value$16.36$23.11$128.14
Our 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of our common stock during each offering period at a discount through payroll deductions of up to 15% of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period. At the end of each offering period, employees are able to purchase shares at 85% of the lower of the fair market value of our common stock on the first trading day of the offering period or on the last trading day of the offering period. We determine the fair value stock-based compensation related to our ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.
The fair value of each offering period was estimated using the Black-Scholes option pricing model with the following assumptions:
Year Ended December 31,
202320222021
Risk-free interest rate4.60 - 5.16%0.17 - 4.60%0.06 - 0.17%
Expected life (months)6.006.006.00
Expected volatility47.38 - 67.84%47.05 - 67.84%53.44 - 65.53%
Expected dividend yield0%0%0%
There are significant differences among option valuation models, and this may result in a lack of comparability with other companies that use different models, methods and assumptions. If factors change and we employ different assumptions in the application of ASC 718 in future periods, or if we decide to use a different valuation model, such as a lattice model, the stock-based compensation expense that we record in the future under ASC 718 may differ significantly from what we have recorded using the Black-Scholes option pricing model and could materially affect our operating results.
We recognize stock-based compensation expense on a straight-line basis over the requisite service period. We recorded stock-based compensation expense relating to stock options, restricted stock awards, performance stock units and our ESPP of $16.0 million, $17.5 million and $19.1 million during the years ended December 31, 2023, 2022 and 2021,
41

respectively. As of December 31, 2023, we had $3.8 million of unrecognized stock-based compensation costs related to unvested stock options that are expected to be recognized over a weighted average period of 2.5 years. We issued options to purchase 186,804, 118,434 and 57,901 shares of our common stock during the years ended December 31, 2023, 2022 and 2021, respectively. As of December 31, 2023, we had $18.5 million of unrecognized stock-based compensation costs related to unvested restricted stock, which is expected to be recognized over a weighted average period of 2.5 years. We issued restricted stock awards of 410,682, 315,432 and 205,996 shares of our common stock during the years ended December 31, 2023, 2022 and 2021, respectively. As of December 31, 2023, we had $4.1 million of unrecognized stock-based compensation costs related to unvested performance stock, which is expected to be recognized over a weighted average period of 1.8 years. We issued performance stock awards of 71,295, 35,697 and 15,078 shares of our common stock during the years ended December 31, 2023, 2022 and 2021, respectively.
In future periods, our stock-based compensation expense is expected to increase due to our existing unrecognized stock-based compensation and the issuance of additional stock-based awards to continue to attract and retain employees and non-employee directors.
Income Taxes
We account for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, we determine tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the current year’s financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because we assume that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. We establish a valuation allowance for any portion of our deferred tax assets that we believe will not be recognized.
ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by defining a criterion that an individual tax position must meet for any part of the benefit of that position to be recognized in an enterprise’s financial statements. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income. Including interest and penalties, we have established a liability for uncertain tax positions of $5.0 million as of December 31, 2023.
The effective tax rate increased by 44.1% for the year ended December 31, 2023 when compared to 2022 primarily due to the tax rate impact of the goodwill impairment recorded during the year ended December 31, 2022 as well as the overall change from a loss to income position in 2023.
Recently adopted accounting pronouncements
We did not recently adopt any accounting pronouncements that had a material impact on our Consolidated Financial Statements. There are no pending accounting pronouncements that are expected to have a material impact on our Consolidated Financial Statements.
42

Item 7A. Quantitative and Qualitative Disclosures About Market Risk
Quantitative and Qualitative Disclosure of Market Risks
Our exposure to market risk is confined to our cash and cash equivalent balances and investments. The primary goals of our investment policy are preservation of capital, fulfillment of liquidity needs and fiduciary control of cash and cash equivalent balances. We also seek to maximize income from our investments without assuming significant risk. To achieve our goals, we maintain a portfolio of debt securities with various maturities ranging from one to three years. Due to the nature of our investment portfolio, we are subject to interest rate risks, which we mitigate by generally holding our investments to maturity. In future periods, we will continue to evaluate our investment policy in order to continue our overall goals.
Foreign Currency Risk
As a result of our foreign operations, we have revenue, expenses, assets and liabilities that are denominated in foreign currencies. We generate revenue and incur production costs and operating expenses in British Pound, Euro and Japanese Yen.
Our operating results and cash flows are adversely impacted when the United States dollar appreciates relative to other foreign currencies. Additionally, our operating results and cash flows are adversely impacted when the British Pound appreciates relative to the Euro. As we expand internationally, our results of operations and cash flows will become increasingly subject to changes in foreign currency exchange rates.
We have not used forward contracts or currency borrowings to hedge our exposure to foreign currency risk. Foreign currency risk can be assessed by estimating the change in results of operations or financial position resulting from a hypothetical 10% adverse change in foreign exchange rates. We believe such a change would generally not have a material impact on our financial position, but could have a material impact on our results of operations. During the year ended December 31, 2023, we recognized a foreign currency translation loss of $3.9 million in connection with completing the closure of our Japan business. We recognized net foreign currency gains (losses) of $0.2 million and ($0.1) million for the years ended December 31, 2023 and 2022, respectively.
43

Item 8. Financial Statements and Supplementary Data
Proto Labs, Inc.
Index to Consolidated Financial Statements
44

Report of Independent Registered Public Accounting Firm
To the Shareholders and the Board of Directors of Proto Labs, Inc.
Opinion on the Financial Statements
We have audited the accompanying consolidated balance sheets of Proto Labs, Inc. (the Company) as of December 31, 2023 and 2022, the related consolidated statements of comprehensive income, shareholders' equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes (collectively referred to as the “consolidated financial statements”). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity with U.S. generally accepted accounting principles.
We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control-Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework), and our report dated February 16, 2024 expressed an unqualified opinion thereon.
Basis for Opinion
These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.
We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.
Critical Audit Matter
The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the account or disclosure to which it relates.
45

Revenue Recognition – Revenue Recognized Over Time
Description of the Matter
As discussed in the notes to the consolidated financial statements, the Company provides quality, quick-turn prototyping and on-demand manufacturing services. The majority of revenue recognized in a reporting period is based on completed, invoiced contracts. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes that there is a legally enforceable right to payment for performance completed to date on the internally and outsourced manufacturing parts. Revenue is recognized over time for internal and outsourced manufactured parts which meet these two criteria. For revenue recognized over time, management uses the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date.
Auditing revenue recognized over time was challenging because the relevant accounting standard requires the Company to estimate the progress towards satisfaction of performance obligations, applying a single appropriate method to measure progress. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer’s order. The Company also estimates inventory and production costs incurred to date. These estimates are based on management’s assessment of the current status of production as well as historical results.
How We Addressed the Matter in Our Audit
We obtained an understanding, evaluated the design and tested the operating effectiveness of controls over the Company’s process for recognizing revenue over time. This included testing controls over management’s evaluation of contract terms, the estimation of production time incurred to date and total production time used in the input method, estimation of a reasonable profit margin and the completeness and accuracy of the data used in the input method.
To test the Company’s revenue recognition over time, we performed audit procedures that included, among others, inspecting a sample of contracts to evaluate the existence of an enforceable right to payment for performance completed to-date, evaluating the progress towards completion of orders in process through examination of a sample of product shipments subsequent to the end of the reporting period, evaluating the reasonableness of management’s estimate of profit margins based on a comparison to historical margins, testing the appropriateness of the timing and amount of revenue recognized over time based on the underlying inputs, and performing an independent sensitivity analysis to evaluate the impact on revenues of changes in significant assumptions.
/s/ Ernst & Young LLP
We have served as the Company’s auditor since 2011.
Minneapolis, Minnesota
February 16, 2024
46

Report of Independent Registered Public Accounting Firm
To the Shareholders and the Board of Directors of Proto Labs, Inc.
Opinion on Internal Control Over Financial Reporting
We have audited Proto Labs, Inc.'s internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control—Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, Proto Labs, Inc. (the Company) maintained, in all material respects, effective internal control over financial reporting as of December 31, 2023, based on the COSO criteria.
We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of the Company as of December 31, 2023 and 2022, the related consolidated statements of comprehensive income, shareholders' equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes and our report dated February 16, 2024 expressed an unqualified opinion thereon.
Basis for Opinion
The Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Management’s Annual Report on Internal Control Over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.
We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects.
Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.
Definition and Limitations of Internal Control Over Financial Reporting
A company’s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.
Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.
/s/ Ernst & Young LLP
Minneapolis, Minnesota
February 16, 2024
47

Proto Labs, Inc.
Consolidated Balance Sheets
(In thousands, except share and per share amounts)
December 31,
20232022
Assets
Current assets
Cash and cash equivalents$83,790 $56,558 
Short-term marketable securities19,013 23,568 
Accounts receivable, net of allowance for doubtful accounts of $2,499 and $1,706 as of December 31, 2023 and December 31, 2022, respectively
72,848 76,225 
Inventory13,657 13,578 
Prepaid expenses and other current assets9,124 12,597 
Income taxes receivable2,228 4,042 
Total current assets200,660 186,568 
Property and equipment, net253,655 257,785 
Goodwill273,991 273,991 
Other intangible assets, net25,584 31,250 
Long-term marketable securities8,019 26,419 
Operating lease assets4,628 3,844 
Finance lease assets960 17,532 
Other long-term assets4,856 4,779 
Total assets$772,353 $802,168 
Liabilities and shareholders' equity
Current liabilities  
Accounts payable$15,636 $17,356 
Accrued compensation15,292 12,743 
Accrued liabilities and other16,872 22,384 
Current operating lease liabilities1,585 1,561 
Current finance lease liabilities296 17,537 
Total current liabilities49,681 71,581 
Long-term operating lease liabilities3,008 2,255 
Long-term finance lease liabilities595 - 
Long-term deferred tax liabilities18,742 26,322 
Other long-term liabilities5,032 4,362 
Total liabilities77,058 104,520 
Shareholders' equity  
Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2023 and December 31, 2022, respectively
- - 
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 25,721,957 and 26,888,425 shares as of December 31, 2023 and December 31, 2022, respectively
26 27 
Additional paid-in capital466,884 473,740 
Retained earnings256,398 258,236 
Accumulated other comprehensive loss(28,013)(34,355)
Total shareholders' equity695,295 697,648 
Total liabilities and shareholders' equity$772,353 $802,168 
The accompanying notes are an integral part of these consolidated financial statements.
48

Proto Labs, Inc.
Consolidated Statements of Comprehensive Income
(In thousands, except share and per share amounts)
Year Ended December 31,
202320222021
Statements of Operations:
Revenue$503,877 $488,398 $488,098 
Cost of revenue281,884 272,933 265,407 
Gross profit221,993 215,465 222,691 
Operating expenses
Marketing and sales87,688 82,752 82,175 
Research and development40,135 38,222 44,241 
General and administrative65,788 67,544 55,933 
Goodwill impairment 118,008  
Closure of Japan business215 6,922  
Total operating expenses193,826 313,448 182,349 
Income (loss) from operations28,167 (97,983)40,342 
Other (expense) income, net(215)106 (158)
Income (loss) before income taxes27,952 (97,877)40,184 
Provision for income taxes10,732 5,585 6,812 
Net income (loss)$17,220 $(103,462)$33,372 
Net income (loss) per share:
Basic$0.66 $(3.77)$1.21 
Diluted$0.66 $(3.77)$1.21 
Shares used to compute net income (loss) per share:
Basic26,186,53327,409,83827,617,627
Diluted26,223,49827,409,83827,653,099
Other Comprehensive Income (Loss), net of tax
Foreign currency translation adjustments$5,365 $(16,278)$(13,278)
Net unrealized gains (losses) on investments in securities977 (1,260)(119)
Comprehensive income (loss)$23,562 $(121,000)$19,975 
The accompanying notes are an integral part of these consolidated financial statements.
49

Proto Labs, Inc.
Consolidated Statements of Shareholders' Equity
(In thousands, except share amounts)
Common StockAdditional
Paid-In
Capital
Retained
Earnings
Accumulated Other
Comprehensive
Loss
Total
SharesAmount
Balance at December 31, 202026,776,79627 284,848 362,901 (3,420)644,356 
Common shares issued on exercise of options and other, net of shares withheld for tax obligations176,736— 1,637 — — 1,637 
Common shares issued for Hubs acquisition863,9951 166,708 — — 166,709 
Stock-based compensation expense— 19,095 — — 19,095 
Repurchases of Common Stock(351,582)— (3,740)(19,539)— (23,279)
Net income— 33,372 — 33,372 
Other comprehensive income
Foreign currency translation adjustment— — (13,278)(13,278)
Net unrealized gains (losses) on investments in securities— — (119)(119)
Comprehensive income    19,975 
Balance at December 31, 202127,465,945$28 $468,548 $376,734 $(16,817)$828,493 
Common shares issued on exercise of options and other, net of shares withheld for tax obligations279,603— 2,269 — — 2,269 
Stock-based compensation expense— 17,545 — — 17,545 
Repurchases of Common Stock(857,123)(1)(14,622)(15,036)— (29,659)
Net loss— (103,462)— (103,462)
Other comprehensive loss
Foreign currency translation adjustment— — (16,278)(16,278)
Net unrealized gains (losses) on investments in securities— — (1,260)(1,260)
Comprehensive loss    (121,000)
Balance at December 31, 202226,888,425$27 $473,740 $258,236 $(34,355)$697,648 
Common shares issued on exercise of options and other, net of shares withheld for tax obligations266,453— 2,399 — — 2,399 
Stock-based compensation expense— 15,989 — — 15,989 
Repurchases of Common Stock(1,432,921)(1)(25,244)(19,058)— (44,303)
Net income— 17,220 — 17,220 
Other comprehensive loss
Foreign currency translation adjustment— — 5,365 5,365 
Net unrealized gains (losses) on investments in securities— — 977 977 
Comprehensive income23,562 
Balance at December 31, 202325,721,957$26 $466,884 $256,398 $(28,013)$695,295 
The accompanying notes are an integral part of these consolidated financial statements.
50

Proto Labs, Inc.
Consolidated Statements of Cash Flows
(In thousands)
Year Ended December 31,
202320222021
Operating activities
Net income (loss)$17,220 $(103,462)$33,372 
Adjustments to reconcile net income (loss) to net cash provided by operating activities:
Depreciation and amortization37,528 39,425 40,488 
Stock-based compensation expense15,989 17,545 19,095 
Deferred taxes(7,656)(9,499)339 
Interest on finance lease obligations1,055   
Changes in fair value of contingent consideration  (13,253)
Loss on impairment of goodwill 118,008  
Loss on foreign currency translation3,906   
Impairments related to closure of Japan business 2,842  
Gain on disposal of property and equipment(498)(1,211) 
Other154 35 842 
Changes in operating assets and liabilities, net of acquisitions:
Accounts receivable2,727 1,632 (20,112)
Inventories112 (310)(2,390)
Prepaid expenses and other4,203 (2,081)64 
Income taxes1,823 (2,681)(774)
Accounts payable(1,838)1,375 4,654 
Accrued liabilities and other(1,451)461 (7,083)
Net cash provided by operating activities73,274 62,079 55,242 
Investing activities
Purchases of property, equipment and other capital assets(28,116)(21,686)(34,209)
Proceeds from sales of property, equipment and other capital assets699 4,108  
Cash used for acquisitions, net of cash acquired  (127,413)
Purchases of other assets and investments(1,000)  
Purchases of marketable securities (46,872)(16,159)
Proceeds from sales of marketable securities 1,998 64,913 
Proceeds from maturities of marketable securities23,865 19,360 18,204 
Net cash used in investing activities(4,552)(43,092)(94,664)
Financing activities
Proceeds from issuance of common stock from equity plans3,835 3,950 5,862 
Purchases of shares withheld for tax obligations(1,436)(1,682)(4,225)
Repurchases of common stock and other(43,951)(29,659)(23,279)
Principal repayments of finance lease obligations(306)(531)(552)
Other  (4)
Net cash used in financing activities(41,858)(27,922)(22,198)
Effect of exchange rate changes on cash and cash equivalents368 (436)(54)
Net (decrease) increase in cash and cash equivalents27,232 (9,371)(61,674)
Cash and cash equivalents, beginning of period56,558 65,929 127,603 
Cash and cash equivalents, end of period$83,790 $56,558 $65,929 
Supplemental cash flow disclosure
Cash paid for interest$1,055 $101 $28 
Cash paid for taxes$15,892 $19,160 $7,583 
The accompanying notes are an integral part of these consolidated financial statements.
51

Proto Labs, Inc.
Notes to Consolidated Financial Statements
Note 1 — Nature of Business
Organization and business
Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is a digital manufacturer of parts. The Company utilizes injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for its customers. The Company's customers conduct nearly all their business over the internet. The Company targets its products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets, to the procurement and supply chain professionals seeking to easily and efficiently source custom parts on-demand, and to a wide variety of customers seeking to purchase low-volume custom parts. The Company has established operations in the United States and Europe. Previously we had established operations in Japan. On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. The Company dissolved its Japan operations in December 2023. Through the acquisition of Hubs in 2021, the Company provides its customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing its in-house manufacturing. Proto Labs, Inc. is headquartered in Maple Plain, Minnesota. The Company’s subsidiaries are:
NameLocation
PL-US International LLCUnited States
Hubs Manufacturing Inc.United States
3D Hubs Manufacturing LLCUnited States
Proto Labs Ltd.United Kingdom
PL International Holdings, UK, Ltd.United Kingdom
PL Euro Services LimitedUnited Kingdom
Proto Labs GmbHGermany
Proto Labs Tooling GmbHGermany
3D Hubs B.V.Netherlands
Note 2 — Summary of Significant Accounting Policies
Principles of consolidation
The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.
Comprehensive (loss) income
Components of comprehensive (loss) income include net income (loss), foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive (loss) income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.
Accounting estimates
The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts
52

of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.
Cash and cash equivalents
Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.
Marketable securities
Marketable securities are categorized as available-for-sale and are recorded at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.
Accounts receivable and allowance for doubtful accounts
Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.
Inventory
Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.
Property, equipment and leasehold improvements
Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.
The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software.
Goodwill
The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States and Europe. Goodwill is not amortized.
Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including
53

goodwill, is less than its carrying amount. In applying the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. As a result of the fiscal year 2022 analysis, which used the quantitative assessment, a $118.0 million impairment related to the Europe reporting unit was identified, which represents a write-off of all Europe goodwill, and recorded during the year ended December 31, 2022. As a result of the fiscal year 2023 analysis, which used the qualitative assessment, there were no impairments recorded during the year ended December 31, 2023.
Other Intangible Assets
Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.
Accounting for long-lived assets
The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.
Revenue recognition
The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.
Leases
The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current
54

operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.
The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment and manufacturing facilities. The leases have remaining lease terms of one year to nine years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of December 31, 2023, the operating lease liability does not include any options to extend or terminate leases.
Income taxes
The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that are not at a level of more likely than not to be recognized.
ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.
Stock-based compensation
The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.
In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.
Advertising costs
Advertising is expensed as incurred and was approximately $13.8 million, $13.2 million and $12.5 million for the years ended December 31, 2023, 2022 and 2021, respectively.
55

Research and development
Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software. Research and development costs were approximately $40.1 million, $38.2 million and $44.2 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Foreign currency translation/transactions
The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.
Recently adopted accounting pronouncements
The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements. There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.
Note 3 – Revenue
The Company accounts for revenue in accordance with ASC 606, Revenue from Contracts with Customers. The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC 606. The majority of the Company’s CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.
The Company manufactures parts that have no alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The value of unbilled receivables related to the performance on manufactured parts not yet completed as of December 31, 2023 and 2022 was $10.1 million and $8.5 million, respectively, recorded within accounts receivable, net of allowance for doubtful accounts.
56

Revenue by geographic region for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Revenue by product line for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
Injection Molding$203,941 $200,578 $226,117 
CNC Machining198,222 188,372 166,811 
3D Printing84,291 78,988 72,721 
Sheet Metal16,540 19,498 20,397 
Other Revenue883 962 2,052 
Total revenue$503,877 $488,398 $488,098 
The Company generally expenses sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of one year or less as of December 31, 2023 and 2022 was $9.8 million and $10.9 million, respectively.
Note 4 – Net Income (Loss) Per Common Share
Basic net income (loss) per share is computed based on the weighted average number of common shares outstanding. Diluted net income (loss) per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the years ended December 31, 2023, 2022 and 2021 respectively, 263,992, 197,827 and 113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding.
57

The following table presents the calculation of net income (loss) per basic and diluted share attributable to common shareholders:
Year Ended December 31,
(in thousands, except share and per share amounts)202320222021
Net income (loss)$17,220 $(103,462)$33,372 
   
Basic - weighted-average shares outstanding:26,186,53327,409,83827,617,627
Effect of dilutive securities:   
Employee stock options and other36,96535,472
Diluted - weighted-average shares outstanding:26,223,49827,409,83827,653,099
Net income (loss) per share attributable to common shareholders:   
Basic$0.66 $(3.77)$1.21 
Diluted$0.66 $(3.77)$1.21 
Note 5 – Goodwill and Other Intangible Assets
The changes in the carrying amount of goodwill for the years ended December 31, 2023 and 2022 were as follows:
(in thousands)Dec. 31, 2021Goodwill acquired (impaired) during
2022
Foreign currency translation
adjustments during
2022
Dec. 31, 2022Goodwill acquired (impaired)
during 2023
Foreign currency translation
adjustments during
2023
 Dec. 31, 2023
United States$273,991 $ $ $273,991 $ $ $273,991 
Europe125,989 (118,008)(7,981)    
Japan630 (630)     
Total goodwill$400,610 $(118,638)$(7,981)$273,991 $ $ $273,991 
On January 22, 2021, the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The fair value of the consideration paid for this acquisition had been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill. The $280.9 million of goodwill associated with the acquisition represented both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes.
Goodwill decreased $126.6 million for the year ended December 31, 2022 as a result of impairments related to our Europe and Japan reporting units. The Euro denominated goodwill had been translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that was recorded as a component of Other Comprehensive Income.
58

Intangible assets other than goodwill for the years ended December 31, 2023 and 2022 were as follows:
Year Ended December 31, 2023Year Ended December 31, 2022Weighted Average
Useful Life
(in thousands)GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
NetUseful Life (in
years)
Remaining (in years)
Marketing assets$930 $(900)$30 $930 $(806)$124 10.00.3
Non-compete agreement835 (603)232 828 (487)341 
2.0 - 5.0
1.4
Software technology13,229 (7,752)5,477 13,229 (6,383)6,846 10.04.0
Software platform26,373 (6,575)19,798 26,054 (4,337)21,717 12.09.1
Tradenames354 (347)7 350 (227)123 3.00.1
Customer relationships12,223 (12,183)40 12,197 (10,098)2,099 
3.0 - 9.0
0.1
Total intangible assets$53,944 $(28,360)$25,584 $53,588 $(22,338)$31,250  
Amortization expense for intangible assets for the years ended December 31, 2023, 2022 and 2021 was $5.9 million, $6.0 million and $6.2 million, respectively. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. For the years ended December 31, 2023, 2022 and 2021 the foreign currency translation adjustment was $1.3 million, $1.7 million and $0.9 million, respectively.
Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:
(in thousands)Estimated Amortization
Expense
2024$3,741 
20253,660 
20263,558 
20273,549 
20282,180 
Thereafter8,896 
Total estimated amortization expense$25,584 
Note 6 – Fair Value Measurements
ASC 820, Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy which requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:
Level 1—Quoted prices in active markets for identical assets or liabilities.
Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
59

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.
The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).
The following tables summarizes financial assets as of December 31, 2023 and 2022 measured at fair value on a recurring basis:
December 31, 2023December 31, 2022
(in thousands)Level 1Level 2Level 3Level 1Level 2Level 3
Financial Assets:
Cash and cash equivalents, excluding money market mutual fund$77,423 $ $ $38,862 $ $ 
Money market mutual fund6,367   17,696 $ $ 
Marketable securities4,482 22,550  9,881 40,106  
Total$88,272 $22,550 $ $66,439 $40,106 $ 
Note 7 – Marketable Securities
The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. As of December 31, 2023 and 2022, the securities are categorized as available-for-sale and are recorded at fair value.
Information regarding the Company’s short-term and long-term marketable securities as of December 31, 2023 and 2022 is as follows:
December 31, 2023
(in thousands)Amortized CostUnrealized GainsUnrealized LossesFair Value
U.S. government agency securities$16,798  $(278)$16,520 
Corporate debt securities2,511  (19)2,492 
U.S. municipal securities7,876  (105)7,771 
Certificates of deposit/time deposits249   249 
Total marketable securities$27,434 $ $(402)$27,032 
60

December 31, 2022
(in thousands)Amortized CostUnrealized GainsUnrealized LossesFair Value
U.S. government agency securities$25,275  $(750)$24,525 
Corporate debt securities9,578  (205)9,373 
U.S. municipal securities15,574  (417)15,157 
Certificates of deposit/time deposits939  (7)932 
Total marketable securities$51,366 $ $(1,379)$49,987 
Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. government agency securities, U.S. municipal securities, commercial paper and certificates of deposit are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).
Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.
The December 31, 2023 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.
(in thousands)December 31,
2023
Due in one year or less$19,013 
Due after one year through five years8,019 
Total marketable securities$27,032 
Note 8 – Property and Equipment
Property and equipment consists of the following:
December 31,
(in thousands)20232022
Land$15,596 $14,153 
Buildings and improvements133,033 105,492 
Machinery and equipment235,527 228,654 
Computer hardware and software86,659 82,302 
Leasehold improvements4,609 4,548 
Construction in progress8,410 22,674 
Total483,834 457,823 
Accumulated depreciation and amortization(230,179)(200,038)
Property and equipment, net$253,655 $257,785 
61

Depreciation expense for the years ended December 31, 2023, 2022 and 2021 was $31.6 million, $33.4 million and $34.3 million, respectively.
Note 9 – Inventory
Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.
The Company’s inventory consists of the following:
December 31,
(in thousands)20232022
Total inventory$14,319 $13,965 
Allowance for obsolescence(662)(387)
Inventory, net of allowance$13,657 $13,578 
Note 10 – Financing Obligations
The Company had no financing obligations as of December 31, 2023 and 2022.
Note 11 – Employee Benefit Plans
The Company maintains a 401(k) retirement plan that covers employees in the United States. Under the plan, a full-time or regular part-time (over 20 hours/week) employee becomes a participant after completing three months of employment. Employees may elect to contribute up to 50 percent of regular gross pay, subject to federal law limits on the dollar amount that participants may contribute to the plan, each calendar year. The Company matches part of the employee contributions and may make a discretionary contribution to the plan. Total employer contributions were approximately $4.6 million, $3.9 million and $3.7 million for the years ended December 31, 2023, 2022 and 2021, respectively.
The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.5 million, $0.5 million and $0.4 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Note 12 – Stock-Based Compensation
Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company had the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards through February 23, 2022. On July 8, 2022, the board of directors approved the Proto Labs, Inc. 2022 Long-Term Incentive Plan, which was approved by the Company's shareholders at a Special Meeting of Shareholders on August 29, 2022, and subsequently amended and restated by the Company's shareholders at the Annual Meeting of Shareholders on May 17, 2023 (as amended, the "2022 Plan"). No awards were granted from February 23, 2022 to August 29, 2022. Awards outstanding under the 2012 Plan as of August 29, 2022 will continue to be subject to the terms of the 2012 Plan, but if those awards subsequently expire, are forfeited or cancelled or are settled in cash, the shares subject to those awards will become available for awards under the 2022 Plan. Under the 2022 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2022 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and
62

SARs granted under the 2022 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.
The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period, and at the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period. The Company determines the fair value stock-based compensation related to its ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.
Employees purchased 171,991 and 142,982 shares of common stock under the ESPP at an average exercise price of $22.30 and $27.09 during 2023 and 2022, respectively. As of December 31, 2023, 743,893 shares remained available for future issuance under the ESPP.
The Company determines its stock-based compensation in accordance with ASC 718, which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on fair value.
Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility.
The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid, and does not anticipate paying, any cash dividends in the foreseeable future and, therefore, the Company uses an expected dividend yield of zero in the option pricing model. The Company accounts for forfeitures as they occur. The Company recognizes stock-based compensation expense on a straight-line basis over the requisite service period.
The following table summarizes stock-based compensation expense for the years ended December 31, 2023, 2022 and 2021, respectively:
Year Ended December 31,
(in thousands)202320222021
Stock options and other$14,550 $16,103 $17,553 
Employee stock purchase plan1,439 1,442 1,542 
Total stock-based compensation expense$15,989 $17,545 $19,095 
Cost of revenue$1,840 $2,172 $2,595 
Operating expenses:
Marketing and sales3,426 3,295 3,736 
Research and development2,556 2,189 2,833 
General and administrative8,167 9,889 9,931 
Total stock-based compensation expense$15,989 $17,545 $19,095 
63

Stock Options
The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
202320222021
Risk-free interest rate
3.55 - 4.55%
1.94 - 3.40%
0.80 - 1.12%
Expected life (years)
2 - 6.25
6.256.25
Expected volatility
49.23 - 55.92%
45.95 - 46.03%
45.28 - 45.53%
Expected dividend yield0%0%0%
Weighted average grant date fair value$16.36$23.11$128.14
The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2023, 2022 and 2021:
Stock OptionsWeighted-
Average
Exercise Price
Options outstanding at January 1, 2021229,531$86.46 
Granted57,901128.14 
Exercised(28,991)58.78 
Cancelled(25,057)109.31 
Options outstanding at December 31, 2021233,38497.78 
Granted118,43448.24 
Exercised(3,114)30.58 
Cancelled(84,712)89.32 
Options outstanding at December 31, 2022263,99279.07 
Granted186,80433.36 
Exercised 
Cancelled(63,635)62.44 
Expired(15,848)55.67 
Options outstanding at December 31, 2023371,313$59.92 
Exercisable at December 31, 2023116,455$90.65 
The outstanding options have a term of 10 years. For employees, options that have been granted become exercisable ratably over the vesting period, which is generally a four-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.
The total intrinsic value of options exercised during the years ended December 31, 2023, 2022 and 2021, was $0.0 million, $0.0 million and $3.8 million, respectively. The aggregate intrinsic value represents the cumulative difference between the fair market value of the underlying common stock and the option exercise prices.
64

For options outstanding at December 31, 2023, the weighted-average remaining contractual term was 7.2 years and the aggregate intrinsic value was $0.9 million. For options exercisable at December 31, 2023, the weighted-average remaining contractual term was 5.5 years and the aggregate intrinsic value was $0.0 million. Refer to the table below for additional information.
The following table summarizes information about stock options outstanding at December 31, 2023:
Options Outstanding, Vested and Expected to VestOptions Exercisable
Range of Exercise PricesNumber OutstandingWeighted Average
Remaining Contractual
Life
Weighted Average Exercise
Price ($)
Number ExercisableWeighted Average Exercise
Price ($)
$32.13 to $36.48
167,7257.9233.40
$36.49 to $64.92
100,3917.4550.6037,24252.90
$64.93 to $180.46
103,1975.75112.8779,213108.40
The fair value of share-based payment transactions is recognized in the Consolidated Statements of Comprehensive Income. As of December 31, 2023, there was $3.8 million of total unrecognized compensation cost related to unvested stock options, which is expected to be recognized over a weighted average period of 2.5 years. The total fair value of options vested was $1.8 million, $2.3 million and $2.1 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Restricted Stock
The 2012 Plan provides for the award of restricted stock or restricted stock units. Restricted stock awards are share settled and restrictions lapse ratably over the vesting period, which is generally a four-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date.
65

The following table summarizes restricted stock activity for the years ended December 31, 2023, 2022 and 2021:
Restricted
Stock Awards
Weighted-
Average
Grant Date
Fair Value
Per Share
Restricted stock at January 1, 2021307,199$98.87 
Granted205,996123.61 
Restrictions lapsed(115,908)91.26 
Forfeited(53,505)128.05 
Restricted stock at December 31, 2021343,782111.79 
Granted315,43242.03 
Restrictions lapsed(130,452)101.32 
Forfeited(50,166)96.48 
Restricted stock at December 31, 2022478,59670.36 
Granted410,68232.46 
Restrictions lapsed(137,053)79.61 
Forfeited(98,760)61.25 
Restricted stock at December 31, 2023653,465$45.89 
As of December 31, 2023, there was $18.5 million of unrecognized compensation expense related to unvested restricted stock, which is expected to be recognized over a weighted-average period of 2.5 years.
Performance Stock
Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 200 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s outstanding PSUs at December 31, 2023 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.
66

The following table summarizes performance stock activity for the years ended December 31, 2023, 2022 and 2021:
 Performance
Stock Awards
Weighted-
Average
Grant Date
Fair Value
Per Share
Performance stock at January 1, 202119,956$118.66 
Granted15,078203.64 
Restrictions lapsed 
Performance change(10,366)192.95 
Forfeited(7,829)113.91 
Performance stock at December 31, 202116,839115.56 
Granted35,69796.71 
Restrictions lapsed  
Performance change(13,156)99.59 
Forfeited(3,578)121.79 
Performance stock at December 31, 202235,80277.91 
Granted71,29557.79 
Restrictions lapsed
Performance change 
Forfeited 
Performance stock at December 31, 2023107,097$74.08 
As of December 31, 2023, there was $4.1 million of unrecognized compensation expense related to unvested performance stock, which is expected to be recognized over a weighted-average period of 1.8 years.
Employee Stock Purchase Plan
The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
202320222021
Risk-free interest rate
4.60 - 5.16%
0.17 - 4.60%
0.06 - 0.17%
Expected life (months)6.006.006.00
Expected volatility
47.38 - 67.84%
47.05 - 67.84%
53.44 - 65.53%
Expected dividend yield0%0%0%
67

Note 13 – Leases
Supplemental balance sheet information related to leases was as follows:
December 31,
(in thousands)20232022
Operating lease assets$4,628 $3,844 
Current operating lease liabilities$1,585 $1,561 
Long-term operating lease liabilities3,008 2,255 
Total operating lease liabilities$4,593 $3,816 
Finance lease assets$960 $17,532 
Current finance lease liabilities$296 $17,537 
Long-term finance lease liabilities595  
Total finance lease liabilities$891 $17,537 
Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Operating lease cost$1,965 $3,002 
Finance lease cost:
Amortization of right-of-use assets$732 $532 
Interest on lease obligations$1,055 $95 
Variable lease cost371 560 
Total lease cost$4,123 $4,189 
68

Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:
(in thousands)Operating LeasesFinance Leases
Year Ending December 31,
2024$1,622 $329 
20251,428 329 
2026819 292 
2027449 - 
2028397 - 
After 2029111 - 
Total future minimum lease payments4,826 950 
Less interest(233)(59)
Present value of lease liabilities$4,593 $891 
As of December 31, 2023, we have no operating or finance leases that have not yet commenced.
Weighted average remaining lease term and discount rate was as follows:
December 31,
20232022
Weighted Average Remaining Lease Term - operating leases (years)3.62.9
Weighted Average Remaining Lease Term - finance leases (years)2.636.0
Weighted Average Discount Rate - operating leases2.5 %1.6 %
Weighted Average Discount Rate - finance leases4.4 %5.9 %
Supplemental cash flow information related to leases was as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Cash paid for amounts included in the measurement of lease liabilities:
Operating cash flows from operating leases$2,288 $3,778 
Operating cash flows from finance leases$1,055 $95 
Financing cash flows from finance leases$306 $531 
Lease assets obtained in exchange for new operating lease liabilities$2,324 $898 
Lease assets obtained in exchange for new financing lease liabilities$240 $16,167 
69

Note 14 – Accumulated Other Comprehensive Loss
Other comprehensive loss is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. During the year ending December 31, 2023 we recognized a $3.9 million foreign currency translation loss from the completion on the closure of our Japan business.
The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2023, 2022 and 2021, respectively:
Year Ended December 31,
(in thousands)202320222021
Balance at beginning of period$(34,355)$(16,817)$(3,420)
Foreign currency translation adjustments
Other comprehensive income (loss) before reclassifications1,459 (16,278)(13,278)
Amounts reclassified from accumulated other comprehensive income (loss)3,906 - - 
Net current-period other comprehensive income (loss)5,365 (16,278)(13,278)
Net unrealized gains (losses) on investments in securities
Other comprehensive income (loss) before reclassifications977 (1,260)(119)
Amounts reclassified from accumulated other comprehensive income (loss)- - - 
Net current-period other comprehensive income (loss)977 (1,260)(119)
Balance at end of period$(28,013)$(34,355)$(16,817)
Note 15 – Income Taxes
The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended December 31, 2023, 2022 and 2021, the Company recorded an income tax provision of $10.7 million, $5.6 million and $6.8 million, respectively. The effective income tax rate for the years ended December 31, 2023, 2022 and 2021 was 38.4 percent, (5.7) percent and 17.0 percent, respectively.
The effective tax rate increased by 44.1% for the year ended December 31, 2023 when compared to 2022 primarily due to the tax rate impact of the goodwill impairment recorded during the year ended December 31, 2022 as well as the overall change from a loss to income position in 2023.
The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:
Year Ended December 31,
(in thousands)202320222021
Domestic$38,099 $33,731 $42,449 
Foreign(10,147)(131,608)(2,265)
Total$27,952 $(97,877)$40,184 
70

Significant components of the provision for income taxes for the following periods are as follows:
Year Ended December 31,
(in thousands)202320222021
Current:
Federal$15,717 $15,366 $5,552 
State2,418 (393)975 
Foreign34 (99)(64)
Deferred
Federal(8,202)(9,159)(377)
State(385)(723)(814)
Foreign1,379 (4,641)(1,181)
Valuation Allowance(229)5,234 2,721 
Total$10,732 $5,585 $6,812 
A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:
Year Ended December 31,
202320222021
Federal tax statutory rate21.0 %21.0 %21.0 %
State tax (net of federal benefit)3.5 (0.8)2.1 
Share based compensation6.0 (2.1)(2.3)
Valuation allowance against deferred tax assets(2.4)(5.0)8.9 
Goodwill impairment (24.4) 
Contingent consideration reduction  (7.0)
Research and development credit(3.8)1.2 (4.0)
Foreign rate differential(1.6)2.9 (2.2)
Tax reserves1.9 1.0 (1.0)
Provision to return difference(0.2) (0.7)
Unrealized foreign exchange losses2.9   
Revaluation of deferred tax liability1.1   
Closure of Japan branch net operating loss reversal11.1   
Miscellaneous(1.1)0.5 2.2 
Total38.4 %(5.7 %)17.0 %
71

Significant components of deferred tax assets and liabilities are as follows:
December 31,
(in thousands)20232022
Deferred tax assets:
Accrued expenses$2,155 $2,254 
Section 174 expenses13,084 8,119 
Leases1,186 4,822 
Warrants and stock options4,588 4,087 
Inventories275 198 
Research and development credit2,327 2,374 
Other assets1,094 838 
Net operating loss16,237 16,586 
Less valuation allowance(17,667)(17,562)
Total deferred tax assets23,279 21,716 
Deferred tax liabilities:  
Depreciation(25,552)(29,397)
Goodwill(12,921)(10,716)
Intangible assets(2,362)(3,103)
Leases(1,186)(4,822)
Total deferred tax liabilities(42,021)(48,038)
Net deferred tax liability$(18,742)$(26,322)
The Company has recorded no U.S. deferred taxes related to the undistributed earnings of its non-U.S. subsidiaries as of December 31, 2023. Such amounts are intended to be reinvested outside of the United States indefinitely. It is not practicable to estimate the amount of additional tax that might be payable on the foreign earnings. As of December 31, 2023, the Company had accumulated undistributed earnings in non-U.S. subsidiaries of $3.4 million.
As of December 31, 2023, the Company had estimated net operating loss carry forwards of $16.2 million for tax purposes. The net operating losses relate to operations in Germany and Netherlands. Germany net operating losses may be carried forward without any time limitations but are limited to €1 million, plus 60 percent of taxable income exceeding €1 million. Netherlands net operating losses may be carried forward without any time limitations, but are limited to €1 million, plus 50 percent of taxable income exceeding €1 million.
The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than-not that a portion of the deferred tax assets will not be realized. The Company's valuation allowances of $17.7 million and $17.6 million at December 31, 2023 and 2022, respectively, reduce the carrying value of deferred tax assets associated with certain net operating loss carry forwards and other assets with insufficient positive evidence for recognition. The increase in the valuation allowance is primarily attributable to additional net operating losses generated in 2023.
The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is no longer subject to U.S. federal, state, or foreign income tax examinations by tax authorities for years before 2019.
The Company has liabilities related to unrecognized tax benefits totaling $3.6 million and $3.2 million at December 31, 2023 and 2022, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate.
72

A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:
Year Ended December 31,
20232022
Balance at beginning of period$3,236 $4,364 
Additions for tax positions of current year632 634 
Additions for tax positions of prior years86 23 
Decrease related to the expiration of statutes of limitations(338) 
Reduction for tax positions of prior years (1,785)
Balance at period end$3,616 $3,236 
Note 16 – Litigation
From time to time, the Company may be subject to various legal proceedings and claims that arise in the ordinary course of its business. Although the results of litigation and claims cannot be predicted with certainty, the Company does not believe it is a party to any litigation the outcome of which, if determined adversely, would individually or in the aggregate be reasonably expected to have a material adverse effect on its business.
Note 17 – Segment Reporting
The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does not allocate directly to its operating segments.
Revenue in the United States and Europe is derived primarily from Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Revenue in Japan was derived from Injection Molding and CNC Machining product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined and lathe-turned customer parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal parts.
The accounting policies of the reportable segments are the same as those described in Note 2 – Summary of Significant Accounting Policies. Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income (loss) from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments.
73

Revenue and income from operations by reportable segment are as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Year Ended December 31,
(in thousands)202320222021
Income (Loss) from Operations:
United States$94,682 $93,176 $98,001 
Europe(12,528)(130,386)730 
Corporate Unallocated and Japan(53,987)(60,773)(58,389)
Total income (loss) from operations$28,167 $(97,983)$40,342 
Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:
(in thousands)December 31,
2023
December 31,
2022
December 31,
2021
Long-lived assets:
United States$201,388 $203,816 $215,701 
Europe52,267 53,835 59,388 
Japan 134 5,257 
Total long-lived assets$253,655 $257,785 $280,346 
Year Ended December 31,
(in thousands)202320222021
Expenditures for additions to long-lived assets:
United States$24,553 $17,538 $26,698 
Europe3,563 4,137 7,378 
Japan 11 133 
Total expenditures for additions to long-lived assets$28,116 $21,686 $34,209 
74

Year Ended December 31,
(in thousands)202320222021
Depreciation and Amortization:
United States$30,667 $31,666 $31,642 
Europe6,861 6,770 7,101 
Japan 989 1,745 
Total depreciation and amortization$37,528 $39,425 $40,488 
Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure
Not applicable.
Item 9A. Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) under the Securities Exchange Act of 1934 (Exchange Act)) as of the end of the period covered by this report. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of the period covered by this Annual Report on Form 10-K, our disclosure controls and procedures were effective and provided reasonable assurance that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported accurately and within the timeframes specified in the SEC’s rules and forms and accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.
Management’s Annual Report on Internal Control Over Financial Reporting
The Company’s management is responsible for establishing and maintaining an adequate system of internal control over financial reporting, as defined in the Exchange Act Rule 13a-15(f). Management conducted an assessment of the Company’s internal control over financial reporting based on the framework established by the Committee of Sponsoring Organizations of the Treadway Commission in Internal Control – Integrated Framework (2013 framework). Based on the assessment, management concluded that, as of December 31, 2023, the Company’s internal control over financial reporting is effective. The Company’s registered public accounting firm’s attestation report on the Company’s internal control over financial reporting is provided in Part II, Item 8 of this Annual Report on Form 10-K.
Changes in Internal Control over Financial Reporting
There have been no changes in our internal control over financial reporting (as such term is defined in Rule 13a-15(f) under the Exchange Act) during the period covered by this report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
Item 9B. Other Information
During the three months ended December 31, 2023, none of our directors or officers (as defined in Rule 16a-1(f) of the Exchange Act) adopted, modified or terminated any contract, instruction or written plan for the purchase or sale of our securities that was intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) of the Exchange Act or any non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation S-K).
Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections
None.
75

PART III
Item 10. Directors, Executive Officers and Corporate Governance
The information required by this item with respect to Item 401 relating to executive officers is contained in Part I, Item 1 of this Annual Report on Form 10-K under the heading “Executive Officers of the Registrant” and with respect to other information relating to our directors will be set forth in our 2024 Proxy Statement under the caption “Proposal 1 — Election of Directors,” which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K, and is incorporated herein by reference.
The information required by this item under Item 405 of Regulation S-K is incorporated herein by reference to the section titled “Corporate Governance — Section 16(a) Beneficial Ownership Reporting Compliance” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K. The information required by this item under Items 407 (c)(3), (d)(4) and (d)(5) and Item 408(b) of Regulation S-K is incorporated herein by reference to the section titled “Corporate Governance” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.
We have adopted a Code of Ethics and Business Conduct that applies to all of our directors, officers and employees, including our principal executive officer and principal financial officer. The Code of Ethics and Business Conduct is available on our website at www.protolabs.com under the Investors Relations section. We plan to post to our website at the address described above any future amendments or waivers of our Code of Ethics and Business Conduct.
Item 11. Executive Compensation
Information related to this item is incorporated herein by reference to the sections titled “Compensation Discussion and Analysis,” “Corporate Governance — Compensation Committee Interlocks and Insider Participation,” and “Compensation Committee Report” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.
Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Shareholder Matters
Information related to security ownership required by this item is incorporated herein by reference to the section titled “Security Ownership of Certain Beneficial Owners and Management” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K. Information related to our equity compensation plans required by this item is incorporated herein by reference to the section titled “Compensation Discussion and Analysis – Elements of Executive Compensation” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.
76

Outstanding Equity Awards
The following table summarizes, as of December 31, 2023, information about shares of our common stock that may be issued under equity compensation plans approved by shareholders and plans not approved by shareholders:
Plan CategoryNumber of shares to be issued upon exercise of
outstanding options, warrants and rights
Weighted-average exercise price of outstanding
options, warrants and rights
Number of shares remaining available for future
issuance under equity compensation plans
(excluding shares in first column)
Equity compensation plans approved by shareholders(1)1,131,875$59.921,689,082(2)
Equity compensation plans not approved by shareholdersNoneN/ANone
(1)Includes the 2012 Long-Term Incentive Plan, the 2022 Long-Term Incentive Plan, as amended, and our Employee Stock Purchase Plan.
(2)Includes 743,893 shares remaining available for issuance as of December 31, 2023 under our Employee Stock Purchase Plan.
Item 13. Certain Relationships and Related Transactions, and Director Independence
Information required by this item is incorporated herein by reference to the sections titled “Corporate Governance — Certain Relationships and Related Party Transactions,” and “Corporate Governance — Director Independence” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.
Item 14. Principal Accountant Fees and Services
Information required by this item is incorporated herein by reference to the section titled “Fees Paid to Independent Registered Public Accounting Firm” of our 2024 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.
77

PART IV
Item 15. Exhibits and Financial Statement Schedules
(a)The following documents are filed as part of this report:
1.Consolidated Financial Statements
See Index to Consolidated Financial Statement at Item 8 herein.
2.Financial Statement Schedules
Schedules not listed above have been omitted because the information required to be set forth therein is not applicable or is shown in the financial statement or notes herein.
3.Exhibits
See the Exhibit Index immediately following the signature page of this Annual Report on Form 10-K.
Exhibit NumberDescription of Exhibit
3.1
3.2
3.3
4.1
4.2
10.1#
10.2#
10.3#
10.4#
10.5#
10.6#
10.7#
10.8#
10.9#
78

10.10#
10.11#
10.12#
10.13#
10.14#
10.15#
10.16
10.17#
10.18#
10.19#
10.20#
10.21#
10.22#
10.23#
10.24#
10.25#
10.26#
10.27#
10.28#
10.29#
10.30#
21.1
79

23.1
24.1
31.1
31.2
32.1*
97
101.INS**XBRL Instance Document- the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.
101.SCH**Inline XBRL Taxonomy Extension Schema Document
101.CAL**Inline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEF**Inline XBRL Taxonomy Extension Definition Linkbase Document
101.LAB**Inline XBRL Taxonomy Extension Label Linkbase Document
101.PRE**Inline XBRL Taxonomy Extension Presentation Linkbase Document
104Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101
#    Indicates management contract or compensatory plan or arrangement.
*The certifications furnished in Exhibit 32.1 hereto are deemed to accompany this Annual Report on Form 10-K and will not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended. Such certifications will not be deemed to be incorporated by reference into any filings under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended, except to the extent that the registrant specifically incorporates it by reference.
**Users of this data are advised that, pursuant to Rule 406T of Regulation S-T, these interactive data files are deemed not filed or part of a registration statement or prospectus for purposes of Sections 11 or 12 of the Securities Act of 1933 or Section 18 of the Securities Exchange Act of 1934 and otherwise are not subject to liability under these sections.
80

SIGNATURE
Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
Proto Labs, Inc.
Date: February 16, 2024
/s/ Robert Bodor
Robert Bodor
President and Chief Executive Officer
(Principal Executive Officer)
Date: February 16, 2024
/s/ Daniel Schumacher
Daniel Schumacher
Chief Financial Officer
(Principal Financial and Accounting Officer)
Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant in the capacities and on the dates indicated.
Date: February 16, 2024
/s/ Robert Bodor
Robert Bodor
President and Chief Executive Officer and Director
(Principal Executive Officer)
Date: February 16, 2024
/s/ Daniel Schumacher
Daniel Schumacher
Chief Financial Officer
(Principal Financial and Accounting Officer)
Chairman of the Board of Directors:
Rainer Gawlick*
Directors:
Archie C. Black*
Sujeet Chand*
Moonhie Chin*
Stacy Greiner*
Donald G. Krantz*
Sven A. Wehrwein*
*Robert Bodor, by signing his name hereto, does hereby sign this document on behalf of each of the above named officers and directors of the registrant pursuant to powers of attorney duly executed by such persons and filed as an exhibit hereto.
Date: February 16, 2024
/s/ Robert Bodor
Robert Bodor
President and Chief Executive Officer
(Principal Executive Officer)
81
EX-21.1 2 prlb-20231231xex211.htm EX-21.1 Document
Exhibit 21.1
SUBSIDIARIES OF THE REGISTRANT

All of the Company’s subsidiaries listed below are wholly owned.


Name
Jurisdiction of Incorporation or Organization
PL-US International LLCUnited States
Hubs Manufacturing Inc.United States
3D Hubs Manufacturing LLCUnited States
Proto Labs Ltd.United Kingdom
PL International Holdings, UK, Ltd.United Kingdom
PL Euro Services LimitedUnited Kingdom
Proto Labs GmbHGermany
Proto Labs Tooling GmbHGermany
3D Hubs B.V.Netherlands

EX-23.1 3 prlb-20231231xex231.htm EX-23.1 Document
Exhibit 23.1
Consent of Independent Registered Public Accounting Firm

We consent to the incorporation by reference in the Registration Statements on Form S-8 (Nos. 333-179651, 333-194272, 333-202486, 333-267156, and 333-273705) pertaining to the 2022 Long-Term Incentive Plan, 2012 Long-Term Incentive Plan, Employee Stock Purchase Plan, 2000 Stock Option Plan, and Stock Subscription Warrant of Proto Labs, Inc. and the Registration Statement on Form S-3 (No. 333-253112) of Proto Labs, Inc. of our reports dated February 16, 2024, with respect to the consolidated financial statements of Proto Labs, Inc., and the effectiveness of internal control over financial reporting of Proto Labs, Inc., included in this Annual Report (Form 10-K) for the year ended December 31, 2023.

/s/ Ernst & Young LLP

Minneapolis, Minnesota
February 16, 2024


EX-24.1 4 prlb-20231231xex241.htm EX-24.1 Document
Exhibit 24.1
PROTO LABS, INC.
POWER OF ATTORNEY OF DIRECTOR AND/OR OFFICER

Each of the undersigned directors and/or officers of Proto Labs, Inc., a Minnesota corporation (the “Company”), does hereby make, constitute and appoint Robert Bodor and Daniel Schumacher, and each of them, either of whom may act without the joinder of the other, the undersigned’s true and lawful attorney-in-fact and agent, with full power of substitution, for the undersigned and in the undersigned’s name, place and stead, to sign on his or her behalf, individually and in the capacities stated below, the Annual Report on Form 10-K for the year ended December 31, 2023 under the Securities Exchange Act of 1934, as amended, with any amendment or amendments thereto, with all exhibits thereto and other supporting documents, with the U.S. Securities and Exchange Commission, granting unto said attorneys-in-fact, and each of them, full power and authority to do and perform any and all acts necessary or incidental to the performance and execution of the powers herein expressly granted.

IN WITNESS WHEREOF, each of the undersigned directors and/or officers of Proto Labs, Inc. has hereunto set his or her hand this 13th day of February, 2024.

/s/ Rainer Gawlick
Chairman
Rainer Gawlick
/s/ Robert BodorPresident, Chief Executive Officer and Director
Robert Bodor
/s/ Daniel SchumacherChief Financial Officer
Daniel Schumacher
/s/ Archie C. BlackDirector
Archie C. Black
/s/ Sven WehrweinDirector
Sven Wehrwein
/s/ Stacy GreinerDirector
Stacy Greiner
/s/ Donald G. KrantzDirector
Donald G. Krantz
/s/ Sujeet ChandDirector
Sujeet Chand
/s/ Moonhie Chin    
Director
Moonhie Chin


EX-31.1 5 prlb-20231231xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF
THE SECURITIES EXCHANGE ACT OF 1934,
AS ADOPTED PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Robert Bodor, certify that:
1.I have reviewed this Annual Report on Form 10-K of Proto Labs, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date: February 16, 2024
By:/s/ Robert Bodor
Robert Bodor
President and Chief Executive Officer
(Principal Executive Officer)

EX-31.2 6 prlb-20231231xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF
THE SECURITIES EXCHANGE ACT OF 1934,
AS ADOPTED PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Daniel Schumacher, certify that:
1.I have reviewed this Annual Report on Form 10-K of Proto Labs, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date: February 16, 2024
By:/s/ Daniel Schumacher
Daniel Schumacher
Chief Financial Officer
(Principal Financial Officer)

EX-32.1 7 prlb-20231231xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Robert Bodor, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Annual Report of Proto Labs, Inc. on Form 10-K for the fiscal year ended December 31, 2023 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Annual Report on Form 10-K fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.
Date: February 16, 2024
By:/s/ Robert Bodor
Name:Robert Bodor
Title:President and Chief Executive Officer
I, Daniel Schumacher, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Annual Report of Proto Labs, Inc. on Form 10-K for the fiscal year ended December 31, 2023 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Annual Report on Form 10-K fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.
Date: February 16, 2024
By:/s/ Daniel Schumacher
Name:Daniel Schumacher
Title:Chief Financial Officer

EX-97 8 prlb-20231231xex97.htm EX-97 Document
Exhibit 97
PROTO LABS, INC.
REQUIRED COMPENSATION RECOVERY POLICY

Adopted November 14, 2023

Policy
The Compensation and Talent Committee of the Board of Directors (the “Committee”) of Proto Labs, Inc. has adopted this Required Compensation Recovery Policy (this “Policy”) pursuant to Rule 10D-1 of the Securities and Exchange Act of 1934, as amended (the “Exchange Act”), the Securities and Exchange Commission (“SEC”) regulations promulgated thereunder, and applicable New York Stock Exchange (“NYSE”) listing standards. Subject to and in accordance with the terms of this Policy, upon a Recoupment Event, each Covered Executive shall be obligated to return to the Company, reasonably promptly, the amount of Erroneously Awarded Compensation that was received by such Covered Executive during the Lookback Period.
Administration
This Policy will be administered by the Committee. Any determinations made by the Committee will be final and binding on all affected individuals.
Definitions
Accounting Restatement” means an accounting restatement due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements that (a) is material to the previously issued financial statements (commonly referred to as a “Big R” restatement) or (b) would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period (commonly referred to as a “little r” restatement).
Covered Executive” means Company’s current and former Section 16 Officers.
Erroneously Awarded Compensation” means, with respect to each Covered Executive in connection with an Accounting Restatement, the excess of the amount of Incentive-Based Compensation received by the Covered Executive during the Lookback Period over the amount of Incentive-Based Compensation that otherwise would have been received had it been determined based on the restated amounts, computed without regard to any taxes paid. For Incentive-Based Compensation based on stock price or total shareholder return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement: (a) the amount must be based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was received; and (b) the Company must maintain documentation of the determination of that reasonable estimate and provide such documentation to NYSE.
Financial Reporting Measures” are any measures that are determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements, and any measures derived wholly or in part from such measures. Stock price and total shareholder return are also Financial Reporting Measures. A Financial Reporting Measure need not be presented within the financial statements or included in a filing with the SEC.
Incentive-Based Compensation” is any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure.
Lookback Period” means the three completed fiscal years immediately preceding the Required Restatement Date and any transition period (that results from a change in the Company’s fiscal year) of less than nine months within or immediately following those three completed fiscal years.
A “Recoupment Event” occurs when the Company is required to prepare an Accounting Restatement.
US.359991650.01



Required Restatement Date” means the earlier to occur of: (x) the date the Company’s Board, a committee of the Board, or the officer(s) of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement, or (y) the date a court, regulator, or other legally authorized body directs the Company to prepare an Accounting Restatement.
Section 16 Officer” is defined as an “officer” of the Company within the meaning of Rule 16a-1(f) of the Exchange Act.
Section 409A” means Section 409A of the Internal Revenue Code and the regulations and guidance promulgated thereunder.
Amount Subject to Recovery
The Incentive-Based Compensation that is subject to recovery under this Policy includes such compensation that is received by a Covered Executive (i) on or after October 2, 2023 (even if such Incentive-Based Compensation was approved, awarded or granted prior to this date), (ii) after the individual began service as a Covered Executive, (iii) if the individual served as a Section 16 Officer at any time during the performance period for such Incentive-Based Compensation, and (iv) while the Company has a class of securities listed on a national securities exchange or national securities association.
The amount of Incentive-Based Compensation subject to recovery from a Covered Executive upon a Recoupment Event is the Erroneously Awarded Compensation, which amount shall be determined by the Committee.
For purposes of this Policy, Incentive-Based Compensation is deemed “received” in the Company’s fiscal period during which the Financial Reporting Measure specified in the Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period.
Recovery of Erroneously Awarded Compensation
Promptly following a Recoupment Event, the Committee will determine the amount of Erroneously Awarded Compensation for each Covered Executive, and the Company will provide each such Covered Executive with a written notice of such amount and a demand for repayment or return. Upon receipt of such notice, each affected Covered Executive shall promptly repay or return such Erroneously Awarded Compensation to the Company.
If such repayment or return is not made within a reasonable time, the Company shall recover Erroneously Awarded Compensation in a reasonable and prompt manner using any lawful method determined by the Committee, provided that recovery of any Erroneously Awarded Compensation must be made in compliance with Section 409A. The applicable Covered Executive shall also be required to reimburse the Company for any and all expenses (including legal fees) reasonably incurred by the Company in recovering such Erroneously Awarded Compensation in accordance with the immediately preceding sentence.
Limited Exceptions
Erroneously Awarded Compensation will be recovered in accordance with this Policy unless the Committee determines that recovery would be impracticable and one of the following conditions is met:
the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered, provided the Company has first made a reasonable effort to recover the Erroneously Awarded Compensation; or
the recovery would likely cause a U.S. tax-qualified retirement plan to fail to meet the requirements of Internal Revenue Code Sections 401(a)(13) and 411(a) and the regulations thereunder.
2
US.359991650.01



Reliance on either of the above exemptions will further comply with applicable listing standards, including without limitation, documenting the reason for the impracticability and providing required documentation to NYSE.
No Insurance or Indemnification
Neither the Company nor any of its affiliates or subsidiaries may indemnify any Covered Executive against the loss of any Erroneously Awarded Compensation (or related expenses incurred by the Covered Executive) pursuant to a recovery of Erroneously Awarded Compensation under this Policy, nor will the Company nor any of its affiliates or subsidiaries pay or reimburse a Covered Executive for any insurance premiums on any insurance policy obtained by the Covered Executive to protect against the forfeiture or recovery of any compensation pursuant to this Policy.
Interpretation
The Committee is authorized to interpret and construe this Policy and to make all determinations necessary, appropriate, or advisable for the administration of this Policy. This Policy shall be applied and interpreted in a manner that is consistent with the requirements of Rule 10D-1 and any applicable regulations, rules or standards adopted by SEC or the rules of any national securities exchange or national securities association on which the Company’s securities are listed. In the event that this Policy does not meet the requirements of Rule 10D-1, the SEC regulations promulgated thereunder, or the rules of any national securities exchange or national securities association on which the Company’s securities are listed, this Policy shall be deemed to be amended to meet such requirements.
Amendment; Termination
The Board or the Committee may amend this Policy in its discretion and shall amend this Policy as it deems necessary to comply with the regulations adopted by the SEC under Rule 10D-1 and the rules of any national securities exchange or national securities association on which the Company’s securities are listed. The Board or the Committee may terminate this Policy at any time. Notwithstanding anything herein to the contrary, no amendment or termination of this Policy shall be effective if that amendment or termination would cause the Company to violate any federal securities laws, SEC rules or the rules of any national securities exchange or national securities association on which the Company’s securities are listed.
Other Recoupment Rights
Any Incentive-Based Compensation provided for in an employment agreement, incentive compensation plan, policy or agreement, equity award, or similar plan or agreement shall, as a condition to the grant or payment of any benefit thereunder, be subject to the terms of this Policy. Any right of recoupment under this Policy is in addition to, and not in lieu of, any other remedies or rights of recoupment that may be available to the Company pursuant to the terms of any similar provision in any employment agreement or other compensation plan or agreement and any other legal remedies available to the Company. This Policy is in addition to any other clawback or compensation recovery, recoupment or forfeiture policy in effect or that may be adopted by the Company from time to time, or any laws, rules or listing standards applicable to the Company, including without limitation, the Company’s right to recoup any compensation subject to Section 304 of the Sarbanes-Oxley Act of 2022 and the Supplemental Executive Incentive Compensation Recovery Policy. To the extent that application of this Policy would provide for recovery of Erroneously Awarded Compensation that the Company recovers pursuant to another policy or provision, the amount that is recovered will be credited to the required recovery under this Policy.
Successors
This Policy shall be binding and enforceable against all Covered Executives and their beneficiaries, heirs, executors, administrators or other legal representatives.

3
US.359991650.01



ACKNOWLEDGMENT TO
PROTO LABS, INC.
REQUIRED COMPENSATION RECOVERY POLICY

By signing below, the undersigned acknowledges and confirms that the undersigned has received and reviewed a copy of the Proto Labs, Inc. (the “Company”) Required Compensation Recovery Policy (as it may be amended and in effect from time to time, the “Policy”). By signing this Acknowledgement, the undersigned acknowledges and agrees that the undersigned is and will continue to be subject to the Policy and that the Policy will apply both during and after the undersigned’s employment with, and provision of services to, the Company.
In the event of any inconsistency between the Policy and the terms of any employment or other agreement to which the undersigned is a party, or the terms of any compensation plan, program or agreement under which any compensation has been granted, awarded, earned or paid, the terms of the Policy shall govern.
Further, by signing below, the undersigned acknowledges that the Company will not indemnify the undersigned against the loss of an Erroneously Awarded Compensation (as defined in the Policy) and agrees to abide by the terms of the Policy, including, without limitation, by forfeiting, returning and/or reimbursing any Erroneously Awarded Compensation (as defined in the Policy) to the Company to the extent required by, and in a manner consistent with, the Policy.

________________________________
Signature
_____________________
Printed Name
_________________________________
Date


4
US.359991650.01

EX-101.SCH 9 prlb-20231231.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Document - Audit Information link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Consolidated Statements of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Nature of Business link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Net Income (Loss) Per Common Share link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Intangible Assets, Goodwill and Other link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Marketable Securities link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Property and Equipment link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Financing Obligations link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Employee Benefit Plans link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Accumulated Other Comprehensive Loss link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000023 - Disclosure - Litigation link:presentationLink link:calculationLink link:definitionLink 0000024 - Disclosure - Segment Reporting link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Nature of Business (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Net Income (Loss) Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Goodwill and Other Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Marketable Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Property and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Accumulated Other Comprehensive Loss (Tables) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Segment Reporting (Tables) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Summary of Significant Accounting Policies (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Revenue - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Revenue - Revenue by Geographic Areas (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Revenue - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Net Income (Loss) Per Common Share - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Net Income (Loss) Per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Assets Other Than Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Goodwill and Other Intangible Assets - Future Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Fair Value Measurements - Financial Assets Measured At Fair Value On A Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Marketable Securities - Short-Term and Long-Term Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Marketable Securities - Maturities of Available-For-Sale Debt Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Property and Equipment - Summary of Property And Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Property and Equipment - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Financing Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Employee Benefit Plans (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Stock-Based Compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Stock-Based Compensation - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Stock-Based Compensation - Weighted Average Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Stock-Based Compensation - Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Stock-Based Compensation - Stock Options Outstanding (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Stock-Based Compensation - Stock Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Leases - Supplemental Balance Sheet Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954510 - Disclosure - Leases - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 9954511 - Disclosure - Leases - Maturities of Operating And Finance Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954511 - Disclosure - Leases - Maturities of Operating And Finance Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954512 - Disclosure - Leases - Weighted Average Remaining Lease Term And Discount (Details) link:presentationLink link:calculationLink link:definitionLink 9954513 - Disclosure - Leases - Supplemental Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954514 - Disclosure - Accumulated Other Comprehensive Loss - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954515 - Disclosure - Accumulated Other Comprehensive Loss - Changes In Accumulated Other Comprehensive Loss (Details) link:presentationLink link:calculationLink link:definitionLink 9954516 - Disclosure - Income Taxes - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954517 - Disclosure - Income Taxes - Components Of Income Before Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954518 - Disclosure - Income Taxes - Provisions For Income Taxes (Detail) link:presentationLink link:calculationLink link:definitionLink 9954519 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate (Detail) link:presentationLink link:calculationLink link:definitionLink 9954520 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954521 - Disclosure - Income Taxes - Reconciliation Of Unrecognized Tax Benefits (Details) link:presentationLink link:calculationLink link:definitionLink 9954522 - Disclosure - Segment Reporting - Revenue by Geographic Areas (Details) link:presentationLink link:calculationLink link:definitionLink 9954523 - Disclosure - Segment Reporting - Income From Operation by Geographic Areas (Details) link:presentationLink link:calculationLink link:definitionLink 9954524 - Disclosure - Segment Reporting - Long-Lived Assets by Geographic Areas (Details) link:presentationLink link:calculationLink link:definitionLink 9954525 - Disclosure - Segment Reporting - Expenditures For Additions To Long-Lived Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954526 - Disclosure - Segment Reporting - Depreciation And Amortization (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 10 prlb-20231231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 11 prlb-20231231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 12 prlb-20231231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Share-Based Payment Arrangement, Option, Exercise Price Range Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block] Pay vs Performance Disclosure [Line Items] Proceeds from sales of marketable securities Proceeds from Sale of Debt Securities, Available-for-Sale Entity Voluntary Filers Entity Voluntary Filers Statistical Measurement [Domain] Statistical Measurement [Domain] Allowance for obsolescence Inventory Valuation Reserves Research and development Research and development costs Research and Development Expense Software platform Software Platform [Member] Information pertaining to software platform. Changes in operating assets and liabilities, net of acquisitions: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Stock-based award, term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Beginning balance (in shares) Ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Operating lease term, remaining lease term (in years) Lessee, Operating Lease, Remaining Lease Term Performance change, weighted-average grant date fair value (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Change, Weighted Average Grant Date Fair Value Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options. Financing Obligations Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Research and development Research and Development Expense, Policy [Policy Text Block] Investments, Debt and Equity Securities [Abstract] Long-term deferred tax liabilities Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance Shares Performance Shares [Member] Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Options exercisable, weighted-average remaining contractual term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Computer hardware and software Computer Equipment [Member] Impairments related to closure of Japan business Disposal Group, Not Discontinued Operation, Loss (Gain) on Write-down Restatement Determination Date: Restatement Determination Date [Axis] Share based compensation Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent Corporate debt securities Corporate Debt Securities [Member] Federal tax statutory rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Operating Leases Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] Insider Trading Policies and Procedures [Line Items] Option exercisable (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Total expenditures for additions to long-lived assets Segment, Expenditure, Addition to Long-Lived Assets Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] 2028 Lessee, Operating Lease, Liability, to be Paid, Year Five Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Geographical [Axis] Geographical [Axis] Foreign Plan Foreign Plan [Member] Income Taxes Income Tax Disclosure [Text Block] Expected dividend yield Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate Reporting Unit [Domain] Reporting Unit [Domain] Leases Lessee, Leases [Policy Text Block] Current liabilities Liabilities, Current [Abstract] Federal Deferred Federal Income Tax Expense (Benefit) Valuation Allowance Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2023 and December 31, 2022, respectively Preferred Stock, Value, Issued Weighted- Average Grant Date Fair Value Per Share Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Other Intangible Assets Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] Accounts receivable, net of allowance for doubtful accounts of $2,499 and $1,706 as of December 31, 2023 and December 31, 2022, respectively Accounts Receivable, after Allowance for Credit Loss, Current Goodwill [Roll Forward] Goodwill [Roll Forward] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Level 3 Fair Value, Inputs, Level 3 [Member] Options outstanding, beginning balance (in shares) Options outstanding, ending balance (in shares) Options Outstanding, Vested and Expected to Vest, Number Outstanding (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Components of Income Tax Expense (Benefit), Continuing Operations [Abstract] Components of Income Tax Expense (Benefit), Continuing Operations [Abstract] Buildings and improvements Building and Building Improvements [Member] Common shares issued on exercise of options and other, net of shares withheld for tax obligations Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol U.S. municipal securities US Government Agencies Debt Securities [Member] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Non-compete agreement Noncompete Agreements [Member] Granted, weighted-average exercise price (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Effective Income Tax Rate Reconciliation, Percent [Abstract] Effective Income Tax Rate Reconciliation, Percent [Abstract] Weighted average grant date fair value (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Net income (loss) Net income (loss) Net income (loss) Net Income (Loss) Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] 2025 Finance Lease, Liability, to be Paid, Year Two Foreign currency translation/transactions Foreign Currency Transactions and Translations Policy [Policy Text Block] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Leases Lessee, Operating Leases [Text Block] Acquired Finite-Lived Intangible Assets [Line Items] Acquired Finite-Lived Intangible Assets [Line Items] Liabilities and shareholders' equity Liabilities and Equity [Abstract] Repurchases of Common Stock Stock Repurchased During Period, Value Shareholders' equity Equity, Attributable to Parent [Abstract] Amounts reclassified from accumulated other comprehensive income (loss) Amounts reclassified from accumulated other comprehensive income (loss) Amounts reclassified from accumulated other comprehensive income (loss) Reclassification from AOCI, Current Period, Net of Tax, Attributable to Parent Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Schedule of Unrecognized Tax Benefits Roll Forward Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] Exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Domestic Income (Loss) from Continuing Operations before Income Taxes, Domestic Total inventory Inventory, Gross Schedule of Earnings Per Share, Basic and Diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Cost of revenue Cost of Goods and Services Sold Income Tax Contingency [Table] Income Tax Contingency [Table] Japan Japan Segment [Member] Operating segment for Japan. Stock-based award, vesting period (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Proceeds from sales of property, equipment and other capital assets Proceeds from Sale of Productive Assets Executive Category: Executive Category [Axis] Exercise Price Range [Domain] Exercise Price Range [Domain] Comprehensive (loss) income Comprehensive Income, Policy [Policy Text Block] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations United States United States Segment [Member] Operating segment for United States. Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Exercised, weighted-average exercise price (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Total deferred tax assets Deferred Tax Assets, Net of Valuation Allowance Short-term marketable securities Marketable Securities, Current Name Forgone Recovery, Individual Name Goodwill Goodwill, balance as of the beginning of the period Goodwill, balance as of the end of the period Goodwill Additions for tax positions of prior years Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions Property, Plant and Equipment Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Shares available for grant (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Discount from market price (in percent) Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Offering Date 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] 2028 Finance Lease, Liability, to be Paid, Year Five Net unrealized gains (losses) on investments in securities OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Measurement Frequency [Axis] Measurement Frequency [Axis] Long-term operating lease liabilities Operating Lease, Liability, Noncurrent Investments Classified by Contractual Maturity Date Investments Classified by Contractual Maturity Date [Table Text Block] Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Cash paid for amounts included in the measurement of lease liabilities: Cash Flow, Lessee [Abstract] Cash Flow, Lessee Depreciation Depreciation Retirement Benefits [Abstract] Income Statement Location [Axis] Income Statement Location [Axis] Research and development credit Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent Lessee, Operating Lease, Liability, to be Paid, Maturity Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Europe Europe [Member] Range One Exercise Price Range One [Member] Exercise price range one [member Cash and cash equivalents Cash and Cash Equivalents, Policy [Policy Text Block] Undistributed earnings Undistributed Earnings of Foreign Subsidiaries Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Lease, Cost Lease, Cost [Table Text Block] Inventories Increase (Decrease) in Inventories Domestic Plan Domestic Plan [Member] Research and development Research and Development Expense [Member] Investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Options vested, fair value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value Award Type [Axis] Award Type [Axis] Anti-dilutive options excluded from calculation of diluted weighted average shares outstanding (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Income taxes receivable Income Taxes Receivable, Current Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] ICFR Auditor Attestation Flag ICFR Auditor Attestation Flag General and administrative General and Administrative Expense [Member] Property and equipment, gross Property, Plant and Equipment, Gross Goodwill [Line Items] Goodwill [Line Items] Lease assets obtained in exchange for new operating lease liabilities Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Options outstanding, weighted-average remaining contractual term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Trading Arrangement: Trading Arrangement [Axis] Less interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Contributions by employer Defined Benefit Plan, Plan Assets, Contributions by Employer Accounting estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Leases Lessee, Finance Leases [Text Block] Schedule of Components of Income Tax Expense (Benefit) Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Entity File Number Entity File Number After 2029 Lessee, Operating Lease, Liability, to be Paid, after Year Five Current operating lease liabilities Operating Lease, Liability, Current Net unrealized gains (losses) on investments in securities AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member] Interest on lease obligations Finance Lease, Interest Expense Software technology Computer Software, Intangible Asset [Member] Closure of Japan business Closure of Japan Business Amount of operating expense from disposal group. Reduction for tax positions of prior years Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions Auditor Firm ID Auditor Firm ID Amortization expense for intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Other comprehensive income (loss) before reclassifications Other comprehensive income (loss) before reclassifications OCI, before Reclassifications, Net of Tax, Attributable to Parent Tax reserves Effective Income Tax Rate Reconciliation, Tax Contingency, Percent Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Net Finite-Lived Intangible Assets, Net Recently adopted accounting pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Unbilled receivables Unbilled Receivables, Current Goodwill acquired (impaired) Goodwill, Acquired During Period (Impairment Loss) Goodwill, Acquired During Period (Impairment Loss) Income taxes Increase (Decrease) in Income Taxes Payable Additions for tax positions of current year Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Asset Class [Axis] Asset Class [Axis] Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Schedule of Income before Income Tax, Domestic and Foreign Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Foreign Income (Loss) from Continuing Operations before Income Taxes, Foreign Variable lease cost Variable Lease, Cost Operating lease cost Operating Lease, Cost Accounting for long-lived assets Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block] Shares used to compute net income (loss) per share: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Common stock, issued (in shares) Common Stock, Shares, Issued Restrictions lapsed (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Consideration transferred Business Combination, Consideration Transferred Gross profit Gross Profit Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Security Exchange Name Security Exchange Name Total Assets, Fair Value Disclosure Stock-based compensation Share-Based Payment Arrangement [Policy Text Block] Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Foreign currency translation adjustments Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Stock Options Employee Stock Option [Member] Stock based award, unrecognized compensation expense, period for recognition (in years) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Other Proceeds from (Payments for) Other Financing Activities Maximum Maximum [Member] Comprehensive income (loss) Comprehensive income (loss) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table] Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table] Range Two Exercise Price Range Two [Member] Exercise price range two [member] Stock based award, unrecognized compensation expense Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type Tabular List, Table Tabular List [Table Text Block] Common shares issued for Hubs acquisition Stock Issued During Period, Value, Acquisitions Employee stock purchase plan ESPP [Member] ESPP [member Entity Address, Address Line One Entity Address, Address Line One 3D Hubs, Inc. (Hubs) 3D Hubs, Inc. (Hubs) [Member] Represents acquired 3D Hubs. Long-term marketable securities Marketable Securities, Noncurrent Inventory Inventory, Policy [Policy Text Block] Accrued liabilities and other Accrued Liabilities and Other Liabilities 2026 Finance Lease, Liability, to be Paid, Year Three Deferred tax assets (liabilities): Components of Deferred Tax Assets and Liabilities [Abstract] Stock-Based Compensation Share-Based Payment Arrangement [Text Block] Federal Current Federal Tax Expense (Benefit) Purchases of marketable securities Payments to Acquire Debt Securities, Available-for-Sale 2024 Finance Lease, Liability, to be Paid, Year One Weighted- Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Business Acquisition [Axis] Business Acquisition [Axis] Allowance for credit loss, current Accounts Receivable, Allowance for Credit Loss, Current Operating loss carryforwards Operating Loss Carryforwards State Deferred State and Local Income Tax Expense (Benefit) Schedule of Finite-Lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Cash Cash [Member] Income Statement [Abstract] Income Statement [Abstract] Revenue Total revenue Revenue from Contract with Customer, Including Assessed Tax Cancelled (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Cash and cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Accrued expenses Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Operating Segments Operating Segments [Member] Beginning balance, weighted-average grant date fair value (in dollars per share) Ending balance, weighted-average grant date fair value (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 Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Stock options and other Stock Options And Other [Member] Equity awards of stock options, restricted stock, and equity instruments not otherwise classified. Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Foreign currency translation adjustments Goodwill, Foreign Currency Translation Gain (Loss) Inventory Inventory, net of allowance Inventory, Net Total lease cost Lease, Cost Inventories Deferred Tax Assets, Inventory Land Land [Member] Statistical Measurement [Axis] Statistical Measurement [Axis] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] CNC Machining CNC Machining (Firstcut) [Member] Represents the CNC Machining (Firstcut) product. Advertising costs Advertising Cost [Policy Text Block] Debt Securities, Available-for-Sale [Table] Debt Securities, Available-for-Sale [Table] Total Shareholder Return Amount Total Shareholder Return Amount Options Exercisable, Number Exercisable (in shares) Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable Repurchases of common stock and other Payments for Repurchase of Common Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Entity Well-known Seasoned Issuer Entity Well-known Seasoned Issuer Foreign Deferred Foreign Income Tax Expense (Benefit) Inventory Disclosure [Abstract] Segments [Domain] Segments [Domain] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Revenue recognition Revenue from Contract with Customer [Policy Text Block] Exercise Price Range [Axis] Exercise Price Range [Axis] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets Assets, Current [Abstract] Goodwill Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Leases [Abstract] Advertising costs Advertising Expense Deferred tax assets: Components of Deferred Tax Assets [Abstract] Schedule of Deferred Tax Assets and Liabilities Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Goodwill Deferred Tax Liabilities, Goodwill Total future minimum lease payments Finance Lease, Liability, to be Paid Operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year One Operating cash flows from operating leases Operating Lease, Payments Share-Based Payment Arrangement, Cost by Plan Share-Based Payment Arrangement, Cost by Plan [Table Text Block] Common stock, outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding United States United States Reporting Unit [Member] United States Reporting Unit Proceeds from maturities of marketable securities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale PEO PEO [Member] Long-Term Incentive Plan 2012 Long-Term Incentive Plan 2012 [Member] Information pertaining to the 2012 Long-Term Incentive Plan. Accumulated Other Comprehensive Loss Comprehensive Income (Loss) [Table Text Block] Auditor Location Auditor Location Defined Benefit Plan Disclosure [Line Items] Defined Benefit Plan Disclosure [Line Items] Employee Benefit Plans Retirement Benefits [Text Block] Other Other Operating Activities, Cash Flow Statement Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Asset Class [Domain] Asset Class [Domain] Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Maximum annual contributions per employees (in percent) Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent Finance Lease, Liability [Abstract] Finance Lease, Liability [Abstract] Miscellaneous Effective Income Tax Rate Reconciliation, Other Adjustments, Percent Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Schedule of Inventory, Current Schedule of Inventory, Current [Table Text Block] Stock Options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] GERMANY GERMANY Goodwill, period increase (decrease) Goodwill, Period Increase (Decrease) Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective income tax rate reconciliation (in percent) Total Effective Income Tax Rate Reconciliation, Percent Revaluation of deferred tax liability Effective Income Tax Rate Reconciliation, Revaluation Of Deferred Tax Liability, Percent Effective Income Tax Rate Reconciliation, Revaluation Of Deferred Tax Liability, Percent Total operating lease liabilities Present value of lease liabilities Operating Lease, Liability Effective income tax rate, increase (decrease) during period (in percent) Effective Income Tax Rate Continuing Operations Increase (Decrease) During The Period The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. Total liabilities Liabilities Expected volatility Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Nature of Business Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Prepaid expenses and other Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Measurement Frequency [Domain] Measurement Frequency [Domain] Property and Equipment Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Expenditures for Additions to Long-lived Assets by Geographic Region Expenditures for Additions to Long-lived Assets by Geographic Region [Table Text Block] Tabular disclosure of expenditures for additions to long-lived assets by geographic region. Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Table] Audit Information [Abstract] Audit Information Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Section 174 expenses Deferred Tax Assets, in Process Research and Development Plan Name [Axis] Plan Name [Axis] Unrealized foreign exchange losses Effective Income Tax Rate Reconciliation, Unrealized Foreign Exchange Losses, Percent Effective Income Tax Rate Reconciliation, Unrealized Foreign Exchange Losses, Percent Debt Disclosure [Abstract] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Net income (loss) per share: Earnings Per Share [Abstract] Stock Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward] Marketable securities Marketable Securities, Policy [Policy Text Block] Marketing and sales Selling and Marketing Expense Range Three Exercise Price Range Three [Member] Exercise price range three [member] Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 25,721,957 and 26,888,425 shares as of December 31, 2023 and December 31, 2022, respectively Common Stock, Value, Issued General and administrative General and Administrative Expense Due after one year through five years Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five Organization, Consolidation and Presentation of Financial Statements [Abstract] Tradenames Trade Names [Member] Retirement Plan Sponsor Location [Domain] Retirement Plan Sponsor Location [Domain] Litigation Legal Matters and Contingencies [Text Block] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] State Current State and Local Tax Expense (Benefit) Total current assets Assets, Current Other intangible assets, net Other Intangible Assets, Net Deferred Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract] Schedule of Defined Benefit Plans Disclosures [Table] Schedule of Defined Benefit Plans Disclosures [Table] Principal repayments of finance lease obligations Financing cash flows from finance leases Finance Lease, Principal Payments Finance Lease, Liability, to be Paid, Maturity Finance Lease, Liability, to be Paid, Maturity [Table Text Block] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Supplemental cash flow disclosure Supplemental Cash Flow Information [Abstract] Other (expense) income, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Japan JAPAN Current Fiscal Year End Date Current Fiscal Year End Date Goodwill and Other Intangible Assets Goodwill and Intangible Assets Disclosure [Text Block] Repurchases of Common Stock (in shares) Stock Repurchased During Period, Shares Schedule of Effective Income Tax Rate Reconciliation Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Unrecognized tax benefits Balance at beginning of period Balance at period end Unrecognized Tax Benefits PEO Name PEO Name Accounting Policies [Line Items] Accounting Policies [Line Items] Accounting Policies [Line Items] Current: Current Income Tax Expense (Benefit), Continuing Operations [Abstract] Preferred stock, authorized (in shares) Preferred Stock, Shares Authorized State tax (net of federal benefit) Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent Granted, weighted-average grant date fair value (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 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Five Other Revenue Other Products [Member] Represents other products. Expired (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period Building Building [Member] Schedule of Goodwill Schedule of Goodwill [Table Text Block] Preferred stock, outstanding (in shares) Preferred Stock, Shares Outstanding 2027 Finance Lease, Liability, to be Paid, Year Four Accounts receivable and allowance for doubtful accounts Accounts Receivable [Policy Text Block] Warrants and stock options Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Options exercisable, aggregate intrinsic value (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value Schedule of Finite-Lived Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent [Abstract] Income from Operations by Geographic Area Income from Operations by Geographic Area [Table Text Block] Tabular disclosure of income from operations by geographic area. Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Percentage of target, capable of being earned and vesting, lower limit Percentage Of Target Number, Capable Of Being Earned And Vesting, Lower Limit The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. Purchases of other assets and investments Payments to Acquire Other Investments Depreciation and amortization Total depreciation and amortization Depreciation, Depletion and Amortization Office furniture and equipment Furniture and Fixtures [Member] Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total shareholders' equity Balance at beginning of period Balance at end of period Equity, Attributable to Parent Consolidation Items [Axis] Consolidation Items [Axis] Goodwill impairment Loss on impairment of goodwill Goodwill, Impairment Loss Deferred tax assets, valuation allowance Less valuation allowance Deferred Tax Assets, Valuation Allowance Restricted Stock Restricted Stock [Member] Offering period (in months) Employee Stock Purchase Plan, Offering Period The offering period during which employees may purchase stock through the Employee Stock Purchase Plan. Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Finance Leases Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] Reporting Unit [Axis] Reporting Unit [Axis] Finance lease cost: Finance Lease, Cost [Abstract] Finance Lease, Cost Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Expected life (years) Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term Net unrealized gains (losses) on investments in securities OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax [Abstract] Income (loss) before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest U.S. government agency securities US States and Political Subdivisions Debt Securities [Member] Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, issued (in shares) Preferred Stock, Shares Issued Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Long-Lived Assets by Geographic Areas Long-Lived Assets by Geographic Areas [Table Text Block] Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract] Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract] Lease assets obtained in exchange for new lease liabilities Right-Of-Use Asset Obtained In Exchange For Lease Liability [Abstract] Right-Of-Use Asset Obtained In Exchange For Lease Liability Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Accounting Policies [Table] Accounting Policies [Table] Accounting Policies Europe Europe Segment [Member] Operating segment for Europe Document Fiscal Period Focus Document Fiscal Period Focus 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Intangible assets, useful life (in years) Finite-Lived Intangible Asset, Useful Life Accrued liabilities and other Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Title Trading Arrangement, Individual Title Options outstanding, beginning balance, weighted-average exercise price (in dollars per share) Options outstanding, ending balance, weighted-average exercise price (in dollars per share) Options Outstanding, Vested and Expected to Vest, Weighted Average Exercise Price (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Stock-based compensation expense Share-Based Payment Arrangement, Noncash Expense Revenue from External Customers by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Accumulated Other Comprehensive Loss Disclosure of Reclassification Amount [Text Block] Common Stock Common Stock [Member] Individual: Individual [Axis] Marketing assets Marketing-Related Intangible Assets [Member] Operating loss carryforwards, percentage of taxable income (in percent) Operating Loss Carryforwards, Percentage Of Taxable Income Represents the operating loss carryforwards percentage of taxable income limit. City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Net Income (Loss) Per Common Share Earnings Per Share [Text Block] Decrease related to the expiration of statutes of limitations Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations NETHERLANDS NETHERLANDS Income Statement Location [Domain] Income Statement Location [Domain] Assets and Liabilities, Lessee Assets and Liabilities, Lessee [Table Text Block] Tabular disclosure of lessee's assets and liabilities. Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Contingent consideration reduction Effective Income Tax Rate Reconciliation, Contingent Consideration Reduction, Percent Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in Contingent Consideration Reduction. Minimum Minimum [Member] Property and equipment, net Property and equipment, net Total long-lived assets Property, Plant and Equipment, Net Range of Exercise Prices, lower range limit (in dollars per share) Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit Share-Based Payment Arrangement, Option, Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Net income (loss) per share attributable to common shareholders: Earnings Per Share, Basic and Diluted EPS [Abstract] Earnings Per Share, Basic and Diluted EPS Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Available-for-Sale Securities, Debt Maturities [Abstract] Available-for-Sale Securities, Debt Maturities [Abstract] Loss on foreign currency translation Gain (Loss), Foreign Currency Transaction, before Tax Purchases of shares withheld for tax obligations Payment, Tax Withholding, Share-Based Payment Arrangement Other assets Deferred Tax Assets, Other Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Fair Value, Assets Measured on Recurring Basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Retained Earnings Retained Earnings [Member] 3D Printing 3D Printing (Fineline) [Member] Represents the 3D Printing (Fineline) product. Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and shareholders' equity Liabilities and Equity Options Exercisable, Weighted Average Exercise Price (in shares) Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost Other long-term assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Risk-free interest rate Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Weighted Average Useful Life Remaining (in years) Finite-Lived Intangible Assets, Remaining Amortization Period Basic (in dollars per share) Earnings Per Share, Basic Operating lease assets Operating Lease, Right-of-Use Asset Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Foreign Current Foreign Tax Expense (Benefit) Options, intrinsic value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Sheet Metal Sheet Metal [Member] Represents the information pertaining to sheet metal. Closure of Japan branch net operating loss reversal Effective Income Tax Rate Reconciliation, Disposition of Business, Percent Options Outstanding, Vested and Expected to Vest, Weighted Average Remaining Contractual Life (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Cash paid for taxes Income Taxes Paid Principles of consolidation Consolidation, Policy [Policy Text Block] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Common stock, authorized (in shares) Common Stock, Shares Authorized Debt securities, available-for-sale Fair Value Total marketable securities Debt Securities, Available-for-Sale Building and land improvements Land, Buildings and Improvements [Member] Entity Public Float Entity Public Float Unrealized Gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax 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] Property, Plant and Equipment [Abstract] Adjustments to reconcile net income (loss) to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Marketable Securities Investment [Text Block] Compensation Amount Outstanding Recovery Compensation Amount Performance change (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Change Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan). Forfeited, weighted-average grant date fair value (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 Leases Deferred Tax Liabilities, Leasing Arrangements Deferred taxes Deferred Income Tax Expense (Benefit) Leases Deferred Tax Assets, Leases Deferred Tax Assets, Leases Total finance lease liabilities Total finance lease liabilities Finance Lease, Liability Cancelled, weighted-average exercise price (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Income taxes Income Tax, Policy [Policy Text Block] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Document Financial Statement Error Correction Document Financial Statement Error Correction [Flag] 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Equity portion of purchase price (in shares) Business Acquisition, Equity Interest Issued or Issuable, Number of Shares Provision to return difference Effective Income Tax Rate Reconciliation, Provision To Return Differences, Percent 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 provision to return difference. Schedule of Subsidiaries Schedule of Subsidiaries [Table Text Block] Schedule of Subsidiaries Insider Trading Arrangements [Line Items] Europe Europe Reporting Unit [Member] Represents Europe reporting unit. Options outstanding, aggregate intrinsic value (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Employee stock options and other (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Foreign rate differential Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two Common shares issued for Hubs acquisition (in shares) Stock Issued During Period, Shares, Acquisitions Adjustment to Compensation, Amount Adjustment to Compensation Amount Range of Exercise Prices, upper range limit (in dollars per share) Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit Percentage of target, capable of being earned and vesting, upper limit Percentage Of Target Number, Capable Of Being Earned And Vesting, Upper Limit The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. Cost of revenue Cost of Sales [Member] Changes in fair value of contingent consideration Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Documents Incorporated by Reference Documents Incorporated by Reference [Text Block] Deferred tax liabilities: Components of Deferred Tax Liabilities [Abstract] Auditor Name Auditor Name Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Goodwill impairment Effective Income Tax Rate Reconciliation, Nondeductible Expense, Impairment Losses, Percent Options exercisable, weighted-average exercise price (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Weighted Average Discount Rate - finance leases (in percent) Finance Lease, Weighted Average Discount Rate, Percent Long-term finance lease liabilities Finance Lease, Liability, Noncurrent Entity Central Index Key Entity Central Index Key Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Gain on disposal of property and equipment Gain (Loss) on Disposition of Property Plant Equipment Stock-based compensation expense Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Gross Finite-Lived Intangible Assets, Gross Effect of dilutive securities: Dilutive Securities, Effect on Basic Earnings Per Share [Abstract] Provision for income taxes Total Income Tax Expense (Benefit) Finance lease assets Finance Lease, Right-of-Use Asset, after Accumulated Amortization Accrued compensation Employee-related Liabilities, Current Fair Value Measurements Fair Value Disclosures [Text Block] Name Trading Arrangement, Individual Name Net current-period other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Debt Securities, Available-for-Sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Inventory Inventory Disclosure [Text Block] Weighted Average Remaining Lease Term - operating leases (years) Operating Lease, Weighted Average Remaining Lease Term Corporate Unallocated and Japan Corporate Unallocated and Japan Segment[Member] Segment for corporate unallocated expenses and Japan. Japan Japan Reporting Unit [Member] Japan Reporting Unit Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Amendment Flag Amendment Flag Money market mutual fund Money Market Funds [Member] Injection Molding Injection Molding (Protomold) [Member] Represents the Injection Molding (Protomold) product. Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Cash used for acquisitions, net of cash acquired Cash used for acquisition, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Weighted Average Discount Rate - operating leases (in percent) Operating Lease, Weighted Average Discount Rate, Percent Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Due in one year or less Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Financial Assets: Assets, Fair Value Disclosure [Abstract] Certificates of deposit/time deposits Bank Time Deposits [Member] Property, equipment, useful life (in years) Property, Plant and Equipment, Useful Life Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Valuation allowance against deferred tax assets Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent Weighted Average Remaining Lease Term - finance leases (years) Finance Lease, Weighted Average Remaining Lease Term Leasehold improvements Leasehold Improvements [Member] Net deferred tax liability Deferred Tax Liabilities, Net Marketing and sales Selling and Marketing Expense [Member] Diluted (in shares) Diluted - weighted-average shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Retirement Plan Sponsor Location [Axis] Retirement Plan Sponsor Location [Axis] Lease assets obtained in exchange for new financing lease liabilities Right-of-Use Asset Obtained in Exchange for Finance Lease Liability Operating expenses Operating Expenses [Abstract] Less interest Finance Lease, Liability, Undiscounted Excess Amount Regulated Operations [Abstract] Revenue Revenue from Contract with Customer [Text Block] Purchases of property, equipment and other capital assets Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional paid-in capital Additional Paid in Capital, Common Stock Additional Paid-In Capital Additional Paid-in Capital [Member] Document Annual Report Document Annual Report Average exercise price (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Per Share Weighted Average Price of Shares Purchased Expired, weighted-average exercise price (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name After 2029 Finance Lease, Liability, to be Paid, after Year Five Cover [Abstract] Machinery and equipment Equipment [Member] Stock-based compensation expense APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Fair Value, Recurring Fair Value, Recurring [Member] Operating cash flows from finance leases Finance Lease, Interest Payment on Liability Other long-term liabilities Other Liabilities, Noncurrent Restrictions lapsed, weighted-average grant date fair value (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 Non-NEOs Non-NEOs [Member] Total future minimum lease payments Lessee, Operating Lease, Liability, to be Paid Unsatisfied performance obligation Revenue, Remaining Performance Obligation, Amount Construction in progress Construction in Progress [Member] Income Tax Contingency [Line Items] Income Tax Contingency [Line Items] Operating Lease, Liability [Abstract] Operating Lease, Liability [Abstract] Total operating expenses Operating Expenses Amortization of right-of-use assets Finance Lease, Right-of-Use Asset, Amortization Depreciation and Amortization by Geographic Region Depreciation and Amortization by Geographic Region [Table Text Block] Tabular disclosure of depreciation and amortization by geographic region. Segment Reporting Segment Reporting Disclosure [Text Block] Net (decrease) increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Current finance lease liabilities Finance Lease, Liability, Current Adjustment to Compensation: Adjustment to Compensation [Axis] Purchase price of common stock (in percent) Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent Research and development credit Deferred Tax Assets, Tax Credit Carryforwards, Research Consideration transferred, common stock Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Net operating loss Deferred Tax Assets, Operating Loss Carryforwards Basic (in shares) Basic - weighted-average shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Income (loss) from operations Total income (loss) from operations Operating Income (Loss) Depreciation Deferred Tax Liabilities, Property, Plant and Equipment Statements of Operations: Revenues [Abstract] Total deferred tax liabilities Deferred Tax Liabilities, Gross Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Other Comprehensive Income (Loss), net of tax Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] Proceeds from issuance of common stock from equity plans Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Segments [Axis] Segments [Axis] Statement [Line Items] Statement [Line Items] Property, equipment and leasehold improvements Property, Plant and Equipment, Policy [Policy Text Block] Interest on finance lease obligations Accretion Expense Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax [Abstract] Schedule of Nonvested Performance-Based Units Activity Schedule of Nonvested Performance-Based Units Activity [Table Text Block] Intangible assets Deferred Tax Liabilities, Intangible Assets Deferred tax assets related to undistributed earnings Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries Additional Disclosures Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Financing obligations Long-Term Line of Credit Customer relationships Customer Relationships [Member] Debt Securities, Available-for-Sale Debt Securities, Available-for-Sale [Table Text Block] EX-101.PRE 13 prlb-20231231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 14 prlb-20231231_g1.jpg begin 644 prlb-20231231_g1.jpg M_]C_X 02D9)1@ ! 0$ P # #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" *=!#@# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** "L M7Q=XOTOP/H-QJ^KW*V]I"/\ @3MV51W)]*/%_B_2_ ^@W.KZO*=8\?0>( M;&Y:PM[-BMKI^63RL@_B+8&3],8P*^M/A3\5M*^*GA];VR807L0"W=BS9 M>%_ZJ>Q_K7YZUN>"_&FJ^ ?$%OK&CW!@NHCAE/*2KW1QW4__ %Z /TDHKB?A M3\5M*^*GA];VR807L0"W=BS9>%OZJ>Q_K7;4 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !63XH\4:;X-T.YU;5KE;6RMURS-U)[*!W)["CQ1XHT MWP;H=SJVK7*VME;KEF;J3V51W)["OA7XP?OBOK?FR[K72(&/V2Q!X4?WV M]6/Z=* (_B_\6M0^*WB)KF8O;Z5 2MG8[N(U_O'U8]_RK@Z** "BBB@#<\&> M,]5\!>(+?6-'N#!=1'#*>4E7NCCNI_\ KU]V_"GXK:5\5- 6]LB(+Z(!;NQ9 MLO"W]5/8_P!:_/:MOP;XSU7P%K]OK&CW!@NHC@J>4E7NCCNIH _26BN(^%/Q M6TKXJZ M[9$07T0"W=BS9>%OZJ>Q_K7;T %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %<-\6OB4?AAH=KJ"Z?_:)FN!!Y?F^7C*DYS@^E M=S7B'[6'_(D:9_U_K_Z ]>-G&(J87 U:U%VDEH95I.--R1@?\-=2?]"NO_@= M_P#84?\ #74G_0KK_P"!W_V%?.]%?C'^M&;?\_?P7^1X_P!:J]SZ(_X:ZD_Z M%=?_ ._^PH_X:ZD_P"A77_P._\ L*^=ZFM+.>_N8[>UADN)Y#A(HE+,Q] ! M5+B?-Y.RJ_@O\@^M5>Y]!?\ #74G_0KK_P"!W_V%'_#74G_0KK_X'?\ V%>( M7?@WQ!86TEQ=:)J%O!&,O++;.JJ/4DCBJT'A_5+K3GU"'3;J6PCR7NDA8QKC MKEL8XK9\0YW%\KF[_P"%?Y#^L5^_X'O'_#74G_0KK_X'?_84?\-=2?\ 0KK_ M .!W_P!A7@5GI-]J%O<3VMG/^_P##74G_ $*Z_P#@ M=_\ 84?\-=2?]"NO_@=_]A7@D&C:A=6$M]#8W$ME"<27"1DQH?0MT'4?G2WF M@ZEI[6PNM/N;8W/, EB9?-Z?=R.>HZ>M/_6/.KB[>N3Q3VT74(]2_LYK&X74,[?LI MB/FYQG&WKTI?ZR9S_P _/+X5O]POK-;N>]_\-=2?]"NO_@=_]A1_PUU)_P!" MNO\ X'?_ &%>!:EI-]HUP(-0LY[&8KO$=Q&48KZX/;BI;KP_JEA8Q7MSIUU; MV4N/+N)866-\C(PQ&#D4?ZQYUJO:/3?W5_D/ZS6[GO'_ UU)_T*Z_\ @=_] MA1_PUU)_T*Z_^!W_ -A7B%IX-\0:A;1W%KH>H7$$@RDL5L[*P]00.:JPZ!J= MQJ3Z?%IUU)?IG=:K$QD7'7*]:M\0YVDFYO7;W5_D'UBMW/>?^&NI/^A77_P. M_P#L*/\ AKJ3_H5U_P# [_["O 9=+O8-0%A):31WV\1_9FC(DW'HNWKDY%6X M?">MW5W/:PZ/?2W5OCSH4MV+QYY&X8XS4QXBSJ3LIO\ \!7^0?6*W<]S_P"& MNI/^A77_ ,#O_L*/^&NI/^A77_P._P#L*\1N?!/B&S@DGGT+48((U+/));.% M4#J2<<"J.F:/J&M3-%IUC<7TBKN9+>,N0/4@=JI\0YW&2BYN[_NK_(/K%;:Y M[Y_PUU)_T*Z_^!W_ -A1_P -=R?]"NO_ ('?_85\^?9IOM'V?RG\_=L\O:=V M[.,8]QG*[A'<1E&*^N#VK+_6;.+-^TT7]U?Y"^LUNY[[ M_P -=2?]"NO_ ('?_84?\-=2?]"NO_@=_P#85\[T5'^M&;?\_?P7^0?6JO<^ MAG_:\D1&;_A%E.!G_C^_^UUD?\-MR?\ 0GK_ .##_P"UUX;-_J9/]T_RKDZ_ M_:Q\YFN:8O#2BJ4[7\D?3W_#;DG_ $)Z_P#@P_\ MM='_ VY)_T)Z_\ @P_^UU\P45^Q_P!B8#^3\7_F>#_;V8?\_/P7^1]/_P## M;DG_ $)Z_P#@P_\ M='_ VY)_T)Z_\ @P_^UU\P44?V)@/Y/Q?^8?V]F'_/ MS\%_D?3_ /PVY)_T)Z_^##_[71_PVY)_T)Z_^##_ .UU\P44?V)@/Y/Q?^8? MV]F'_/S\%_D?3_\ PVY)_P!">O\ X,/_ +71_P -N2?]">O_ (,/_M=?.#>' M=533UOFTR\6R;I<&!O+/XXQWJO8:?=:K=):V5M->7,GW88$+NWT J/['RZU^ M73U?^9I_;69II<^_DO\ (^E_^&W)/^A/7_P8?_:Z/^&W)/\ H3U_\&'_ -KK MYNU;0=3\/SK!JFGW6G3,,B.ZB:-C^!%4D5I&"HI=CT51DFFLFR^2YE#3U?\ MF)YYF47RN>OHO\CZ>_X;_T MEU2^L;BS9@&43Q,F0>AY%/U+0=3T5('U#3[JQ2==T+7$3()!ZKDO\ X,/_ +77 MF_BK_@I[)X9UZ[TW_A7(N/(('F_VQMW9 /3R3ZUY17S?\4O^1\U7_>3_ - 6 MO$S;+<+A:*G2C9W[L^@R;-,7BZ[A6G=6[(^TO^'K4G_1,A_X._\ [11_P]:D M_P"B9#_P=_\ VBO@.BOD_9Q['V7M)=S[\_X>M2?]$R'_ (.__M%'_#UJ3_HF M0_\ !W_]HKX#HH]G'L'M)=S[\_X>M2?]$R'_ (.__M%'_#UJ3_HF0_\ !W_] MHKX#HH]G'L'M)=S[\_X>M2?]$R'_ (.__M%'_#UJ3_HF0_\ !W_]HKX#HH]G M'L'M)=S[\_X>M2?]$R'_ (.__M%'_#UJ3_HF0_\ !W_]HKX>L_ WB34=(;5; M3P_JESI:C+7L-I(T('(SN QV/Y5B,"A(8%2#@AA@BCV<>P>TD??G_#UJ3_HF M8_\ !W_]HH_X>M2?]$R'_@[_ /M%?$UQ\-/%]GH*ZY/X5UF'167>-1DL9! 5 M]=^,8K/T;PKK?B*SU"\TK2+[4K73X_-O)[2W:1+9,$[I"!\HPI.3Z&CV< ]I M(^Z?^'K4G_1,A_X._P#[11_P]:D_Z)D/_!W_ /:*^%O#OA?6?%U\UGH6DWNL MWBH96M["!II @(!;:H)QR.?>M71_A7XU\16K76E>$=;U*V61HC-:6$DJ!U.& M7('4'J*/9Q'[29]J?\/6I/\ HF0_\'?_ -HH_P"'K4G_ $3(?^#O_P"T5\/7 M7@?Q'8^((=!N= U*WUR;'EZ;+:NMP^1QB,C)S]*E\0_#OQ5X1@6?7/#.KZ/" MQP)+ZRDB4_BPH]G'L'M)'VY_P]:D_P"B9#_P=_\ VBC_ (>M2?\ 1,A_X.__ M +17PUX;\&Z_XRFFAT#1-0UN:%=\L>GVSS,BGH6"@X%1:?X9UC5M<&B6.E7E M[K.]X_[/MX&>?'M4N=$A#&74H;1VMT"_> M)D P,=^:K:3X7UG7K&_O=-TF\U"ST]!)>7%K TD=LAR0TC 84<'D^AH]G'L' MM)'W3_P]:D_Z)D/_ =__:*/^'K4G_1,Q_X._P#[17P)%&\\B1QHTDC'"H@+ M$GV K0UCPQK'AN1(]6TF^TMW4.JWEN\193T(R.AH]G'L'M)'W7_P]:D_Z)D/ M_!W_ /:*/^'K4G_1,A_X._\ [17QK;_!7XA75O'-#X%\130R*'22/3)BK*1D M$';R*Y"XMY;6:2&:-H9HV*/'(,,K \@CL:/9Q[#]I(^^?^'K4G_1,A_X._\ M[11_P]:D_P"B9#_P=_\ VBO@.BCV<>PO:2[GWY_P]:D_Z)D/_!W_ /:*/^'K M4G_1,A_X._\ [17P'11[./8/:2[GWY_P]:DR!_PK,=1]LMH[CRMV[9O4-C..<9K\$%^\OU'\Z_=[X<_\D_\ #7_8-MO_ M $4M8U(J-K&U.3EN=%1116)L%%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 ?.7Q@^#OQ(^*^N>;+?:5:Z1;L?LEB)WPH_OM\G+'].@KS_\ MX8]\:_\ /[I'_?Y__B*^S:* /@3XE? KQ!\+='M]2U>XL9H)YQ HM9&9MQ!/ M.5''!KSJOL#]LS_DG^C_ /827_T6]?'] !1110!U?PW^&^J?%'7)]*TF6WAN M8;D?\,>^-?^?W2/\ O\__ ,14G[&__)3M3_[!4G_H MV*OLF@#Y-\&_LW_$KP'X@M]8T?5=)@NHC@J9I"DJ]T<;>5-?56GR7,EC U[% M'!=E!YL<3[T5L<@' R/PJQ10 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 5XA^UA_R)&F?]?Z_P#H#U[?7B'[6'_(D:9_U_K_ .@/7SW$ M'_(LK>GZF%?^%(^6****_G4^>"NS^#?_ "4[P]_U\C^1KC*W_ ?B"#PKXPTO M5KF.26"UE\QTB +$8/3)%=V!G&GBJ4YNR4E^9=-VFFSV_P".NH>(K?\ M]$\ M7Z:ND%47^Q?D^T;2%!'W<]3GKTJW\'M?LM!^#]A_:<*2:9>:@]E<-(1M19,@ M$YZC. ?8FO//B'XV\ >,I-3U*#2=7CUVZ4;)I&01A@ 2 QXP*Q_^%@6/_"G M_P#A$O(N/M_VKS_.POE8W9QG.<_A7W<\RI4F:%X)E\ Z7\6--(+6IL4EM9#_'$RR[>?4=#]*Y/X=R#Q=\'_ !9X9<[K MJP U&T!Y; Y95'_ >OKWK@?A5XW7X?>,+?5)XY)K/RWAN(H@"SH1T&>.H!_"N:MC,%&MAXTI?N MW&2EY*3>GRN1*<%**3TM^9V_BZ4>"O@3X=T-"$O=UTZ"%(+:&0 ,JCDY )'4G\,5 MN_$+XIZ9XNG\'O:VUU$-& $_G*HWXV?=P3_=/7%1/'X9QKTHR]UP#9Q[5:U;X]02?$ZU\0V%M=?V4UFMG> MVE/FO&$];ZZ::KR\C2I5A*2=]$ST/PO\;/$6N?%*/3+P+-HMY< MM:'3# N(T)*CMG([Y/K5[P9H=IX;_:8U6QL(Q%:QPO(D:\!=T:N0/09-8MG\ M3?ASI'B67Q/9>'M4_MIBTB0NZ^2LK [F'S<9R?7'85S7@OXK)I?Q/O/%NLPS M3_:5DS';@,R[N%49(X P/PK+Z]2IRI*O64Y*IS7[1_KH3SI./-*[O^!Z3XLT M>W\:>(/"7CK2X@DT>J06>JP(?3TJI??$C3[KXS+XO6WN1I M_GI+Y)"^;@(%/&<=1ZU%?,,'6ITZT9)2=2+DO3K\PE4A))WUOJ>F_'#PK_PG MFI>'+RUCV7']I-I%UL^8HN\E2?3"@M_P*K/[0UW;W7PMA2S""UMM26UCV?\ M3-65A^# C\*YGP[^T'INBZMXGN)M/NKBWOKG[78Q[4S%(4VMN^;CHO3/>N,U MSXD6NL_"FS\-R1W+ZK'>O=S7#A?+?2WU[%J=YY _'6A>!OB-/K-M:7G]C>6\<,'RM,H8#KDX_6N: MOCJ#K82:J+ECRWU>EEVV)E4C>&O8]-\6:/;^,_$'A+QUI<(2:/5(+/58$.3& MZRA03]#QGN"M<=\2_'FN^"/B]XE.B7YL3! M?%&K7%S!/=:)J$K3-;* 71]V48 G&>QY]/2N6^)'BFV\9>.-1UJTBEAMKET9 M4F #C:J@YP2.WK7+CLRH5,,JV'GRU7--VTV35UZD5*L7!2B[.YZW^T=\0-?T M;7HM%LK\P:9>:8IG@$2'>69U;DC(R .AJ/X/^=\/OAK+XE2TEGN=4U"&%!#& M9&^SH^'..W D_2O//C%X]L?B+XFM-1L(+BWABLTMF6X"ALAF)(P3QAJZ#Q'\ M=KFUT?0]*\&RW6D6EA;^5*T\<9:9L XY]"?Q-:_VE068UL94JW45:'7?M?M MJ4ZL?:RFWML-^+7A<>&_C1;RQ)LM=1N(;R/ZLXW_ ([@3^(J?]J+_DHEK_V# MX_\ T-ZJ>-/BYI_C;2O"DMY;79UW29D:XN-J>7*O&\C!ZDJIZ =:V?&7Q-^& M_CK4TU#5=%UN2[6$0JT911M!)'&_U)K/$/!UZ>)IT:J2G*,E?TU7R8I]F>(T4Z0J9'* A,G:#UQVIM? O1V/.&3?ZF3_=/\JY.NLF_U,G^Z?Y5R=?T MKX1_P<7ZQ_4^2SSXH?,2BBBOZ%/EPHHHH *TO#-Y::?XDTJ[U"'[1807<4MQ M#C.^,,"PQWR,UFUH>'[FQL]?F4'(Y(]ZSJ*\)+\ MC2F[33\SZH^,&L>-[S1;[Q)X*\06NJ^#)K7RY+*SB0R6R[-KL"!DXZ\$$>G& M:X_P;?'X5?LY_P#"7:+!&?$.K730&^:(.UNN\KCGM\F?JPJAHOQ@\ ?#W2== M/A#2-:34=3@,2Q:@ZM;Q'! ) 8Y'.>Y[9&:YOX:_%K1]&\&ZEX/\7:5/J_A^ M[D\]/LKXEA?(/&2.,@'KZ]?>WXGV=3%T774W4]Z M46MVU%^7:_X'H?ACQ-=?&GX(>,AXKC2_O]%B:>UU$PJC@A"X ('!RN#C&016 M-\!8X/!_PI\8^/8K2.[UFT;[-:&1-WDG:OS#VS(,^RUC:]\8/#.A_#F]\(>! M=*OK.'4&)O+[4'7S&!P#@ G.0,=@!GCFL?X0_%NT\"Z;K.@ZY82ZGX<_UJC'$4N>:H?M5*6T/X=*HRS6+@# MWVQ5YKXXU#X?2:+#:^$M,U6+4!GKX4L_"WPVN;"9[/4=&N#J$BQED$\@!P9!TZ2C\5K MQS]G'1)_#?Q\N=)N1B>SCN8'XX.WC(]JAUS]J/Q+=>/#J.FWL]MX=6XC9=,> M./)B7&Y2<$@M@]^,U9C^.7ABU^.#>.+?3M26SGL_*N(&2/S#-C;N4;L;=H7O MUS7G0PN+ITZD91O[2+>G\W],]*IBL'4J4I0E;V)O M^PE4'9\L2 YXQFO*Z^I MP=1SI)2BXM::GRF,A&%5\LE)/70****[3B"BBB@ HHHH *^;_BE_R/FJ_P"\ MG_H"U](5\W_%+_D?-5_WD_\ 0%KYK/O]WCZGU7#O^\R]/U1RM%%%?"'Z&%%% M% !1110 5ZG^RWX#T[XE_'[P;X>U<*^FW%V99XFQME6)&E,9]FV;3]:\LKH/ MA[XUOOAQXXT/Q/IN#>Z5=QW2(QPK[3DH?9AD'ZTGL-;GZ#W7C+XY?$SXQ^,O M#WPJUG0?!WAKP766(+@D[>,_+GJ1FO"=&_:+N/!_[36I_%30K*1K:Z MU.XN3IUR^QI;>8MNC'-7 M\N[\':OJ4FDMX=:QCVP0L2BDG&XE>K9)!&[CIB_\/Y-#^#/[?7C'P#;0QVWA M+Q1$=/>SR!"CSP+,JA1QCE?M(?L[^%?B'<_$K1O /B?_A,Y&DN M(K.:6,64=RX.^0?O"1DLW."!U"BOF;Q7\6-;\6?%JZ^(4TOD:W+J2ZE$5.1 MR,&C5?90J@?2GRW>PG*UM;GU9\"_"\O[+_@'X_>-K\^7JFDW$OAG29RI#-+N MX8 ]5+/ WT4UW_[+]UX@A_8=N)O#OBW3/!.M'593'KFL%!;0YF3<&+JPRPR! MD=2*\*_:Z_:^T7X^^$=$T'PSI%]H\"WAU'5?ML<:>?.(PD>THYW OG./X:? M\(?VDOA=HO[.,GPL\?Z%XBU2WGO'N9FTE8@I&]70!FD4Y!49XJ6FU=C4DG9! MX1U+Q%J7[=7@T^*/%^F^.=5ANX(SK.C[#;2IY>552BJ/ES@\=0:^V_%=YXA\ M)ZQ\4-?^(^NZ3>?!U+ 1VNCM"KSHS(BLKD*#AB6 4DDEQTK\X]#^)7PX\ ?M M%>&_&'A#1]\9@I#X^?;R2,9:O2]-_;.T*/XZ_$#5M2TC4 MM4^&'C.!8;[1)E3SU98%02!=^T-D$'##A@>H%.46[6",DD:O_!./6G\/:Q\4 M]6L[7[2]CHANH;5GV[]C,RH6QQG&,UZUI'PYTN__ &N/A9\9/!RB3PGXSBNY M;CRP,6][]CF+!@.A;!R/[Z/7R]^SU\>/!WP-USXD?Z%K5[H^O6$MAI>(XC/& MI+;#,-X .",[2:Z7]C_]LJS^ .DZIH'BNPU#6?#[S?:].%BJ22VDQR' #LH" ML#G@\$'CYC1*+NV@C)628[X(_#/_ (69^W=K<<\/FZ;HVO7VKWG^[%.QC&.X M,AC!'H37J/[53W?[0?[-%SXYETNZL]6\(>(KN$K=6[0NUA)+M0JI'(V-;Y;U M1Z\F^&?[5OASX6I\8=3R:3=M%"8K*%F9HRY+$[P7+$ ,"46M M'X5?MT7\WA_QCX=^,5UJWB[1M9@$ABG!0,P/5=VU3Z!B>U87@ MOX,77P)\+?M3^&W#OIC:+#=:9<-SYUJ\=UL.>Y7E3[J:^ O%.F:I>>+)M)F MTB+5;=(VBECV%86E9G#9 ;!X/3/4FERNXU)=1?V.X;7X8?LY_$[XPVVG0:CX MHTU_L&G//$)#:X1,N/0$S MZA,>M>%?$C]J'XC_%_P (P^'/%VN+JM@EZMZ& M^S1Q/O ("DH!E1N)P1Z>E=-^S-^TEIOPBT'Q1X.\7Z-<^(/ _B2(QW=O:.JS M0,4*,Z X!W CN,;5(/%87Q%+73_AKX?\ $EOK*WJS3ZKKTR-F *V8 ME5&Q]XKR1GY>M7;WM41?W=&?H!\7M0\TQ[XV^[SG&/O"ORKUBZGOM7OKF[F6YN9IWDEF4#$CEB2PQQ@GFOL?Q M_P#M/? +XP>'_"=EXT\*>,KRYT"R%K"]GY$:Y*('/^MY!*#%?&^K/9R:I>-I MZ216#3.;>.8_.L>3M#>^,4J:LM1S=RK1116AD%%%% OWE^H_G7[O?#G_DG_ M (:_[!MO_P"BEK\(5^\OU'\Z_=[X<_\ )/\ PU_V#;?_ -%+7/5Z&]+=G144 M45SG2%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'S M_P#MF?\ )/\ 1_\ L)+_ .BWKX_K[ _;,_Y)_H__ &$E_P#1;U\?T %%%% ' MN_[&_P#R4[4_^P5)_P"C8J^R:^-OV-_^2G:G_P!@J3_T;%7V30 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>(?M8?\B1IG_7^O M_H#U[?534M)L=8A6*^LX+R-6W*EQ&' /K@CK7FYCA'CL+/#IVYEN9U(\\7'N M?GIFC-??7_"#>'?^@%IW_@*G^%'_ @OAW_H!:=_X"I_A7YK_J/5_P"?R^X\ M[ZD_YCX%S1FOOK_A!O#O_0"T[_P%3_"C_A!?#O\ T M._P# 5/\ "C_4>K_S M^7W!]2?\Q\"YHS7WU_P@WAW_ * 6G?\ @*G^%'_""^'?^@%IW_@*G^%'^H]7 M_G\ON#ZD_P"8^!K_S^7W!]2?\ ,? N:,U]]?\ "#>'?^@%IW_@*G^%'_"" M^'?^@%IW_@*G^%'^H]7_ )_+[@^I/^8^!K_ ,_E]P?4G_,? N:,U]]?\(-X=_Z M6G?^ J?X4?\ ""^'?^@%IW_@*G^%'^H]7_G\ON#ZD_YCX%S1FOOK_A!O#O\ MT M._P# 5/\ "C_A!?#O_0"T[_P%3_"C_4>K_P _E]P?4G_,? 4S#R7Y_A/\ MJY+X4;A7Z2_\ "N_"W_0NZ7_X!Q_X4G_"N_"W_0NZ7_X!Q_X4?ZRP_P"? M?XA_JM/_ )^K[C\V]PHW"OTE_P"%=^%O^A=TO_P#C_PI/^%=^%O^A=TO_P MX_\ "C_66'_/O\0_U6G_ ,_5]Q^;>X4;A7Z2_P#"N_"W_0NZ7_X!Q_X4G_"N M_"W_ $+NE_\ @''_ (4?ZRP_Y]_B'^JT_P#GZON/S;W"C<*_27_A7?A;_H7= M+_\ ./_ I/^%=^%O\ H7=+_P# ./\ PH_UEA_S[_$/]5I_\_5]Q^;>X4;A M7Z2_\*[\+?\ 0NZ7_P" X5\W?%)A_PGNK? M[R?^@+7[;?\ "N_"W_0NZ7_X!Q_X53F^$7@:XF:6;P9H$TK M9F&'?\ P50?_$5X'M?(^E]EYGX7;AZT;AZU^Z/_ IOP#_T M)'AW_P %4'_Q%'_"F_ /_0D>'?\ P50?_$4>U\@]EYGX7;AZT;AZU^Z/_"F_ M /\ T)'AW_P50?\ Q%'_ IOP#_T)'AW_P %4'_Q%'M?(/9>9^%VX>M&X>M? MNC_PIOP#_P!"1X=_\%4'_P 11_PIOP#_ -"1X=_\%4'_ ,11[7R#V7F?A=N' MK1N'K7[H_P#"F_ /_0D>'?\ P50?_$4?\*;\ _\ 0D>'?_!5!_\ $4>U\@]E MYGX7;AZT;AZU^Z/_ IOP#_T)'AW_P %4'_Q%'_"F_ /_0D>'?\ P50?_$4> MU\@]EYGX7;AZT;AZU^Z/_"F_ /\ T)'AW_P50?\ Q%'_ IOP#_T)'AW_P % M4'_Q%'M?(/9>9^%VX>M&X>M?NC_PIOP#_P!"1X=_\%4'_P 11_PIOP#_ -"1 MX=_\%4'_ ,11[7R#V7F?A=N'K1N'K7[H_P#"F_ /_0D>'?\ P50?_$4?\*;\ M _\ 0D>'?_!5!_\ $4>U\@]EYGX7;AZT;AZU^Z/_ IOP#_T)'AW_P %4'_Q M%'_"F_ /_0D>'?\ P50?_$4>U\@]EYGX7;AZT;AZU^Z/_"F_ /\ T)'AW_P5 M0?\ Q%'_ IOP#_T)'AW_P %4'_Q%'M?(/9>9^%VX>M&X>M?NC_PIOP#_P!" M1X=_\%4'_P 11_PIOP#_ -"1X=_\%4'_ ,11[7R#V7F?A=N'K1N'K7[H_P#" MF_ /_0D>'?\ P50?_$4?\*;\ _\ 0D>'?_!5!_\ $4>U\@]EYGX7;AZT;AZU M^Z/_ IOP#_T)'AW_P %4'_Q%'_"F_ /_0D>'?\ P50?_$4>U\@]EYGX7;AZ MT;AZU^Z/_"F_ /\ T)'AW_P50?\ Q%'_ IOP#_T)'AW_P %4'_Q%'M?(/9> M9^%P8;EY[C^=?N_\.?\ DG_AK_L&VW_HI:H?\*;\ _\ 0D>'?_!5!_\ $5UT M,,=M"D,,:Q11J%2- J@< #H*SG/F+A#E'T445D:A1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110!\_P#[9G_)/]'_ .PDO_HMZ^/Z M^P/VS/\ DG^C_P#827_T6]?'] !1110![O\ L;_\E.U/_L%2?^C8J^R:^-OV M-_\ DIVI_P#8*D_]&Q5]DT %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110!\__MF?\D_T?_L)+_Z+>OC^OL#]LS_DG^C_ /827_T6]?'] !11 M10![O^QO_P E.U/_ +!4G_HV*OLFOC;]C?\ Y*=J?_8*D_\ 1L5?9- !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 ?/_P"V9_R3_1_^PDO_ M *+>OC^OL#]LS_DG^C_]A)?_ $6]?'] !1110![O^QO_ ,E.U/\ [!4G_HV* MOLFOC;]C?_DIVI_]@J3_ -&Q5]DT %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110!\_\ [9G_ "3_ $?_ +"2_P#HMZ^/Z^P/VS/^2?Z/_P!A M)?\ T6]?'] !1110![O^QO\ \E.U/_L%2?\ HV*OLFOC;]C?_DIVI_\ 8*D_ M]&Q5]DT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!\_P#[ M9G_)/]'_ .PDO_HMZ^/Z^P/VS/\ DG^C_P#827_T6]?'] !1110![O\ L;_\ ME.U/_L%2?^C8J^R:^-OV-_\ DIVI_P#8*D_]&Q5]DT %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% 'EOB;X[0Z#XTOO#-IX7UO7=0LXTED_LV))!M8 YP6!_B Z5T=C\4M!N= M:MM%GN?L&L36L=T;*YPK1[R (V/3S,G[NM&M M80EUI,,CN[;$^4[ >,9/X5IZ79^&]%_: 6]U:S>;3M5L+6XTJXEMW=I)V* 2 M$8RKE@Q.>E?02P5'D4M?AOZO3Y?O2NJ\+K MJ%U\4_!$R^9]L?P3'B:92?WA5OO'US45,'1UE!]/QY4^XZ>/KV49KKOY7:[' MT/'XBTN;5)--CU"U>_C 9[995,@!]5SFGV^N:=>7LEG!?VTUU'R\,Z,UQ);S-*"%?+!^@^3/X^^*K_ 0M]/T'XJ:9 MIFE0VWBFQ9)IXM8%G)!=6(*G(E)&#D_+@Y/S?A43P$8^TU?NKMO\[[&]/,I2 M]G>*]YVWV^5MSW;XC?%K3_AS=6%I+87VJW]XLDD=K8(&<1H,LYR0, ?R-=%X M1\56'C7P[9:UIKL]E=IO0L,$83>.EAY?#LOZ_KR/4]2^)5CIG MQ&TOP=):W#WVH6[7*7"[?*55W9!YSGY3V[UM1>*M&G>V2/5;-VN"I5(Q;E:Z7WMO_(57,*U* MM_%G_"-RZE%'JWDK-Y3' P6VA=W3=G^'K6G%XDTJ?5)-,CU&U?4(P&>U653( MH/JN'?VB-4DU73U0:E8Q2Z5*8&D7[8Q10_'0[PW)K@?A[X?AEU M;3;;4M0BT3Q/9:TKL)-/F>[ED,F,&4$J5/?CC'-6LOI2ASJ3V3V[_HNIG_:E M:-3D<%NUOT7ZL^R=3\4:/HLZPW^IVEG,PRL MT,PG7 W?=[]^U?*?Q>M]-;XF>.=+O;JRM_[3%D1J6I02.UKM +>4R*0!@8.2 M/QQ73?#_ .'?A[Q)\:]?CG@&JZ18V-C-9.N4@E80Q[9<+A2>OM\QJ7@*<:?M M)R>U]O3_ #+6959UO90@M[;^O^1['I_Q3MC;^*;S5K0Z3I^ASM$;AY5?SU4' MYE4:W='\+</*HOM@[ MA] *]FKRJ]-4:CIWO;\^I[.&K.O255JU_P N@4445@=04444 %%%% !1110 M4444 %%%% !1110!\_\ [9G_ "3_ $?_ +"2_P#HMZ^/Z^P/VS/^2?Z/_P!A M)?\ T6]?'] !1110![O^QO\ \E.U/_L%2?\ HV*OLFOC;]C?_DIVI_\ 8*D_ M]&Q5]DT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !13)F*Q.1P0I(K\]/V?_P!H#Q/XR\3P'Q#\8]=?68=5E6'P M=;:#!(FHPQ_,L7V@( A?#+R1C .>:I1OJ2Y6/T.HKXU\#?M-^.?C%\'?BYJ- MWX;FT?3[+3]7?3]=M91']F:.',5N<'<95#9WC XIG[.?[7EU9^&?A?X?\4>& M/$!L]>":7;>+KY@\=Y>[]N!D[F7<=N[U'3'-/D8N9'V;17RGX%_:"T_P)9_' M;Q3XBU/7-2T[P]XEDLDL[EDDV-YAC6*V Z*6QU/ ]":Z"/]K?4/#_PMUOQO MXT^&?B#PO86"P26Z2-&_VM9G*H%)(VD<%MW W#DY%+E8^9'T72%58@E02.G% M>;?!'XN:C\6])N[Z]\)7GAN&,1O;W$MQ%<6]XC@D-%(A.< #.0,$U-^T)\5# M\%?@_P"(O%Z6ZW=S8PJMO"Y^5YI'6-,^P9@3[ T6=[!I:YZ)17S[\&_!_P 6 MK>;0O&7C'XHQZII%Y9M>:AX?&FQ100!X]R+'*!N^4D9)].]>DWFM6U M]<^#M:L?AS?:A_95GXQF0""2XY'S)U"D@X/)X.0,&GROH',NI]2^6N[=M7=Z MXYH6-4^ZH7Z#%?*7B#]O2#0]2\8Q1?#W7-3L/">K/8:MJ=JZ&W@A$AC24L3] MYV!POMUKJOA_^UY;>-_BII'A.?P;K6@V>OV4E]H6J:BJH+^)$9RX3JJLJD@_ M3.,TL/".Q[: MVF)^55(Y<^H)HY7LPYEN?=]%>)^-/C+KWPX\$>%+C2O"-]XP^UZ;'[@MK&UV&ZBGA= M8_*VYPQ9V !!Z",DD#=/TV&&>V6X9'-^)G*Q)&,@[^A((P P.<4)T^J?L_K>ZIKS6WB>_ ML=(UR9IK_38X8V\TL/F D8%@/3'2O2_#^A6GAG1++2K"/R[.SB6&)2^#]?ET_\ M:SBN)XYH[FU+ AE.0_/*D=CZ5P M?[FZC#>2SW5A:QW5X\T:*88_+<8",Y"EO\ :/I7 M1.K5JI0F]CGIT*-%N<%JSZUKD/B-\/Y/B#I$>EC6;K1[!F/VJ.S5%]"T/QCJ&G6_Q,735O=3T6&9?M$49(V2/&#E=RM&3V!:O5 M:QC.5.2E'=&TZ<:L7&2T91T31K3P]I%GIEC$(;.UB6&*,=E48%7J**AMR=V: M)**LM@HHHI#"BBB@ HHHH **** "BBB@ HHHH **** /G_\ ;,_Y)_H__827 M_P!%O7Q_7V!^V9_R3_1_^PDO_HMZ^/Z "BBB@#W?]C?_ )*;J?\ V"I/_1L5 M?9-?"7[.?A6\\8>-KZSL=>N_#TR6#2FZLP"[ 2(-ASVYS^ KZS\"^ M?\*ZI M)/J?C>_\1V9A,26=W;H@1L@A]PY) !'/K0!W5%<)X]\,^--8U2"Y\,^*(=%M MXXMK6L]L)%D?).XG&1P0./2NHK+:/ M5U\-%%EM6UT6N!*580&XV=<==F[MUQ7F377QLLVR;/PSJ 4XVQ,\6[W!+<4 M>PT5Q/@+5O'5]>7$7BS0=/TRV2/,5Q9W?FF1L]-O8 =Z@\>>._$?A76(8-,\ M&7GB*Q>$.US9R#*ON(*%2/0 Y]Z .]HKR1OCOJ5LNZ[^&OBRW0=6^S(P ]?O M5Z1>:_;Z?X=EUFZ26&UAMC=2)L+2*H7<1M')/L* -.BO+;;]I;P!<, ^K36O M_7U9RQ#_ ,>6NQ\+_$+PWXUDFCT+6K/59(0&D2VE#% >A([4 =#152;5[&WN M3;RWEO%< !O*>50V#G!P3[&IXKB*<9CD20>JL#0!)1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 V1=\;*.X(KY,^ _P"S;\6_@OJ,-BFL>!+WPS+JS7]VTEA. M^H>6Y =8I3@*=HXR, DU]:T4[V%8^6/A]^S+X]\!^$?B9X#@UK09?!/B&+4V MTQW28WL4UR@2+S6QMVJH^; )STJW+^ROXA;P/\"]$75]+6?P#JL&H:A)B39< MJCAF$7RYRI:)XEN_A_KLFRV@MK>>SG:WN(U)\[ MSP?XF 0J0."":Z[]H;5/B1X=\(RZYX U#P]91Z5;7-[J4>NVTLS31QIO58O+ M88;Y6^]QR*\F^$?[0WCZT^#2U#0V6@V$R7T4IN5@!?HJM6A:)F+\.?A!\4_V==6MK/PY#IUQ'XN\0PF[L=-@GGTK0M/C5C,X,C K M(Y< 'H=G?M])?&CX7V7QF^&&O>#[Z9K:+4H-J7"C)BE5@\;X[X=5..XR*Y#1 M?VJ_"'B7PMXB\1Z19:[JFCZ/ ?%7B:XMM7TYO"SV\>L:3>69CO+5II D>4/!!)Z@]C0^9NX>ZE8SOA5\/? MCEHLVCZ#XV\2>$-6\$6=FUCO&*]E\ _MB?#OXB>, MO^$#/BIXFM](T M&WUJ:*Z$OV34I=,E2TG,:DR 2$87&W^+&>,4>\N@>ZSSJ\_9'\1S?#WXW^'X M]9TE;KQWK1U*PF(DVV\7G"0++\N2V./ER,UTT/[.^N6OQ*^#OB=M4T\V7@?0 M)-+O80'\RXD:V:(-%QC;DY^;!Q6?HW_!0#X5:Q>:5$)]5M(;ZX-K)>7-@Z6] MK)DA5DDZ#.,\9P.3BNX^*W[2GA_X1:Q]AU;1O$-Y#% MU>7]AIDDMK:P,2!( M\G0C((PN2*/>V#W=SXS_ &;?@+X\^.7P)L=!/B+2++X:S>(GOKRW:*0ZB&C8 M!D1L;-K<$>AS]*]W^+'[(/B3QYXA^+]]I^LZ3:6WC*STRUL(YQ+FW-LT!8R8 M7H1$<;<]1FNS\3?M7?"OX0MINF)'+;P:GHT>OZ=#I&GY2[BEE/\ &W[9W@7P+K%OI=U:ZU>WBVD5_J26%@\W]E0R('5KC'W3AAD#)&:= MY-Z(FT;:G&_%3]E+QAXK\<>&M>TC4_#=_#8>'X]&EL?$UO+=6]M*HP;FWC V M[L8^]^/M%X+_ &/?$?A:'X)PS:YI5RG@/4=0N[Q@D@-RD\BN@C&WA@!SG ST MKT#QO^V-\/? NJ:38W4VH7\VL:/'K6F_V=9O/]JAD8A%4+SN.TG!Q@#FIX_V MO_APWPC/Q$;4;F+1A=G3OL[VSBZ-V%W>0(\9+8Y],?>+OV-]5\ M8_\ "[A=ZSI\7_";7EE?:3(BR%K22W+G]\,<@[L?+G@FM37O@/\ $[XO?"'Q M%X(^).N^&V+06PT:]T6"962XB))DFW]0V%&%' +>U=/H_P"USX2U2Q\-W=QI M>O:1#K>JKHJ-J.GM"(+IU5T1R>,,K AAD=:[?PM\8-$\9?$?Q3X-TM+F>_\ M#:Q?VA=;/]'1Y!E8PV>6^]D=MII7D.T3R[]G7]G_ ,0_#'7K>\\0:-X#@^RV M+VRZAX4E0'*Q/VD/V5O%/Q/^)P\7^&K_ ,.W*7&B MG1KO3/%%M)-$J%B0\1095LMG.001[XKZFHJ>9WN/E5K'S/\ LD_LQ^)OV?\ M5M=N?$6H:/XAFU*WAB75(9)VNXUC4*L'SKCR@.F#GY5&/3Z8HHI-MN[&E960 M4444AA1110 4444 %%%% !1110 4444 %%%% !1110!\_P#[9G_)/]'_ .PD MO_HMZ^/Z^P/VS/\ DG^C_P#827_T6]?(MC-';WUO++'YL4<;E!!(H L MV?A_5-1OFL[73;NXNU!8P1PL7 '4D8Z52FADMY7BEC:*5#M9'&"#Z$5];^,/ MBIX:\)IK'B+PMX@L=5\3>(Y[6&/%&&)SW8>E>%?M ZGIFL_% MC6KW2;F&\LYA"?.MV#(S>4H;!'OG/OF@#L_V-_\ DIVI_P#8*D_]&Q5]DU\; M?L;_ /)3M3_[!4G_ *-BK[)H **** "BBB@ HHHH **** *-YH6FZC_Q]Z=: MW7_7:!7_ )BF:7X=TK0WE?3M-L]/:4 2&U@6/?CIG:!GJ:T:* .,\6?!WP=X MYU(ZAKFAPW][L$?GN[AMHZ#@BN8'[,_A:WDW6&H:]I0ZA+'4WC4?A7K5% &3 MXCT>ZUCP_HH Y'P##XU@^W)XPN-*NL%/LLFEQN@(YW;@Q^GZUC>+O MB'XL\,^(I[>V\"7FN:,H7R[RPF5I'RH)^0CC!R.O85Z/10!Y+!^T-:PWT-KJ M_A+Q)HDLKA%^T66\9)Q_"3ZUZ5K>O:=X;TN74=5O8=/L(MOF7%PP1%R0!DGI MR0*T*K:AIMIJUH]K?6L-Y;/]Z&>,.AQTR#Q0!G:3XTT#7HO,T_6;&\3^]#<* MW]:V$D610R,&4]"IR*\[U/\ 9Y^'NJLSR^&;6.5O^6D+,A'N,''Z5O\ @/X> MZ9\.]/N++2I;R2":3S-MW<&79P!M7/1?;WH Z>BO-/%'@OX@S:]<:CX?\;Q0 M6\C[H]-OK)6AC&,8W+\QJ#1[CXN:?KEG#JMMX?U?3'E5;BYLV>!HX\_,P5B< MG';VH ]2HKG/'GC2/P'HJZE+IM]J!+Q MUCN=1N-*D.,C4;62$*?3<1C]: /4Z*S?#_B32O%6GB^T?4+?4K,L4$]LX=-P MZC(K1H 6BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **\P_:"\3ZIX4\&VMWI5_)IT[WL<;31JK'80V1@@^EQ .<5J0_%RUU34/ M#%CIUJUS-K=LUTV' ^S1AYZ%17AOA7XN1 M^%?AK8ZU>?VAJL=UJK6K-)5(VN>HT5Y%=?M#V%IX>%_)I5TE M[#?K87NGO@2P,0QSZ'[IJ[I?QL-S)KUK?Z!>:5J&F6+ZBMO<,,RQ*,]NAY%7 M'-L')J*GOZ_UT'[2#ZGJ%%>-6G[1L&-3CM=24K:2J%;SYAP409Y^8 MA<^M:FF_':T;0?$-]JNE7.EW6BR)'/9,0SL7)" >YQ4QSC!3=E4_/M?\M1>U M@^IZC17E&B_'3[8FIQ:CHDVFW]KI\FI10M,KK-$HS@$=&]JAT7]H!=4O-#\_ MPY?66G:LZP6]](5V-,3@@>HSQFFLWP;M[^_DP]I'N>NT5Y1X&^*6N^*O'FM: M8^B,NF6LXA,FX!K7"MG?S\VXCMTJW=?&*?2_$UKIVI:!-96=W=BR@N?M$;MY MA; +(#D*>QIQS3#2IJI=I-M;/H"J1M<],HKRWX,:I>:AK?CI+JZFN$AUB6.) M97+"-0QPJYZ#VJ#7M<\1>-?B1?\ A;0]8/AZSTN!)+F[CB6261V (50W&,'^ M=']I0]C&JHMN3LEU;U_R'[16N>LT5YOKGCF^^&NC:/I5Z)O%7B>]+)"EN@0S M8.=Q] 165=?M$6%IX>%_)I5TEY#?K87NGN0)8'(8Y]_NFG/-,+2;C5ERR2U M7;R]0]I%:-GKM%>/GX_7'G:C8#PAJ8UFU3SC9-MR(<9WL?X< CCW%6[_ ./5 MK;Z3X6O[71KN^&O>:L=O"1YJNA"[<=\L<5"SC!--\^WD^]OS%[6'<]5HKPSQ ME\5I?%7PJ\5F""ZT'6]+EACN("Q5X]TR@$,/4 BMFS\17"_$OP]8_:;Z1CH( MN#;+(HAE;GEL_P 7'7Z5']KT)348:IVU]6U^%A>T5]#UJBO-M ^+\NH>+++0 M]3T.72I=0#M:.9TDX4$D.%/RGCI6-J'[036ESK:0>&;Z\AT>Z:&[N(F78B!B MN[/J<'CVK66:X2,>=STO;9]-?R*]I&U[G=_%#0[SQ-\-O%6D:?&LM_?Z5=6M MO&S!0TCQ,J@D\#DCFOG&\_9]\;S?L$I\,5TVW/C(11J;/[7'Y>1?"8_O<[?N M#/Z5[5KGQF6&[TBQT+1;K7=0U"U2^$,1"B.%N['UIGB;XS2Z+=:=IUKX?N;K M6;JV%Y+922*AMX^X8YQNX/%6\UPL$WSZ*W1[]A2E#JSA?CI\-?B'J7P3\&:' MX%,D%YIOX8/B$G[*_P 3+[P#\:;7_A&; M/3;WQ;'I1TS31K7VK;Y$X:1))Y&)+!1G<3@DX%?;'@?QC:>//#=MK%FCQ13% ME,4F-R,I((./I6_7ITJT:D%.#NGJ/E4M3YEU_P""OBY?C)\&_$>FZ/:7&E>% M?#MQ87L;W2($F-J\:1 =2I8AF>&)/AIX%DMIG MUK0O[=34+:ZG*$+Y$0Y3YBK;CS\I^E?9%(RAE((R#P:TYF5RH_,/X'_#'XD_ M&O\ 9YL_ FEZ#IL?@J\\4-?S^))+U!-;JA"R)Y'WF(QD-GG..E>T_'7X$_%W MQIX^\:6]K8-XH\,ZI81VNB37'B%[*VTO]UMDW6J,/-8G."V1W.02!]:>"/ / MA_X;Z&NC>&=+AT?3%D:46T&=N]CECR3UKH*IU-;HGDTU/E#X9_L^^,/#OQJ^ M%7B+5-*M1I?AWP-%HMW/]IC=H;U?,!55ZD8?[PXY-)=/ M\-7'C;PGXI@3S[:U\1MI#P WMBOM>BIYG>X^5;'R[X+_9 M_P!>\/\ [0?PY\40^'[?2O#.B>#!IDL(OUG:RO&,I:%"?F=0)-N_&"#7F9_9 M/^)%M\+[C[+IEDWBC3/B%)XHL--FOD\B\M2L8 9L[5;*]#T /K7W=11SL.5' MRK\?;S6?'G[,'C.X^*.CZ?\ #K5-/<7FCA-22Z9I80KQLK ##NVZ/ YPV>]= M+^Q!X'U#P]\'1XEUY6/B;QC=R:[?R2( Y\P_NQ]"H#X[>8:]=\;_ Q\*_$E M=.7Q1H=IKBZ?-Y]JMVI98Y,8W 9P>/6NFCC6&-4151%&U548 ["CFTL/EUN M.HHHJ"@HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#Y_P#V MS/\ DG^C_P#827_T6]?(MB[17UL\94.LJE=XRN>$&\"^)KG1GO[?4F@5&^TVIS&VY0V!],XKZ&\: M?"WPGH'@O7=,T3PG)=:KI=Y8P-=7"%I+TR.C':0>F&*G&*\6^.GA?2_!OQ/U M;2=&@%K80K"R0*Q(C+1JQ&3[G]: .Z_8W_Y*=J?_ &"I/_1L5?9-?&W[&_\ MR4[4_P#L%2?^C8J^R: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH *HZCH>FZP +_3[6] Z?:(5D_F*O44 4]*T>QT.S%KI MUI#96P8L(8$"*"3DG KS?6/@7++JUSJ6B>-/$&AW=Q,T\@%QY\09B20L;<*, MFO5** /-_"/ACXC:#X@@75/%=AKN@ MYOGVFR[(VG;@KA1SC/M6]XZ\:7O@Z M.SDM?#6I^(8YBPE_LQ59H0,8+ D<')_*NJHH \MT_P#:1\%7$HAU"ZNM!N.C M)JEJ\*J?3>1M_6O1M)U:RUW3X+_3KJ.\LIQNBGA;/GX$:MH;R2> M%_B!KFEY'$%XXNT/M\_0?05T?@.U^(>GZO);>*[S2=2TL09BN[&-HY3)D8#* M3Z9.0.U '>T5PGCOXP:3\.M8MK+5[/4?L\\/F_;;:U:6)>2-IV\YXST[U;\- M?%WP=XN*KIGB&QGF89\AI0D@^JG!% '844BL&4$'(/((I: "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** .$^,/@*^^(7ANWT_3[FWM9XKI+C?UU&"\3[%;O&I1 P8$Q#A&3;9PD7P]N?^%I7WB2::WDTZYTW[#]F()?.5))XQC -87PM^"\ M_@'7=4OKJ]CO$:-K;3U7=F&$N6(;/?..GO7K%%+^S,-[2-3EU3;7SW%[.-TS MQ6W^!VK0^ =&T(ZA9FYLM7&H/)A]C(-WRCC.>?I75?$7X?ZGX@U?0M&'X!ZM=:?) M/=:E9R:U>:S'J=W(JL(=B[OD08SG+GK72^(?A9J&L>,/$.KQ7=LD&I:(^F11 ML&W)(P&&;C&WCMS7IU%1'*,)"/*H_CZ_YL2IQ1Y(?@[J7V'X?P"]M WAV7S+ MDX;$O*GY./;O3-5^"-QK3>.ASCM;^MCQS0?A#K%KI&I65W;^'H))]-FLX[JQ@=)6D<;5=B>BX MSD#DU;E^$.I/X?\ E@MY:B3P_=QW%PV&VRA6R0G'7ZUZQ11'*<+"/*EY?BG M^@>SCV/,]#^'6N>&_'FNW]C?6@T'69/-N(V#?:4;8WW#T'S-GZ5QVD_ '7[. MYTP3WVDM%8:BMZ;A('^TW(#Y(D<]\9XZ5[[143R?"U$E).R;:U[N_P"8.E%[ MG$?#KP+>>#M2\3W%U<0SIJFH/=Q"('**Q)PV>_/:L?Q-\._$=KXZN?$_A'4K M&TN+Z!8;R#4(V=&*X 9=O? _P#UUZ?175++Z,J4:*NE%W6NJ?\ 3*Y%:QY9 MX@^'/BG65\-:R-5T]?%FDO+OF\EA;S(Y/RXZC X_$US[? /5KK3Y)[K4K.36 MKO68]3NW56$.Q=WR(,9SESUKW.BN>>486I+GFFWZ];6OZV)=.+W/.?\ A6E] M_P +"\1Z_P#:K?[-J6G?8XHL-O1MJC+<8QQVKS#Q1X)U?PBWPLT"WO;;^V+> MXNVCN-K&'<9%<9'7&#@U])NVQ6;T&:\>\+_'*'Q]J]H;3P)K-S;1W1MO[5:* M)XK9L@,Q;=D #!.**V10Q-.3I*VNK]9*3^^QA6E2@U"3LWM]Y&WP3UF^\)>+ M(KW4K23Q!X@GBEDF16$$:HX8*!C/3/Z5H:[\(M3U;Q!#?1:E%:QIH1TK='N$ M@DPWS@X^[S]:] M_%VB74EM'#JUE(]SGR56=29,'!QSSS3[?Q1I%XEX\&IVL MRV>?M+),I$6!D[N>.*O^Q<.HV<'T[]V_S;-%[)Z7_'YGDW@KX):WH/B/P[J- MY<:0D6DAU*6,#(\P9"N]V/WFSCKQUK6A^$6I1Z#X\L3>6IE\074D]N^&Q&K$ MD!^.O/:O0[/Q1I&H7:6MKJ=K<7,D?G)%',K,R?W@ >E*K>:S M2QCT34)++S/-R) I(WG(&.E52R/#TZ;48NRU^]FW2W:.T4NT#YEQSU Z^@I/&'P>UCQ!KFE>(!)I-UJJ6 MJP:A;WL+-;3,/XD Y'4]>F!7I%MXTT&\L+B^@UBSEL[=MLLR3*5C.<8)SQS5 MN?7=.MFLUEO8$:\.+<-(,S=/N^O4=/6HEDN'<73<79N]O-=32U*2WT]3/\$: M#+X=\/06=Q!8P7 9VD33HRD/+'& >>F,^XK?K*A\5:/<:M)I<>J6CZC& 7M5 MF4R#/MFBY\5:/9ZM%ID^J6D.H2#"6Z-6BN3 M^*?CA_ASX&U'Q!':+?-:F/$#/L#;I%3K@_WL_A6EX=\6:?XBMXA!=V[WGDI+ M-;1RAFBW*#@BMO93Y/:6TV)]M#VGLK^]N;5%94/BK1[C5Y-+CU2T?48P"]JL MRF09]LT7'BO1K75(]-FU6SBU"0$K;-,HQSO%T8\UY?#>_RW/3:*Q?#OBS3_ !%; MQ>1=V[WGDI+-:QRAFBW*#@BM6YN(K.WDGGD6*&-2[R.:N)CG&%]>2.E.;Q)I2_;W<=K;ZI:37,D8E M2))E+,AZ,!GI4NG-)-K<<:T)-I/;0U**P]0\<>']+O&M;S6K&VN5&6BDG4,/ MJ,ULQ2I/ⅅ!XW 964Y!!Z$5+BUJT:*49.R8^BBBI*"BBB@ HHHH **** " MBBB@ HHHH ^?_P!LS_DG^C_]A)?_ $6]?.WPW^$>L_$^.^DTFXLX!9,@D^TR M["=V2,?]\FOHG]LS_DG^C_\ 827_ -%O7R5I>I/IMY#+OD\E9%:2*.1D$B@\ M@X/I0!]?Z/8_&S1])M=/74O#ET8XPD4]R&>5E'0DY&XX[U\O?%#2=9T7QSJE MOX@NX[[6&<2W$\+[E+, V!Z8SC';%?0'B"+X?^.O%VF^+X_B9_8\$*PM_9HE M$?E;,?*H)!CR!R,=:\*^,WB+2?%7Q+UO5-$4#3IY%V.%VB1@H#/C_:8$_C0! MZ'^QO_R4[4_^P5)_Z-BK[)KXV_8W_P"2G:G_ -@J3_T;%7V30 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 -=%D1D=0RL,%6&017&^(O@SX)\58.H>'+%W'22*/RF!]? MEQD_6NTHH R?$&DW=_X=N=/TG4&T:Z:+RX+N.,.8<8P0IXZ#%>8K-\9/!X D M@T?QK:(I^:-S:S\=SGAC[ 5[)10!RGP_\97_ (PL[F34?#>H>&[BW=8VAOPO MSDC)*8/(^M;4/B+2[C4;BPCU&U>^MV"RVXE7>A(R 1G/0UHUPGB[X(^#_&E] M)?WVE^5JDG)U"TD:*<'U# ]?PH [NBO,M ^%OB'PCJ]J^E^.-0NM&24&73=5 M07&8\\@2'YL^]=)\0?'$G@/2X;Y=#U'6XFDVRKIZ!FA3!^=LGIG _&@#J:*\ M_P#"_P =_!7BN9;:WUB.SOF./L>H*;>7/IM?%=['*DT8>-UD1N0RG(/XT /H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@".;_4R?[I_E7QW\#9M)TW7(DU'5?$5AJKZC((=.@MIOLDH;A2Y V\G M.<^@K[(HKNP^*]C3G3M?FM^'R9YV)P?UBI"I>W+?IW^:/AA? -M!\#[#6TTV M=-=EU[RC<+&XFCB^;Y5QT&1G..IKT#6?"MEX/^('Q!L='T\Z?I;>#IG,<:MY M9?:O.3U/7OZU]3UE^*-"3Q/X;U/2))6@COK:2V:11DH'4KD#U&:[99G.H[26 MCOU[M?E8\Y9/"G'W'JK=.R?YW/CKX=V.F:O=?#.'PSI=W;^)[>\,VK7@C=5, M(8$DN?E8%.P^E=-=:3K-WX'^,L6FP70F;7F=HXXV#RPB7+[?48R3CL#7TMX' M\*Q>"?"NFZ)#.UU'91")9I% 9@.Y K=JJN9O_ %V%1RFU-*5OZ?4^2/"/A?1/''Q'@L?"&F76F^&9M":WUD20O$ID*L%X?[SABAR/0U M?^#.FZ[XP\9+#J0"R^!=/ETVW+'*"Z+.BMCOA!C_ ("#7TOX@TN?5]&N[*TO MY=*N)DVI>6Z@O$?4 \9K&^'/P[T_X;Z&]A8R37,LTK7%S=W#;I9Y&ZLQHEF" ME3EIKHEU?F[^:=A1RMQJQUTU;Z+I96\FKGR=\/O#<3ZIIMGJEY_8GB6QUE9" M&TN5[F64R8&9@<%">OICFC6/#:R>+/&-AXGNQI6I2:@;F.\?2YKB:1=V4,,B MGY>,?+CH:^VMHSG'/2C X..:K^UI.3ER[^>WIIMY"_L6"BH\VWEOZZ[^9Y-^ MT1:W#? 75K0Q#2'UW8/UKZA6R^%:JJK>JM^#O^)\2 M?#[PU$^J:99ZI>?V)XEL=95R&TN5[J64R8&9@<%3W],TTIWGD2-E'GM<] ,#^$?SS7U_KOB32O#%O%<:M?6^GPRR"%)+ MAPH9SDA0?7@_E6DN#R._>NW^U)>T55P_'_@;>1Y_]D1]FZ*J>NG_ =_,^N/$_QBCL_L;71N?",D:^8AV&7+E06Z YP:XW36TB;]F#7]/T_3IHO$4* MVXU'%HZN_P#I7R 2K<'G&6P+2FY$A=>.:.QELK739; M6*-_*D"[5;.6X.0/45!\);.XC^(W@1GMID5?"A4LT; [Y."<<'VKZF "C & M!2USRS!RYU;XO/RMV.B.5QCR/F^'R\[]SX$TBPTZ?P+:V%KHM^GCV76%-K=" M"53Y6< A\8 W9XZYYKN?B;H,C?%OQ)%XHEBM8=0M(UM+^XTZ2Z0($ (C*GY& M!!_$>]?8.!G..:" >HS75+-I.?,H]^NNMMG;RV.59+%0Y7/MTTTONK^>Y\E> M(-)GM]>LHT>XU*)? ,T<=VUNZ&0;9-H((R&QC@\U7T_P+9>'_#_P=U:QTV2' M5[K5(C>701_,*EQPWH ..W KZ^I&4,I4]",5S_VE/EY4OZU_S-_[)A=RYOPV MV_R/BK4+/0[KQ;K>CZIJ-EI=HOB=[Q]4O+5WG91U02!2FTD\9/U%?6F@^,M' MU?7M3\/Z=(TEWI"1?: L1$2!UR@#8VGCL/2O/(?V:[-;6729O$FI3>&'N#<_ MV-MC"[BV[F3&X\UZ;H/A'2/"\E[)I=A'9R7D@EN&3.9& P",Q%&M% M*+;:^[I_7ZBR_"XC#R;DDDWKWZFQ1117C'T 4444 %%%% !1110 4444 %%% M% 'S_P#MF?\ )/\ 1_\ L)+_ .BWKY[^&/B[PAX7CU >*?"S>(VF9# RN!Y0 M&=PY(ZY'Y5]"?MF?\D_T?_L)+_Z+>OD2S\DWD N"PM_,7S"O7;GG'X4 ?0]C MXH\!:II[W]G\%]2NK)!EKB)0R >N=W/X5XGX\U?1]<\475YH6D-H>FL%5+%C MDQD* V>>Y!/XU]&;3PCX=@ MT?1X_(MK9&6!9&+;SOK5HS&,@?>^Z>3V-=S3?+7S-^ MT;\8W8YQZ9H =17G_CGX7WOB36EUO1_%>J^'=52(1#R'$ENRC. 8CQU)R>M8 M^GZ[\4?"EY!;:WHECXJL&D6,ZAI,GE2J#QDQ-U ZDY% 'K%%5K[4K73(1->7 M$5K$6"!YG"KN/09-312I-&KQNLB-R&4Y!_&@!]%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7-^._B!H_PYT> M/4];EEBM9)5@4PQ-(Q8@D# Y[&NDKP[]KB1(?A[ICNP1%U: EF. .'KJPM.- M:M&G+9LX\95E0H3J0W2.^\%?%[POX^O);+2KYA?QC(M)^(GQX\$R^$I([]M+BFEU+4K-=T80KM",_< M\$?\#KS3XK>,+'5-6\2ZK8HNBZS8ZDMO&TNI3?;2590Q2$?*D9P2F>*O-/&LBQF11(PR%+#)_"OF.'1]"M_P!I:\;Q#-I=2F^VDJRJQ2$?*D9 MP2GR/L^FB:-HRX=2@ZMD8KSOX MS0OJWPMFMU\01>'+FZ\E8[V:4Q(7)!V%AR-W(XKYDO\ Q)<6_@?4=/LH;BP2 M#5+:#6;FTU)Y;.1-KXV/SL4D$MCVZUEAL"\3&ZE;6W_!-L7F7U67*X75K_\ M /M^.9)HP\;K(AZ,IR#3?M4/S_O8_D.&^8?*?0^E?-'@.'5_#G@_X@3:!JUA M=6O]FK/9V.G:@UV;-BC?,I8<9 8@8ZK7)26OA0_ _4=0T;7[J_\ &$]C'<7\ M'VYWD'[Z(RNR9XVXQGT)]:M8!.5N?2Z6W?OV,WF;44^36S>K[=NY]C>9]G:I*VVEN[:_0:S)U'RTXWWUOV2?ZGT9IOQ"T>] MT#1]5N9CI46JR+%;17P\N1I&SA,>IP:Z-)HY"0DBL1R0I!KX_P#%&FVE]X)^ M#>I:O/,-+F<6U[#C?\W7 ]JZSXG:K_PJ+5-(\6>&97NM"U31 MWTQ620R() F;>3)/).%&?135RP$924:W;1[7(CF4XQ7,$V6:25E+%&ZG SM^@KY>\'^.F\!SV-[: MWECKFK268CTAO/S%I+R29D26,XQ]YOFSWIX; 1KQJ6=VG9>8L5F4\/*E=64E M=];'WJS!5)8@ M<5XXEO%^#.MR7=Q%/?_P!BS-+< M6ORHS^2*;J[\C5+-KEI/+MPP!5D_A7 M;S].:YL/@_;PE/FM;_)O]#JQ./\ J]2,.6]U?\4OU/M!KF)5),B\''4=?3ZU MA>"?&UIXXTHWUM;W-FHE>+R;Q-DAVG!8#T]Z\0^$GA"'Q;X^\<:IJ&HW\HT; M7KA[2S2X(A60ELLR_P 70<=L>]<%X4U:\\(>!?"7Q"CFFN8]/U.XLK]3(S;X M)"0">Z[_/;10!V)3?(O M*QE5)P.S&N7LO$6IZ3X-^)]MX?OP+"W:R,9T^YDDBMXV8B0PLWS8[$_6B.6N M=[2V=O+=+\V$LV4'&\-U?\+K\#[+6Z@90RS1E<['D1B;:&F(&>H;//H]82P:4)U%+2/=6?E]_Z'3''2 M=2%-QUEM9W7G]WZGT!7#_%WQ9_PB?A82Q:S'HU]<3I!;R-:M]=Q7+^/_AWI7Q&TNWLM4-Q%]GG6X@N+27RY8I!G!5NW6N*BX*HG4V._$*I M*E)4OB/"O^%R^+M-\$^/XIKYIM0T$V9M+VZL_(F999 #YD9Z''\ZV_#_ ,1_ M'&@^/O#UIXEO;*^L-=T^2]^S6EN5:VV1,X4'/)XP?6NSA_9Y\+0Z-KFFF34I M8M:$(O)9+LM*YC?>K;B.N>M=%-\,='F\2:!K;?:#>Z);M;6H\WY"C(4.X8Y. M":]:>)PNJC#>_3R7W:ZGB4\)C5RN5356Z^;O^!\M?$#Q)XP\>_#G2_$NLW]C M)HEYK:BWL(HR);=EWJOS=Q@-D'GH:^G_ (HZQXBT'X?WE[X6LUOM8C5/+A*% MSMR Q"]R!FN6;]F'P7EU<;[AF0Y4A\<8.>W MW0U-IOPATJQT'5](N=0U75K34[=;:4:C=F8HBA@-F1\I^;KUR!Z5K/'8>_?=79_"?QMJOQ!\4>+=2^T*?#-K:"/=/(O1I6.6/TR<#V KFK5*4J,I)+F;LO3?;IV.O#TJ\< M1&#;Y4DWZ[;_ (G74445XY[P4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110!\_\ [9G_ "3_ $?_ +"2_P#HMZ^0[6WDO+J&WA7?+,XC11W) M. *^O/VS/^2?Z/\ ]A)?_1;U\^_"V;X?V_VV3QJVI).CQM9MI^[C&=Q..^=N M* /4)?A!I'@FUATG7_C!/H5[Y89["" .*\#\?1^'X_%%TOAA+N/1@$$2WRLLH.T;L@C(YS0!ZM^QO_R4[4_^ MP5)_Z-BK[)KXV_8W_P"2G:G_ -@J3_T;%7V30 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 C,%4DG ')->>-\>_"!U0V,-U=73"01>?;V MDDD.X]MX&.]=/XZM;N]\&:Y!8AC>264R0A#ABQ0@ >^:^<-/^)TG@[X;Z-%X M=U32[6ZMLI?Z7=P;KEIC(?G[01IMW8[#)X]Z\_P!06]UOQ5XG:_U:VTK7;6]8PW-]J,D+6\0;@1H! MADQ_2N>KG4Z2O[*]Y-+7>V__ "76:Z'UK)/'&RJ\BH6.%#$#/TI6F120SJ" M!DY/;UKY:\=+J&M_$K6+'6KVWL[J.VC-@]U?O;11?(,R18&&.>G% M%]9M9+F6YBLM5FMH3*Y(]=\*6_C36)[/0I?#\5W%()S$DMP5Y9F'\77\AZUGRZ[J M\WP7T+4-2N+I[2TU]/*NG)W-:J" Q/<9R.?:LWGRYI?N]$F]^UM^V^@>VWT/ MJ?S$W[-R[L9VYYH61'SM96P<'!SBOG>Z\3V7BGXI>+)+#7!9V!\/M&FHK(1$ MC90;P?0$X)'H:R_ ^H7.C0^*],LE:[\16NDR.NI:??-/!,,CYRI)VR]"/I5? MVXN>RA[MVK^G^8>VUV/IJ.>.1F5)%=E.&"D$CZTZ21(EW.RHOJQP*^8O@S:R M3>(O#FHV.KV44TAD2]MVU%Y)[MMA+;XR.&4 G\*[;X^7$5GXC\(R7[BXTIFN M%FL9+@V\R?:H?+9_-CV+U M;<,"I%8,H8$$'N#7RW'%8^&?"'A_2M4%GJ,NK74UP]X^I.EI&JCB.212=YP1 MQ]*TO",TVM?"#Q-8#Q&NE(NK&"TO)KAQ&J_(5C#GY@IYQ]:QIYXYRY'3UM>U M^MKVV$JUW:Q](I(LBY1@P]5.:=7C7[/&HVT_]OV26K0WEH\:7$D-VUQ:R-AN M8R3P>I('J*]EKW<%B?KE"-:UKFT)%YC=> _%FH:"X'%A>.;F MT;G.W:?NCZ5[%10!B>$6UQ?#\!\2BU&K+N$QLL^40"<,,],C!QVS5#PG\4?" MWC;?\ P\\ ^(O ^J3Q7?BVXU_0##MM[:^C!FB?=G._N,9Z^M7/$_Q< M\.>"_$D.CZY<2Z:TT2RQWDT3"V.21M,G0-QT/K0!VE%06=[;ZA;I/:SQW$+C M*R1,&4_B*GH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "JNH:79:O (;ZT@O(0=PCN(U=<^N".M6J*>VPFD]&4M-T6PT=&2PL;> MR1N66WB6,'ZX%5IO">B7%U+V0L_U..:UJ*?-*][D\D;6L9U MWX=TN_NX+JYTVTN+F#'E32PJSQX.1M)&1@U%-X3T6XNI;F72+&2XEXDE>V0L M_P!3CFM:BCFEW#V<'NBIJ&E66K6AM;VT@N[8X_BI*FGZ=:V*2_ZQ M;>%8P_UP.>IJ"V\'Z%9R3/;Z-80/,ACD:.V1=ZGJIP.0?2M>BCFEW%[.&BML M9=EX7T?36B:TTJSMC"6:,PVZ*4+##$8'!(X/K4]OHUA:V+V4-C;PV<@(>WCB M58VSURH&#FKM%',WNQJ$8[(SKCP[I5YI\=A/IMI-91G*6SP*8U^BXP.M<'XP M^$MWXT\4:.+W4;>'P?I/>M&BGS/:XN2-[V./\ $G@NXAT&[MO!IT_PWJ-R0KW:VB_(MPW_ $SS0!]R M>*_#.N>,O!^J:9H;:?#I,EQ8RZ)-:D*B0J4=V..X(8@=Z^8?VB]0L]2^,.O2 MV+QRQ*8HFDCQM+K&JOT]""/PKOH?@+XAFU&$^'?&CIX!GC^T)J:WS*L,>>4V MA@-WOP/7O7COQ&L] TWQ;=VOAF[?4-)A5$6ZD;<97"C>V>X+9H ]2_8W_P"2 MG:G_ -@J3_T;%7V37QM^QO\ \E.U/_L%2?\ HV*OLF@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ K)F\)Z)O[.--SJ1NHZB=K79L1 MZ?:PW4MS';Q)';7Q ?#SQ6ZZAJ$9N7M_(&)ER#UKQ M[X@:UKT:Z/K-MK.I77A+^SX7DGL)4CN8Y",B9T/7(P<=.<4GB/QI?:;XPLM0 MTR\EOXD\*&\BDG0 RM\Q$C#'7@$CVK6MG%.-XJ%N5KMJGV&ZJUT/=;O0=,O[ M>&"YT^UGAA&(XY(594'HH(XZ=JDDTJRFL?L3VD#V>,?9VC!CP.VW&*^>?#?B M36_#NK^![^/Q-/KS>)GQ?6,I#+%DKDJ!RNW"3S@ # ^M3_;5'EYE1=WNM-K<4_3=#T[1U<6-C;V8?[WD1*F['K@ M*9-/T#7IM1OO[ ?2X);O^RID2:"9ER964_>'3VKU'7?&L/A_X3'7X;N2]_T% M&M[B=I*;]GR\BOK;;R+4TV]-C6\/Q^%]0O;JXT: M#3I+JTF:"::UB0-'(/O*2!UYKG/B'\-]4\3^)+#6--U"S1[>!H#::G;F>#DY MWA<_>[9]A6I\)/"I\'^ ].M)D*WLJ_:;HL/F,K_,V?4C@?A7C7Q"\=7CWVM: MYH.JZO%_9]ZMLKS7,26ZMD!XUA/S..ISBN?&XBC2P4'B:?Q:V6GG^!,Y)03D MCT7X<^#_ UX?NM5\,S2P:OJZS?;[J*2U CB+@8V*00!C%>A2>'],DM9+9]. MM6MY&W/$85VL?4C')KQB\U^_7QC\3V2Z>/[/HR2P[, QMY .0?K74?!'3-8O M-!LO$6KZ_=:G+>VBHEHX BA4'@CN6( R3W)I9?B*+DL-3I?S=M$G;6^X0DOA M2/1=/TNSTF$PV5K#:1$[BD$80$^N *M45\N?%;X@ZSI_Q2\5:>?'EQX6L;&Q M2XLH@J%)9MBGR\%<_-D]*^TPF%>(;IPLK+^MC'%XJ.#@IR5[NW]7/J.BOGS0 M/VC-;M]-\/Z=?>&;K5_$6I:9]LBBLP%,K>8ZKE3]T%$WYK=\3_M!7>CZM/8: M?X5N]7FTNV2YUDPN MH"NXJ#_$0.OT/I6SP-=2Y;?C\C*.989QY[_@>S45Y- MXD^/]E:Z/X8N/#^F7'B"\\0%C:V<1",%7[Y;/0@\?@?2O+?A]\9=0\+ZOXNO M]1M;VY^W>((;)+"[F.ZS\PRDK@Y VXQ@>E5#+Z\X.=K6_P [$5,SP].I&%[W MZ]M+GU717G.K?&2TT/QQK.A7MFT=MI>DG59+Q6SN4$90+Z\UAZ+\<->U?P[J M>N'P-?6^E1VLEY9W#S(!,BXZCL2"3QV!K!86JU>VFGX['0\;03Y;ZZ_@>Q45 MYC\!_'WB+X@>%4OM=TQ;=2NZ*^C("7/SL#A/X=N />L_QC\?9/#OBS5])TWP MU>:[!HUOY^HW5LR@0Y7<.O4 =?H?2G]4J^UE22NUOJ+Z[15&-:3LI;:'KU%> M2Z5\>%U.+P"XTED_X2IYT \T'[/Y; 9/KG-:VF?%B35-6\;V%OH\DTWAO9A% MF53=;@QP"< 'Y>_K2EA:T;W6W^=OS*CC*$K6EO\ Y7_(]$HKPJ^^-5UXBT/Q MCH-YIC:+K-OHES?0R6UVDR; I PZ'AP2/RK!T_QA>V>@_![?=:IM>#--TJR-W-K]J M;R7]YQ:1@/H5$FGOMIYV/3:J:II-EK5F]I MJ%I#>VS_ 'HIT#J?P->6?M(>-]0\$^&M(ELM6;1HKF_2&ZNH%5[A(<$L8U/! M(Q_+UJ7X)_$2YU#P[I5CXIU2%M=U$R2Z='*5%Q=6HR5D95X!P&Z=A4_59^P5 M?IA]&7J"*Z"O//%GP-\,>)KDW]O!)H.L@?)J6DN M8) <<9"\,/8]:ZC3X9O"7A,"]O;O7)[&W9Y;F1 9K@J"3\J\9/0 >U &W17$ M^!?C%X8^("F*POOL^H+Q)IUX/*N$/H5/7GTKMJ "BBB@ HHHH ***2@!:*9) M*D0!=U0$X&XXY]*?0 4444 %%%,65&D9 ZEUY*@\C\* 'T444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110!\__ +9G_)/]'_["2_\ HMZ^>_ACXR\)>%8] M07Q-X4_X21IF0P-N \D#.X%?$' M4M-U;Q5=7.D:')X)-$\(1:7+<:/) M9/9VNY5CEMG4>9R#@$'/TP/6OF/]I(,OQEU\/=?:CF+!./DS$IV<>G3\* .K M_8W_ .2G:G_V"I/_ $;%7V37QM^QO_R4[4_^P5)_Z-BK[)H **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH *9+&DT;1R*'1AAE89!'I3Z*6 M^C Y31?A7X4\/:DE_IVBP6EVA9DD0M\I8%6(&<9()%2_\*U\,?V)%H_]C6_] MF1S?:$MN=HD_O=>O-=-17-'"T(KE5-6]$3RQ[&'=^"=#OM0N[ZXTV&6[N[4V M4\K9S)">J'GIQ61<_!WP;>>4)="MV6.-8E7]*F^*]C MX7T'4[;3XKO3C-NN8MX5@SY(]\**YVW^,WB6X\!6\*FV&O3:Q_8PU K^Z' / MF8Z9Y_K7@5LPP$:DZ=6E\-^BU:M_FC&4X7::/4?$GPX\'7JRZEJ^E6WEP0 2 M2.S(BQ(,C(! P!26:^"M6U^QGMA87&J26&RVV'):UR1A5Z;.O:O-G\8:]#:^ M//!?B&ZAU2YLM'FN8[^%-A93&/E8>OS#FLCX7G;X_P#!;#J/#)/_ (_)7*\Q MH>VA&E17O/6Z5TT[?@+G5U9;_P"9[1H7PM\*>&=4_M+3-$MK.] ($R Y&>N, MGBK:^!= 6UU6U&F0B#5)#+>Q\XG8G)+&SM8G,0CRCP%E8QXS@-\WWNM;QS'!^Y"C1 MOS6Z+[5_\AJI'1);_J=RWP[\">);AXQIUG>R6*):21QR,?+5!A48!NWO72ZI MX6TG6K&ULKVPAN+2U=)(8&&$1E^Z0!Z>E>!1>/M5T&;Q1!I45I;ZCJ'B0Z?% M=-%A8P2PWMZGZ^YKH=/^(7B;0;CQEX9U:]AU#4M)TN2_MM2BCVGA 0&7U!85 M-'-,'K%T[-W3LE;K9/Y(4:D-K'N'3CM7(WOPC\'ZCJ%U?7.@6LUU=$M-(P.7 M)ZGKU]Z\JT7XA>.;1?!.KZGJ-I<6&NW"6C620;652P&\M_>/6OH.O6P^(P^9 MQ?-3^&VDDNJNOP-(RC4Z&&W@?0GNM2N3IL)GU*$6]V_.9HPNT*>>F.*T=)TF MST+3H+"P@6ULX%V1PIT4>@JY17IQI4X.\8I/T-+(*\QM_@^)?C!K/BW4OL-_ MIU[:I!%9S0[WC=0@W'<,?PGIZUZ=1753JSIWY':ZL95*,*UN=7L[GGMS\-;F M3XQ:=XOBN;>+3[73#8?8PA#YW,01V PPX]JY;QC\&/$\WBGQ+J7A;6]/L+3Q M';K!?V][;LY4A=I9"O?!)Y[DU[716T,55@[I]+?+"6\*:I;6FK^&PZ^=>QL\C5BWG[-&NWFG^(6?Q#:OJU M]J4&JV]PL+(B3+OWAE],N<8]!FOHBBM8X_$1Z_AYW_,QEEF&E]G\?*WY'AMC M\!M=U7Q)K^L>)];L[V;6M(?3IDM(600N2H1D!/W0J \\[LUL^!?ASXSTK0W\ M->(M9TR_\-KI[V,:V<#I<WAM MXR[R2$$@#TZ=36,WQFLV\-IJL.@:[/*]P;46*V+"7S NX@YX"X_BZ<5I[3%5 M8)VNGMIV[&/L<'0FUS6DM]>C[D?P7\#^)/AYH)T36-0L+[3K8;;+[)$RR#+, MS;R>O48^E<1\3OACX@\/WGCOQ-H6JV=KI&K::[:A:30L\I*1MDH>@)&>3TW& MNB\2_':SF^%.K^)- BNOMEN[6?E36QW6]P!D^8O8#/7ITKD? /Q@D\/> (;S MQ9=:MXBU+6)?+L]-DLAYDHV*S", 8:/Y_O&NFE3Q7-*O;5NS5M^NWXG-6J8- MQCA^;1*Z=]NF_P"!1\$_#75O&WPE^&VKZ!J-OIVKZ')/+$;M"T3JTAR"!S_" M/P)K93]G?7Y]#\=07GB*&34/$CV\XGAC9%61&9I%8?\ /,EB !VQFM+Q%^T9 MHF@?#^+5= TN:2;[7]A%A+;F%8)0071P!\IP3CU-=3X7^-6E>(M6ETRXL;[1 M;N.R-_MU&/R\PAMI;\\_E55*F-BG44;*[Z>=_P R*=++Y-4W.\K+KIM;\CA= M%_9]UZWNM7N[R_T:&2]T.;2([?3;1H88BX&U\=^^<\ULVOP1U*%/AJK:E:D> M%Q*+G"-^_P!^W[GIT[UZ#X!\<6GQ#\.1:W803P64SND7VA=K.%)4MCTR#^5= M'7!4Q>(4FI.S7^37ZGHTL!A7!."T?^:?Z'CO@7P3J/P93Q VJ:OIW_"$-+/= MA7C;SX]Y4#>QX("C!]2:YG]EWP3%'JGB'Q1"EP-*:62RT;[0"K?9O,+DX/8D MK^(:OH2XMXKN%HIXTFB889)%#*?J#2PPQV\:QQ(L<:C"J@P!]!1]OZ'E_QB^$^J>/-6T'5M'O[.WOM+\U?(U* S6\BN #E? M7C_.*YSX.? /6OAOXN_M>_O=+U".2%HMD:2*UJ"Q;$.<@+GM[FO=J*F.,K1H M^P3]TN67T)5_K#7O!1117">B%%%% '&>-OA%X7\?8EU/352^7F._M3Y5Q&.]3_#_PCJW@ZSNK+4/$5QX@M=Z_8VNT EAC ^ZS#[W/<^E=910!QEC\ M8/"M]XHO/#S:FMGJ]M*T1M[Q3#YA'4H6X8<=179UR_CCX9^'/B)9_9];TV.X M8?O"U_X2@ZSX2$;;+>_CW743?PJK]UY[^E M'I5%9-QXLT:TUZ/1)]2MH=6DB$Z6DD@5V0DC(!Z\@UK4 %?-^J^%3\0/VB?% M6CW>KZK8VUOI\4\'V&\>(1R;8QG:#@]3Q7TA7E'B3X&W.L>.M2\3Z;XOU'0+ MK4(4@FCLX8S\BA1C MH>-=1O/!4>E:Y*^OMI7B]-,COGD,32Q@-AB4ZD8_(BO1M>^.MYX-U#QUINKV M]NMUI-O'_I6M'[*]N+..QU)-4DNB!) M)^CO'=6N)60,88@ <%&-"MKNYUC14OXX[J0QB M"4LV[>W]T!2/(;C0+R\B6.ZBCMHYHY<# ;#]#@#\J MU+#X4):^.M(\43:O<75Y8:8--9'B0"?!),K$="23P.*F=;!63C!;>>]NOS*A M0S#F:G-VOY;7Z?(X+6?CAXITWX@'PNUEH^GW4"Q '4IGB2]9E4MY;XVC!/'K M3;KQ-=:1\5/BC=Z;8PMJ>FZ7!*DDT[[' B5CE>@P/3K@5T_CKX'7'Q"U"0:M MXINI=':Y6X6P^R1;HU&,QI+]X*<5MV?PEL;?QEXFUV:[DN8]=M8[2:R= $1% M0)PW4Y _6E[;"QBFEK;5:[W7_!_S*]AC)2:;T4M&[;6?_ /)?!_Q:\=>'_A_ MX=\2ZXUGJ/A^YO$@GNFW&X2-I&5I'QP-I ^HKU+X>_$*_\ '?C#Q7%%#$GA M[2IUL[>< [YI@/WG/3 /Z,*\\\5>!V^%GPNU/PP]WJOC"#5(S;:7IJ6@VVTF MXN&++T&Y@V3_ ':]+^"?@-OAW\.]-TRX4#4&4SW;#DF5^2">^!A<_P"S3Q3P M\J"PNGDR&G8<$%>>?45[[\./'ECXL@NM,@O9-2U'1A';7]X(2L4 MDV,,4;HW()X]17(>-OV=8O%7B#6=2L_$M]HT6LHB7]G%"DLN6'WNW7TI8BIA9X6$8/WEY???^O,> M%HXRGC)SFOOEWP3X+U+Q]X@ATC2HXY;IP7VR2",;1RV">^*^HOVS/^2?Z/ M_P!A)?\ T6]>"_!_P#%XNA\3ZI/JEUI4>A6!O%GLVQ*'&6X]MJL/Q% '::U^ MSCXO\.^/I8O"L=X=$WQ*M\+SR9'4JIDW$'. V[\J\\^-7AFT\'_$S6-*LKF> M[MX3&PEN93+*6:-6;L^&="OO&'A^#QMX]\/J,T+AQ=R$EI590RL<]\$9]Z /3 MOV-_^2G:G_V"I/\ T;%7V37QM^QO_P E.U/_ +!4G_HV*OLF@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /'?'7PUN/&GQ MBL+FYAO(M'33-AOK.4Q,DH=R &'/0_K75R?!WPS)X-B\-&UD%A')YR2+(1,) M,_?W_P![DC/I7;T5Y<,MP\9U)RC=SWOY]#/DC=NVYQ&A_!_0-"T_6;6+[783_L[>$;AKL,E\(+B4S"W6Z81Q.6!+(O0'C'T M)%=!K'POTC6?%-IX@>2\MM1MT1-UK.8UD56W .!]X9_05U]%1'+\+%6C32_X M N2*V1PEW\%_#5]8ZM:S17#KJ5Y]OE?SB'CFR?F0_P /4_G3]#^#^@:#IVLV ML7VNX?5HC!=75S.9)F0J5P'/(X-=Q136!PRES*FKCY8WO8XZ3X5Z')IOAZR( MN?(T*99[/]\<[E.1N/\ $*[&BBNFG1ITK\BM_P :26P4445L,**** "BBB@ M HHHH \]^,WA>Y\7:%:Z?%X:MO$ENTI:6.:[^S20':0LD;?WLFO*(_A-\3K? MP]H,%U/_ &Q;6UW.\NBR:JT6V$A1$K3CE\$,<>]?3-%=]'&3HP4$DUY_UI\K M'F5\!3KS=23:?E_6OS/ O#?P?\3:;\)?'&@SVMG%J>KW4D]M##<9CPRI\NX\ MC!!'/I4/CGX*>(M4\._#^XL;>&[U70;..TN]/>\:!7&Q0VV5>A!!&1UR*^@Z M*I8^LI\^F]_O5B7EM!PY-=K?<[_F?/&N?!'5=7^&.HV>GZ%!H>LG4X[Z*T.H M&X%SM !:21NC?,__ 'R/6L3X^1:IK%GX1EF2VTKQW=2RZ6=+LYQ,SV\H*DEO M0#'7IO-?458[>$-%;Q%_;S:9;MK&P1_;63,@4# /:M:6/E&2E-7M=KYJUM> MAC6RR,H.%-VO9/Y.]].HOA+P]!X3\,Z9H]M_J;*W2$' !; )..Y//XUKT45 MY(]BCCD&N-TKPO\0OA[J5I;:9JL/BWPV\JQM#JK;+ MJU0D L)!]\*.QY->M44 1R3QPE!)(J&1MJ!B!N;K@>IX-/KE_B!\.M+^(VF1 M6NHM<02V[^;;75K*8Y8),8W*17GP\0>/O@^PCUZVD\;>&%.!JEDG^F0+G'[R M/^+'J* ,S1OBHWA/2?B?K[B_U0:5K'D_9;J<%0#)LQ'_ '1SG'L*W_"GQ^?7 M/%FGZ1J?AN\T*WU2V:ZL+JY=2)(U0L20.F0"161_PH[4=8\$^.;.+48(F\57 MZ:E;&:%U-NAD$FR1>N['''>NDU'X0W.H^-/!^K27=N;'1K"2RN+C''1:Y=E;_TIW_ K^"/C-JGQ"U1FT_PE>)X M9D9XHM8DD51E0V6*_P!W(QQSDBN%^!_Q7NM%\.^$-*O4FU.;7=1NX?M4TQ9H M@A7'7K]ZNS^&OPS\:_#N:#1TU[3;KPE%-,XA:V;[3L;<0N[.!\Q!_.N;M?V< MO$&D>&_#*:=KME%KVAW\UW%,\3F!TD()4CKGY1^&:M/"7G#3E=K;]GO\[7,F ML;:%2SYE>^W>.WRO8Z?5_P!H*VT(^-VNM(F>+PU-!"?)<$SF4D \\*!CO61X MN^*>H:]\&O$6KW.F7>AQPBW\B[T^\1_.5Y%&8W'3 (SGUQ4OA_X+^*_#J^+; MH:QI.J:CKTUO-*+ZT9H#MW&5"N?NDM\N.@ K.L?V<=5@\!^,-&_M2QM9]=F@ MDAMK6.06=H(Y YVJ3G)Y_(4H_4XM-/9Q[^5_U*D\?-6:W4NWG;]#H->^,MQX M;_L+0-#T2\\4:]-I\=Y+"' *0X'S,W=CC_.:H77[3]@VG^&KK3-#N]2DUB6: MV:SC8":&= G[O!X.2XY]*O>(?A!XC@\2:3XB\+:S8V&K0:8NF72WMNTD4JCH MPP]G^%[6')YCS.,=OEM=;>=KW.W^%?Q4?XA3ZS8WFCS:)JVD2+'=6LKAL; ML[2"/]TUZ!7 ^ _AU=^$_''C/7)[N&>#7)HI(8HU(:((&!#$\'[W;TKOJ\O$ M>S]H_9;:?EK^)[.%]K[)>V^+7\]/P"BBBN@ [UY]X/\ VBOAK\0/$3Z# MX<\9Z5K.LH')LK6;=(0@)8@8YP >GI0!Z-17(?"WXJ^'OC)X57Q%X9N);G2V MFD@$DT)B;>APPP:Z^@ HHHH **XZ[^+'AVR^*5G\/I;B4>)KO3SJ<4 A8H8 MS*27Z Y0\5V- !167XH\1V7@_P -ZKKNINT6G:9:RWERZ*6*QQJ68@#J< \5 M4\$^-]*^(7@_3?$VC2O-I.H0_:())(RC%.>2IY'2@#?HKB?A+\8/#7QL\-S: M[X5N9KK3H;I[1WFA:(^8H!88/;YAS7;4 %%%(S!5)/0EQ);-(T31_O$.&&& />H/B7\5O#WPETW2[[Q'<2V]OJ6H1:9; MM#"TA:>0,5! Z#Y3S3\@.PHI,\9J"PU"UU6TCNK*YAO+63.R:WD#HV"0<,.# MR"/PI 6**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"J.M:U8^'M-FU#4;E+2SAP9)I#A5R0!G\2*O5C>,M$'B3PKJVF';FZMI(E+= M Q4X/X'%9592C3E*"U2T$]M!+[QEHFFR:6ESJ4$+:H0MD&;_ %Y.,;?7[P_. MIX?$NEW&N3Z-%>Q/JD$8EEM5/SHAQ@G\Q^=?*2W>H>-M$CU& 2 ^#]+A51_< MF689;_OVA_*NW\-^*K;^Q_B%X[N[BYABO;E+*UGLE F4* J%<\#.Y>O'%?(T M,_=::7+:.]_))W_%6.:-?F>Q]$T5\Y>%=8\0V_B36M#LM6N;;SM&>Z@34;V. MX,,Y8 ,7'"DYZ=LT>%=6U=K/Q1H^IZMK=MXEATN6=X&F66*0KC][&P&1G@8] M"<5UQSV$[6IO6_;==/F4JR?0^B+>YAO(5E@E2:)NCQL&4_0BI:^4;/4K_P ) M_![1+C2M8NT?5[I8+E8YE_T5 TGRIG[A;U/I7K/P7C\1V-]JMIJ3W,VCA(WL MOMMU'/-'UR"4['M]*O!YTL55A1=-IR2;V:5U<(5>9I6/5:*\5\?#6=<^-%EH M%EKMYH]C/I)DF^RD9X9^@/LC3-0U M:WNM%M4D=H[R.WMH92I((5OFD)X&*B_M#Q#XU\:>%-.7Q!>:9%J'AV.XNY+8 M@%V^8D@'@$D#GTHEGE-5)4H0;::2VUUM^8W65[)'MGC/1=1\0>';FRTK5Y=" MOGVM'>PH&9""#C!['&#[$UYS9?%+Q%\.;Q=/^)-E&+!B$@\2ZG/2N6T7Q]=V_PUO++5=5U2YO/[:;2[2>T=4GD "D*SMP 1D9/K62WB+7(O M!OQ"TH:B[VVGBU$:7EPERT2.WSH) "&)Z?\ UZB6?T8\ON/57Z::-V_ 7MEH M?3.GZA:ZM9PW=G<1W5K,NZ.:)@RL/4$58KYO\(Z?JO@[3?%.J:#%J,&@Z;IQ M.F6EY,#B8KEV* D$!MQYKG_@W\2M4U3QII:YY6B-J,;7>"5F^4;@!V&2<>UZ??"0ZC]LO(G21BI MP8T'S*5/;T%13] MD];OILK:_B'MM+V/JO[5#]H^S^:GG[=_E;ANVYQG'IGO4M> VNCOJ'[1&IB\ MUF\MO)M8;B%O-";U+(?*]TR3Q7OU>S@<8\8IMQMRMK?L:QES7"BBBO3- HHK MPOXT?M0M\)_B-I7@JP\#:UXSUG4;!M0BBTB2(-L4N&&UR"2 A/TII-["O8]T MHKS+X4?M">%?BM\-I?&<,[:'I]K*]M?Q:J1"UG,@!>-R3C(W#D=&UM-'NCKEB+;6)%AT^7SUVW3DX"QG/S$ MGTH&=!17B_PK_:*M_&NH?$I=>BL?#>G^$=AZ M7\2O"FM^&9O$5AXBTV\T.!#)+?PW*-%&H[L<\?C19BN=+17G?P]_: \"?$SP M?-XET?7K==-MHS+=?:W$,EJNYE!E4GY,[3C/48KI-%^(/AKQ%X;F\0:9KMA? MZ)"C22WUO.K11JHRQ8@\8'/-%F%SH**X^X^,'@>UF@BE\6:0DD\<O&[MGK6W-XJT>W\06^A2ZE;)K-Q$9XK$R#SGC&(=-?6 M+F+SH;);I#+(A&0RJ#R".?<4 =#17+WWQ1\'Z;XEB\/7?B?2;?6Y02EA)=HL MIQU&W/!]CS5C7/B!X9\,WDMIJ^O:?IEU%;?;'AN[E(V$.=OF8)Z9!% '045@ M_P#">>&_^$;'B#^WM.&AE=PU$W2>1C&?OYQGVZU%H_Q&\+>(?#LFO:;XATV] MT6-=TE]#=(8HQ_M-GY?QI ='17(>&_B]X)\8WZV6A^*M)U6\9&<06MTCN57[ MQP#T%6?#OQ,\)>+=4O=-T7Q)IFJ7]DQ2XMK6Z1WC(&3P#^HI@=-17*6/Q8\% MZE<6$%KXJTBXGO\ =]ECCO(RTVTX;:,\\\5=\/\ CSPYXKN+^#1MZ;HOB33-4O[)BEQ;6MTCO&0,G@'] M15>U^+O@B]GT^&#Q9H\LVH%A:QK>Q[IBIP0HSZ\4:@==17G5Y^T#X$T_XG'P M%(1;I/Y;L!'N9]BP[\X\TGG9UP:]%H ****0!1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!\_\ [9G_ M "3_ $?_ +"2_P#HMZ^0[>22&XBDA)$RN&0KU# \?K7UY^V9_P D_P!'_P"P MDO\ Z+>OF'P!KFC>'?$UO>Z]HXUS34!#VN[:<]F'N#0![3>?&KPQ=:W97/BW MX;R7'C:V$2O)\B;I!@HV"?H1GUKR#XJ:SK'B#Q]JU_KVGMI6J3,OF63#F)0@ M"#_OG%>Q>.OBM\)]2\<7&JS^&KK7[HF&3[?%*%20JBX&TG^' 4_2O&_BEXV7 MXB>.M3U^.V:TCNB@2%B"P54"C)'?"T >F_L;_P#)3M3_ .P5)_Z-BK[)KXV_ M8W_Y*=J?_8*D_P#1L5?9- !1110 4444 %%%% !1110 4444 %%%% !1110! MROQ4T?3?$GPW\2:/K&HKI.FZE836,U\[!1")5*;LGC@L.M?*?[-_BR]^%GQ. MT3X.^)]#\,:K?#3YSH?BOPYY3.UNB,3Y^.59A'W.3GGK7V-X@\/Z=XJT6\TC M5[*'4=,O(S#<6MPNY)$/52/2N+^'_P"SS\-_A7JD^I^$_!^F:'J$\9ADN;:, M[RAQE023@<#I5J5DTR6G>Y^=_@)/&7P[_9?L_B?H?CK5=-;3O$;6MIH4&W[& MT;N!(T@QEBQR#GL!7M7[4?Q,GUCQEXS_ .$:UWQ98:GX,TZ*>>2#5X+#3K.Y M9"RLL3C?.S A=HR...M?5?\ PH/X>?\ ""_\(9_PB6G?\(M]H^U_V7Y9\GSL MYWXSUS4/BO\ 9W^&OCGQ0WB/7_!NEZKK;1K$UY M[(Y7:R/E&37O'_QF^+7PO\.6OC[4O"T/B+X=VU]JMSIX4O(^Z1G=%/"NY506 M[*2!6#\2M=^(WBSX\>+/!>D:YXEAG\(V,$6A6^GZG;V?[P0K_I4_FD><&)R< M9X;VK[BTGX1^#=#UW2=:L/#UE:ZKI.GC2K&ZC0A[>T&<0KS]WD_G6;X\_9_^ M'?Q.UN'6/$_A/3]7U6&/RDO)5990G/REE()')ZTN9#Y7W/D'7/"_C+XG?M.? M#'2M6\0W7A3Q%=> $_M;4M)D1YFVR3[_ "V&5_>$#)'9CBLB#XY?$"']GBVT M6;Q;=6[2^/W\(S^*IMIN+>Q"*P);^]RWS>BD>]?=.F_"?PAH^OZ3K=EX?L[; M5M)TY=(L;N-"'M[-<[85YX49/'O5#_A1/P__ .$5U7PR?"6FMH.J7;7][8-% MF.:X;&92#_$=HY'I1SKJ@Y6?(^C>)M?\,W'[0'PH;Q9=^.O">C^"[J_M-6OG M666"5[9"#O; Z_(?>N1^&NLZ_XVU;X4>!)/'M_\./#UAX._M6WN[.1( MS=W&]P22_P I &>#_<;UK[E\)_ ?X?>!O#>LZ!H/A33],TC68VBU&UAC.VZ1 ME*E7).2,,PZ]S5+6/V;?ACK]CH-GJ'@K2[NVT*/R=-CDB.+:/.=B\\KGL:M8,J2+"8D)5&;A"^/O'@ 'U MKT37=3^*?PW^ 'Q8%SJNLVVAV\6F3:!=ZAJT%W?VA:YC613)"3\CY.">H!]Z M^SS\#? !\(ZEX6_X1/3/^$=U&Y:\NM-\D>3),Q!+[>Q^4=,=*S-+_9K^&.B^ M&=8\/6?@W3HM&U<0K?V>&9+@0MOB#98G"L20.U/G0*J0VI,8/E0J.B#=WYX%>%? ?2?&7Q2^,?Q*O=1^(. ML6_AWPEXQNS:Z'"04N#N^'/!=UK5SH>CVVF3ZU=->ZC) I!N9V)+2/ZDY/YUGS;EVV/ M@?PY\0?%L?[(G@R_7Q#?V]M>^-S8:M)I\JQ7]Q:N[9BA; &X\GL> <]:Y?XG M>$?&N)9WOQ M;7PR->OA<316P2?9(Z E0W*\YSP^.=+TDZ?J%Y;7^G^$[&:6>QTF:$,!(C.!]-@L-2DCFNH8 MPX$CQDLC?>R"I8D8QUJ>V]A 6VB6ZE6 M-#]*E>>TOBK M_:&D4[1@H<\ X)QTYT4+JY#E9V/T3HKX=\"_'3XL>"?$GPEUGQ?XATWQ1X?^ M*$XC33+:U\IM,+F,(4<=0!(N1['VJ#XZ_M)>+_#>O^)_$O@CQK=ZUI'A[48[ M&33T\/#^RXB619(IKHGYY Q."O0$4/?BW\1OVF/&O@7PKXET_0/#NF1:;J$DU MW:^=-%$T,320Q8[N7)W'IMQWKQ?XW?$#XD_&KX6?&K7GU_3K/P%HFJIHY\.2 MVG[]TCN(]L@?JC[BA.>N&'I0H Y:'Z,:9J5KK.FVM_8SI=65U$LT$\9RLB, M58'T((-6:^;_ !I\6]1^"7[&/A_Q1I%K'=:I%HNFV]MYRDQ1O)'&@=P.PSG' MN+\ _$;XJ>#_ (Q:/\*_&7BRS\22>,=!EU/3]:L[41RZ9-Y/D^'7PXBOC9?$5O$EU8>)[E85W1VMJ2TA" M] 61NO\ >B/K7.ZM^TY\8?%WC;QCJW@^XOI(?#^K-IMCX8M- >Z@N85DVL;B M<'Y)"H)&>G(':G[-ASH_0BD)P,G@5\AK\0?B]\3/VD/&/@GPQXALO#6@Z=!I MFHRF_M/,N+>-X(GD@C _B=G;+'IMQWK)T_XW_$ZQ_:%D\.>._$*^"+275FM] M+L;G1?,T_5;,N0JQW(/RS-C +'OTI^&_%FC>,M/:_T/4[75K-9&A, M]I*)$#K]Y,8YJIX\\2> M/?&'[,'QOO?%.N:AK?A^RU"UL-$NKW3UM!>QK>Q?OPI ;D;>V.>.E/D%SZ'W M;HOA#PS'IMX^F:=:BRUE/,N&A'RW*N#R?4$,?SJ:#P+X?M?#LF@Q:5;IH\F= M]F%^0Y.>?QKY-^&_CSXN^#?BC\/O!FO^)-+U&R\9^')+FSAAL-@TEXK9GB'7 MY\;0&_O_8!?QMXJTOQ+XJUOQA+J>EW&L7L4NE2Q9S=$QL9E:&WT&TBCFA:"0*I^:,D$J3GID#\JO>'? M7A_PI+/+I6EPV&230;&WM8[D+ND@8L'"Y MV\Y/ R?SKDOCKJ4TV@6'AFR;%]X@NELUQG*Q9!D;Z8P#[&NC\0QCP9\-]072 ML6W]FZ;)]FP,[-D9V_R%>?&5"G6FH4DE36Z2OKK9?+\R%:[LMC6E\,Z7-KL> MM/91-JDVP=K2?WNO M7BO)X_'WC71OAC-XRU&_M;@7%M%#9VD<)Q&Y8*99#W)&3CISBF^&_B5XOT.W MU2XU'[5K&G1Z:]W%=7-@8 D_4)G/*>_I7GRS;!U4ZEJ&B6MW?%0AFD4DD 8 ///%7+/P7H>GZA:7UOIL$5W:6PM M()E!S'".B#VY-><>%X?'^M>"[C6V\2P337]DUS:VL-N!Y4F R*&/;@@CWKFS M\<-8UJ'2IM-D _L[29;_ %90G^LE7Y GL-X!_P!UJLZGX!\(6OA^^M[W2K2/2#*U_!\TAYZX%<1XR\&Z!=^$+ M:U\'OI=@^K21;82^Q-1B0D^5NZ]3G/6JEDOBS5/A?K>NZWKUO?6.HZ/<3K91 M0!?*+1Y4!O0#.1ZUC:/?-;VOP9@$4+I,)LF2,,RX"X*GL>:X\3B*%6*7L4E* M*ULKVI,I1:VW.M^&WPIO] \3W&L7=K9:+9RVIMCH^GS/+"Y)&7;=QT' M2M?5_P!G_P ":O:RQ-H,-K*_*W-JS)+$V<[D;/!KSF\\<>.[R/QM?V6LV]K8 M>'[^0)');AGE4.0$SZ #\H-H\%QH"ZE%]FMO.:XN2/\ M5]R%.:*&/P.#I^[3>FS:75V=NVWD$9PBMCN?!WP'8_"GBR=O$VD"SU&:YA^RM>PG<6C!Y0_B.A%,^&,F MKWG@C3[C7Y))=1N$\R59D"E0>BX'MZ\\URWBCX/W6FZI/XB\ 7X\/:XV7FL\ M?Z%>GKATZ*3C[P]J^HHPHU:<:BII72>R-XV:3L=5H_PN\*^']234-.T2VM+M M"S+)'GY2P(8@9QR"14__ KKPU_8/]B?V/;?V5YGG?9<'9OSG=UZYJM\.O%> MK^*=+N#KF@S:!J=I-]GFAD.Z.1@ =T9[J01765I'"T(KE5-6]$/E78P-6\!> M']?M@>"[/PYJVJ>%[N3PS=)#KUC S)!(//(1GP0 W"GG.&XK[0HJ MHOE=Q-&['PUJ-IJ7A/Q9YOC'39+:6Z:[D.Y1=@$#SX MFP/E&>WH#4NL^"?#\OP,^,NLZ1X@N;B"_ATN>?2[3P^^CVOGK-\BI'(<.<*Y M=5Y'7TK]+J\^^-GP9TOXX>$(=#U*\N],>UO(M0L[ZR($EO/&3M< @@\$\$8Y MK15#/D/C[X2:3X?^(-Q\9K_3;_2_^$YU[PE+8VGA33](ETX1(+81F14F4$EF MV_=_O'K7+>'_ !A<>,O#?[,_AFP\+:]'/X3\26B:S<7&F2I%:R&<",!BN"&5 M78GHH49/-?9_PS_9UT[P'XRG\9:KX@U;QGXPEM/L(U?6'3='!NW;$1%"CZ]: M]6OG3 M;,M@&4*O&!G&]?3-=]X#T./5]8_:*UWP!X>U#1/AA=>#[BUM=/EL9;9;B^-L M,M% PR3E9_4([.V\,V+,'X?$.I>&5N6 EO-*8+,T?(:/)' 8'!QS4_P MS^'.B_";P3I?A7P_;FWTO3XRB;CN=V)+,['NS,22?>ES:,?+JCXV\=_"'3/' M7[2/[1.IZ[X:DU5++PO'+I;W%J[1?:/L48#QG&&D4K@8R1DUQ/A+X4P>'_ ? M[,?B*R\,W5MXHNO%,8U6_P#LLOVGRA<[5$Q(RJ! JC. %%?I/11SL7(C\P?V MBM8U?QYJ7Q(L[WPG_9GB6WUQ5MK'2?"SR33PPLH%W)J&.)M!DUC0X_!@DF%S;NUL\P>?:KMC&02&VD]0.*^R**.<.4_.# MPO>ZW\.?V:?$>FP>$([K19?B++:3+JFD27L>G6@6)EG2UP#( R\$<9^MI7MWIKVMY%J%G?63 26]Q'G:X!!#<,W!&.:I3%R'QK\+])TWX@2 M?&'4?#>KZ9:_$76O#/V6R\,Z;I$NF^3&D2H\B+* VY\ 97'+GKUK(_91\%Z7 M>>./AO<+>W&@>*M%6Y@ETN'PG-:O(#"YD%S='Y74@'#''S-BOL7X9_LZZ=X# M\93^,M5\0:MXS\82VGV$:OK#INC@W;MB(BA1]>M>N4.>]@4>Y^42_!.U@_9# MTCQ#'X4O4\8W/C(1/=K9RK>16PWC:H W*F1G..IZU[9K7P?N?#/Q^^+/AWX< MZ"^@6M]\.GCM([.!XX);@M$"BOT\PCT8^1'YO?LH^"]+O/'' MPWN%O;C0/%6BK_MV:GJ M/BCPO)<:7XATZSET:XM]->YC6^,D2F1BJD1ON20ECT'/>OMRBBH;N6E8**** MD84444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 ?/_[9G_)/]'_["2_^BWKY&LK&?4+J."WADFE<@!8T+'ZX%?7/ M[9G_ "3_ $?_ +"2_P#HMZ^7/!7C+5? ?B"#5]&D6.]C!0>8F]65N"I% %SQ M1\.M5\)>,I/#=VAGNHWB1IK>-GC^=588XYP&%5_'_@N[^'OBR]T&]GBN;BU" M$S0@A&#(&&,^QKZHO=0^-.OW8U+2M T72;254:.UU)E:XC(4 [B!Z@D>@Q7S M-\7+?Q';?$#4_P#A+&A;79-DD_V=MT8!0;0OL%Q0!Z/^QO\ \E.U/_L%2?\ MHV*OLFOC;]C?_DIVI_\ 8*D_]&Q5]DT %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1137;8C-UP,T .HKY*L?\ @H%:3:2?$-Y\ M,_$=IX-BU Z;<>($F@EAAE! P5!W$_,. .]?1WB+XG>$_"-UIMMK?B+3M)N- M2_X](KRX6-I?< GI[GBJY6A73.GHKFO%WQ*\*> H+>;Q%XBTW1H[@J(3>7*H M9,G V@G)&>_2K=[XTT#3K'3[VYUFQAL]0G2VM+AIU\N>1L[51LX).#C'I4C- MJBN2N/BUX+L]%;5YO%&E1Z6MT;$WAND\KSP<&,-G!/TK@O@'^T#^OI19[A=;'M%%^ MD6*UO3.OE3.V<*C=R=IX'H:AM/BEX/O_ !5-X:M_$VES:_" 7T]+I#*,]L9Y M/L.:0SJ:*YG5?B9X3T.ZOK;4/$6FV5Q8O%%\C>7H3]T'G@'ITIZ@=+17A.B?M5:/I_PAD\=^ M-[:'PY!_:#V4-I:727'O$6G:Q-%' MYKQVUD#IO'49' M<9KC=+^-5IK?QQU?X;V&E75S-H^G1WVH:L'406[R$;(".IG?%^67XK>,O#.H:?:Z?H?AVPBO7UA[U"2&0.V^/J@4$\GT]ZZ/3/BEX.UK M5K;2[#Q/I-YJ-S"MQ#:PWB-))&>A !YSZ=:+!)]CN&@<2*&"G<.O7]0^(7AC2AIQO/$&FV MJ:DKO9R2W2*EPJ %RC$X( (Z'O4NA^-O#_B306UO2]:L;[2$W;[Z&X5HDV_> MW-G Q[T7861@^&O@WX<\)_$77O&UA'=+KNMVT%K=M)<,T92%%1-J=%.$&3WK M@/$G[%/PR\5^(O$6KW]IJF=?=IKZQAU*2.T>8Y_?"('&\$D@]BY5A J9W,_/ &#STXI^F?%+P=K6K6VEV'B?2; MS4;F%;B&UAO$:22,]" #SGTZT:CT(-7^$_AKQ!\,1X U*Q-[X:%E'8?9YG)? MRXPH0[NNX;5(;U&:Y#X3_LL^!_@[XED\0:.NJ7^L-:BRCNM8OWNVMX 0?+BW M_<'':H?V@OVD-&^#?@GQ)?:?=Z9J_BC1XX93H4EV$E99)40D@<\!BW3M72V? MQG\.:?\ #[PQXE\5:OIWAL:U9V]PD=U)]6B:*X=IB81NV[F2/HK-L&2.N3ZUSFN_LA^!]8\8:SXD MMKOQ!H%]K+;]0BT35Y;2"Y8]69%XR3R2/4UZ;??$#PSI?]G&[\0:;;)J2/)9 MR272*EPJ#+E&S@@ C)!IV@^//#GBG1I=6TC7=/U'3(L^9=V]RC1QXZ[CGY>G M>B["R,?0?A#X>\._$OQ'X[LX[D>(-?@AM[UY)V:(I$BHFU.BG"C)[UQ=K^R3 MX)3Q9INO7UYX@UN33;U]0L;'5=6DN+2VF8EMR1GT)R.>,"O0_#?Q/\(^,+&\ MO=%\2Z7J5I9EOM,UO=(RPXZE^?E''4\4_P '_$CPM\0(IY/#>OZ?K:P.4E^Q MW"R%"#@Y .1SWZ4:CT/F/XZ?LW77A'X<^"_"'@/P[JFO^"[/7'U75;&SO@NJ MB0C,;P3.1L )?)[9&*M_!O\ 9Y\3>+O"?COPW\1FUVT^'FN-:G2O#^JZM]IU M&T\MQ(Q:=?NY=5XR<@5]:T4^9VL+E5[G 7'P/\+W7CCP?XL>*Z_M?PK9O8Z: MPN&$:Q-&8R'7HQVD\FLSX>_LY>$OAAXZUCQ3H$FJ6USJDDTT^GM?.UBKRL&= MD@^ZIRH /8<5ZE14W8[(****0S$N_!^GWWBJR\03B62_LX6A@!D/EQAOO,%_ MO$<9]*O:SI,&NZ3>:==!C;7<+02!#@[6!!P>QP:NT5E[*"YDEOOYBLCG5\ Z M./!@\+O TVD"'R1'(Y+;>H.[U!YS[5F>'_A-H_AZ.:&.XU&\MI;9[0V][=M+ M&(VQN 4_3K7:T5B\)0;4G!72M\NPN5=CSS2?AKIWPSANM4T.'5-2N(H&CBTY M[PLA!(.%5N >.M9OPG^&L8;>[\03.TMBARL,)SB//_ (Y_"O5 M:*YO[-H>TA-+2-[+IJ3R*Z?8\_T7X):!H<-Y!;SZDUM=6LEFUO+>.\:QO][: M#P#[]JT8?A;HU+C_BG]WV+,QXW8SN_O=!77T5M' X:*LH+^M2N6/8 MY"/X6:%'I_B&R"7'D:[,T]Y^^.2S')VG^$5Y=XT^'VJP>+(H[?1M3O=*M-/B ML=,N-*O!#)&JCD3,3EL'FOH"D8A02> .:YL3EE#$P4+5:%^U1\)/$OB*#0=-\?:-=:O/ M(8HK03%69Q_",@#/%=7>_$[P]I_Q$T_P//=LOB.^LVOH+81,5:)203OQ@?=/ M!/:O2HTO8TXTU=I*VNY2LE8ZD]/2O%[SQ=XN^#.JNWBAY/%'@^XD9EUB"+_2 M+'))Q*HZKSU'3%>J^*/$EEX/\-:KKVI.T>G:9:RWERZ*681QH78@#J< \52\ M%>,-'^)W@S3O$&DEKK1M5@\V'SXMI>,Y'S*?Y&M2C5TG5[+7M.@O].NHKRSG M4/'-"P96!]ZN5Y[=-X"_9[T/4M9O]0MO"^C7=R&D>ZG(@60@X6-?XK M_P ._B[X8^*5O-+H&HI4Q5HE)!._&!]T\$]JV]>UJT\-Z)J&K7\AAL;&WDN9Y MI8K&BEF.!R> >E %^O/_ (I?%D?#6ZT2U31;K6[O5I6A@@M'56W#;Q\W7.ZN MD\$^,M*^(7A;3O$6B3M22+4&LH MKJ5KF;387DEB3Y,E=HX.,XKNP=*%:O&%3;7\CS\?6G0P\JE/?3\SU3PU\1H] M0T^*7Q!I\GA"[FD=(;/59HP\BH 2X(.,<_I6B_Q \-1V$%ZVNV M)W\N.;[0 MNUF]!SUKYLU#P]I'B[5/AG8V5OKFJ:(FHW:7+:U;2K)TB8A]PX0].>#S5!?A MI8-I?QB9O#SEK&XQI2FW?$0+MGR1CG.%Y&>@KT%@:#LY2:?:W]ZW5_,\K^T< M0G:,$UWO_=OT5O(^JM1\8:)I,QBO=6L[600_:-LLRJ?+SC=R>EGA2W% MQ;"W>60-M?!:,&=6M/A!H);3;R*VN/%Z75I:-&S/#;[6 )7&5 M&0>OKGO50P%./).;W^[K_D1/,ZT^>$(VM]ZVW^\^K=7\8:)X?N+2WU/5+2PG MNN(HYY0I?Z9JU!KVG76I3Z?%>PR7T""22W5P752 02/3D?G7R[\3-/LM.^(/ MCY_%>@WVL2:C8(NAW,=H\R(WEX"KM^Z0V.?]DGO6?XDTGQ+\+_!/@[Q0?,76 M;S3IM%O59OW@$FYK?WW*,9_W *SCE\)1C:>LMNU[7_X'J:RS2I!RO#2._?>W MX[^A]1S>//#L&CR:K)K-FFFQN4:Z,HV;AU&>Y^E6U\3Z0VD'51J=J=-"[C=" M9?+Q]+'ZUC1X]?6[O+4:6\*KE!DI">6C&1QTS]*< M$I)TME??R_(^M-"\1Z7XFLEN])O[?4+9O^6EO(&'XXZ5AW'Q6\,VOC+_ (1> M74HX]4\M9,,1LW%MHCW9^_G^&O.OV=]&L;?7/$6I:=?S3)=Q0-/;?V4UC"C? M-@JIX+8!SCUK%O-+TSPK^TU?7>L:+)-9:I;PO82PVC3(+@N@W$@84[E8DGIU MK!86E[6I3;;LKKO?0Z7C*WL:=1)*[L^UM3W/_A,M"-PL U:T\]K@V@C\T;C, M.J8]13;?QOX?O-8?2H-9L9=109-LDZE_RSU]J\6^#?@*RNO&_P 0-=O]%-QJ MEIK4[Z?)=HRA?F8[H\\?-QEAZ"O-(+J_\2:_X:O'T:2QU6'Q#'/=6MEHI@2U M4R\EI\9U?[C&>95:<(R<%JWIKLG;[SZ6\._$Z'4-0 MUN'5DM=(M[+4/L%O.]TK"X;G''\)XZ'^E=+I?BC2==^TC3-2M;][W3I_F*ACZ\I*,HZ7M?KK? M_(] \$_%*V\0:+#>:R;/0Y[B::."%[M'$BQ]6#=.E=)8^+=%U+2Y-2MM5LYK M"/[]PDR[$^ISQ^-?(?A/P7)K=C\+M/U/2;I[,ZK??:8I+=P-FZ,X?CA3COUK M5\1>%X-&T3XT6,5G-INFI=63V<$:%(Y"'8X4'AAZ@9Z5M/+Z+GRQGK?_ -NY M>_S,:>9UXPO*%TOOORW[?(^G]%\?>'/$5XMKIFM65];_ !;1-1^(FN:L;ZU MAURZM8E728+![411HJJ7"N,G/'3U-8?[45O>ZQXWL+345U"TT2WT^22RNM/L MVN-URQPRR;>0I (_P :QIX.G];5&5[6Z^GXFU7'U?J3KPMS7LK>I]$>#/%E MEXY\,V&N:?O%I=IN59!AE()!!^A!'X5MU\_?LX>(-=\0ZY?G5FGT6TM+**"S M\/I;/%;JH"[IERO4D#C/&XU] UY^*H_5ZKIGJX/$?6:$:C"BBBN0[0HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** /G_]LS_DG^C_ /827_T6]?(^FS/;:E:2QE5>.5'4MT!# \^U?7'[ M9G_)/]'_ .PDO_HMZ^1+.U:^O+>V3 >:18U+=,DXH ^L/BA\.D^('B,:Q:?$ MVUTL20HKV0O?W<3!0#LVN."$]&U)=1DU"ZOM,>&VNKDRLB+-*N8RP7@+R,GMFO ? M&_A>Z\%^*+W1[RT2RN+8J&ACE,BX*A@0QZ@@@_C0!ZU^QO\ \E.U/_L%2?\ MHV*OLFOA7]F^\\367C>^D\*:=8ZGJ']GN)(=0G,*>7YB9((!^;.WCW-?14WC M/XOVK8E\":3/QD&WU(L/IR.M 'L%%8'@G6M6U[0TN]:T9]"OB[*;-Y Y '0Y M'K7':O\ %;Q3IFK7MM%\,M;O[:"9XX[J">';,H) < G.".>?6@#U"BO+-%^- M]UJ&M6>FW_@?7])>YF6 331!XT8G!W%>@'K79^-O&UAX!T==2U&*\FMVE$.V MRMVG?)!.2J\XX/- '045Y;9_M+> ;AL7&JRZ8.S7]L\0/XD5W7A?QAHOC;3F MO]"U&'4[-9#$9K(M*BN'MWU.S2=#AHFN$#*?0C.: MO1RI,@>-U=#T93D4 /HHHH **** "BBB@ HHHH **** "BBB@ IDW^ID_P!T M_P J?10!^0NG>&UF^';:7%HGC6\\?#Q,UQ9:')IEP^C7$9DC ,Z,H3G#\YR> M.U>Q?&;1++0OBU\69OBEX-U+Q+J.NZ!"GAB\LM-EN[>&?R-OEQ%,B/;+CD_W M"<<\_HQ16OM#+D/S>OKKQCX7\,_#7PAX]\/$1Q>&)I8=7_X1PZY?2/-*VVR! M;B%A&$!+=,4:OX)UC4OV'_A)H%YH^K">/QHL4]JMM*)[>(RW0)P!E WWN@R M.:_2&BESCY3X@_:;^%/A;X8^,_@Z_P#PAC7/PFTVZNO[0T?2;%YTCGD5<2R1 MKDMD@=?[A'>M_P#81\.MH/C;XSFV\.W_ (9T2ZU6"?2[.^M7@*VK>0^$OA_JFH:YIU M_)9]0\*^--)\4QW"B+PG+ M-:_4JBG[1AR'Q?'\(?#_ (X_;+^,6K>,O#%QJVDZ M?IEE=6;36\AB:5;:++Q$/CIHVA^%-,;QCX5>VN[ MM-=U7P_)8ZAH6Z-MR-,R@/N8A=O^W7Z$T4N?2P^76Y^9#_#/4]1_8*TRX/AN MZDU#1/%4EY+!)9N+E;9I-C[(RNX@EDS@=!GM78?M!ZQ9^ ])\*?%[X3:3+HN MF:UI][X0N+,V;64FZ7>89%B(# B0.V>^Q?6OT'KRGQA^SWI/C[XJZ+XS\0:O MJ>I6^BND^G^'Y)0+""X4<3; ,LV<'GN*:GKJ2X]B;X-^"[3X _ /1=)FB91H MVF&ZOOLZ&1GFVF6@KC?V-_">IP^#=?\>^(K22S\2^.-4EU:>& MX1ED@M]Q6"$AN0 NX@'H' KZ"HJ+[FECXI\3:#J+_&S]JR==+O&BO/!JQV\J MVKE;AOL*C;&<835KZ.SD^ MT!6E7/G'&54#CYL 5^C5%5S$G3?%CPCJNG^._A3K7B2SD_P"$5F\%6>G0 MW5SX??58;&81CS$DM_X6^;[QY&[VK](Z*?M Y#\Q?B3X9\.>"/"_[.%EJ(U+ MQGX/AU759'MKC2Y(+B2U\^'S$%M]\KD,0O\ $N.QK1L_AKXC\3?!7]H*_P# M6@ZCH_@W5]4M9=)T66W>&6>WAD9I_+B;!4;2AQW"E><5]R_$+X+Z=\1/B!X$ M\67>H75I=^$;B:XMH( NR8R! 0^1G V#IZUZ)3]H+D/SB^&O@_2M2T+QMK>A MWEY'K#?#[4;&YT*U\)2Z9$5$0 1VZ23;RN,=CY$?EMX_\'6J:7\=-"U[ MP+K&N?%2XUV34-+UF#3)95^R"56+I*!A5\O?P,Y#@8].F^+'A'5=/\=_"G6O M$EG)_P (K-X*L].ANKGP^^JPV,PC'F));]5;YOO'D!O:OTCHI^T#D/SKN/@Q MI^I1_LT>&]FJ>+/""ZOJQDDO=*EM@D!FB)CEC(S'&S*V-V-RGBJGBOX6ZWI_ MA[]J3P_X0T*[T[2DU'2YH-.M;61$N+=7D:58./FX )VYX&.]?H_11[1AR(^" M?%UMX2^(O[,/C71O@YX*U#0=8M;'3VU>W?1Y;26[@1RS1*S &4J0[$#J..]: MG['/A;19_BO9>(M*U&YL]13P\UI>:/%X4DTFW5%=!B5S\KRABN#U8+FON*BE MS:6'RZW"BBBLRPHHHH **** "BBB@ HHHH **** "BBB@ J.?_4R?[I_E4E( MP# @C(/% 'Y&^%=(U#7_ (>Z#I6KZ=I6C>!;[QS)%/XT$)DO;.8;,1,1_JT; M(PV<9SGI7UE\SGN75(8[@R3!'9F'R\A1GMP M<5]$6_P-\ VG@O4?",7A334\-:A.;FZTSR?W,TI*DN1ZY5>?:FZU\"O 'B*: M&74_"NGWTL.F#1DDG0LRV8SB'.<[>36SFFS)0:1\:_#WQ1K5OX3^,/A#QMK/ MBC_A.;?P7J-Q=Z;J5]'>:=58Y4;3QAC@55_9-\::OXV\8?#;PKX MKU6_\&^'=*T43^'](C)BC\12!FWR/(."%(.(^X7ZY^S?#/[/OPZ\&V.LV>C^ M$=.LH-9MC9Z@%0LUS 008W9B25()XS5JZ^"/@.\TWPY83>%M.>T\..'TB/RL M?86!!S&@+=Q7WA\1/A+X.^+5A;67C#P[8^(;:VQ[O+8C!*GJ,_ MTK*\&_L]_#CX>:O:ZIX:\(:;HFH6T;117%FA1@ASD'GD*/@3X,\(?%'6)5U>\U2SG\0-<)<2M&?*';Y6:-695ST(!/-?57Q# M^%?A+XL:9!I_B[0;/7K6!S+"EY'N\M\8W*>H->&:/X"T'X#ZIX;TWQ1X;L;[ MPKHMU-+X=\0PVYW:5),VYQ(!]W<(=%\/\ Q;\-^+-> M\50_$*P\':A>S65_?1WFGS$1_P#'Y Z\JW*X4\88X%?9/B3X2>!/B-J!UO6/ M#^FZW=W%@=/^VR+O+VK$MY88'[I+$_C53PS^S[\.O!MCK-GH_A'3K*#6;8V> MH!4+-,T^96%RNY\C>(KWXD:I^SG\(=7T'6KVZT:WTJ2X\0Z M3I>HQV6H7,6X8E1CC<%P3@8 QWS7U9^S3XJL/&GP4\-ZOIVM:MK]M,D@^WZZ M%%X[+*ZLLFT8)4@J".H45)KG[-OPQ\1Z?I%AJ/@W3;BSTBW-I8P[658(2XYVQH.['!X')YJ7)-#2:9M M4445!9R-W\.[.?XD6OC-[N9+NWL39"WX\LJ69MQ/7/S56O/BI8VOQ,TOP%K*E2CNTWYW=M/N/KA;N!KAH!-&9U&YHPPW >I%<1 MKWPTTOQ5XPL/$NJ:M<7EII[+);:>TJ_9(Y1_RTQW.<=?2OE_X>) M/-XC#.!O^GK^%#3:2M=7%D;T7((V!0S#;CKGY:^:/B98O?_ M !<\0Z5J]W9:8L5K&FD/J-[+;Q01A!AX=O!;N<^XKK_#K7T?QD\( WL.IZ@/ M!X,=TC$I/R^U\GD@\'-9?480BI.5[IO\+HU_M*I.3C&%K22_&S/I%;J!IV@6 M:,S*-QC##/.[8/G'WO[OU]J^(;'4H8])T;5=-U>^E^*TVM&* MYM7G?S&4LPVM&>-N-OTR:37+C0I+OXF-JNKWEMXBM]4=](MH[EU#2&4ABJC@ MD8&?0=*T_LO6W/\ AYI?=KN9_P!LZ?!^/E?[]-C[ADNH8V*O*B,J[B&8 A?7 MZ4ANH%,8,T8,GW/F'S?3UKY@OO#D_CCXM>#-(\1W-Y')-X4CEOX8YVB>5QO) M#8/][!/TKSV'2Q_PIF;Q2VIW[ZII>M"RLI6NV*0Q!@=H&<=6/-9PR^$DKU-7 M;IWNOT-9YI.+=J>FO7M:_P"9]PS7<%N\:2S1QO(=J*[ %CZ#UI7NH8V97E16 M5=Q#, 0OK]*^0/B?%/KGQ@\16.O7UG8/]FC_ ++FU*]E@CA78#YD6W@MG).> M^16R?"__ F7Q6\%:+K&K27UM)X6CDFFL;AT6\4%]K9X)!^4GUJ7E\8QBY3W M5_PN-9I.4I1C3V=OQL?2^N>)M+\-:2^IZG>Q6E@I4&X<_+\Q 7IUR2*QO'_@ M73OBAX?ALIKN6 13I=6]W:,"T#7RAJFGM>? W4'>2XNK31/%#VP M=YF80VY"@@\\C)'TS7UI\-H_#T/@^R3PO/'<:,"WE21R%U+;CNY/)^;-9UL. ML)%5(2O)-K[K&V'Q3QLI4JD+1LG]YF>#?A+:>%]>DUZ\U2^\0:ZT/V;[=J# MLL><[5"@ 5W5+17G5*DJCYINYZM.E"C'E@K(****S-0HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@#Y_P#VS/\ DG^C_P#827_T6]?(,.X31[#A]ZA><H'/DF"_&8L-QDGMCKF@#TG_ (7%XN\"_$36 M[7Q+I&F7^I:B+:*[LIP%B#*H,3<9!.UA_D5P_P :KG7+OXF:Q)XCMH;/5B8_ M,M[=]\<:^6NP*W?Y<5[7\8OC(G@7XBW%K=^!M(O+I4AG2\N&W2-\@YSCL00/ MI7S[X]\:7?Q"\67^O7L4<$]T5_=19*HJJ%4#/L!0!ZO^QO\ \E.U/_L%2?\ MHV*OLFOC;]C?_DIVI_\ 8*D_]&Q5]DT %%%% !2=>M+10!3FT>PN1B:QMI1_ MMPJ?YBI+/3[738S':6T-K&S;BD,80$^N!WJQ10!P'B#X#^!?$M]\<:#JOB/0S::/KDWA^\\Q7%W @Q_I7 _\(O\ &+2X/]&\8:+J M>WI'=:>49OJP->OT4 -2P(Z$''45E^,_!.E^/='_ +,U9)7MO,64>3*T3!AG!#*<]S0!O45Y M*O[/ZZ2V?#OC/Q'H2GJJW?V@'_OX#7<>!]"UGP_I@#HJ*\KUWXH>,/"^KZA'=_#Z\U+2HY6%O>Z9.K[H\\,RGG)' M858\._M!>%]>U>TTJ6/4M(U*Z=8XK?4K)X=[GC:"1SSWH ],HI"P7 ) )X'O M2T %%%% !1110 4444 %%%% !1110 4444 9OB36E\.Z!J.J/$TR6=N\YC7J MVU2<#\JXKX=^-_%GBYK6_O=(TNWT&YC:19[6[,DL?&55E]?;M7:^(IY[;1+R M6VL/[3F6,XL\@><.ZY/'(SUKQ;X;^%=9L_B.;O3/#^H^%/#DD,AO+.\G5HY) M"#MV*"<8)'Y&O QU:O3Q5)0;<7NE^;TV[[&,G+F5CTW_ (6KX;_X1?\ X2'[ M=_Q*O.\CSMA^_G&,?6H-?^,7A3PSJ%W8ZCJ:V]Y:[/,A*$M\RAACUX(->'7' MA#QK'\.KGP='X8N':VU W)O%==DT>[@(,Y)R<_0&M+Q!)?0_&+QNEGX:K#%:ZBC26T_)1U4 DY'U%!@UYQXC\.:CX)L/A1I\^G_VIJ%O+8?B!HDR:T3=[&T89OE=2#$,$Y]P0#BM'3/$-CJVAQ:Q#-M MT^2+SEFE&P;.NXYZ#'->%?&KPW=2?$+3['2KA8SXJA2TO8$Y8"-U/FD?[HQ] M%:O8/%WA=M0^'NHZ%IH%NS636\"KP!A<*OT[5[F&QN)J3K00Z-- +LB/; M-)LVA5P%_AE%;Z*Z7=C?QS7X55#Q#?EFY M0JQU5M59]UIZHCFGHT>FZK\6_"^BZXVE7NH^17&QQA6;& 3GBJD M/CZ2W\;>)[.]NK0:3I-HERRQAC,@V!F+=L8]/:O)?'?A[QUXE;Q%8W6E:G?/ M)>;K5X9(TL_(5AM^7JS8'>NHNO!VMR>)_B/<+ILQAU#1T@M).,32" *57GKG MCFE_:.-J5&E3:2?;I:6C^:0<\V]CN-)^,WA#6M5M=.M-8BDNKD#REP0&8]%S MC[WM6]XE\6:3X0LTNM6O$M(I'\N/<"6=L<*H')/%>,CX=ZI:^&/AC%;Z+(EU M8ZA'-?A54/$-X+,YS_C7<_&?0X?$&BV-M-H^I:GB;S$FTME$MLX4[7P2,CGI M7?2QF-^KU)U(KF236]M5^A2E/E;:U-;3_BMX9U2338[;4/,DU"5X(%\M@3(H M!93D<$;A^=3S?$KP[;/K*SZC' -(9$O&D! C+YVCWSCM7BZ^'_'<5IX2UV_T M>?4[C2=1F/V4!%NF@8* SX.-WRMS[BK5CX3U>^7QY<^(_"E]-;:S/:RQVMI( MGFAW+?_TK0E5)]OZL>DWOQJ\,P>&]2U>" M[:X6RPK6^QD9Z3X-\6ZQ\-_%^CWEO,9_ACI M%MI>A7VE7-I-#;WMN@C^T31*@W/'G@G7G@75M8\/W]N+FQ\M76]1E\EF< !UZC/.*OW_ ,6- \-QVD&N:E%; M7TMDEV516VN#Q\OKD@X%>.R^ _$]]X=^(#?V'J"S:H+)K6*ZE62:79)\VY@< M9 Y/I7;1^";^Y^+7AO4;K2FETZUT-87FD52D+_ M (P6DGPYUG6_#%W'+?6#1*\<\1#1%I%7#H>G!-<-8^&_&OAWP/J<&FZ==VSS M>('FF@MPGGO:D+\T>3@&_B ?[$U!)M46R:UBNI5DFEV2?-N8' M&0.3Z9J*V98Z4.2--IN+OIL[.UOFA2J3M9+H>Q^#?BIH/BYA86FIPW&JQP+) M+&H(#''S;?7!ZXKAM)^+>NW^H>#8S<6$\.K7MS#.UK&<;$V[0">AY-9_@_PQ MKNK>/_#-[<>&)/#UMH>G-!/,VS%P^PI\NT]#G//O69X+^'_B2PE\ &YT>XA% MC?W+M0 MU>XM9[;2[UK:VAM0PD9AG$;$\;B1UZ=:V?"?Q@\/^+IK"UMYI(+Z\0LD$L9' MS!=S*&Q@D#TKSZ/X>:W?>%?B=9/8203ZAJ$ES9>8 ?/4.6&WGOC SZUG^,FO M[7X6Z)KDFF2>'-;\,S0QQ+=E0UP"JHX7:>A./P4UO]?QV'7//X4KZK?WG?7T MV*YYQU>W_!/<= \6:;XFFU"+3IC.;&TJV)JPH*UI2U M?DM[?DC6\FHGHM%%%>V:A1110 4444 %?,W[>GB3Q%X;^'7@Y_#&LW.A:I=> M*K.U6ZMGVG#1S<-ZKD X]J^F:P/&'@+P]\0+2RM?$>D6NL6]E=)>V\=TFX13 MH"%D'^T-Q_.FG9W$]4?#S^%?',GQ@^*'PO;XM^*7T/1]#_M\W;.GVJ>X\I&V M%\?+&3(20O7:M6['XR7?C;]GOX/Z%KFJ^)K[Q7XC:]&[2-3BTX7<-O+)&1<7 M,@P J'CYLK[U]G?\*S\*_\ "3ZMXB_L*S_MS5K7[#?7_E_O;B# 'EN>ZX4# M\*Y_5/V<_AGK7A72/#5]X*TFYT+1Y));"Q>']W;,[;G*<\;F.3ZUIS+J1ROH M?#5Q\6O']Y^SO!%:>,;]=5L/B9'HMCJ@NQ-(+;R&V1M*HQ*H;G.,&O6/!_BC M6/@+\>?B3X9\0^./$7BGPII_A%_$,\MZPDN4FW1AGBVCY3AC[#CTKZ43X ?# MF/1X])3P;I*:;'J":JEJL $:W2+L68 ?Q!>,ULW7PR\*WOB34?$$^@V4VM:C M8'2[R]>/,D]J<9A8]T.!Q[4 ?#.FWX'I55GGMUXN^+'Q0^(GQ"U;1=:UNR\3Z!K$EK86RZS M;6=C86J28,&[75Y-) ML9%:-[E+.-Q'\P.$W[B<=3BOK+Q3^S=\,/&WB*?7M<\$Z3J.L7 FO)8>4;"CDDJ,GW/'2JC>-O MBI\7?''CGQ#X>US6K;7M*U,II,2:S;6>GV=EOR%D@D^:160?>*-4UWXL_#W]F35?%'BO5575]6 MGLKV\681K%)%=&..YWXPLVPD;C_=^M?>/@WP_P""/%W]H>-=)T6W%WXEM5M[ M^\D@*37,2J$$H &W\*;J'P#^'FK>!;'P9=^$=-F\+6,QN+72S%B&&0EB6 M4 \'+O\ ]]&CG'RLZ?P?IL&C>%M*L+;4)M6M[:V2*.^N)1+).H& [./O$]*6-98V&& M1QD$>A%5;71=/L?*-O8VT!BSY?EQ*NS/7&!QFKM%.[V)Y4W=HSCX=TIKS[6= M-M#=[MWG^0N_/KG&]B@-!TU;PW@T^U%V3GSQ"N_/KNQFN)\ _".#PIK'B:^OS:ZFVJZD]]# MO@!: ,2=N3GGGM7HM%:1JSBG%/N*A_L73OLQM_L%M]G9MYB\E=A;UQC&?>KM%9W9KRKL4;_0M-U1E>\L+6[91 MA6FA5R/ID5+'IMG%-'*EK"LL:>6DBQ@,J_W0<<#VJS11S,.6-[V*?]CV'V66 MV^Q6_P!GF.Z2+REVN?4C&":EL[*WT^W6"U@CMH%^['$@51] *GHHNPY5O8** M**104444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 ?/_ .V9_P D_P!'_P"PDO\ Z+>OD&)E MCD1G7>JL"5]1GI7U]^V9_P D_P!'_P"PDO\ Z+>OD2S\G[9!]HW?9_,7S-O7 M;GG'X4 ?3\GQ1L?'&D6U]+\'+_6K&SA$<5S)MDVQCL"1EA],U\]^/M:TWQ!X MIN[W2=&'A^R;:JZ>,?NV50&SCN2"?QKZXUJQ^(^H^+M)O?!6JZ4G@9HX3"HV M[5BP ^5Q\W\02Z6T3VI>,%X""C2"-0Y&/]K.??- ' M:?L;_P#)3M3_ .P5)_Z-BK[)KXV_8W_Y*=J?_8*D_P#1L5?9- !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %0R6<$TR2R0QR2Q_<=D!9?H>U34 M4 <]XW\"Z9\0-*CT_5&NDACE$Z-:7#0.' (!W*<]":X/_A4/C#PYL/A?XAWR MQIPEGK,2W,*KZ#HWYFO7:* ,+P7'X@BT")?$\MK/JX9A))9J5C9<_*0.Q(KE M7_: \'V>L7.FZI=W.ASPRM$'U*U>&.4@XRC$88>]>CU3U+1[#683#?V<%Y$0 M05GC#C!^M #=+US3M'V$7C/PAJV@$#!O+>/[5;,>YW)RJ^YKT_2-6M->TNUU&P MF6YLKF,2PS*#AU/((S0!7$=K;QC+22L M%4?B:I:?XJT?5=+DU*SU*WN+&-2[SQR JB@9)/IQZUYS^TAH^HZIX4TZ6T@D MN[6UO4FNK>.+S"4P1G9_$ 3T]ZY?PIH=N/"_Q O--N+JY:\TL^9:_P!EM:1[ M_+<+L7NW!R!ZU\Y7S*M2QCP\:=TE>_5Z-Z?D8NH^?EL>UVOC+0KZ\BM;?5K. M:YE02I$DREF4]"!FL?38_"MGJ&K>,;:]AW706*ZN_/S&-N% ] >E>*VO@>+1 M] ^%M[9Z/+%J4FHQM>3K WFX+C._C@ <<]A4WB#P;JR_$2Z\%P6T_P#PC>L: MG'JKRJA\M4P6E3(&!DC@?[*UY\LTQ#C&52BF[JUKZ-JZ_P F9^TE:[1Z1;:I MH_C/5I]U?/6H:+>+X!^*L":? ;;1?ASX=; M3-&DDL4N[>YU>UMXR9;A=OS,XZL<_J:*688FG&,\8;) M]Z[C2_!L'AGXH?#UM,TI[6)M/D^US1PL S>4W^L;'4GU[TL/FE;G4844HMJ[ M5];R<;K3ROJ$:CO9+^KGK\GC;0(9#')K%E'(LQMRK3*")!U7&>M6+7Q-I-]J MDVG6^HVTU]",R6Z2 NH^E?-NI>!X[S0/BEJ4^CS3:DNJ,+.1K=BX4S9)CXYS MGJ/2M[2_!YT?QQ\/I-*TZ2QFN-)E-UW0^,-#N-8DTJ/5;1]1C^];B4;Q[8]?:F3^./#]K(R3:S91. MLQMRKS*")!U4\]:^9O!'A7;?:?8:H;S3-8LM560>7I#.[OO^\9^Z^N> !6P? M D&H:+\5=0N]&DN-16^E^R/);L6QO)W1\=8NI#F5)7UZOHK]M^A M*JR:O8]TUWXF>'O#FM6.EWVH1Q7%VK.K;@40 9!/6K\WC30;?5(].E MU>SCOI!E8&F4-_/BO!;_ $N'1?$7P]US6='FO--DT9(;H):M,_G+'QO7&<_, MO7T]JQ/B%=:CXBE\20S:++;7ZWJF&WL])SOC0C$K3XR3M'04JF=XBDIN4%>^ MBUVM?\>@.LXWT/9_&GQ4NO"_BVZTB*QAGCAT:74Q*SD$LF["?0[>OO6[X)\> M6OBC1=(FN9(+34]0M_M"V:OSMYR1GJ.*\L^).GWMQ\0+F5+2XE1O"4\>](F8 M%R)/ER!][VZU3UC3[SPW\)_!/BZV@:'4M "^;'*"C&&0[64@\]2!^)JO[2Q5 M*O5G)7A&[MY77Y*X_:23;Z+_ (![[8:U8ZI-=16EU'<26K^7,L;9\MO0^]51 MXNT4W @&IVIF:*/'6IW>FE=3CU2?[!>K\E:_W_J:MQ*-_P!,>OM3V\6:*NIC M3CJMF+X_\N_G+OSG&,9Z^U?,'@GPJ%O;"PU4WFF:Q9:HL@\O2&=Y'W_>,_=? M7/ K;L[.+2_B1$=#L9M;M[[46EN;74=-9'LGW'=*DI& .1SSBO(IYYB)0C M*5-*[MN[_=:]S)5I-)M'OUMXWT"\FMH8=8LY9;DD0HLRDN1U &:FU?Q7H^@W M-O;ZCJ5M937!Q''-(%+5\A^'M.M-:\&P:9INAW4GBJ750T.HQP-M6//7S>@ M.>/QKN_'FFP:;XT\9MXCT.\UB6_L432;F*U:95;R\8&/N_-CG_9)K.GG]>I1 M]I[-=-=;*Z;L]-]/Q$JTFKV/H>_\0:;I7]O:M%&21GT%1V M/BC1]2T][^VU.UFLX^'G65=B\XY.>/QKP*[\%ZA>VGPBTS7K.:\V-.;I61G" M(2C*DAQQ\N <^AIC^%=-MI/B7I=]:WVEZ++=V@MWLK1G"'+';^$DO-O?EYM>GD7[25]OZM<]>\2?$RUL]+M+O0Y+/6C->1VKJMTJA-V=';Z]:*FJ6^GO ]VJJXW.F,_*,?-_M5K^.K>PM?BMXSN-;\/WFJ6LUDD M=I)':/(JSF%,8(&!W^;M7E5LTKUZ:J2BK76CO;:7EW2,W4MQ*-_P!, M>OM7@>G^'=;M=/\ A-!+;W"W49O&W-&S>0'(,>\X^7@C@_2L#P3X5Q?6%AJA MO-+UFSU59%\O2&=W??C<9^Z^N> !75'.,5&MR^STE;?2WNQ=E]['[65]MSZT MHI!T%+7W!V!1110 4444 %%%% !1110 4444 %%%% !1110 4444 8?BR^U+ M0?#%W^,X%4/AY\2M(^)&D&[TV1HKF([+JQF&V: MVD'!5U^O?O75UY?X^^&NHVOB&/QIX(,-IXFC 2[M)#M@U*+/*2>C>C>U 'J% M%0VX9%,D2OO"-CE<]\'O4U !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'S_P#MF?\ )/\ 1_\ ML)+_ .BWKY#MK=[NYA@B&997"*"<9).!7UY^V9_R3_1_^PDO_HMZ^0H659HR MY(0,"VWKC/:@#Z*L_@7H/A];;0=?^)MQI>O3J/\ B7VD^V)">0N#]?;->(^/ M?!=W\/?%E_H-])'-/:E?WL/W75E#*1Z9!'%?1%YXN^&/B;7-/\1W7A#Q1J6H M0I&5O/[-E=9]@ 5GQPYP!S7(?%SQ;\,O$SZW?'2M>@\77* QO?1/$%; "Y4G M@;0,<4 )^QO_ ,E.U/\ [!4G_HV*OLFOC;]C?_DINI?]@J3_ -&Q5]DT %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M -DC61"CJ'5A@JPR#5:^T]+S2[BQ1VM(Y86A#VYVM&",97T([5;HH \:B^'_ M ,2? >T^&?%D?B*P3&--U]/F(]!*O0?A78?#_P 8>(O$,UU9^(?"L^@75JH) MG\Y9()R21^[(YQQWKM:* (5O('NGMEGC:X10S0AP74'H2.H%35YUXZ^!^B>- M-8;6H[J^T37B% U'3YRC?+TROW6P .HK$TRP^+/@G4;2V:\T_P :Z,\JQO-< M?N+J)"V"Q/1B!S_2@#V"BJ>IZQ8Z+#'+J%Y!912.(U>XD"*6/09/?@U:1UD5 M65@RL,AE.01ZT .HHHH **** "BBB@ HHHH **** ,O5O$^D:#)&FHZE:V3R M$!%GE52<].">E1:EXRT/2)+2.\U:TMFNN8/,E W@]"/;WZ5XM\6N,[=K8'_ :^0Q.>[BBGO"1;QLPS+C&=OKU%5IO%FC6XOC+J5N@L65;K'_ (L7G]D7 MUO\ VA-8RV\,ELX>2/S<@@8Y.W!('3/-%3.JL6XJEK:]M?Y.;\]!^U?;^K7/ MH[_A+-&\N]D_M.U\NRP+A_-&(B>Q/K7FGQ4DTKQA8Z)J=M?_ -MZ9]MCA;3H M;Q8X)6))W/W)&.GO6#\1/ -MHGP[\-MINBO)8I>6]SJMK;Q,TMPNW#,_=CUS M[FH_&S:1K_A+1'\+:#=65M'X@MS-%]@:)B1&07VXZ8VC=[5GC,;6JTYT:T%H MD[:ZWUTTZ=292;3BT>R-XX\.V8$4FL6,#)+]F*-,HVR#JN.V*GUCQAHGA_R? M[1U6ULS,,QB64 L/4>U?/0\!PZAH?Q3U"[T62?41>R_8VDMV+8WDYCXYSZCT M%4O$V+&^T,3JQFN?"D=K=&XM'N?L^0.=B_,C#KD\?G4SSK$4J?-*FEVW[M:_ M<-U915VCZ=TG6;'7;076GW45Y;DE?,A;U^' M^@+I5I<2W,*R/+OFQNRQR1Q7245@>/KR?3_ ^OW5K*T%S#8S21RH<,C!"01[ M@UM1HPIQC2IJRV0I-4X-]$;]%>=? OQ!>:O\(=&U76+Z2\N6BE>:ZN&RQ"R- MR3[ ?I7&VO[3CM=0:I=>&;FU\%75W]BM]99QNWY(W,G]W@_3!KT%@ZLIRA!7 MY78XGCJ,(0G-VYE<]WHKR/2_C3K'BCQA=V/A[PG-J>AV-U]BNM2,ZIA]P!90 M>J@')[XJ'X@?'6_^'^N7"W6A6TNCVTBQ/(NHQ_:9-V,.D77 SSGFDL'6/O MBY?Z#XPM/"OAS0)/$&MR0BZF3S1''%%G&2?7_$>M#PL^=06KLG^%QQQE-TW4 MEHKM>NMCTZBO(O%7QLU?3-1TO0](\*3ZEXGN+,7UUIQF4"UC[JS#@MV].GK6 M1<_M06\UCX9N-*T"XU*;5YIK1[(2!98IT"80$\')<<^E5'!5Y)-1W_K]&1+, M,-!M2EM_7ZGNE%?/\G[36K_V7JLD?@FY:\T679JRF=?+MES@8/S45\^K^U/X\ M;^+M _L\!="LTNEFW\S;HP^,=NN*4\%7I_%'^M%^J*AF&'J?#+^M_P!&>B45 MX;)^TC<)X?\ !>HQ>&Y+V?Q&]S$EG!,-ZO&X10">#N)'7I6;XH^,]SXF^%_C M>+4-+O- UC1)+>&YBM;D!QYDH"E7[=#G_P"O5K 5VU=6UM^-OS(>98>SL[NU M_P +_D?0E%>!ZY\6/%>D^./"/AS0])^WQ3:<+AH[F9=]X#'P=_\ "5*MGUKI M-0^.B>'[CQK:ZQIZV=YX?A2XAC63/VM''R8XX^8JI]"U2\%65K*]]?QL5',* M#O=VMIY;7/6**Q_"&L7?B#PSINI7MH+&YNX%G:VR3Y>X9"GWP1FMBN&2<6TS MT(R4DI+J%%%%(H**** "BBB@ HHHH Y+XAV?B5K&UU#PO=J+ZPD,S:?,!Y5\ MF,&)CU!QT/K5CP'X\T[X@:-]ML=T,\+F&[LIN)K64?>C<>N>_>NEKB=1^&<1 M\>6?BK1[Z31KXG9J4<*!H[^+'"NIXW X^;K0!VU%,69&D:,.ID4!F0'D YP2 M/?!_*GT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110!\_P#[9G_)/]'_ .PDO_HMZ^1+.18[RW>2+ST612T7]\9Y7\:^ MN_VS/^2?Z/\ ]A)?_1;U\BV,CP7UM+$XCE2565VZ*01@T ?:OC'_ (6Y=:E! M-X*_LNT\/RVT3PVU[&J31$J,HP(X(/I7RO\ & >)5\?7P\7-;OKVR/SFM0!' MMV#;C'^SBOH3XE>"8/B!K4.J0_%.TTLM BR6:7@,,;A0&,>'! )&>?6OFWXB MZ#_PC/BR[T_^VH_$/EJA_M"-]RR94'&TBANF6\\._9,7,,:L1C<3G/'7MGFN[C^-6DRZ/XNU$6ER(O#5P]M(=4T?0O#K6-P)KN_TFX=I;P#&%92!P<8_$]:J: MY\'/'TG3PM2>LDM%IVU MU5^NGS/FJ=7&4J>D6]7K;?31VZ:_([;6/VBM$T>XTFW;3-3NKG5-,CU.UAM( M/,=E?.$('0\$D]!4$O[3GA:/2]$OEM[^=-3DE@\F&'?+#+&%S&R]23O7&/6O M-M0TGQ1X9^,7@>PT:VL;O7M.\+10R6]U,4A?;O1P' SQU'TK%USX>>(OA[K' MPZ@C:SN/%%]JMYJ#0L^VW$A\K]WN SC"]<=ZVIX/"RY4WJU??_%]RT6ISU,? MC8J32V=MMMOO>KT/2_&_QQ3Q-\&_%&J>'9;S1=:TN6&*>&9-D]N6F5?U&X?G M7:^'_BI8C58M U(36]]%I$>IF[FP(YH]HW,#Z@Y_(UYQW85G?M#Z*K6W@C3=.O(QXQ*_V4;2W;<[PR MQ['+8Y"CU/\ >)K)4<-4:HP?5Z]M%^%[HVEB,92BZ\UT6G?5].]K'NG@#QU; M?$#PO'KUK;36EE*SB/[1@,RJ2"WTR#^5>;:U^T):>(M$\21>']/U<1PV=P+7 M6X[#K7P]%G[+#9BTR."1MVD\=SUKQGPU\/O MB/X;\#ZGX&%AHUQHLT-Y#%J'VIEEQ(K[,KC'WB,^@-<=&.'DYR?1Z)NVGZ^A MWXB>*C&$5U3NTKZ]O+U+7PG_ &AK&\TWPOI&M+J4E_?((!JUQ 1!-<9QL#=^ MPSZ\5W/CSXN0^ [YHI] U>^M88Q/N6N?@?XGDN-/=5LRL'A!M%?,Y_X^2K@?P_ M=RPY_2M&7X-^(#X3^&&G(EFL_AZ_CN;X><0H4.&8HOI0X8/E2;UVW]?^ M *%3'\S?+9;[>FGYGJWCCQMIGP]\.7&MZLTHLX2JD0IOCV.O&9T M66QU"0QQNFAR-%/:VLMAJD-_I&CW%X]Q#"J9W*9 M".-V5[?P^]886EAIT[UG9W[]/ZZG5C*V+IU;4(W5NW4]8\'_ !QT#Q1I^JRS MI:3$9[ZQOXRDL48&=^.XQ6-:_':V\7>'?$%QIVF:QID-O87%U:ZI-:_N MG5%^^N>,Y(PIZUB:?\&?$?BS5O&VN^*?L>F:EK>G?V?;VUC,9(XQM4;V8@$\ MHO'UJYX;\+_$7_A7M_X-U;3-'ALTT::QMKRWNV9Y)"FV,,,8 P>3[5I*EA8W M<7KIUV[V[ZF,:V,E9332L^F_:_;0T-$^+5SHWP]\.7LVG:QXJNKVV,[W5K;* MHV@_,7YPI /3J:R_$7Q6E\1>*OA7>>'=0N(-%UJXN5N(6&PRA"HVN/8[JYN? MX)^.(+?PW"(=/U:SL]+^R26%U?21P6\^XGS0% \SC'6M/PU\#_$NCQ_#1)OL M;?\ "/W5Y+>LLQ^[(X*%..>!T[5T>SPD6Y\R;U_)]/N.?VF.G:FXM+W>GFKZ M_>?0-+117SI]29'BCPEH_C32VT[6]/AU&S+;_*F7(# $!AZ$9/->:O\ !_Q) MX&9I_ 'BF>"W7+?V+K!-Q;-[*Q^92?7G%>PT4 8WA6^U:[\.VUSXALX-,U3# M&X@@DWQI@D9#'L0 ?QJ[I6KV.N627>GW<-[:O]V6!PZ_3([^U6+BWCN[>6"9 M!)#(I1T;HRD8(->37WP"70;]]3\ ZU<>$KYCN:U7,ME+SG#1'H/I0!Z[17%? M#W6_&%[)>6'BS0X+&XM NW4;.8-!=9_NKU!&.<^HKLU=6+ ,"5." >AQG!_. M@!U%%% !1110 4444 )2T44 %%%% !24M% !7!:_\);?6/$MUK5IK6I:/OAZ6)BHU5=(F45+1F1X5\+:?X-T2#2M,B,5I M#G 8Y8DG))/6TD"R,,A M2RD9([]:U:*T3<7="E%233/'_AM\+?&W@FWT_1[SQ/IE_P"%[=9(Y+%-/*R. MK!N/,+?WFS^E<[#^S7K;V=CX;O/$T%SX*L[_ .VI9_92MPPR3L,F<8^8]N]? M05%=JQM92([&V\.Z MA?B]GL;BT+R*"1O56SQD< ]L"N8US]F76=2N/$,,&OV$>GZK>&\\R>R\R[!+ M!A&92<[00.!7T17#?&OQ#/X6^&NKZE;7TNFSPB,+=0QB1DW2*O"GKUQ^-:T< M7B)55ROWG9;?<8UL#AHTFYKW8W=KD'A7X9W/A[XE^(?%$E]%-!J=O! ELL9# M1F-%4DG.#G;^M9GCKX5Z]?\ CZW\7^%-:M='U,6AL[A;NW,R2KG(. 1ST_(5 M'K/QVTSP7PK/'[5'A:2WL+F.R MU1[.:00W-S]F(CM')P%=NF>^!V(-:1IXQR]I&-]+;=/Z1E*I@%'V4I6UOOJF M6/$'PD\577B#2_%&D>([.R\31Z>+"_EFL]\%QW+JN>.>Q]!6;X=_9P?PW/X+ MFAU:.671[NXO;YGB.;J23:/DY^4 (!SFMKQ=^T3HOA'Q'J^AR:7JE]?Z#]-\0:-IFH^((-1XMXK&'+!AG(?)^7&",G MC(HY\9&$=+)[;=G^C=B?9X"4Y.]VM]7IJOU2NU@T/\ I'VD#/E!?ZUB^,/VBGT/P+'K%OX:U*UU M"6Y6U2WU* H@8A6.6!YRIXQW^E.,<;4?+;?3\+?D$I9?37/?97_&_P"927]G M/4!\*[[PG_;=M]HN=4_M 77D-L5>/EVYSGCKFM+Q7\$M=U+QUJ^M:)XBBTNS MUNS2RU&&2W\QRH4(3&"HQ@I)VE:UK_ -=3I=!^ -[H]M\.XGU>WE_X1>:ZEF(A8?:! M*^X!>?EQ[YI=>^ =]K%O\1(TU>WC/BB:UEA+0L?L_E/N(;GYL^V*]AL;^VU* MV2XL[B&[MVSME@<.AP<'!''6K%S-E))=0&6.5-N 0N>,9;\QZ5P?Q2\/V'Q4^-7AW M2--,MS=6B>5X@EC1EA$*,'",?4G/YK7TM4<=O%%([I$B._+,J@%OJ>]52QDZ M;4GJTFE\R*V7TZD7!:)M-_(1?$SPSK'@_Q,OQ#\+K+>31QK'K&DJQ(N[=1]Y!_?4?R_/T7PEXLT MSQMH-KK&D7*W-G<+D$=4;NK#LP[BMBN:\/\ @G1/ UYK>I6"FQCU&7[5=(TN M($8#EE4\)GDDT =+14%G>P:E9Q75K,EQ;3('CEC.593T(-?-@\87E[\1/$%C MJ7B_Q%IT<6H^3:0:;&)(]N\C#9!VCI7EXW'QP3@I1OS.W1?F9SFH6OU/IJBO M)_$7QEU/2_%FM^'],\.2:M<:;$DYE68*OEE S,V?]X 8J/5/CY"OAGP_>Z=I MOG:EK7F>3;7$ZQI%L;:Q=S@8S^=9/-\'%R3G\.^G9V^>HO:QUU/7**\.^#_CO/\ G[U+_O[)_A7D/Q!@ M\-6_BJZC\)/+)H05/):8DMG:-W7G[V:YVB@#W?\ 8W_Y*=J?_8*D_P#1L5?9 M-?&W[&__ "4[4_\ L%2?^C8J^R: "BBB@ HHHH **** "BBB@ HHHH **** M.!^)?BCPS\-;C3?%&L:!WQ75?'#P#JGQ T?0K72UMV>SU6&\F M%P^T&-0P;'!R>1Q7*_%CX-:OKWQ"L?$^DV=GJ\1M1;7=A=W3V_0\,CK['I[> M]>SA5AI1C[5ZZ];>B^9X.+>+C*7L5[NG2_J_D=7J'QZ\,V/@O2_$J_:[BUU* M8V]M D6)3*"058$X7!!')KF]3^,7A'1=4TK7=1\):E::UJ+2VJR26(-T#&J_ M*O=@=X (Z\T_4OAC?-\-=.T&+P7HMRK7$LMUIQOG58"=P1XI2,[\$9^IQ7E. MO>#?&7@K4OAGI]Q=6][K@U*[FL;:XN&DA@C'E%83(1DC@\_[5=&'P^&J.R?5 M]>EGV]-3DQ6)QE-)N.EH_9V=UW_ ]TT'X^^&M7\*ZSK=S]ITL:.P2^M+J,B: M)B<(-O![U1T']HW0]7M]2^TZ?J&DWUG9R:@EG>Q;'N(54MNC)Z\#I7)?\ M*#\0^(O"OCB;69;.T\1^(+F*YBAMW+P0^4Q95+8!.-T#.2/E'SGI[5'L<%[WO?CY+;OK=7-/K&8>[ M[OX>;W[:6T.KT#]ICP[KVJ:/:KI^J6MOJC+#;WL]N5A:8G'EAN^"<9'>M/3? MCOI&M>*)-'T_2]6O8XKO[#+?0V^8HILX^;G(7_:(QQ7*S?!OQ ?"?PQTZ-+- M9_#U]'P[B M<-#C&YAP2?6I=+!RYN5VT?7K?3[T6JV/C925]5T[K7[F4?$WQ'UI/ 7Q1O;+ M7KLW6EZJEM;-Y2QFU7SE4JI'WAC(R:W-/_:'TS5M OM./]I:9JT>CO=VUY=6 M^W[04B)9XP>N""1V.*H:A\$O$MSX-^)>F1BS^U>(-5%Y99G.WR_.#_.=ORG MZ^*KRWDUV/2[8:3H4^F61M;@M]HD:)HU9\K\H.[)QTQTKH2PF35;4OCY?>#;?Q?<+)#'M-U#2+_2)];CE:W-XH4!H\[E;G@X (_P!X5K^ _B'9?$'^UWTZ"5;73[Q[ M/[0^-LS+U*>W(Y]Z\E^/EY=M\+])N]=>STCQO:7LJ?"+PYV-5;75+.^DGCMKN"X>!MDJQ2*QC;T8 \'V- M6J^2RNX+M$8HS02*X5AU!(/!]JI^(/%&E>%8;>; M5KV.QCN)EMXFESAY&SA1[G!_*OGNVCU_P)X;^'W@+0KE=!U+Q DEW?:G+%ET M<@.4'^USM]>%KEO%WCO6O$FCQZ!KTT=_?>'_ !7;6W]H1)L%PO[T E>Q&W]: M[X9[^-KVO]YYL\U4(V_"]KV^X^P0<\TM>*Q_$#58?B=\2--GU'9 MIVDZ7'IY/ZUPUK\3O'&K>&OA6-/UE8]3UZ:]AN;B:$.C!90 MJL5[[5)X]JQC@*DK:KI^*:*4LK)[=N>M:NO>,/%'PS^#7A@0:U)?7VM26\< M-Y);AS:0M$#L49^9O0GKS5_V=/1*2NW9?:!K\VTS+(QFM;C: 'C/08 Z5YC_PM?QWX)\#^*9=0 MCO;P6P@72]4U.Q$+Y=L/YBY.2,\9ZT_PSXZ\?:?I?B!KRYU+4--_L.>]@U.^ ML! 8+H(6 4Y.Y/3\*'EM51L6]Q%>6\<\$BRPR*'21#D,I&00?2OF+6-6\::E\ ]3 M\6:]K%K>V]W:6R6^G?9@50^>BF1R?O,PYZ<9]JKZAKWQ"U[QEKMAX<\0C2[/ M1=)M[I;8J!&VZ&-BHXX/WB#VZ=Z4L"U!M2U3=_E;_,N.91']I#6?$5KX5L-0U2X\,)*)O[2UB&T#";&?+,0(QC(VG'^2REO[6.\D^Y;O,HD;Z+G)J[7Q5XZNK/7OBMK6KN);7PY M_:\-O-XC>,R2V+-#CO#:-K M.GK=!_+\@W2!]V<;=NT:]OVB\QYFCMX^!GIN())]JZGEM.W\36U_R]>YQ+-JC:?L] M+VT^?XZ'U'J7B+3-'O;&TO;Z&UNKYS';12. TK#&0H[]1^=1Z+XITKQ%<7\& MFWL=W+83&WN5CSF*0=5/OQ7S[:_$#4O&%S\%M2U!+9[J_N+Q;AO)!R8V"!E_ MNDXSQZU)X#\2P>$=/^+^I3:E_9!37)ECN_)\XK(68+A/XN>U<\L XQ=_B_7F MY3ICF2E-67N_IR\Q])T5\RZ+\3/%FEW_ (ITNYU/4+J*/P[<:K:S:I:)!:[J>OP7EEXBNH[%]/%L%VH6"[RW=CUS^%)Y?4 M5_>7^>E_T&LVI2M:+_RUM^I]/%PN23]WDUF^'/%&E^+M-%_H]['?V98IYT6= MNX=1S7A'P=A\1:Q\5O'EW=^(Y9(K"\\FYMO*&RY 5T3C^#;@=.M><^!_$?C+ MP)\)[?Q/IFKP0Z/:ZHT(TMH ?/#-\S,WZ#TQFM5EW-S14U=:VY9 M.#Y7S?\ DK6I]HT5X-<:]XX\5?&?Q+X:TC7HM*TFQ6TN79X=[JIC0M&GIN+$ MDGT]ZY;6_B=XZO+?Q9XRL=:M]/TSPY?_ &)=#DASYRAU4ESGACGK]0*QCE\Y M-)26J3^_;[S>69TXIOE>[7W;GU%17R]-\1_''C;Q9XCM]&\01:#96^D6^K+! M-"'9 8$73]5A10(Q(&98YAZ9*DGZ M4Y9=5BEJKOIZJZ)CFM&3>CLNOH[,^BZ*\T^!&OZYXP\-7WB+6+EGAU&]E>PM M\#$%NK%57ZY!Y] *]*KSZM-TINF]T>I1JJM352.S%KAOC9X/U'QY\-=6T32A M";ZY,7E^>^Q/EE5CDX/8&N-T/XNC0+#XB:UJE]>:M8Z-JOV9;;R50PJ9-FU# M_$,DM=D,-B*4O M:PC?EL_R9P3Q>&K0]E4E;FTM]Z(K/X8ZS#\6/#WB)UMC86&A#3Y&\S]X)OF^ MZ,.F*]$7X]:'<>&? M#NKVUO<7#ZY>?8;:S7 E$FXJ=WH 0.?<51UG]I#0='UZ]L_[.U.ZT[3YOLU] MJL$&Z"WFSC:3WYX)KJIRQM[1CJO+LW^K.*I#+[7E/1^?=+]$><:I9>*[OX]? M$*W\+6UA=3S:=!:W"WTIC"*\,8#K@')!'0\NIOOBUX4T+Q]JD.G>'K[4M9"QKJ-[IUJ M'?:5&S/.YP.!P,"F^!_CM<>,?'^L:(OA^\33[67RH[KR\&+"L6\[GY MNVNOC6+2%)6^SLNU*15Q]]B.#\S=/05'9_M8>%KB&UN)=/U6WLI)3!->-;YA@?/"EAU)'/'05 MT'ACX^:#XBO=:MI[2_T=]+MC?.-0@,9:W YD ZCJ./>LJDL:FJDZ>L7>]MC6 MG#+[.G"II)6:OO\ @=?X=.N:AX75=<@M],U>1'1DLI#*D?4*0Q')Q@U\PM^S M?\0K:W%I8P:3:7">?')K,%](DUY#)G,;R)[LV^8H'SA06 MZ$GK[ TL/]=P\I*G3WZ6]?\ @CQ/U#%1@ZE7;1._IY>AZ/\ #7PZ?"?@?2=) M:PBTU[6'RVMX9?-4-GEMV!G)YZ=ZZ:O('^.UPWQIW$8 MXK@J8;$-N"-6E)TB\G.193'DV[-V4GIG_&KMO\)_%FB>*-:U/1?$6GVL&J77VB M2&XL/-8#)(&2W'!/2O2/%7A32_&FBSZ3K%JMW8S$%HV.""#D$$<@^XJ1-5TK M3=0L]#6[MX;UX2\%EY@\PQI@$@=<#^A]#7'B,)2Q3BZF\=42XJ6YRD'PVN(O M&?BK6S>QF/6;5+=(?+.Z(B,*23GGD9KD[C]G^Y_X13PW9P:G:C5]%>4BXFMM M\$R.Y;:R$]LCOZUZ;XV\6VW@?PU=ZU=Q236]OLW)%]X[F"C'XFLV[^)>GV6O M:'I4L,PDU6V>ZCDQ\J*J%SN]\"O*Q&$RY-TZV_\ \E*_XM&O>NPT/XXZ/KK2S1V&I1:6B2/_:,D'[D"-27W$$[> MG&>N:B\-_&+1?&6M6>G3Z1>6@O=S:?/?6X$=PJC)*D]#QTKSZTYY+K.O#7/A=%H4FEK:ZU'J"C1$TRW>-9P& ,P4CY5^9N?<5] M"^ ?#*>#O!^EZ0N-UO"!(5Z&0\N?Q8DUM_9H=Z/Y2;D&%;:,CZ5+7JX'+/JE M5UIRYI64=K:+^OP+A3Y7=L****]PV"BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** /G_ /;,_P"2?Z/_ -A)?_1;U\?U]@?MF?\ )/\ 1_\ L)+_ .BWKX_H M **** /=_P!C?_DIVI_]@J3_ -&Q5]DU\;?L;_\ )3M3_P"P5)_Z-BK[)H * M*** "BBB@ HHHH **** "BBB@ KP_P 6?S$6;*GC:H; ];P[J.J?#?XK>#K.UDO/$*ZY]I%KD"66%Y M8V23D@ILFONOJ>5CZE6,5&D[-J7WVT/8/ 7QJ\,^-+B'2[ M;58Y]86W622,(5$A"Y?9D,Q M=*-I0N]>CU=E;\W]Q[_XD^.W@WPCJU]INJ:I]GOK/R_,A\MB3O4,",#G@Y/I M5%OBI\-_%'C#1;,WMGJ.KJ=UA.8RPC=P#M5\<,1CBN2OOAOJUW\1OB7JDFC- M+!?Z,MMI]PVPB63R%4JN3P=RXYQTK"L/A7X@M?!?PHMUT%X[[3-7%QJ*KL#P MQ^=N+,<\\<\9I1HX5134G>W==8W_ #T^8Y8C&.33@K7[=I6_+4]C\7_&#PQX M&U1-/U:[FAN-H>3R[=W6%#T=V P%R,9J'Q#\;O!WA>X@AU#5EB:XLUOH"J,P MFB8X4K@5_%CP_X_P!>\5>)K%=.U34](NK98M-^PW206J97YO.!^9R" M>G3\ZM^$/AIK,/Q'\#7^I:*WV'3O#,=I-++L98;@!P4(SUP>W'-2L-AU3C*< MM;='Y7_X!4L9BY590A#2]DVO.W_!/:/!_C31_'FC)JFB7BWEFS%"R@@JPZJ0 M>A&:YY?C=X1EUP:+'J6_5FO)+ 6HC)?S4^]Q_='K6-^SYX4U7PEH?B.#5;!] M/>XUF>X@C9U*MB90I65G+?R%\'_ !UL8_"-KJ'B34K>YO+R MZFBM8]+MY':14(SA,9) /-9OQ!_:"@_X1/2]:\*7>+9]7ALKJ>ZMB$\LJQ?& M[TQU'2O)M/\ #VO^$8_!-A%IEW#XNM)KZY:UM6C:Y2W?Y0V&RFTG/7TK;A\, MVOC3X3:1HGA32M1NY=-\2(VK6]]L$JMM;S&;D*0,@<>G2O7EA<+"2J;Q;^5K MO_+0\2.-QM<]J7PUU34/B]X MGN(=.%KH^H>&WL(KS:HC\YMHQM!SD8].U8/A?0M5_P"%*R^$/$/@#4[A;1DC M<03QI)/F5FWQD'^#@\GG-*Q-!^+B6D/C;4?$&H6ATG1 M=1^RH;2)M\2[]@#^IR1T]ZJ?L^Z/XKT6WUJWUR*[ATA)$32UU,H;O8 <[RG; M[H&?0UPVI?#/Q1-X%^+%DFC3M=:MK(N+&+?-?3JEH>P>%_C3X/\8^(&T;2=72YO]I9$V,!* ,G8 M2.<=ZN>./A?X>^(D^F3:Y:-=/ITAD@VR,@!)&0<=0=HX->>+\/=2LOBC\-+Z MTT@Q:9IFFR0W>WE:*6(GKM93D X'Y"L6W^ O@^WT&V MTA+*?[+!?+J0*]$HKGC6JQCRJ3L=4L/1E+G<5BR*#AAT'/4 5+I_P9\,:7'X:CM[:=5\. MR2R:?FX<[&D;<^[GYN?7I7JMI/\ X8;P]%[Q7_#G#:7\&_#NFZ'JFDN+W4++4HDAG2_NY)_E M3.T+N/RXR>1[>E5]$^!_AO0;.]M('U*6UNK.2P:&XOY9%6&3&Y5!/RGCJ.17 MH-%+VU357:6MX(KI)W)&^W&1-,6Y\V>TL]O3?CYV&!P/6O;J*WGBISI^S:7KU.>G@X4ZO MM8M^G0\(\/?#/X5?&*6[UW31;>6"W4D6R3J?,A!P#G\.M>M^#_ ?8 M^!]%CTG37N#91DF-+B=I3&#_ J6Z#VKD/&WP5M-8U3_ (2#PW>/X6\4H=PO MK08CF]I4'# _G7<)?#0M#@FUN_MUDBC1;B\?$4;2' )YX +'@>]93K5:D5"4 MFT;PP]&G)SA%)LS_ SX!T?PCJVM:CIL4D=UK$WGW;/*SAGR3D _=^\>E1Q_ M#G1(_$.N:TL,HO\ 68%M[QO-;:R!0H '13@=173*P=0RD,K#((Y!I:CVD[MW MW+]C3LERZ(X;3_@SX8TN/PU'!;3JOAZ262PW7#G8TC;GW<_-SZTLGP9\+S:7 MXAT^2SE>VUZY-W>JTS$F7=NW*<_+SZ5W%%5[:K>_,_Z=_P ]2/J]&UN5?UI^ M1YSI/P#\(Z-]M:&WNY);RRDL)YI[N21WA< ,"2>N ,'M6D_PB\-R:;X;L&MY MOLWA^99[!?/;*.IR"QS\W3O7:44W7JRU:J_\ "C_"G_"$_P#"*?9;C^QOM'VKR_M+[]^< MYW9SC/:N^HH]M5T]Y_\ #;#^KT=?=6M_QW.>TSP)I&D>+-3\1VT4BZIJ4<<5 MP[2L5944*N%Z#@#I7+:Y^SSX+\0:YE44HUJD7>,G<)8>E)+QA\8_%=]KFGW4&A2P6Z64]K$=.\ ^%] A71YA&LFH2R )9HC \+U+''7W-> MR45T_7:O-&3^S:W;0Y?[/HJ$X+3FO=]=>AG>'=#M_#.A6&E6@Q;6<"0)GKA0 M!D^_%:%+17"VY.[/0C%12BMD?/VH?!+Q+<^#?B7IB"S^T^(-6%Y99G.WRQ,' M^<[?E.!TYKJ)OAEJ[?$;P!K,:VPT[0["2VNAYA#!C$4 08Y&3[5ZS17:\;5: MMZ_BK?DCSUE]%.^O3\'?\SP;P=\ ]2T#XO3ZM<26[^%;6>XO=-MT?YDFF"@@ MIC '3G^$5A7'[/VN:7XDU_RM"TGQ)I&H7+7-N]]?RP-$6.=KJHPP'Y\5]+4 M5K_:%>]V^B7W?J9?V7A[62:U;^_]#Y[\>_!_Q1XB\417>B:1IN@W=O-&L&OV MM_(DWD*%&'C ^=@!CD]!71^#? 'BKP3\3/$EQ;PV5YX^NOXV_P @66X=+EUMI^%_\SY\^%_P7UOPWJFD+K7A MO2&^P%Q_:T6H2O+C80I6,C ). >V*K#X#^)U^!+>$PEB-8;4OM;?OSY97=G. M[;UQ[5]&453S"LY> _%6A_&B3Q7H=O8WV MGZC9PVMXMW.4:':5#% !\WRH,9[FL#_A4_BRZ^)EAK]GIFG>%=EZ9;^\TZ^= MA>P[B<-#C&YAP2?6O?Z*B.,J1Z+:WR+>7TI=7:]_F)2T45P'IA1110 4444 M%%%% !1110 4444 %%%% !1110 5YO\ &;XD44 >3?VNOQ_\ @W>P6+)9ZO(JQ7-K+D&"YC8,48'D E># MZ'VK,TCP!XYN/&'AK7=6CTR,:3:26@MX9F(/[IE5SQ_$S8(&, 5Z3I_A/0/! MVJ:YK\$<>GS:D5EO9GEVQ_*#\V"<+U))[DUO6MU%>VT5Q!(LT$J!XY$.592, M@@^A%>5B,MHXJJJTVTU;9]G=?B9RIJ3NSP:S^"NOZAK%TWV6T\*Z7>6DL5W: MV%V\L<\C*0I"$ * <'\*T/AO\*=6\/:II/\ :V@:6WV%V_XF<=[(\F-IVE8R M, YQGMBO;J*Y*>286G451-W3O_2M^1"HQ3N%%%%?0&X4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 ?/\ ^V9_R3_1_P#L)+_Z+>OC^OL#]LS_ ))_ MH_\ V$E_]%O7Q_0 4444 >[_ +&__)3M3_[!4G_HV*OLFOC;]C?_ )*=J?\ MV"I/_1L5?9- !1110 4444 %%%% !1110 4444 %55TRTCU![Y;:);QT$;3A M0'91T!/<5:HIW8K)[E>^U"VTNUDNKRXBM+:,9>:9PB+]2>!6%#\2O"MQ9I=1 M:_82P/,MN'28']XN*P_CIIFEZU\/+RQU@:@+.:2-?-TVW,\L;;@0 MVP=5R.?:OG*YTWQ#>>!;F8>'GO;;1];LYUU&WTYK:XOXT5U):/&6V[E^;'\1 MKU<+@X5Z?/*5G>QXV,QU3#5>2,;JUSZ]7Q%ILFLR:2M["=2CB\][4-\ZQ\?, M1Z\)6"-9U+.0<$ ?7\Z\B\!ZA=^*OC_J_B)=&U M&PTFXT(QVT]]:M$9-KH#G/0[@V >2!G%>&^%=)M_$7@&WT?2_#5W+XKGUD/# MJ\=LWEK$#WF' P<\?C712RZ$VU*5KMS[ M/G^)7A6UG:&;7["*9;@VK1O.H82CJI';^58&K_%*32/BS;>%Y8(%TQ]*;49; MUF.Y-K,"/3&%S7S%=V^G7-U\3].F\,W>LZ]=ZF\6G7EM:-*(G$IW N/N=C[U MZ]X>\+:I8?&;P=#J5I-.MOX42TNK@QL\7F#<&4OC!/UYHG@J5%7D[Z/\D[K[ MR89C7Q#2C&VJV];69[/-XVT&'2;35'U6U&GW;B."XW@K(QSA5/<\'CVJSK_B M;2O"VGM?:M?P:?:C_EI.X4'V'J?I7S+X'\'W\_Q@M? =U^]\/^$[Z;58EW$C M8^UH%/N&;/XM7;?M!Z6P\:^!]8U+2;G7?#%G),MW9VUN9BK$#:Q4=1P/^^?> ML7@J<:T:?-NK_+I\V=<ZY\*_[+\-W=MX;:\NS-9R6#1*@WH3YB8^4,P/7J#5"'3=7\$K M\9!H7ASS;9IK9;:SDM&:!XV+B1D3&), YP*Z)4(5*,8*3371_P"*WWG''$3I M5YU'%-/JE_=OIY'T+X?\<:#XLCG;1M6M-1,.0ZP2@E<>HZX]^EAWCV:ZK?-=136KA50M&1OR.%.. M_7FDL#13E&4NS\]F_P!"O[1KRC&<8ZNZ\MXI/\3Z7\0?%+3['P5?>)-#$?B6 MULOFGCLKA0R(#\S?@,G'H*ZK1]6MM=TJTU&SD\VTNHEFBD'\2L 0?R-?/?AS M1X?!\WQN$FFOIVB>0#!&8S%%(/+ER(R1@YR!QZBO5/@39W-C\)?#,5WGS?LB MN 1@A6)91^"D5Q8C#TZ<&X.^J_%7_ ]#"XFI6J*,U;1_>G;\3O****\T]8** M** "BBB@ HHHH **** "BBB@ HHHH *R_$WAG3/&&BW.DZO:I>6%P,/$_P"A M'H0>0:U** /$X[7Q5\!Y"8/M7BWP&IR8<[[W3E[[?^>B#TZ_SKU[0]:M/$6D M6FIV$AEL[J,2Q.5*[E/0X-72,C!&16-XLN=7TWPU>3>';&WOM4A0&WM;ARD; MX(RN1WQG'OB@#:HKB_AS\4M,^(4,\"1R:9K=I\M[I-W\LT#?3^)?W]U#96<"EY;BXD"1QJ.I9CP!5FOEC_ (* >-8K M/X>^'_ OFS1R>+]4BM[DVT+32I9Q.KS.J+RQ!\O@=03517,[";LKGTUHVM:? MXBTV'4-*OK?4K";)BNK659(WP2#AE)!P01^%7:_-[P3\:KOX5? 7XV>%?"%] M>:1<>&=2AU#PXU["\=PMA<74:%3'(,C /)(ZRUZKX/\ 'GQ@T'XV> O#WB3Q MM:ZK#X]T*XO_ "8]-2--+F6V>1-@_BVD#/9N_C+XWU#QA<:E;F+6P^DW,"O$UV(5FSI@UZ?\*/VD MK/X7==KLGRH.HY-!EENM_A"RL$*>5$'58U^\3_%;XA?M5>/O ?ASQE!X=\-:0FFW\CRV@FF2,PQL\,7(V[R[$L>FT#O M4?P9\4?%CXK?%SQY$_C2"P\'>$/%=U"]G]D#W-Y&&8)!OXV1J$'J3N/I2Y1\ MQ]>45\!2?M*>.8OV)$\9-XH8>+)/$W]FI>[%+%=Q/EXQC.P$_2NE^(GQ ^*W MB7X_?%OPCX7\?6_AC2?#NBV^LQQSVBROA;:)V5&/W S.2S>X&*?(Q*+_PW;:M:S:]81+-=:>D@,T*, 59E[ Y'YBO@CQU\4/'G MQL\+_LWZBWB1O#UQXAU=X)?L, 6\@G\I;H?WLAON'Y!THY YS[5HKX4\%_&CXJ^ M ]>^$>N^)O%UKXOT;XGRE7TE;41_V:S&/:8F!Z+Y@R.G!]JXG3?CM\<;7X$6 M?Q8G\=V\MCIVN'3%TA]/0M>1E\,\LG?KM QP%S1R,7.C](:*\_\ C=\0+/X= M_"?6M?O=>_X1HQP!(-16U%TT.F^.E_X&\0Z MMK6K:1<>'VUJW;Q)I\5G?1R>8JYVHQQ&03A6P1QQZRHMJY3DD['U_5+6M9LO M#NCWVJZE<+::?8P/1L^&>63OUV@8X"YKOOC%XX^(OQ7\=?&K0]&\4V_AKPMX-\/N M)])N+02'44DMV:7<2H:5>Q^;;W46=LB^HS7RU M\'L?\.WKL <(RX?.7D!))/&#A>11R[CYMC]$20H)/ KAIOCEX!A\/VFN'Q5I[:1=Z M@-*@O(Y"Z/='.(@0#\W!KY^^#OB;XK_%;XO>/X7\9P6'@WPCXLNH6L_L@>XO M(@SA+??D;(U"#U)W'TKY\\1>(K[5OV*/ VIL;*TOE^(89)%@6*%6"S$,RJ,= M>M"@)R/T]I:_/WQY^TK\5_V>?$'Q%\(:QXAL_&6J6VEV^I6&K?81&+*262)" M&C!P$ D. >,A?4UZ3^S#XZ^*]QX[73O$<^O^(O!]_I#7JZQK6CK9FWO#AMB, M';?$5SM^HHY':X*:;L?7-%?#WP'U3XZ?'+X1:AXL_P"%@QV8LX+ZTTZQM[11 M/=W2$M')-(> ,D)MQT&>]:_P9_:,\4?M ?$CX8:)I.HR6-KIFB2ZEXOV* T] MPC^2(B,?+F15? _AD/I2Y1\Q]E4445!84444 %%%% !1110!3UC2;77M*N]- MOHA/9W430RQMT96&"*\F^#NJW?@/Q+?_ SUF9I#: W.BW4G_+Q:DYV?5>?R M/85[+7,>*OA[IGB[6M!U6Z,T%]HUQY\$UNVUF&.48]U)QD>WN: .GHIJR*S, M%8$J<, >AQG!_ C\Z=0 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% 'S_P#MF?\ )/\ 1_\ L)+_ .BWKX_K[ _;,_Y)_H__ &$E_P#1;U\? MT %%%% 'N_[&_P#R4[4_^P5)_P"C8J^R:^-OV-_^2G:G_P!@J3_T;%7V30 4 M444 %%%% !1110 4444 %%%% !1110 4444 -D7S(V4\!ABN8^'/P_LOAKX; M71K"XGN;<2O+ON""V6.2. *ZFBK4Y*+BGHR'3BY*;6J.4\$_#NR\#WVO75G< M3S/K%ZU[,LQ&$=B20N!TY[UTMY;FZM9H1*\)D0H)(SAER,9'N*FHHE.4GS2> MHHTXPCRQ5DQZ=XD\,Z=XNTMM.U M:W%W9,ZN\+$A6*G(SCJ,XK31%C154!548 X K!O/'WAS3]P]C['FEOO'OAW3==AT:ZUFS@U2492UDE 8YZ#V)[ ]:7)4:2L^X_:4 MDW*ZOL;]%<[JWQ$\,Z'<7<&H:W96<]H4$T1SQ5G5/&6AZ-HBZ MQ>:K:P:8P!6Z,H*/GIM(Z_A2]G/3W7J5[6GK[RT\S9HK%;QEH:^'SKG]JVIT M@8S>"0&,9( R?J0*K+\1O"SF]"^(-.;[$N^XQ<+^['J>?SF]HL'6IK M>2^\Z.BN!\7?%&'3?#FE:MH#6.LPWU[':JS70C3#9R0?48Z5NW7Q \.6&MPZ M/=:U90:I*,K:O, WT]C['FJ]C4M>W](A5Z;=N;M^)T-%[ENKV.U*7,XA #9R03U/'2KFJ?$3PUHXW6IQDXR=K'1T5B:MXUT'0]%75[W5K2#37&4N6E!1_P#=(^]^ M%(WC?0%T!M;.KV9TE1DW8E!C'MGU]NM+V<][,KVM/;F1N45SMG\0_#6H"W-W*8I0VR(=7..@J=O&FA+:Z9<'5+<0:DXCLY-_$[$X 7U-#IS6C3! M5:;U4D;=%<[>?$3PSI^N)H]SKMA#J3:Y)OBS>KXV\HJW6.VC.A--71Y]\2OA/!XRDAU?2KIM"\5V8_T75;?AO]R3'WE/OTKL M]%2^@T>S359X9]16)5N)H5V(\F,$@=LFKU<]X[\'P^.O#=QI,UU/C''JS#_B6ZNHVPZDGIGM( M/3O]>OK= !1110 5QNK_ E\-Z]\2=%\=WUK+<>(=&MY+:QD:X?RH5<,&(CS MMW$,1NQGIZ5V5% 'D_Q+_9?^'_Q:\07FM>(=.NI;^\L8].N7M;Z6W$T"2"55 M948 X95.>ORCTK>N/@OX5N/&7A/Q2]G,=9\+VCV6F2BY<+'$R&-@RYPYVD\M MDUW5%.[%9'D&E_LJ_#_1M8\6:A9V=_#_ ,)1!=6^HVJZA,+=EN/]<4CW;48] MB.1VQ7H/@?P3I/P[\(Z9X:T2!X-(TZ$06\4DC2,J<\%F))Z]ZWJ*+L+'C/@_ M]DGX=^ _'$/BG0K34K"]AN);E+1-3F-F))%*L?(+;>C'C&!Q5+3OV+?A1I/C M"W\16VAW"3V][_:$-@;Z4V,4^<[UMRVP8/;&.*]SHHYF%D'_B-X M@\<65K+'XBUV**"^G:=V1UC550!"=JX"CH.:3P'\)_#?PWU'Q+?:%:RV]QXB MOWU+46EG>023N268!B=HY/ XKL:*+C/GZ\_84^#]]HS-<-;#49 MUA@E+AR\2!L1L=N,C^$D=#7"ZM^R3#\4OVH/B/KWC32+]?"UY9V::9>V>H-; MF9E@CCE0^6P8K\I!##!Q7UW13YF3RH\Q\9?LX>!/''@/0?!]]IXGUK38M)U#[?=27" MW%M'&(U1E9YV[ M=GS-V[&>V<5Z[11S,+(YKX@_#O0OBAX-OO"WB*S^VZ->*JRQ!RC?*P92K#D$ M$ Y'I7&?#?\ 9A\!?"GQ)_;^A65]_;+6C63WM[J$UQ))$Q4D,78YQM&/3M7K M%%%V%D>1?\,K?#O_ (57_P *Z_LRZ_X17[9]O^S?;IO,\[=NSYF[=C/;.*/' M'[*OPY^(GCB3Q7K>DW$^JS0+;72Q7DL4-W&H 598U8!\ #KZ"O7:*+L+(XG1 M/@[X8\._"R3X=V-I-%X6DM)[$VQN'9_*EW;QYA.[)WMSGBN#\$?L8?"WX?>* MM(\0:1I-\MYI+;[**YU&:>"%RN-ZQNQ&[OGUYZU[E11=A9''>!OA+X;^'.H> M)KW0[6:WN/$=^^I:BTD[R"2=R2S ,3M')X&!7%W'[(_PTNOAK8^ IM(NI/#- MGJ1U:*U:_FW?:"&!)?=N(P[?*3BO9:*+L+(\7\*_L@_#'PCI/B73K?1KB_@\ M0VZVM^^IWLMU(T2\JJN[$K@X(PDO/*Y!*^;(3C/OQQ7"?LD_ [5OAK;^+_%?BFQM--\5^+]2>^N-/LF#164 M.YF2%3ZY=B#[S1I9!;S/B2 MVN<9,$RG*N/Y'V)K=T6UNK'1[*VO;K[;>0PI'-<[=OFN 6QVR>: +M%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110!\__ +9G_)/]'_["2_\ MHMZ^/Z^P/VS/^2?Z/_V$E_\ 1;U\?T %%%% 'N_[&_\ R4[4_P#L%2?^C8J^ MR:^-OV-_^2G:G_V"I/\ T;%7V30 4444 %%%% !7G'[1'Q,O_@[\&_$?C#2[ M2VOK[3(XWBM[O=Y3EI40[MI!Z,>E>CUY#^UIX-UKX@?L^>+M \/6#ZGK%Y#$ MMO:QLJM(1-&QP6('0$\GM3CNKB>VAQ_PC_: \;:QX?U#Q5XZ@\&KX8MM)74O M+\)7TM[?Q;MI_>PG[H"EB>X(KT#0_P!I#P)XFU;PGIFCZJVJ7WB:U:]L8;6% MG*PJ2&>7M& 58<]U(KPS]GGPWK7PJ\+ZZUG^S[?^'O$$.A+&;IM4MI_[9NEV MJ(R@?Y S$N23P >IKEOV=OV>_B+\$?'%M=ZCX=CO=.\;:3+;ZIKX2LO$8EU"6X%G!<>0X MM;BXSCR8Y<8+9_#D8)S5K5/VK?AKI/Q*7P-)KK3:]YRVLJVMM)+%!.SA%B=U M!PY8@8Z9."0:^4_A-^S?XL\/3:3X/\8^#/&%_:Z5K\=W::EI>M0)I*#S?^/K MRR=P*@EL#EAQ@5Z5\&] \?\ P%^(WC+1)?AC>>+-*\0>)C?P>*8+J!1'!(XR M\H8[CL'S8P.=V*'&/0%*74]VC_:&\%2:+XWU5=0E-GX-NI+/6'\ALPR(2& ' M\7([5P7C+]MSP-X3\8>$M&6.]U&VURP&HRW=O [-:Q21B2#]WMRY<'G'W>]> M'^*_A9\7=#7X]>"]$\"2:O9>.-2DU.QU];R*.".-F:5XRK')=EQ&HP/F.2<< MUTNJ?#'QYX!\9? CQO8>"+OQ2^@^$X]$U71[2:%)K:98-N69FVD;I",C/W#S MR*.6(-L]%\)_M1V>EM\0=5\9:U9OX>TCQ&-'M)-/LI=]H&+!1<$]\@#<.,_4 M5ZKJGQG\*:/X[/A&ZU'9K":6VLS?+F*WM%SF61^BCCOZCUKY\\!_L\^(/$GA M#]H;0?$VBOI,?B_6[F]TIKB5&#Y9GAE^1C@!]AYP>.E<_P#!']FOQ_X@^&?Q M1O/'D,FD>./$6DQ^'K%KF5'9;>"!45F9&8;9"$#=_D)[T6B%V>]_#?\ :Q^& MGQ6\6'PYX?UUIM3W>)+U4!+-"S## 8/H>#Q6_\4_CUX)^"]WH\'C#5 M_P"R/[6$QMI'B9T/E!2^2H./O+CU)KY<_9Q^"WB/3_$WP_B\9>"?&=GJ7AAY M5AU*XUFWDTNU7RV^:.,$MA\*I4>N2>U;W[<5QJ%G\9O@% M3Q:3N13=;3;L4!?Y02 <$\ XHY5S608=P.P2,LC8/J#TR*M?!7X,^+M4^-NH:_XO\*:YIOA?4O"<^C7,OB;5H[^Y ME9G7>)"I^4,"V%48 7L:.6(*/#D MMG:^/-%U'PIJ6H^+]1U;SM,U6.R:13&9 01*.$&,_P#?6.*^RZ*ZXYBXSY^7 MMU[?IW1PRRI2AR<^U^G?]>S/EW0/AC-??$#QD?$ND-J=Q;:%;Q1W$\#/%).+ M9%9D8C#-D$<<]:P['PY?Z?X,^%>HZYH&HZIH6G2WB7VFBT9WB+2MY;-%C)&, M$<8POO7U]13_ +3J:77;\$UIVW#^R*=G:7?IW:>O?8^0X_"FK3?"#XH7%EHU M]::/JFHPOI6E-;NLJH)P6818RHP5Z?W3Z5O0?"?3H?BYX$M1X:W:.=%W7FZU M;R7F".\:/7;>1UMXFD*J%?+' X'O7*WGP_A\0?&CXD7NJ:&][ NF1 M_8Y+BV9HVD\A 2A(P6&,<<]:^C**PI8R=&')%=_Q:?Z'36R^%>ISR?;\$U^I M\9WGA/7H/AW\,K^YTZ^:PT^2[2YM_P"SS<26Y:9BKF!A\PP.,CC'O5_6/!#6 MWP]BNM.@U36]$C\1QWM_I\FF-;%UV#<8X@,E.<<#&?I7U[179_:D]/=V;?WN M_P"NYQ?V-3U][HEMV5OTV/DCPO8V?B#XD_$JU\.:-)I4-[X=DCMK"6#R&W-& M@Y3^'<3G\Z]#XY^*#>(/%%SXLM+K0;R/45U >1!I^C QR1(P"S-< M[=S':.@KM[[1=3D\:?%^;^S[MDNO#\<<,GD.1,_V91M4X^8YXP.:^CZ*REF# MY%!0MI_E_D:QRI*;FYW;=]O7_,^1-/\ #O\ PBNK?#37M:\.7=YI7]E/;W<, M-@TTJRKN"[X\7&?3VK7^.FB:GI/CW[%H7[FV\?6\-G-'D@K*CJ"Q Z#8< M'_>:OJ2N*L_A5ID/CZ7Q==75YJ.I@,MLEU)NBM%(P1&O;O\ F:VCF/-4]I46 MR>F]];K[G^1E/*N6G[*F]VM=FM+/UNCIM"T>W\/Z+8Z9:)Y=M:0I!&OHJ@ ? MRJ_117AMMN[/HHI122"BBBD,Y_QIX%T;X@:4NGZU:?:(4D66-U8I)$X.0RL. M5/TJ;5/%6B^&+S2M.O[^&SN+]C#:1RM@R,HZ _EU]16U7.>/? >E_$3P_/I6 MJ195OFAN$'[R"0?==#V(_6@#HZ*\L^&_C+5=!UK_ (03QE*&UN%-VGZE_!J< M Z-G_GH.X]OQ/J= !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5Y MAXM\5:IX)^+GA][R[=_"NN1&P$;#Y+:[!RC9_P!K@<^_I7I]<;\7/ P^(7@3 M4=*CPM\ )[.3H4G3E"#VSRN?1C0!V5%87@>XU>Z\(Z5)K]K]CUGR%6ZBW!OG M'!.1QSC/MFMV@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ^?_VS M/^2?Z/\ ]A)?_1;U\?U]@?MF?\D_T?\ ["2_^BWKX_H **** /=_V-_^2G:G M_P!@J3_T;%7V37QM^QO_ ,E.U/\ [!4G_HV*OLF@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH *Y3Q5\+_#GC3Q1X:\0ZO8FYU7P[+)-ILPE9?)9PH8X M!PV=J]<]*ZNB@ K'\7>$]-\<^&]0T'5XGGTV^C\J>..5HV9?0,I!'X&MBB@# MGO ?P_\ #_PQ\,VWA_PSID.DZ3;DE+>$?Q$Y+$GDD^IYKH:** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH K3Z?:W5U;W,UO%+<6Y)AE= 6C)&#M/;(K#TGX@:1K'B[5O#44DD6K:: M%:2&9-GF*P!W)_> S@UTM><9]?CT5R?PU^(-I\1O#::A!&UM=Q.8+VRD&'MIU^\A'\O:NLH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** .,U#Q])I7Q1TSPM=6BQ6>I63 MS6M[NYDF0_-'CMA1G\179UY?^T%HTS^$;;Q)81[]5\-74>I0\ M3_NUZ!X?UJV\2:'8:K9MOMKR!)XS_LL ?SYH T**** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** /G_\ ;,_Y)_H__827_P!%O7Q_7V!^V9_R3_1_^PDO M_HMZ^/Z "BBB@#W?]C?_ )*=J?\ V"I/_1L5?9-?&W[&_P#R4[4_^P5)_P"C M8J^R: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@#G_$>N:/\._#]]K%W#]ELHW\V2 M:V;&]@U*S@N[659[:=%DCE0Y5E(R"#]*34+&WU2QN+.[A6XM;A&BEBD&592, M$'\*\@^%5W_#?4Y6>P?=>:!Z8$%S:QJ5,(8$KVQR!VK7KQKQ&O_ @_[0^@ZNH$=AXG MM&TZY/.//3!1C[GY%'XT >RT444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 ?/\ ^V9_R3_1_P#L)+_Z+>OC^OL#]LS_ ))_H_\ V$E_]%O7Q_0 4444 M >[_ +&__)3M3_[!4G_HV*OLFOC;]C?_ )*=J?\ V"I/_1L5?9- !1110 44 M44 %%%% !4<]Q%:PR332+##&I9Y)&"JH'4DGH*DJO?V<6H6-Q;3()(IHVC=6 MZ$$8(J9-J+:W KS>(=*M[&*]EU*SCLYB!'3 M';M(HD<#J0N*^0HY^ZM14^2U[?E>7 MW'+&MS.UOZZGT12!@V<$&OGWPQXV\1R>,-#M5UG4;FQUR&=A)J5K%&,K&2LD M2@DA>G!X-<]X3\3>(/"_PW\2^*8=8FN+AKZ2#[/)&&C65F3,Q]\$\=.16_\ MK!1W4';6_P DG^H_;KL?4E%?/?A_Q1XVT_3-;DN+G4[O3#H\UU%?7ULD;17 M7<-I#'*^E=S\&3XFUK1[7Q!KNM+>0WEJJPV4<6T1X/WV;^)CC/XUVX7-H8N< M:<(.[U]$7&HI-)(]+HKR(>-M0M_B-X_L9]1*6.G:>D]O$V,1'R@68?B?UK%M M_%GC;5/@GH6KZ3--?:C)/)]MDB16G,(=QE 1C( '09Z4I9Q13DE%MQYO_)78 M/:K4]WHKYHU#XI:U=Z;H>E:;X@O[MKZYE2XNELE2\B"A<0A<@%QG).>X^E>L M_!_5/$E_H]]#XDBN/.M[@I;W%S"(GEAP-I903SUS2PFFUPC5C M)V1WU%%%>^;!25XA\7_$^N:O\2-(\%:7K$_AVP-F^HZCJ-K_ *X1*6X4]1]P M]/[WM5'P_KVDWWPM^(,>B^-M4\7&WT^5C)J!;?; Q/M 8J.I4]/05W_5)>S4 MV][='LW;T/,>.C[25-+:^MUNE<]]HR!UKYR\&_%_6-(\'^$?#7AO16\1Z^^F MB]N/.F"I'%DCDD\L?ZCKFJ7Q7^+$?CSX5^&M>TV&YM9H?$$,-Q9J^'$BHY,> M1U!R/SK7^SZOM%![-VO_ %WL8_VI0]FYK=*]ON_*Y]-T5XYX=^.&K76I:_HN ML>&ETG7M.L_M\%K+=JL1W.F7@N82F0-A(Z,,\UA+!UHIMK;\CHCCZ$FDGJ_S['K@(/3FEKQS]E6YF MNOA4DDTKS/\ ;)_FD8L?O>IJO=?'S4-(\:V>EZCI>F_8+R_&GQ_8]32>XC8M MM$CH.BGTX([TY82I[6=*.O*$<=3]E"K/3F/:Z*\DU[XQ:[-X\O\ PYX3\,C7 M?[)"MJ$\EP(@-RY")[_7N#46A_&3Q'XN\5W=KH/A1;S0K"Z^Q7=])=JA$@8! MF3U50<].1^5+ZI5Y>9KI?=?+[Q_7J/-RIMN]MOO^X]@HKY]U[]J273==U0VF MC6USH.EW/V2>62^1+F5MVTO%&3DJ#['\*V=4_: O6\?3^&]&T*"\> 1-_I5\ ML$ERKJ"#$",<;NYR1VJ_J&(ZQZ7_ *^\S_M+#=)=;'M-%>-:[\>-1M?B-=^% M-+T""YN+,QAEN[Y8)+C+-;4&QACF 26((K&:3IMSD_*/0\\5W/PI^*0^(D.J6UUI[Z5K>DS?9[Z MS9@X1LD JPZ@[3^554PE6G%S:T7_ WW7)I8ZC6FH1>K_P"'^^QWU%>)^,/C MQK>B>-/$WA_2O"XU9M&@2Z>X^T!%6+RU=V;/?YL "JVD_M':AJ6I>%KB7PM) M9^'=>G6T@O9)U+F8D*<*/X0V1SUQFJ6!KN//;3U7:_Y$/,<.IN#>M[;>=OS/ M=:*\6^(GQXU'P#KURDNEZ9<:5:RK$ZIJ:&\D#8PZQ8R ,\@C_&F>)OCMKMCX MT\0^'M#\+KK$NF6\=UY_V@1J(C&KL6![_, *(X*M))I:/7?T_S0Y9AAX-IO M5.VWK_D>V45X_I_QZ;5O^%>R6VEA(?%$D\<@DDRUN8F"G&!SSFL7Q_\ [ M[0_B5IVF6 MY=!\N$7D4^QU20-NDZ=1M' ]?:B.!K2DHM6_X?E_,4LPH1BY) MW_X:_P"1[R&#=#FEKYR^&M_K/PT^%-GJ,.GV?VS5I4D$NK:OLB*&(,)3NZ9) M/RKSR*VX?VEA+X%_M--$\_6VU/\ LB&P@N Z2S8!#*_]SG_/6JE@:G,U3]Y7 ML1#,J7*G5]UM7L>Y45X)\2_BUX]\+_#R"\N= AT/5KB]CM1,MPLR@$!LA<'[ MWS+R>,'VKJ+OXI:YH6K>!M+UC1K>VOO$$LT,:]\?+K1[?XA2#2HI/^$7FMHH\R']^)7VDG MTQ7._$#XBZSK_A/1]0U30[S0;"ZUNU2Q\J\\N::)E9M[[>@/]W_"JC@:LFKZ M)_Y)_DR9YC1BGRZM?YV_-'T317BOBCXY:]I?C;Q%X:T7PNNKS:3!'_S "E/[0%WK&E^#SH>BQ-J7B)9V1+ZX\N&'R20X+@WK2^H MU[)VW\_*_P"0_P"T<.FTWMY>=OS/::S=2\.Z7J]]8WM]8P7-U8.9+6:5 6A8 MXR5/;H*Y#X+_ !&U#XG^&[C5[RP@L(UN&@C6&1F+;?O$Y'KZ9KT&N2I3E2FX M2W1W4JL:T%4ALS/T7Q!IWB*UDN=,O8;Z".5H6DA;< ZG!%:%>,:7GX2_&B?3 M3B/PWXP8W%KV6"]'WT]M^1^)4=J]GK,U"BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "N7\>^ ;3Q]:Z9%<75Q92Z?>QWT%Q;;=ZNF<#D'CG]*ZBH+Z%[BR MN(HY6ADDC95D3[R$C (]Q0!-2UYM\ /%%_XD\ A-7GEN=8TZ[GLKR28YOC^OL#]LS_DG^C_ /827_T6]?'] !1110![O^QO_P E.U/_ +!4 MG_HV*OLFOC;]C?\ Y*=J?_8*D_\ 1L5?9- !1110 4444 %%%% !1110!SFF M?#[0]'\2:AKMK9^7J5^I2>3>Q# D$_*3@9('2JWA_P"%_ASPSI.I:;86'EV> MH@BYC>1GW@@@C)/3!-=917+]5H)I\BZ].^_WD\J['#^'_@SX5\,ZE:7]C92K M=VI)ADDN)'* @C R>F">*='\'?"\=YJMQ]A=O[3#BYB:9S&V\@L0N< Y Y'3 M'%=M16:P.&2Y535AQQ.D_!_PYHMO=6]O%=&"YMI+-XY;N5U$3XW*H+<9Q MU'-=-H.AV?AO2+;3+",Q6=LFR-&8L0/J>36A16U/#TJ.L(V*22V..\1?"7PS MXJUU=7U&P,MYM5'*RLJR*.@=0<,/KZ42?"GP^V@Z=H\45S;66GN[VX@NI$=" MQ);Y@M=C16?U/#\TIQPLWP5\)3:##I)TTK;0S&X1UF<2^8>K M;\[B3QW[#TKHO#/A6Q\)6<4ED\UVN)FE9FP!G+$GH!6Q154\+0I2YJ< M$F"BEL@HHHKJ*/-?B5\);KQ9XBTKQ+H.L_V#XBL$:$7+0B:.2(Y^5D)'J?S- M9'A7X(ZKI6F^.DU37;>]OO%%OY+306GE)"=CKNVAN?O]!CI7L-%=:Q554_9W MT_X-_P SAE@J,JGM6M?^!;\CQ"/]G_6-".@WWAWQ1'INM:?IQTV>>2S$D4\> M20=A/!Y[D]!4=]^S.LGPSTWPM::W]GNH=2&IW.H-"6,TFU@<+N^7@C')^[7N M=%7]>KW3YO/^OO,_[.PUFN73^O\ (\$O_P!FW5/$R^(;SQ%XI6_UK4;>*V@N MH;7RDA1&5N4#8;.U>..]=!X!^"^I^%_& \0ZEKEM?S?V>VGBWM;%;>-%W @J M%/'0Y]N:\ZT;]F74]-;2;>3Q-;R:=I>HKJ$,2:>%DD(?=B23=EC@D ]LU] M45,<76BY24M9;FDL#0G&,91TCL>2:U\(?$5IXZU;Q'X1\3PZ&=62-;NWGLA. MI91C<,G^G\3>#?$E]<:!XJAM-$U"^%[=6$MB'8Y(\Q5;/&>1TXXKU M^BCZW5Y>5OI;9=-ON%]1H\W,EUOOWW^\\/D_9]U+2O$FL7NA:QIL%AJ4QG-M MJ&EKBJ^NU^93YM43_9V'Y7'ET9XS\0?@;K/Q$U0"^URQ33([A9()%T\?;8 M8QC,:S;N^.I%>A^.O!L/CCP7J7A^:4Q)=0>4LQR=C#E6//." <=ZZ.BLGB*D MN77X=C>.%I1Y[+XMSQ%_@5XDFT[P[,WBV%-?\/N4L+R.Q C$!15\MUW?,?EZ MY[GBNO\ A/\ "Y_AXNLW=]J/]K:WK%R;F\O%B\I6.20JKDX +-^==_153Q56 MI'D;T_I_F13P5&E-5(K5?\-^1YG&;_ .V/+]G/^D#S-^T#=\OIGFO8J*7UJM:W M-_25OR!X*@VVX_TW?\SY_P!:_9DU+4IO$$%OXF@M]+U:\:]9'L \X8MN"&4M MDJ"!QQ7;V'PCELO&/BS7#J2.NN6,=FL/DD&$K&$W$YYSC.,"O2:*N6,KR5G+ M^M/\D1#+\/!\RCK_ ,/_ )L\/D_9XO[;PAX.L=.\1):ZWX:N)IH+XVQ,;B1R MY!3=_NCKV/K4^E_L^WMGH_CJVN?$0O;OQ0D1DN7MMOE2C<7;:&P068X Q@8' M->TT4_KM>UN;^KW_ #U#^S\.G?E\OPM^1X]XF^!=[JVF^"EL-:@M]0\-VPMA M)=6GGP3?(J[O++8!XR.O7VK,_P"&:[A?"MQ8CQ%_Q-_[8&LV^I?90/+EV@$% M0>02,\8[>E>Z441QM>*45+84LNPTI.3CK_2/)O$GPC\0^.? %UHOB/Q)!>ZK M]K2YL[Z&S$20;<84H#\W\7.?XO:F>*_A#XB\5Z;X8NY_$\,?BG0[AYH]02SQ M$ZL1\OEAO15'7G!]:]UQY:]%HHEBZTFI.6VOX6_)#C@:$8N*CH]/QO\ F>=6 M_P *)8?'/C#Q!_:2%->LTM5M_).82L83<6S\W3.,"O$?B#X37P):^!O!^HZG M%;6FF1W5T=9NK!IK69Y'8^7Y0R2P!]>^:^LZCEMXY\>9&LF.FX UK1QM2G*\ MM5_P++\#"OE]*K!QCH_^#=_B>9?L]ZMJNI>#)H=0TNWTZVM+EX+*2UMC;I<1 M#!\P1D<9)->HT@ 4 8%+7+6J*K4QS/C[P%8?$+1HK"]E MFMG@N([JWNK8A989$.0RD@\XR/QKI5&U0,YP,9-+7E'A77+_ ,,_&CQ!X6U; M4+B]M=5B75-):XDW>6O(DB&>F"#@>BUB;GJ]%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% 'F'PW\.:CX7^)GC^)K2:/1+^XAOK6X;&QI74F4#GKN/Z M5Z?7-:WXZL]!\7Z!X>G@F-SK/G>1,H'EKY:[F!.>O3\ZZ6@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@#Y_\ VS/^2?Z/_P!A)?\ T6]?']?8'[9G_)/] M'_["2_\ HMZ^/Z "BBB@#W?]C?\ Y*=J?_8*D_\ 1L5?9-?&W[&__)3M3_[! M4G_HV*OLF@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **\P^*7B M+XE:/K-M'X,\/6>KZ#P_X;TK M4?L943[?DV;LX^](,YVGIZ4 ?4U%>(:?\9_$,GQZMO ]U9V45DT2M*RJWFJ_ MV7S2,[L?>X^E9'CWXX>.-/\ B]?>#/#&DZ?J4J!#;QS B1_W(D;)+A>/F_*@ M#Z&HKSKX6:]\0=6;5/\ A-M"M='2)4-J;=U;S#SNSAVZ<>G6O'?"W[0WQ1\8 MP:G"Q^4\#TH ^IZ*\T^"'QD3XN:3>O+8?V=J M-@Z)<1*VY#N!PR]QDJW!Z8ZUO_$[Q)KGA7PG<:AX>T;^W-05E46^3D G&[:! MEL'' QZYXH ZRBOF;4/CU\2OAWJ&GS^-O#-K!I-[)M AQO &,A2'." *>/.R1 Z[A@X(R.* ):*** "BBB@ KS3XM>$=5U+7/!_B/0;4W.J: M/?@2QJZH6M7&)1DD=A_X\:]+J.=VCAD=$\QU4E5SC)QTS0 ^EKE?AGX\B^)' MA.#6HK4V+/))%):L^]HF1BN"<#L >G>NJH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHKS#XI>(OB5H^LVT?@SP]9ZOI MS0;IIKAU#+)N/RC+KQC';O0!Z?17RSX/^/GQ7\?M>#P_X;TK4?L943[?DV;L MX^](,YVGIZ5V^G_&?Q#)\>K;P/=6=E%9-$K2LJMYJO\ 9?-(SNQ][CZ4 >WT M5\\^/?CAXXT_XO7W@SPQI.GZE*@0V\"Q^4\#TKUSX(?&1/BYI-Z\MA_9VHV#HEQ$K;D.X'#+W&2K M<'ICK0!Z717+_$GQ;?>"?"=UJFG:-<:[=1E56UMQDC)QN(')4'&<#/\ .O$+ MKX^_$CP/=:?J/C+PI;VN@WTFT"+Y9%R,X7YS@]\,.<&@#Z7HJ*UN8[RUAN(F MW12H'1O4$9%2T %%%% 'C_[02II=[X"\0%C'_9^NPQN^< 1R??S_ -\"O7P< M\CI6/XL\(:7XXT=M+UBW-S9M(LFQ7*',?%/QS\4?"NL:I/H7ARQO/#5G!Y_V MV=QNVJFZ0D>8#P<]NU 'L]%?-7P_^-'Q8^(*PWNF>&M,N])6Z%O<7$9V;,;2 MW#2 Y"L#T[UU_P#PN36?^&BO^$$^SV?]D8SYVUO._P"/;S>N]NE 'LU%? M//CWXX>.-/\ B]?>#/#&DZ?J4J!#;QS B1_W(D;)+A>/F_*NI\.^-?B-:^%? M%NI^+M LM)ETZP>YL?+8,LKJCL0VUVXX7TZT >NT5\LZ)^T/\4-8\,W7B2U\ M,Z7?Z-:2&.XEC5\H0 S':'S@!ASC S7N7PE^)EM\5O"2:S!:M92+*T$UNS;] MCJ >#CD$$'\: .THKFO'WQ!T;X;Z$VJ:S.8XL[(HHQNDF?&0JCU_2O+O@I\> M]:^*'Q!U32;W3;;3M/AM'N8HU#&9<2(H#$G!X8YX% 'NU%%% !1110 4444 M%%%% !1110 4444 ?/\ ^V9_R3_1_P#L)+_Z+>OC^OL#]LS_ ))_H_\ V$E_ M]%O7Q]F@!:*3-&: />/V-_\ DIVI_P#8*D_]&Q5]DU\:_L;_ /)3M3_[!4G_ M *-BK[*H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** &3?ZI_]TU\ MQ?L5_P"M\:?[]M_[5KZ>==RLO3(Q7EWP1^";_!]M;9]775?[1,1&VW\KR]F_ M_:.<[_TH \P_YO9_#_VQKGOB!INN:Q^U9?6GAN^33=9D">1=2$A4Q: MV/50 M1T[U[?\ \*1?_A>'_"P?[879C']G_9^?]1Y7W]WX]/:N?\>_LX:CXL^(E[XL MT[Q=)H=S/L\L0VQ+Q;8Q&<.''4 ]N] '8?"OPYXV\/VNJCQEKD.M/+L-L8F) M\L -NSE1UR/RKY2^%.O>-?#/AOQGJGA,VXM[<1-?LZ;Y44F0*R CM\Q/IUKZ ML^%GPUUSP&^IG6/%UUXG%VJ+&MRK#R<9R1EVZY'ITK/^"_P._P"%3KKR3ZJF MLQZIY89/LWEA0N_(/S-G._\ 2@#'_9/\/:9IOP\DU2ROA?WFI3;KL[=IA=>! M$?IDG/?=7LNH)<26%REHZQ731L(G;HKX."?QQ7FOPS^#%U\+O%&JW.EZX'\/ M7[ESI,MN28S_ E9-W4=.G(_ UN_%3P+J?CS1[.WTC7Y_#E]:W'GI=VX.XC: MRE>&!&<_I0!\W?%;0_&7A+6M!UOXD30^+=$2XVK;VTYC16ZXV[1@D+Z(.,,%90PR.QP:\*E_9CUOQ+J5E+XO\ '=YKUA;/ MN^RM&PR.X!+G;G R<5[]:VL5C:Q6\$:Q01($2-1@*H& !^% $M%%% !1110 M4444 >2?!\IX=\??$/PJ-JI%J"ZG HX^2=02 /1<*/QKUNLR/P_I=KKTVL): M0IJMS&('N7LW_[1SG?^E)_PI%_ M^%X?\+!_MA=F,?V?]GY_U'E??W?CT]J /$/B!INN:Q^U9?6GAN^33=9D">1= M2$A4Q: MV/501T[U[_\ "OPYXV\/VNJCQEKD.M/+L-L8F)\L -NSE1UR/RKC M_'O[.&H^+/B)>^+-.\72:' WU, MZQXNNO$XNU18UN58>3C.2,NW7(].E 'RG\*=>\:^&?#?C/5/"9MQ;VXB:_9T MWRHI,@5D!';YB?3K7T)^R?X>TS3?AY)JEE?"_O-2FW79V[3"Z\"(_3).>^ZM MCX+_ ._X5.NO)/JJ:S'JGEAD^S>6%"[\@_,V<[_ -*?\,_@Q=?"[Q1JMSI> MN!_#U^YFW5U#8V\MQ<2I!!$I=Y9&"JJCJ23T M%?-'B#^T?VH/'EM9Z=');^ M'G/F:B5(^T-QNVYZDXP/0')ZXKV#XQ?#>[^* M7AB/1K;6GT:/SUEF98S()E /R, PXS@_A7F&G?LO^*M'LDL]/^)M]8VJ9V0V M\#HBY.3@"6@#Z(AB6")(T&U$ 51Z 4^L_P /:;/H^@Z=87-VU_<6MO'#)=." M&F95 +G)/)(SU[UH4 %%%% '*?%97_X5GXH:*5X98].GD22-BK*RH6!!'N*/ MA3>-?_#/PM.[%W;3;?E 'C7[&O\ R3'4?^PK)_Z*BKE_^;V?P_\ ;&O8 MO@M\+7^$?A>YTA]2&J&:[:Y\X0^5C*(NW&X_W>OO67_PI%_^%X?\+!_MA=F, M?V?]GY_U'E??W?CT]J /$/B!INN:Q^U9?6GAN^33=9D">1=2$A4Q: MV/501 MT[UZU;^'/&WA_P"%_CT>,M$_@WKNB^'?%&EZOXTNM?&L6 M;6L4EU&Q%L2K*6 +G/WAQQTH ^9?"_B#QKX=^"NK2:0T">%KJ^>TO)%3=.C/ M&@;MPA7:,^IKZL_9_P##FE^&_A?I*:3>KJ,%T#=/=*NW?(W48[;<;?\ @-0? M#'X*6_@7P!JGA74KU=;M-0FDDE;R?*&UT5=N-QY&W.7= ?]?$=?3E>7^"?@N_@_XI>(/&!U=;I=56 M519BWV&/?(K_ 'MQSC;CH.M 'J%%%% !1110!YYX(^,6F^*?%VN^%[C;9:UI MMW+%'&QXN8U8@,G^T!U'X].GH=?GG\4+ZXTSXO\ B2[M)Y+:Z@U2:2*:)MK( MP#=&\:V45IK=A%J%M')YJ1RYP&P1GCV)KF?^%!^ /\ H6+/\F_Q MKT"B@#S_ /X4'X _Z%BS_)O\:/\ A0?@#_H6+/\ )O\ &O0** .6\+_#'POX M+U"2]T71[?3[J2,PM)%G)0D$CD^H'Y5U-%% !1110!$]U!&Q5YHU8=0S &F_ M;K;_ )^(O^^Q7PA^T9(Z_&CQ(!(X&^+@,0/]4E>;^=+_ ,]9/^^S0!^F_P!N MMO\ GXB_[[%'VZV_Y^(O^^Q7YD>=+_SUD_[[-'G2_P#/63_OLT ?IO\ ;K;_ M )^(O^^Q1]NMO^?B+_OL5^9'G2_\]9/^^S1YTO\ SUD_[[- 'Z;_ &ZV_P"? MB+_OL4?;K;_GXB_[[%?F1YTO_/63_OLT>=+_ ,]9/^^S0!^F_P!NMO\ GXB_ M[[%'VZV_Y^(O^^Q7YD>=+_SUD_[[-'G2_P#/63_OLT ?IO\ ;K;_ )^(O^^Q M1]NMO^?B+_OL5^9'G2_\]9/^^S1YTO\ SUD_[[- 'Z;_ &ZV_P"?B+_OL4?; MK;_GXB_[[%?F1YTO_/63_OLT>=+_ ,]9/^^S0!^F_P!NMO\ GXB_[[%'VZV_ MY^(O^^Q7YD>=+_SUD_[[-'G2_P#/63_OLT ?IO\ ;K;_ )^(O^^Q1]NMO^?B M+_OL5^9'G2_\]9/^^S1YTO\ SUD_[[- 'Z;_ &ZV_P"?B+_OL4?;K;_GXB_[ M[%?F1YTO_/63_OLT>=+_ ,]9/^^S0!^F_P!NMO\ GXB_[[%'VZV_Y^(O^^Q7 MYD>=+_SUD_[[-'G2_P#/63_OLT ?IO\ ;K;_ )^(O^^Q1]NMO^?B+_OL5^9' MG2_\]9/^^S1YTO\ SUD_[[- 'Z;_ &ZV_P"?B+_OL4?;K;_GXB_[[%?F1YTO M_/63_OLT>=+_ ,]9/^^S0!^F_P!NMO\ GXB_[[%'VZV_Y^(O^^Q7YD>=+_SU MD_[[-'G2_P#/63_OLT ?IO\ ;K;_ )^(O^^Q1]NMO^?B+_OL5^9'G2_\]9/^ M^S1YTO\ SUD_[[- 'Z;_ &ZV_P"?B+_OL4?;K;_GXB_[[%?F1YTO_/63_OLT M>=+_ ,]9/^^S0!^F_P!NMO\ GXB_[[%'VZV_Y^(O^^Q7YD>=+_SUD_[[-'G2 M_P#/63_OLT ?IO\ ;K;_ )^(O^^Q1]NMO^?B+_OL5^9'G2_\]9/^^S1YTO\ MSUD_[[- 'Z;_ &ZV_P"?B+_OL4?;K;_GXB_[[%?F1YTO_/63_OLT>=+_ ,]9 M/^^S0!^F_P!NMO\ GXB_[[%'VZV_Y^(O^^Q7YD>=+_SUD_[[-'G2_P#/63_O MLT ?IO\ ;K;_ )^(O^^Q1]NMO^?B+_OL5^9'G2_\]9/^^S1YTO\ SUD_[[- M'Z;_ &ZV_P"?B+_OL4?;K;_GXB_[[%?F1YTO_/63_OLT>=+_ ,]9/^^S0!^F M_P!NMO\ GXB_[[%'VZV_Y^(O^^Q7YD>=+_SUD_[[-'G2_P#/63_OLT ?IO\ M;K;_ )^(O^^Q1]NMO^?B+_OL5^9'G2_\]9/^^S1YTO\ SUD_[[- 'Z;_ &ZV M_P"?B+_OL4?;K;_GXB_[[%?F1YTO_/63_OLT>=)_SUD_[[- 'Z;_ &ZV_P"? MB+_OL4?;K;_GXB_[[%?F1YTO_/63_OLT>=+_ ,]9/^^S0!]N?%V^2Q^)GPPU M*.=-JW\UJ^UP>)551D>G7\Z];^W6W_/Q%_WV*_,@R.W5V..F6)Q1YTG_ #UD M_P"^S0!^F_VZV_Y^(O\ OL4?;K;_ )^(O^^Q7YD>=+_SUD_[[-'G2_\ /63_ M +[- 'Z;_;K;_GXB_P"^Q1]NMO\ GXB_[[%?F1YTO_/63_OLT>=)_P ]9/\ MOL_XT ?IO]NMO^?B+_OL4?;K;_GXB_[[%?F1YTG_ #UD_P"^S_C1YTO_ #UD M_P"^S0!^F_VZV_Y^(O\ OL4?;K;_ )^(O^^Q7YD>=+_SUD_[[-'G2?\ /63_ M +[- 'Z;_;K;_GXB_P"^Q1]NMO\ GXB_[[%?F1YTG_/63_OLT>=+_P ]9/\ MOLT ?IO]NMO^?B+_ +[%'VZV_P"?B+_OL5^9'G2?\]9/^^S1YTO_ #UD_P"^ MS0!^F_VZV_Y^(O\ OL4?;K;_ )^(O^^Q7YD>=+_SUD_[[-'G2?\ /63_ +[/ M^- 'Z;_;K;_GXB_[[%'VZV_Y^(O^^Q7YD>=+_P ]9/\ OLT>=)_SUD_[[- ' MZ;_;K;_GXB_[[%'VZV_Y^(O^^Q7YD>=+_P ]9/\ OLT>=)_SUD_[[- 'Z;_; MK;_GXB_[[%'VZV_Y^(O^^Q7YDB64\"20GVG>OSL\Z3_GK)_P!]FA9'48$CJ/0,0* /TW^W6W_/ MQ%_WV*/MUM_S\1?]]BOS(\Z7_GK)_P!]FCSI?^>LG_?9H _3?[=;?\_$7_?8 MH^W6W_/Q%_WV*_,CSI?^>LG_ 'V:/.E_YZR?]]F@#]-_MUM_S\1?]]BC[=;? M\_$7_?8K\R/.E_YZR?\ ?9H\Z7_GK)_WV: /TW^W6W_/Q%_WV*/MUM_S\1?] M]BOS(\Z7_GK)_P!]FCSI?^>LG_?9H _3?[=;?\_$7_?8H^W6W_/Q%_WV*_,C MSI?^>LG_ 'V:/.E_YZR?]]F@#]-_MUM_S\1?]]BC[=;?\_$7_?8K\R/.E_YZ MR?\ ?9H\Z7_GK)_WV: /TW^W6W_/Q%_WV*/MUM_S\1?]]BOS(\Z7_GK)_P!] MFCSI?^>LG_?9H _3?[=;?\_$7_?8H^W6W_/Q%_WV*_,CSI?^>LG_ 'V:/.E_ MYZR?]]F@#]-_MUM_S\1?]]BC[=;?\_$7_?8K\R/.E_YZR?\ ?9H\Z7_GK)_W MV: /TW^W6W_/Q%_WV*/MUM_S\1?]]BOS(\Z7_GK)_P!]FCSI?^>LG_?9H _3 M?[=;?\_$7_?8H^W6W_/Q%_WV*_,CSI?^>LG_ 'V:/.E_YZR?]]F@#]-_MUM_ MS\1?]]BC[=;?\_$7_?8K\R/.E_YZR?\ ?9H\Z7_GK)_WV: /TW^W6W_/Q%_W MV*/MUM_S\1?]]BOS(\Z7_GK)_P!]FCSI?^>LG_?9H _3?[=;?\_$7_?8H^W6 MW_/Q%_WV*_,CSI?^>LG_ 'V:/.E_YZR?]]F@#J_BXP;XH>*F4AE.HS8(Z??- M6D\EM=0.)(IHFVLC#H0:AR3R>3ZDT4 ?;?P%^/=O\2;--)U9X M[;Q+ G*_=6[4#[Z?[7JOXCCI[+7YBV-]<:9>07=I/);74#B2*:)MK(PY!!K[ M5^ OQ[M_B19II.K/';>)84Y'W5NU'\:?[7JOXCCH >RT444 %%%% !1110 4 M444 %%%% !1110!\#_M&_P#):/$G^_%_Z*2O-Z](_:-_Y+1XD_WXO_125YO0 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5[?\*M. MM+CX!_$6YEM89;B';YU>(5ZU\._'&B:'\&O'.AWU\(-4U+;]EM_ M+<^9QZ@8'XD4 ;&E_LZZ/_PCOAO6M9\91:5::Q#&4C>#Y_-< JB\\CDY/; ] M:T8_V6=/M_$#:#J'C:V@UJYWR:?:10%GDB49WN,C!X;CVX)KF_B;X\T/Q!X" M^&^G:??BXO-(A"WL7ENOE';&.I !^Z>F>E=?K?Q9\)WG[1WASQ1#JJOH=I8- M#-=^3(-CE)0!MV[CRR]!WH X7X>_ F7QMJWB[3;C5X],N?#[F-W:/=&[ N"2 M$M:? MQ!/J%\+N>X:%HO+4,K#@@<_(@_,\4 6;/]F/3X6TS2M:\96^F>*M2B\Z#35@ M\P .0<9KF_ ?P!O_&.K^+-(N-0CTS4M!(0JZ;HY6);JV>%^7K@] M:](F^('PV\;>+O#7CS5M?ETC5=,MU6?2&MW?=(I8KAPO9B?J,=*Y[PO\9=$N M-6^*FIZE=G3I->MS'I\9C8L^$=4!V@@'!7KZT 1> OA#X+N/BQIVB/XI@\10 M1VYGDACA;9<7,WV%]M M@ZL<18)!?IC(K+^!?BS3O _Q,TG5M6D,%A$)$EE52VS(TU>'4EN91<26+A+&5Y%9 ,@DG&X;@/RH Y#QQ\#;#1? -Q MXN\/^(FUK3K61(ITGLWMV&2!N7=R1EE[=#UK2LOV?-$MO#?AS7=>\91Z18ZQ M$A5&MB7$K@%4&#TZY8XQ@>M;_C[XIZ!??"'Q-X<;QE+XJURZECECN'LF@1QY MB$I&,84*$)YQDGBN,^*_CK1/$GP[^'FEZ;??:;W2K?9>0^6Z^4VV,8R0 >5/ M3/2@"5O@?:>&?C-I?A37]9C%A=>7/#,L39NE9]HBP,[68@C.<#&:K?M">#?" MWA'Q;=1:#J:?:?-59M&CMW46B[%(.\\-GKQZUO\ Q4^*/AS6OC=X1\1Z;?&^ MTK3H[<7$J1.I4I,[, & )P"#6%\?+KPAXB\07?B30/$O]K7VH31[[%;5XQ"@ MCP6+,!DY X]Z -SX(?#3PCXF\ >*M7UK4HS/ODXR .F/ M>N7\"_!RV\?>(]K37?A; M6[5;=-:2!E*L(V!/EX) )=L<=AZT 87Q&^#MIX9\*6GBGP]K\?B/P_<3F!IE MB,;1-SC///0CH.WK5W]ENQMM2^*\$-W;Q7,/V28^7,@9 /[%\':;XCEOD\N^%U ORI_>+]OQS7S;XX^(&N^++^ M^ANM>O\ 4=+:X=X8)IW,>W<=I"GVKU*\^.,'ASX=_#Z#P[JSMJ^DR;K^Q575 M'3NCD@!@?8F@"UKWAOPUI?[4FAZ;HMM +)I(S=V:J#"DQ#94#IC&TX[$FO,? MCA;16?Q6\30P1)#"ET0L<:A548'0"NZU+Q/X%M?C9X>\9:/JWEZ? M"0-:2X^8_=Y!)_ASSGMBCXG6?PN\5:EX@\0VGCF>35+I9)X;%;&0*\FWY4W% M. 2 ,GUH ]/\,:3JR_"/P1)X<\):/K\UQ'MOQJ"(,1\_-DD'/Y_2O%OVEM)\ M/Z+\2#:Z!:PV6VU0WEO;+MC2!/$_PU\$Z1J7C6?P M[?Z,/,F%K;3-)NYRH8+@'WYKB?VA?B/H_P 1/$U@^B1O):V%M]G^W3+B2X.< MY.><#W[DT =W^S7IL]S\-_%]SINCV6L:W#,GV2&\C5E9MO0EB,#\14'[0^AZ M=8_#_P .7>IZ!IWA[QI=7)\ZWTP (8OFW%B.#SLZDGDX/6L+X,^+O"VG_#7Q M;X<\0:]_8: .;\:?!=?"/C_POX:&K&Y&M" FX\C;Y7F2;/NYYQUZU MT.F_LUI=^-?%6DSZ^T6G>'HX))[F.U,DLOF1^9A8P2> #ZY]*ZK6O'WPX\8: MSX-\8ZCX@FLM3T>.(3Z3':N[.ZG< &Q@!6).>:#J?Q=\3^)-+^(3 M>&$E-M]FD-E)-#>(L(5P\9 Z,,<^O% ')^"?">GZ9\:/#-EX6\4QZJ92TPO) M+!E6%@'_ ';1LN@U[XK^"KKXY>%->M)XDM+&)QJ.K16SQI.Y0@$)@MP3UQGGOBL[PO\ M$[PUINM?%VXGU,1Q:ZDHTYO*D/GDB7'1?E^\O7'6@#G?&GP3TS2_A])XO\-> M)X_$.FVLHANOW!B*MN"Y7/NR\'L)O%"Z%=Z\ =/M8[5I ML@[2I=AP,AAUP!D<]:H^'/&^B6/[.7BCPO/?"/7;V_6:"U\MCO3="<[@-H^X MW4]J])T/XU:1KGP_\.V,?C=O ^L:; MOYXH X3PW M^S?=:AXI\4:9JVKK8V_A\1O/+;0-.\RNI=2B#G[H]SGC!K!L_A3I7B+XB:3X M9\.>*8]5AOHWD:]>T:'R-H8E"C');"]..HKK]!\86,GQ"U[6A\49],N@T*07 M\VGEX]0C"88/$H ! SZT_XC>-O!_C+XI:%=Z;KK:"+>W87?B2RMGCW3;3M M(3[V,\?1L9P* .,^*'PV\.^ TFAL/%4FIZK;SBWFTV:P>!U.#EPS'!7CMGJ. M:N_LTZ;H.J?$Z"#7XX)T-NYM(;D QO/Q@$'@_+N(SW KKOC1\2/#?B#X;VND M/K=OXP\31S@IJL-@UL8HQUW9ZDCC X/X5Y/\/=-\+:IJ=S#XJU>XT.V\G=;W M=O&7Q+N& P )QC/Y4 >G_%:Z\1Z[K&E>$_$_A+2_#]S>:C'':ZO86^082=A5 M6R<]5)&0>!D5S4GP16/XV1> /[7)5UW?;O(Y'[DR_V.M=GXT^+'A_1/ _ MA[0K#7IO'.H6&I17K7]U$T?E+&VX*"PSDCY1UX)]JZ*;QY\+Q\6K/X@_\)1* MUQ)"(6L5LY#Y3E-GF,V. %XP >>10!Y/X/\ @=+XJ\9>*=,?5HK#2/#LTD=Y MJ *K7WPLTC5O&6BZ#X,\41^(WU)GR[6[0BV5>26)^]P&/ M [>]=CX$^*'ABW\7?$K3M9O'@\/^*)IS%J,<;'8"T@!VXR,J^>1P0*Q="U+P M=\'?B%X8U?0]?E\3P1M*NH.MN8A&C+L7:".2 Q/7G':@"A\2/A?X5\$65W%9 M>-X]5UVSD6"735M""SEL$!LX&!UZ\C%=/:_LTV$,FG:-JWBU+#Q;J$'GP:::^E_:3O[E6V_AP3QC@4 >6^#_ M -G]=2T?Q#JOB'6_['L]%O9+"<6MJUR_F)@,V%YVY8=NF3Q6=X-^#5EX[^(E MYX>T;Q-'>:=:VHNVU06Q7>ORY58RV<@L!R>QKK/AGXUT[2=9U;6G^)3Z3-<: ME*\]G>:>\T5]#D$2%5P%9AGIR*KZEXO\*:]\9M1UK1/$LG@>U6W7R-2@M69; MF8,-VZ,?PL.QQG;SUH \^^(W@_P]X3F@31/$KZX[R/'-;RV3V\EMMQP^[DDY M].QKC*]M_:$^(/AOQEI6A6^GW<&N:];9^V:Q;VC6ZNN,;=IYY//H.W6O$J " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ J:QOKC3;R"[M)I+:Z@<2131,59&'((-0U+9 MV<^H74-K:PO<7,SB..&-2S.Q. .YH ^U?@)\?+?XD6::3J[QVWB6%.1PJW: MC^-!_>]5_$<="F? +X!P?#FUCUG6$2X\2S)P.JVBDTT44 M4 %%%% !1110 4444 %%%% 'P1^T8I_X71XD^4GYXNW_ $R2O-]K?W6_(U^G M$EC;3.7DMXG<]69 33/[+L_^?2#_ +]K_A0!^96UO[K?D:-K?W6_(U^FO]EV M?_/I!_W[7_"C^R[/_GT@_P"_:_X4 ?F5M;^ZWY&C:W]UOR-?IK_9=G_SZ0?] M^U_PH_LNS_Y](/\ OVO^% 'YE;6_NM^1HVM_=;\C7Z:_V79_\^D'_?M?\*/[ M+L_^?2#_ +]K_A0!^96UO[K?D:-K?W6_(U^FO]EV?_/I!_W[7_"C^R[/_GT@ M_P"_:_X4 ?F5M;^ZWY&C:W]UOR-?IK_9=G_SZ0?]^U_PH_LNS_Y](/\ OVO^ M% 'YE;6_NM^1HVM_=;\C7Z:_V79_\^D'_?M?\*/[+L_^?2#_ +]K_A0!^96U MO[K?D:-K?W6_(U^FO]EV?_/I!_W[7_"C^R[/_GT@_P"_:_X4 ?F5M;^ZWY&C M:W]UOR-?IK_9=G_SZ0?]^U_PH_LNS_Y](/\ OVO^% 'YE;6_NM^1HVM_=;\C M7Z:_V79_\^D'_?M?\*/[+L_^?2#_ +]K_A0!^96UO[K?D:-K?W6_(U^FO]EV M?_/I!_W[7_"C^R[/_GT@_P"_:_X4 ?F5M;^ZWY&C:W]UOR-?IK_9=G_SZ0?] M^U_PH_LNS_Y](/\ OVO^% 'YE;6_NM^1HVM_=;\C7Z:_V79_\^D'_?M?\*/[ M+L_^?2#_ +]K_A0!^96UO[K?D:-K?W6_(U^FO]EV?_/I!_W[7_"C^R[/_GT@ M_P"_:_X4 ?F5M;^ZWY&C:W]UOR-?IK_9=G_SZ0?]^U_PH_LNS_Y](/\ OVO^ M% 'YE;6_NM^1HVM_=;\C7Z:_V79_\^D'_?M?\*/[+L_^?2#_ +]K_A0!^96U MO[K?D:-K?W6_(U^FO]EV?_/I!_W[7_"C^R[/_GT@_P"_:_X4 ?F5M;^ZWY&C M:W]UOR-?IK_9=G_SZ0?]^U_PH_LNS_Y](/\ OVO^% 'YE;6_NM^1HVM_=;\C M7Z:_V79_\^D'_?M?\*/[+L_^?2#_ +]K_A0!^96UO[K?D:-K?W6_(U^FO]EV M?_/I!_W[7_"C^R[/_GT@_P"_:_X4 ?F5M;^ZWY&C:W]UOR-?IK_9=G_SZ0?] M^U_PH_LNS_Y](/\ OVO^% 'YE;6_NM^1HVM_=;\C7Z:_V79_\^D'_?M?\*/[ M+L_^?2#_ +]K_A0!^96UO[K?D:-K?W6_(U^FO]EV?_/I!_W[7_"C^R[/_GT@ M_P"_:_X4 ?F5M;^ZWY&C:W]UOR-?IK_9=G_SZ0?]^U_PH_LNS_Y](/\ OVO^ M% 'YW^$?B!K/@G3]9L],\M8-6@^SW/F1;B4PPX]#AC7,[&_NM^1K]-O[,L_^ M?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y](/\ MOVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_:_X4 M?V79_P#/I!_W[7_"@#\RMK?W6_(T;6_NM^1K]-?[+L_^?2#_ +]K_A1_9=G_ M ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y](/\ OVO^%']EV?\ SZ0? M]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_:_X4?V79_P#/I!_W[7_" M@#\RMK?W6_(T;6_NM^1K]-?[+L_^?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*V MM_=;\C1M;^ZWY&OTU_LNS_Y](/\ OVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR M-&UO[K?D:_37^R[/_GT@_P"_:_X4?V79_P#/I!_W[7_"@#\RMK?W6_(T;6_N MM^1K]-?[+L_^?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OT MU_LNS_Y](/\ OVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/ M_GT@_P"_:_X4?V79_P#/I!_W[7_"@#\RMK?W6_(T;6_NM^1K]-?[+L_^?2#_ M +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y](/\ OVO^ M%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_:_X4?V79 M_P#/I!_W[7_"@#\RMK?W6_(T;6_NM^1K]-?[+L_^?2#_ +]K_A1_9=G_ ,^D M'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y](/\ OVO^%']EV?\ SZ0?]^U_ MPH _,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_:_X4?V79_P#/I!_W[7_"@#\R MMK?W6_(T;6_NM^1K]-?[+L_^?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=; M\C1M;^ZWY&OTU_LNS_Y](/\ OVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO M[K?D:_37^R[/_GT@_P"_:_X4?V79_P#/I!_W[7_"@#\RMK?W6_(T;6_NM^1K M]-?[+L_^?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LN MS_Y](/\ OVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/_GT@ M_P"_:_X4?V79_P#/I!_W[7_"@#\RMK?W6_(T;6_NM^1K]-?[+L_^?2#_ +]K M_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y](/\ OVO^%']E MV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_:_X4?V79_P#/ MI!_W[7_"@#\RMK?W6_(T;6_NM^1K]-?[+L_^?2#_ +]K_A1_9=G_ ,^D'_?M M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y](/\ OVO^%']EV?\ SZ0?]^U_PH _ M,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_:_X4?V79_P#/I!_W[7_"@#\RMK?W M6_(T;6_NM^1K]-?[+L_^?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M M;^ZWY&OTU_LNS_Y](/\ OVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D M:_37^R[/_GT@_P"_:_X4?V79_P#/I!_W[7_"@#\RMK?W6_(T;6_NM^1K]-?[ M+L_^?2#_ +]K_A1_9=G_ ,^D'_?M?\* /S*VM_=;\C1M;^ZWY&OTU_LNS_Y] M(/\ OVO^%']EV?\ SZ0?]^U_PH _,K:W]UOR-&UO[K?D:_37^R[/_GT@_P"_ M:_X4?V99_P#/I!_W[7_"@#\R:*ZWXN*L?Q0\5*JA5&HS !1@#YS7+V=G/J-W M#:VL,EQLZRB7'B69..C+:*1]U?5O5OP''4^ ?P"@^'-HFL:RD=SXEF3CH MRVBD?=7U;U;\!QU]IH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH _/+XI6=QJ/Q>\2VMK#)<7,VJ31Q0Q*69V+D >M?4GP#^ <'P MYM$UC6$2Y\2S)[,MHI'W%_VO5OP''78^&GPMTG3?%7B'Q?*/M>KWVHW0C:11 :BV02LI">YQRWH<>N?4: "BBB@ HHHH __]D! end GRAPHIC 15 prlb-20231231_g2.jpg begin 644 prlb-20231231_g2.jpg M_]C_X 02D9)1@ ! @$ 8 !@ #_[@ .061O8F4 90 !_]L 0P " 0$! M 0$" 0$! @(" @($ P(" @(%! 0#! 8%!@8&!08&!@<)" 8'"0<&!@@+" D* M"@H*"@8("PP+"@P)"@H*_]L 0P$" @(" @(% P,%"@<&!PH*"@H*"@H*"@H* M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*_\ $0@# M2 38 P$B (1 0,1 ?_$ !\ $% 0$! 0$! ! @,$!08'" D* M"__$ +40 (! P,"! ,%!00$ !?0$" P $$042(3%!!A-180'EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>H MJ:JRL[2UMK>XN;K"P\3%QL?(R;GZ.GJ\?+S]/7V M]_CY^O_$ !\! ,! 0$! 0$! 0$ ! @,$!08'" D*"__$ +41 (! M @0$ P0'!00$ $"=P ! @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P M%6)RT0H6)#3A)?$7&!D:)BH*#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6V MM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# M 0 "$0,1 #\ _53P3X)\;?%GQMKFEZ7XYN++[%<22$RW$I!!E( !XKKO^&5 M/B=_T5G_ ,B3_P#Q5'[*G_)3_%O_ +_ -'M7O5 '@O_ RI\3O^BL_^1)__ M (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_ M\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]4 M4 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ M RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2 M?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_ MT5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ M(D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 M>"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ MY$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H M_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?] M%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 M >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ. M_P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^ M1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG? M]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q M5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% M'@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK M/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5 M/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!% M9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5> M]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_H MK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ M .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3 MXG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5 M>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P## M*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^ MBL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE M3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3 M_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57 MO5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$ M[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ M/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B= M_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ M !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J? M$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ MD2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC M_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ M /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >" M_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI M\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJ MC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ M ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ M ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\ M,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ M /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"& M5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\ MB3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_ M\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"B ML_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ M (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_ M\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]4 M4 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ M RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2 M?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_ MT5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ M(D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?]%9_\B3__ !5>]44 M>"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 >"_\,J?$[_HK/\ MY$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ._P"BL_\ D2?_ .*H M_P"&5/B=_P!%9_\ (D__ ,57O5% '@O_ RI\3O^BL_^1)__ (JC_AE3XG?] M%9_\B3__ !5>]44 >"_\,J?$[_HK/_D2?_XJC_AE3XG?]%9_\B3_ /Q5>]44 M >"_\,J?$[_HK/\ Y$G_ /BJ/^&5/B=_T5G_ ,B3_P#Q5>]44 >"_P##*GQ. M_P"BL_\ D2?_ .*H_P"&5/B=_P!%9_\ (D__ ,57O5% 'RM\7?ACX]^$6G6> MHZC\0I[Q;R=HU6">52I SDY-%=]^VK_R+&B?]?\ )_Z!10!0_94_Y*?XM_X% M_P"CVKWJO!?V5/\ DI_BW_@7_H]J]ZH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH ***^7_CU_P %H?\ @EY^R_\ %O6?@1\?/VQO#7AGQ=X?DBCU MG0[ZWNVEM6DA29 Q2%EYCD1N">&% 'U!17R'X4_X+X_\$LPZ%HW_ 4( M^'T<\\JQQMJE]+8Q;CTS+SO M+299(IXG4,DB.I(96!!!!P0010!8HHHH **** "BLS3/&G@[6O$FI^#=&\5Z M;=ZOHB0/K.E6U]')-[+PWX5T"W6?6=2.10![C1110 4444 %%%>#VO\ P4Y_8-O?VKC^PY:_M*:& M_P 6%U![$^"1#1$I?[V,#UH ]XHHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH \4_;5_Y%C1/^O^3_T" MBC]M7_D6-$_Z_P"3_P! HH H?LJ?\E/\6_\ O\ T>U>]5X+^RI_R4_Q;_P+ M_P!'M7O5 !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7\O7[$_%OC_1[+7+&WO9+9YH?^$=M'VB6)E=#E1RI! MK^H6OY4O^"I_P(^+/[3G_!TEXV^ GP+^*3^"?%WB?QIH]GH7BN.\GMVTV;_A M'[-O-$EO^]3A2,ISS0!]L?\ !;C_ (-N/^"67[*'_!.KX@?M1? 2VUWP#XE\ M%6,-YIDE[XLGO;35)6N(XA9R1W3.2TOF;4,;*0^TG< RGK/^#77]NCQK\,O^ M"'WQC^*?QDCU7Q%X:^ .KZY?:';QR@SG3+?28=2ET^%I#M&V0RLH)POV@#A0 M,>3:U_P:*_\ !1OX^:G8Z5^UA_P5@CU_1+6Y60?;9-7UR6#J&:**\FC0/@D M[AU/X_H=\:OV!O@3_P $U?\ @@1\>/V5OV?K.Z.DZ7\"_&-UJ&JZDZM>:O?R MZ1_X/1/V&+#X*V?Q$T+]G3QW>^)+SQ+< MZ(/"&G_$G0+;4O"/@.>TAGU[46FA6=88H4D\LXC=',CND:K(F M]D9PA_-'_@RV_9<^"/CKX&_&WXW_ !!^%^A:_K%QXFLO#MOR2U, M\L48E5MBR-.N\#[_ )29SM%>1?\ !R7IFF?%C_@OW\ /V6?BWMTWX7V^G>#M M'MM,A/V>UM=+O=8>*]EC"X6/* QEEQA;9!_ * /J3P+_ ,'L'[&6L>.;?2OB M%^R)\2- \.7-SY:^(+>^L[V6)-P'F/;!DX&(K_P 7^'_B'8/H?@?Q)X,O5BDM;V^M+I8+O=(4:(P2Q'>G M$L;H5*AE('1?\%D?V6_V8_%G_!'WXQ_#7QA\-/#NG^&_!'PIU;5/!UO;Z;#! M%H5[86,LUD]H%4" B6.- L>-ZLT?(<@_E_\ \&S?C'QIXH_X(=?M?_#[Q/YE MWX<\/6.N7'AX72[T@GN/#\K7$<>[A0#'"^T=&E9NK$D \5_X-7?^"M_A/]FG M]H37OV7OB]X3\5^*_%G[0_Q$T6"S\4_VA'*MO M:_8K_@JQ_P %_/V(O^"3^L6OPV^)[:SXP^(-]9+=P^!_"4<33VL#9\N:[FE= M8[9'P=H^:0C#",J=U? G_!C_ *?I]U\)/V@;JYL89)8?$WA\PR21 LA^SWO0 MGD?A7@W_ 2_\&^$/VO_ /@ZY^+FK_M,O&=_H>D:[$LT7V[3KP MVEE#Y/-(^)-GHVC:VD"+=W-C M<6=Y)/9LP&YXP84E .=AC.,;VS]L_P#! OQ[X^^)7_!'7X ^*OB9=7$^JGP. MMGY]T29)+6VN9K:U8D\MFVAA.3USGO0!D?\ !Q9_RA5^/W_8JVO_ *<;2OES M_@RS_P"45?C7_LO.K?\ IGT6OJ/_ (.+/^4*OQ^_[%6U_P#3C:5\N?\ !EG_ M ,HJ_&O_ &7G5O\ TSZ+0!^O%?F]_P %-O\ @YD_8[_X)T_'J;]E;1_AIXJ^ M*7Q"L/*&MZ1X4:&*VTR61 Z6TD\A+/<%&1O+CC<*&PS*P*U^D-?A[\;/^"GO M[.ND_P#!6OQ=\/?^".?_ 1VT/XN?M&:/=ZM9^)_BMQ':/(FR2":0X5 T6UF(7<"5#?!O_!XMJ=AHG_!37]GS M6=5NE@M;3P/;37,[_=CC36IV9C[ FO"_P!M[6/^"@WB'_@X,_9R\:_\%'?A M=X'\$?$O5_%W@2Z@T+X?S+);VM@-?,=OYTBSS^9S_\ M!YU9:)J?_!1/X&:;XEO#;Z=X#MGMA23^% 'UO\2?^#S3 M]B?P;\3?[+\*?LL_$_Q#X"_M![6'Q_#';VJWP1L/+:VLS R+W DDB?!^94/% M?I+\/_\ @H+^R+\2_P!B_P#X>!^&/C%8-\*8_#T^LWGB6='3[)!!N$\-U:,PX+EQM )(SX]_P6&_9P_9WE_X(I_&CX1S^ =$L?"?@SX.ZE?>#M.AM M$2#3+K3K%YM/-N,?NV66*)05Y(8CG<<_EC_P;G?LP>,_^"B7_!"+]J']A67Q MJ^BV7B'QNB^&-5N5=X+/4?LME=!6"\^29;6V\Q5R=LCD EN0#Z!\0_\ !X]\ M";V[U7Q!\&/^">_Q>\6>"]'G9+OQ6D=$69(AM^8!Y%.",A>WWU_P M2^_X*Q_LJ?\ !67X0:C\4?V;;_5+.\T"[CM?%/A3Q#;I#J.D2R*S1&18W='B MD".4E1BK;'!VLK*OX9_!CQ#_ ,'-G_!!SP!#4 M\3Z(5E";NXVVGC&9+2*>Y@#;3>1^^#8ZJ&^6OD7_@O#\-O"?QD_P"#I/X,?"3Q]I$.H:%XGUKX>Z5K=A<+ MNCNK.XU-8IHF'<-&S*1[U]N?\'D'P^\%O_P2<\,ZQ%X9L8KCPW\5M)AT26&U M1#90R65[$\,9 ^2-E5,H,*?+3CY5P ?IE9_M3?L^WG[-$'[8A^*>EP_#2X\) MIXE7Q==2F*V72WA$PG;< R_(1\A&_/R[=W%?E%\2_P#@]+_8ZT3QOJ&E_![] MD;XD>,?#6F2A9_$\EQ;:>'3?M\Y(&\QE1OX?-:-CD JIX'@?[:GCKQSH7_!F MA\#].\/WUP+;7M;TS3-?,;'YK%-1U&=$;_9\ZVMACIP!7Z$?\&S7P6^"5E_P M0]^&=OHG@O1[N#QS9ZS<>-_-LHY!K%RVI7EM*ER"")0L4:P;6R-D87% 'T1_ MP36_X*@_LK_\%4_@A-\:_P!F37;\#3+Q;/Q)X:UVW2#4M%N67*?MJ_\BQHG_7_ "?^@44?MJ_\BQHG_7_)_P"@ M44 4/V5/^2G^+?\ @7_H]J]ZKP7]E3_DI_BW_@7_ */:O>J "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "OQ\\;_\$+OVU?$/_!QE#_P51L-4\$#X M91^--/U5H)-=F&J>1#H\-FX\C[/LW>;&V!YGW<'/:OV#HH *\F_;T^"GC']I M+]A_XP_L\?#R6R37_'7PPU[P_HCZC.8K=;N\T^:WB,KJK%4WR+N(4D#)P>E> MLT4 ?G3_ ,&W_P#P2Q_:9_X)3?LU^/OA-^T]?^%[C5/$OCA=7TYO"VJRW<0M MQ9PPX=I(8BK;HVX /&.:?_P7K_X(-^'_ /@KSX6\/_$;X:^/K+P=\6O!=G): M:)K.IPNUCJEBSF065T8P9(@DI:2.5%"OZ)T4 ?S]>/O^"1/_ =3 M?MB_#:R_8H_:N_;)\-+\*;>6"&_O[_Q';2_;;>%E*&:2TM!?:A@JKJETV&=5 M+$$!A^L7[%/_ 2E^!'[#W_!/&^_X)]?#;5+JXT_7]#U*W\6^*)X%2ZU>_O[ M8P7-ZR E5.S8B1Y.R.*-2S$%C]1T4 ?@A_P2C_X(H?\ !?/_ ()>_M@67ASX M9_%;P/:?!G6/'NCW?Q.NK'6;:6/Q#H]GP\!?%*:_34M9T74;V2R63453R MWO+.YC1U5YDXE@E3RY"TA9\2,A_8FB@#\#+[_@@A_P %T_\ @JK\8_"NJ_\ M!9[]KS2;7P+X4F)&G:+=V4EX\;%?-6UM=/MHK..615"- MI)-;U% 'SG_P5M_97^)O[;?_ 3G^*?[*_P;GTN+Q-XRT2&TTB36KMH+42)= MP3'S)%1RHVQMR%/.*_%S]F[_ ((!?\',?['W@2Y^&/[,'[:'A+P-X?O-5DU* MZTCP]\2+R""6[>..)YBHL>7*0Q*3Z(OI7]%]% 'XX_L!_P#!._\ X.7_ (4_ MMC> /B)^V!^WS9>)_AGI.N";QAH$?Q$N[MKVT\IQL$+VB+)\Q0X+#IUKS#X@ M?\$(_P#@L3^P+_P4Y\9_MO?\$BOB+X*U'2?'=_J7%ARW#DF1O MH#_@X'_X(2?M3_\ !6']LGX4_%3X2:]X6L/!?AWPU#H_BV35=:DM[](SJ,DT MSVR"WD1V$,AV[B!O&",(':)Q?)&KC]TA@@A\@O\ M\$6QFRQ>OO>B@#\(OV_LI?L<_&KX7>)/A\NH7-QH& MI7MW:3?V8T\A>26)-0@66$LS&1HB)8P[.5#%F9OJ?_@@)_P0D^(/_!,7Q1XW M_:G_ &J?BGI?BKXP?$.S>ROAH#2/9:99RW"W4Z^=(D;3S33I$[ML55\D!=V2 MQ_3:B@ K\?/#W_!"[]M72_\ @XRD_P""J-SJO@C_ (5DWC2ZU40+KLQU3R)- M'DLU'D?9]F[S6&1YGW><]J_8.B@#\D/^"@O_ 1&_;*_:=_X+Q?"C_@I#\-] M4\%Q_#WP5X@\'7NL0ZGKDT6HM'IE^MQ<^7"L#*Q* [ 7&3P<=:^C?^#@K_@G M?\?/^"G/[!4'[-G[.%YX?@\11^.].UAG\2ZC):VWV>"*Y1QOCBD.[,JX&WGG MFON*B@#X3^ ?_!(2W\6?\$-?#O\ P2?_ &R;BQ^W0^%9;#5-4\-7)N$T^^74 M);NUN[9Y$0LT3F)L%0&PR'Y6.?S=^%__ 1G_P"#H#_@G[X3U_\ 90_8:_:Y M\,2?##7+R=TO-/URT@$*S#:\T:W]LUSITK+\S"T?ALL'9L,?Z#J* /SJ_P"" M!W_!#'_AT7\)_%7B3XF^.]-\3_%GQ_#%%KVIZ.)/L.EVL6]H[.V>55DDS(YD MDE94WD1@(!&&;'_X((_\$]?^"L?[$GCGXD:S_P %)/VH+GXA:=X@TG3H?"MO M/\2M3U_[%-%+.T[!;U%$.Y7C&4Y;;@]!7Z6T4 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% 'BG[:O_(L:)_U_P G_H%%'[:O_(L:)_U_R?\ MH%% %#]E3_DI_BW_ (%_Z/:O>J\%_94_Y*?XM_X%_P"CVKWJ@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH YSXP_$G2O@U\)/%/Q@UVPN+JQ\*>'+[6+RUM-OFS16MN\[HFX@;BJ$#) MR1DBOR$_XC:/V!?^C4?C!_W[TK_Y,K]E]3TS3=:TVXT?6-/@N[2[@>&ZM;F( M21S1L"K(ZL"&4@D$'@@XK\V_^#C?]E;]F#X>?\$7?C=XQ\ ?LX> M#U>RL-& M-GJNC^#[*VN8"VN:>C%)8X@RY5F4X(R&(Z&@#PS_ (C:/V!?^C4?C!_W[TK_ M .3*_4_]B[]J?P?^VY^RUX*_:N\ >'M2TG1O'&CC4=/T[6!&+JWC+LFV3RV9 M-V4/1B.:_+O_ (-&?V;OV=_BO_P2LU'Q1\4O@)X+\2ZFOQ9U>!=1U_PM:7DX MB6UL"L?F31LVT%F(&<#)]:^U?^"JO_!3O]G'_@BG^R38^/\ 4?A[;7=Y?7+: M5\._AWH BL([ZX53(X&Q"MM;1*0TD@1L%T4*6=00#Z^HK^?Q/^#@;_@Y D^# MI_;LC_X)J^$3\%!!]O\ MG_"&ZGY?]F=?M7F?;_/,6SYOM7E>3CY\;>*^\?@ M'_P7 \6?\% _^"5GCK]KS_@GK\!AK?QK\%"TL[_X/ZJLM^8=0EN(00/(>%[B MW>!IY(Y5,9/DN& ,;+0!]4_"+_@H7^R!\?OVF?$W[)'P/^,^F>+/&?@W13J7 MBJWT%C3) M-/$/[$/[*EE\1=<\26T5EX^TV[TB[N1HNGOJ4;2W"K!<1%"K_+ERP'<&OV6_ MX+*_\%UOVK_V4?VO?#'_ 3K_P""=/[*<'CWXI>(H(#+J7B/3;J6R$\Z&6.T MM8HI(1-(L.)I)FE$42D;@$/B%\;?AEXJ M\36WC+6+C3K&#PJML9()(8A*S2?:)8QM(.!@DYK\R];_ .#CS_@LG_P3C_:- M\(_#G_@L/^Q#X.T7PMXI99GG\/0-#?)9B18YKBVGAOKJVG,.X,T# .\ M-73_ /![Q(DO[,/P*EC<,K>.M3*LIR"/L2?_!+3]H;XDZ7\+_&6D_$#X:7.KW:6UMK?C32;3^RDE=M MJ"6XM;J5H06(!DDC6-HW=E!X[\/P75X=.:PTY8F5Y('(B\Q)\#.,AN.>?G?_@Y8^/'_ 2J M_:O^,'PGT3_@E;X0\.:KXK6.^MO&.H?#OP<^GP:FT\ELNGVOEK!']KN0PN,, MB$@2JFYCA4 /ZI%974.C @C((/!%+7PU^T5_P4$T7_@BM_P2#^&7Q/\ VKM- MNM?\=Z/X \.^&8?#,-Z%N-<\2)ID:S1F8AA'&&AGDDFPVU4. [,B-^=J?\%_ M/^#C/1_@7#_P4/\ $/\ P3=\"O\ 28)=_:DT:[C?^SF<*MP&_M!KE8R",73 M6Y@.X/MVD4 ?OE>WMGIMG-J.HW<5O;V\323SSR!$C11EF9CP "23P *\@_9 M;_;^_9-_;5\8>.O"'[+?Q*(+WPW\0O" M6JVTMW-X6M&L;E=4D&;8"=%D22*=(XB8WE;,B2#Y.G! M! /Z@**_*KP-_P %V?VH/%'_ ]^%O@)/A_%KVHV*^(8K.]&L&. MW\/S:DAWFZ,&XRQJI_=8V$@ 'YJ[G_@XD_X+%?M"_P#!(+X._#N@:E_9'A#2?"]E>CQ%KFJ3V$+V5OYAG>(![ MJ9%=EMV81@[59L9\N^/'_!R#_P %Q_\ @G7\=_#$O_!2;_@GSX'\-^"_%C/< M6.A:=#-'=3V4;H)A:W\=_<1?:(Q(A9)4)&]O[8_@;_@G] M^R3XQ_:_^)7A?5M:T3P7;6TU_IFAB(W4XGNX;51'YKHF0TZDY8< ]^*]'^'G MCOPW\4O &A_$WP;>&YT?Q'H]MJFE7!7:9;:XB66)L=LHZG'O7Q=_PW[)EH?W9D65@3DD@']95%?G+_P %U?\ @O19_P#! M*RZ\,?L__ GX5V_Q!^-7CBW6YT7P_=F5K33K5Y3!#-/' 1+)O^"P7_!/#0=)^&GC*\$46I^%[)K: M^M@0&81NM]BO@/\ X+=_\%?/'7_!/7_@G=X% M_;D_9$T;PAXS@\<^,-(LM*F\2V]S+97.EWVF7M[')?V,?^"FOK$J MPKJ$HNHKI4M;2&5W" M(RHJF1RSB-0#[/_X*U?\ !QG^RE_P2E^+5A^SSK_P MT\3>/_'MUID6HWNB^'Y8;>WTVWE+"(3W$I/[UPI98T1SMP6*[EW?0/\ P2^_ MX*(^&O\ @IW^S*W[2OA7X-^)O UM'XCN]'?1O%7E>>TD"1,TJ&-CF,F7:"P5 MMT;_ "XP3_,I^T9^TQ_P4P\<_P#!=KPY^T1\6_V/-&L/VB;+Q!H%QI/PG_LV MX^R375O9PBR3RFNFD^>-(Y>)@=QR"O0?NO\ M%?\%R_'_P#P3O\ ^"6G@+]J M?_@H7^SW#HWQW\=2ZA9:=\'M(=[)'NX+J91([2R3O!;I;"VDD?,AW7"*!\XV M@'Z/T5_/[+_P<"_\'(&C_!Y/VZM<_P"":OA'_A2DD O_ +9_PANIH@TUL%;K MS/MYG6(J0PNFB\D@[L;2*_4;_@FM_P %>/@[_P %/OV)=:_:C^#NAOHOB#PM M9W,/BWP7JEP)I-(U&.W,RH9%"^?;R !HY0%WJ&!".CJH!]>45_._\#O^#L;_ M (*P?M9^&-6^$'[-7[!OA3Q?\7)[J.ZTF'P;X7U6]M;#2(D;[5//;B[>1Y#( M]NJ/O2-,L&#LZ"O;OV_?^#A3_@J'_P $^?V)OV8_C#\6/V:/AMI_Q'^,FG>) MKKQGX9\0^']5MQI*6%S9)9JL!O4E@ED@NO,E20MM8A0%VD$ _;*BOPA_:^_X M.(/^"W_@;X:6G[>OP>_X)R>'?"/[->H7\ \-:]X^L9;N_P!3M)WVV]S@_&7X-=/E%W=PI*T2W;&>[M+>TBF96,43[Y75=V00R* ?MS17X^?\$D_^#A+]LCX MW?\ !1&7_@EI_P %,_V9M \&?$2;[;;Z=?\ AN":U-O>VMH]XUO=P2SSHXDM MXW>.>*0*<1@(PD#AW_!5G_@Y$^.__!-7_@J?:?LB#X%^&?$OPZAT73;_ %)[ M6PNW\0737,+MY%LPN5@#M($12T38W$D-0!^P-%?@=^UM_P '#/\ P( M?#GQR_:L_P"":_@CP/\ "_Q7J/E:'HFK07,ES(FWS?LTM[#>L;>\\L,0)K>/ M.QSY!V,!^J_B3_@JQ^S5X*_X)@V7_!53QA)?67@:^\$VFO0:6 KWTEQ<[$BT MU!D*UP;AQ!G(0,"Q(0%@ ?35%?@7X-_X. /^#B3]L?P?X@_:G_8>_P"";'A" MX^$WA^XN"'GT2[U&66.'YI(_--];O?2(.&^R0@@Y&T&OO/\ X(J?\%X?A;_P M5+_9P\9?$'XG>'M/^'_C#X6VHN_B%IRWS/8)8&.21=2@=_G6#$,P=&W-$4P6 M8,K$ _0&BOPL7_@XJ_X+ _\ !1;XW>+?#_\ P18_8*T'Q#X$\&2@W.L^++-I M;NYB9G$4DSR7MK;V[2A&9+53)+A3\S8;'U;_ ,$0/^"]&M?\%(?B'XM_9 _: MO^"L/PT^.O@6*>;5-"M4FBM-1B@F$%R(X;@M+:SP2LJR6[NYP=ZL0'5 #])J M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@#Q3]M7_ )%C1/\ K_D_] HH_;5_Y%C1/^O^3_T"B@"A M^RI_R4_Q;_P+_P!'M7O5>"_LJ?\ )3_%O_ O_1[5[U0 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %?" M/_!S/_R@Z^.__8.T3_T_:=7W=7B?_!1?]BW0O^"A_P"QEXV_8W\3>.KOPS8^ M-8+.*?7+&S6XEM1;WUO=@K&[*&R;<+R1@,3VH ^#/^#-K_E$AJ7_ &6#6?\ MTDT^OD'_ (/A?#GC=?BG^S[XNN8[A_#3:!KUG:,,F**^$]H\P/96>-H,9^\( MCC.TX_7[_@DG_P $RO"G_!)W]EFX_9=\&_%;4?&-I<>++O7#JVIZ;':R*\\4 M$9BV([# \@'.>=Q]*[7]O?\ 8 _9H_X*3?L^WO[.'[47A&74=%GN%N].O["< M07VD7J*RI=VLI5O+E4.R\JR,K,KJRL00"6Q_:'_9$/[!\7[1T?BG0!\%1\.A M?_;#+']A711:X\@C.WB/]SY77=^[QNXK\1?^#('PMXYD^+WQ_P#'-E;7,7A5 M?#VBV-R[9\J6^:XN9(5!Z,Z1+-G'*B49QN&?5/\ B"G\-#5#X87_ (*>^,Q\ M/3J/VD^$/^$'3S?KY_V_R/-QQYGV7_@/:OUG_83_ &#?V;O^"G?LV?L MO^#WTS0K*5KF]N[R837NJWCA1)>74V!YLSA5&0%555415154 'X8?\&L>"_ .K6M^=.N_B#XNL([J66\CTYKZZ=!/'-%##%")$"B"261XS@@,%%CXM M?\&=GP\\0_M5ZY^T#\"/V^_$OP_T'7=>FU*;PG!X,6[FMEFG\^2UCO%O808 M^ JO"Y"JH8N1N/L7_!4+_@V9^%O[>_[6"_MO? S]JOQ%\$OB1-8X;R%4NK66UN0B(I=)<-Y:MM#%F8 _''_@Y*_91_:_\ V6OB-\*[ M7]MS_@HMJ'QW\:^)-%U.^;3Y[!K2U\,6RRVZ*+:'S64)<.)IH(_V/OV>HPV0OBR^&<]?^)?%7HWQ1_P"#/3X%?&GP39ZC\6?V]/BG MXH^*,NI-<>)OB?XF']H3ZI!Y01+98)YV,2(0&#-+*^21NV[57ZE_X*D_\$2? M#W_!5#]G+X5_ ;XJ_M*:QH=U\--LDWB+3O#\,LFL3_8X[>25XGE BW%#)@,V M"V,\9H ][_X)I_\ *.7X ?\ 9$_"O_IHM:\._P"#C[_E";\?/^Q=L/\ TZV5 M?5G[._P@LOV>_P!G_P "_ /3=:EU*V\#^#M,\/V^HSPB-[I+.TBMEE902%+" M,,0"0"<5QG_!03]CS1/V_/V.O''[('B/QM=>'++QO806MQK=E:+/+:B.ZAN MRQLRALF$+R1][- 'X5?\&\G_ 0G_8#_ ."HW_!,CQC\3_VA_!^MV_CM/B3J MFA:/XRT/Q%*_\$X?BO!_P;R?\ M%?\ 4OV8?V^/@5X-U;2!KL=C_P +(O\ PS#)J&A6\_RVNNZ==NID2TDC93-& M#E4\P#$D;H_[^?\ !(;_ ()=^$O^"2/[,.I_LS>#/BUJ/C.TU/QG=>(7U75- M,CM)(WGMK6 PA(W8%0+4-G.?G/'%<'_P6._X(4_L[_\ !86U\):YXZ\;ZAX) M\7>$'D@M/%NBZ;%M0!\"?\'OVG^)M7^" M_P"SIXQT.1I_#,?B#Q!%>W4#;H&N9[:Q>T.X?*2T4-V5/?-^R]>=M '9_\ !'?]C'1?V-O^"-7[ M4OAWP+^VA\-OC5X?\1:!X@O[35?ACJK7=KIUV/#[1S03YYCG*+;L4(#;2A(P M17F'_!CO)&?A#^T-"'&]?$GAXLN>0#;WV#^A_*OUO_91_P""??[,/[&G[(UO M^Q-\%O!#0^!QIMU::I%?3^9=:NURA2ZN+J4!?,FE#$,P"@#:J!$557\W/V6? M^#1CPW^R-^V=X6_:9^%W_!0OQ./#/A3QOIWB"V\$7'@M!/?1V=TEQ%:7-ZEZ ML>(;I+2.7QUJ5O&]PX0-)<>#YXH M5&>[O+&JCN7 '6O3O^#X;QWX8'@K]GWX91ZU;/K1U37M3ETY)@9HK7R[.)96 M7JJLY=5)X8QN!G:W$\C'W+R,2?>H_^"@?_!&?P-^WW_P3R^'/_!/GQ'\<=6\. M:;\.[G1)K7Q)9:/%//>G3=,GL%#1,ZJF]9BYP3@J ,YS7OG[#O[+&D?L1_LE M> _V3] \77.OV?@304TRWUB\M5AENU5F;>R*2%/S= 3TH _![P1I=CJ__![C M-::C;)+&GCG4)U5UR!)%X/FD1OJ'12/<5[7_ ,'P-O"W[/GP$NFC!D3QEK** M^.0K6EN2/QVC\J^S_#W_ 03^'7A_P#X+)R?\%AXOVB=:DUN35KJ^/@EM"A% MJ&FT>33"OVCS-^ LADSMZC'3FNN_X+*_\$;? _\ P6*\ >"/ 7C?XX:MX(C\ M%:Q=:A!<:5I$5VUTT\21E&$CKM "9R,]: /:/^"<1)_X)Y_ 8DY)^#'A?)_[ MA-M7S[_P$-- MT)XA&]TEG:QVZRLH)"EA&&(!(!.*X3_@HC^QEH7_!0G]C3QO^QUXE\/_ ()L_P#!-3XCQ?&CX-^"-?\ $OC6TB>/2_%GC[5TOKK3 M5=2CFW2&*&")V4E3((O,"EE# ,P/H?\ P2/_ ."8OA/_ (),_LMWG[,'@WXK MZCXRM+OQ==Z\VK:GIL=K(KSPV\1BV([# %N#G.3N/I7U#0!_,=_P< Z1\9]& M_P"#F?P?J/ACXIZ=X!U?4KGP5#;/2(Y-5BMY]C+/:Z=#(NV)YLDN$P^&Y*U^E/\ P5R_X(G_ ++/_!7OP5H] MI\7=0U/PQXQ\,)*GACQSH"1MVGBD&VYMRP#["596R4=-SAOB;XGA;6OB'X>UK]MG_@I3\0?C%X4\,!8]+\(R:-+IP2W4@_91<3:A=M# VU59 M85B8@?*R'! !Y)_P7F^#-U^SU_P;&_LX?!>Y^,7AWX@1^'OB/HEM9>,O"5[] MITS5;3^S-<:WEMI?^6D7DM&H8<$+QQBOTP_X-[/#6E^%/^",7[/^FZ1:)#%- MX+:\D6-0 TMQ=W$\C'W+R,2?4UI?\%4/^"1GPL_X*;?L=>%OV,/^$^N/AQX< M\(>)M/U71F\.Z-%,D$-G8W5G#:)"S(J1B.YXP>!&H Q7LO[$'[+>D?L3_LE^ M OV4-!\6W.O6?@30(]+M]8O+589;M4+'>R*2%)W= 30!^$?[;7_*Z#X'_P"Q MR\'?^F:UJ7_@]JT#Q59_M,_ 'QGK]I=3^$IO"6I6MLBDA#=17L4ETH/17:*6 MV^H4>E?I;\8_^""7PZ^,'_!7G1O^"M][^T3K5EK6C:OI-^G@R+0H7M96L;2. MV53.9 X#B,,3MX)Q7T9_P4%_X)W?LQ_\%,_@!<_L[_M0^%)[S3#*K*MU:RE6".%9E(961E8AE8<4 6/B5^T)^R:G[ FM?M$:AXN\/S_!N M;X;3WWV^.6,6%QI#VA584'W3O1A$L0Y+,(P-W%?AM_P9R>%?'J?#S]K7QNL% MQ'X7D\%:;8O(P(BN+]8=2D4+V9HXF;=W43IG&X9]HM_^#*?PT=53PQJ/_!3W MQG-\/8]0-ROA"/P.BRC/<3F_: 2XX\S[+_P'M7ZN_LJ?\$_/V;_V)/V3?^&. M_P!FCPJV@^&FL+F*YO)7$]Y?W5Q%Y9_\ !?[2M/TO_@V@\9Z7 M86J1P67@SP)':QHN!&JZWHJ@ =L+Q4'_ :/Z/IMM_P1>T"6&SC4ZAXW\02W MA"C]Z_V@19;U^2-%^BBOK3]N[_@GMX:_;H_X)YZW_P $^_$/Q*OO#^FZWI6B MV,GB2SL$GGB&G7MG=JPB9@I+FT52,\!R><4S_@EK_P $\?#/_!+_ /9 TO\ M9&\)?$N^\666F:M?WR:UJ.GI;2R&YF,I4QHS !2< YYH _$__@RC\1:7X0^+ M'[1OBO7)FCLM+\!:5=WDBKDK%%/=.YP.N%!XKTO]D;_@I5_P6Z_X."_CS\1? M#O[$G[17@C]G7X;^"S:O?.-$BO=6%I=R7"VB>9+%+)/<$6\K.T36T:D 9&Y0 MWWA_P1S_ ."!7PQ_X)!>+O'OBGPK^T!J_CU/'NC6NG7UEK6@0VL<$<,DCY&R M1]^[S""",8%?-FN?\&A^B_#_ /:$UGXM?L0?\%,_B1\$_#^NO*EWX;\.Z7*] MW%9ROO>RCU""_MF, /"K+'(0%7<9",D ^#_V&/A'XT^!O_!VSX7^$'Q*_:?U M+XR>(= \67UMKOQ'UC<+G5;Q?"MPTRN'FF*>2Y:V"&1MH@"_+C:/3/\ @KUI M=CK/_!W-\#=.U*V2:"3QG\.3)%(N5?%]"V"#U&1TK[J^ '_!K#^SC^R=^VS\ M.?VS?V=/VF_&FEWG@.YM;J\TC7;.+47UVX"R1WDL]P7C,;7,"O^"IFK?M$ZUI.K^#-6T"^@\(V^A0RVUT=+F65% M:9I RB0K@D*<9XS0!XM_P>86\,W_ 27T.26,,T/QGT=XR1]UOL&IKD?@Q'X MU\C?M\Z#XQUK_@SA_9^U'PU%.]EI/B'2+KQ"T0.U+,W&J0*7Q_#]IFMAS_$5 M]J_7[_@K?_P3&\)_\%9?V6[3]E_QE\5]1\&VEIXMM-=&K:9IL=U(SP0W$0BV M.ZC!%P3G.1M'K6S^S]_P3<^"7PF_X)R:-_P3/^)O_%P? ]CX5FT'56UFT$#: ME;R2R2EBL;$Q.K."KHP9&174A@" #PC_ (-J/BK\(]8_X(A?":]\->)M+M[7 MPEINJVGBS==)&NEW<6H74TYN"3B(E)%GRV/DE5^AS7E/Q3_X*1_\$_\ _@H; M_P $J?VJ_@]_P3#M);36/#7P9UFZUG0=-\ S:2BVC03*Q5HXE@D,D:3!45R[ M#.%(!QXCXV_X,K_!,7BK5[?X"?\ !2KQIX0\%:S)B]\+:CX.74)IH-V1%+<0 MWUK', . 7@..I!K])O\ @F#_ ,$F_P!EK_@E1\ [[X(_ C3[S59_$-PMSXR\ M3^(?+EO==F"%%$H50B0HK.L<*C:H=R=S.[L ?A7_ ,&V'P<_X*U?&C]G?XA: M;_P34_X*-^ _A-8:7XTCE\5>$M?\%6&IWL\TMI$(;[?<6-PZPNL3Q*H8+NMY M#MR23])_\$M?^">_C;P]_P %V#^UG\6O^"MWP*^*'Q3T?5=>@^)?@CPM*MCK M6HW!TRYL9E6RCAAC_J\%_94_P"2G^+?^!?^CVKWJ@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH \4_;5_Y%C1/^O^3_ - H MH_;5_P"18T3_ *_Y/_0** *'[*G_ "4_Q;_P+_T>U>]5X+^RI_R4_P 6_P# MO_1[5[U0 4444 %%%% !1110 4444 %%,GG@M8'N;F9(XXT+222, JJ!DDD] M !WKP^'_ (*8?L$W'C4?#^']JCPD=2,_DJ?MQ%L7SC N=OD'GOOQ0![G1536 M->T/P]HESXEU_6;2QTZSMFN+N_N[A8X8(57'=7UQF98-.BN&C>Y*C)$)D51,< G]V6X!/04 >OT5B?$ M3XD> ?A)X0O/'_Q.\8Z=H.BV"!KO4]4NEAACR< %F/))( 4
G4 M45POQT_:;^ 7[,^BVVO_ !W^*ND^&K>]=DLA?SGS;DKC=Y<2 R28R,E5.,C. M,B@#NJ*Y'X,_'KX-?M#>%3XV^"7Q(TKQ+IBRF*6YTRY#F&3&=DB'#1M@@[6 M."#C!KGOCK^V?^RS^S/JEIH7QS^-NB^'K^]C$EOI]S*TEP8R2!(8HE9U0D$! MV 4D'G@T >GT5B_#[XC> OBQX1L_'OPS\8:=KVBWZ%K/4]+NUFAE ." RDC( M(((/((((!%;5 !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% 'BG[:O_ "+&B?\ 7_)_Z!11^VK_ ,BQHG_7_)_Z!10!0_94_P"2G^+? M^!?^CVKWJO!?V5/^2G^+?^!?^CVKWJ@ HHHH **** "BBB@ HHHH \X_:U^! M.M?M-?L\^)?@3H7Q)G\)2>)+5+6;7+:Q^TO%!YJ-+'Y?F1[A(BM&WS#Y9&KR M3]L/X5_L=_LT_P#!/+Q+X+\<^ O#UKX:TOPG)I^D6[:?$L]UJ)@*6YB.-QN6 ME ?S 2P.YV. QKVK]H_]H#X?_LN_!?7?CE\3+MX]*T.U\QH8 #+=2LP2*",' M&7=V51G &;QO M8_8_#T9(*7%XC2CSKL@*2KCY2!N PL40!@_%BP^+$_\ P3U_94_9%^+-[?VM MU\2_&^C:3XJBFD9)SHXG+QVS_P 2E8I+7*GD&$ ]Z]R_X*M?L]?#+1?V%]7\ M=?#OP5I?A[7OAG]AU?P7JFC6$=O+I;P7,(*Q,@!"F,L-O3<$;&5%97_!4OQ# MX>O_ (>_!C]LKP)KEIXA\+_#GXN:9JVLZGH5REW!_9OG^7/*LD196"RQI&<$ MX9\=C6E_P59_:)^%^N?L*:MX'^''C?2_$6N_$W[#I/@O2]%OH[F75'GN826C M5"25$8;YNFXHNV_;(_:__ &5OA)X^L(KGPKJW@R7X@:]H4B[K M>]N#9%[99$.0Z)(C#:<@K*X.0:V_^"J'A3PK\!-7^#G[8/PX\.66D>)/"_Q1 MT[2[R\TZV6!KS2;I)A/:RE -ZD)M /W1(^,;C6)\<_#=E^QM^U]^RO\ %WX@ MZA%:>%=*\%S> ->UV5MMO8W LBELTCGA%>1V.XX 6-R< 5M?\%4/%_A/X]ZO M\&_V0/AOXBLM8\1^*/BCINJ7MGIMRL[6>DVR2F>YDV$[% ?<"?O".3&=IH ^ MV*^+/V=?#VA?M(?\%3_CM\3_ (D:1;:LGPNL]'\-^#;74(5FCT\31RO<21JP M(5S)%(=P&0)F&<&OK#6?B[\+_#WQ$TGX1Z[X]TJT\3Z]!)/HN@SWBK=7L<:N MSO'&3EPJHY)'0*?2OD_]GCQ)X=_9M_X*F_';X8?$K6;;2%^*-KHWB3P97)J'_ ()5>$_"_P =[WXQ?M>_ M$?P_9:QXC\6?%#4=-M;S4;59VM-*MEB6"UC+@[$ T/]I' M_@LKX>UKX9ZK!JVC_!WX<7:^(M6L91+;PZC>M-"MIYBY4R>7*&P#P4D!Y0BH M?^"5GC#PE\![[XP_L@?$?Q'9:-XD\*?%'4M2M;/4KE8&N])N5B:"ZCWD;T(0 ML2/NK)&3C<* +?[$6GZ?\!?^"C/Q]_94\$6B67A"XM-+\6Z'H\ VP:?//#$M MT(D'"*[RK\H& L2 5]FU\9?L0:EIWQ[_X*,?'[]JKP/=)>^$(+32_">AZS M =T&H300Q&Z,3CAU5XE.X<%94()!K[-H *X/X@_M/? #X5>(V\)?$3XJ:7I& MI)"DK6=W(P<(W*MP#P:[RLO5O!'@O7KPZAKGA#2[VX*A3/=Z?'(Y Z#&OC/HUY?WDFRVM896+2-C.!\OH#7L=/%UXWD2Z%C:)%YRBW8A7V@;AGG!KWS^SM M/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_ F/AC_H-0?]]5<_L[3_ /GQA_[] M"C^SM/\ ^?&'_OT* *?_ F/AC_H-0?]]4?\)CX8_P"@U!_WU5S^SM/_ .?& M'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_PF/AC_H-0?]]5<_L[3_\ MGQA_[]"C^SM/_P"?&'_OT* *?_"8^&/^@U!_WU1_PF/AC_H-0?\ ?57/[.T_ M_GQA_P"_0H_L[3_^?&'_ +]"@"G_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?57 M/[.T_P#Y\8?^_0H_L[3_ /GQA_[]"@"G_P )CX8_Z#4'_?5'_"8^&/\ H-0? M]]5<_L[3_P#GQA_[]"C^SM/_ .?&'_OT* *?_"8^&/\ H-0?]]4?\)CX8_Z# M4'_?57/[.T__ )\8?^_0H_L[3_\ GQA_[]"@"G_PF/AC_H-0?]]4?\)CX8_Z M#4'_ 'U5S^SM/_Y\8?\ OT*/[.T__GQA_P"_0H I_P#"8^&/^@U!_P!]4?\ M"8^&/^@U!_WU5S^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU M1_PF/AC_ *#4'_?57/[.T_\ Y\8?^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4 M'_?5'_"8^&/^@U!_WU5S^SM/_P"?&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z# M4'_?5'_"8^&/^@U!_P!]5<_L[3_^?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/A MC_H-0?\ ?5'_ F/AC_H-0?]]5<_L[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_ M F/AC_H-0?]]4?\)CX8_P"@U!_WU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H M I_\)CX8_P"@U!_WU1_PF/AC_H-0?]]5<_L[3_\ GQA_[]"C^SM/_P"?&'_O MT* *?_"8^&/^@U!_WU1_PF/AC_H-0?\ ?57/[.T__GQA_P"_0H_L[3_^?&'_ M +]"@"G_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?57/[.T_P#Y\8?^_0H_L[3_ M /GQA_[]"@"G_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]5<_L[3_P#GQA_[]"C^ MSM/_ .?&'_OT* *?_"8^&/\ H-0?]]4?\)CX8_Z#4'_?57/[.T__ )\8?^_0 MH_L[3_\ GQA_[]"@"G_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U5S^SM/_Y\8?\ MOT*/[.T__GQA_P"_0H I_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU5S^SM/\ M^?&'_OT*/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[. MT_\ Y\8?^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S M^SM/_P"?&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!] M5<_L[3_^?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_ F/AC_H M-0?]]5<_L[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_ F/AC_H-0?]]4?\)CX8 M_P"@U!_WU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_P MF/AC_H-0?]]5<_L[3_\ GQA_[]"C^SM/_P"?&'_OT* *?_"8^&/^@U!_WU1_ MPF/AC_H-0?\ ?57/[.T__GQA_P"_0H_L[3_^?&'_ +]"@"G_ ,)CX8_Z#4'_ M 'U1_P )CX8_Z#4'_?57/[.T_P#Y\8?^_0H_L[3_ /GQA_[]"@"G_P )CX8_ MZ#4'_?5'_"8^&/\ H-0?]]5<_L[3_P#GQA_[]"C^SM/_ .?&'_OT* *?_"8^ M&/\ H-0?]]4?\)CX8_Z#4'_?57/[.T__ )\8?^_0H_L[3_\ GQA_[]"@"G_P MF/AC_H-0?]]4?\)CX8_Z#4'_ 'U5S^SM/_Y\8?\ OT*/[.T__GQA_P"_0H I M_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU5S^SM/\ ^?&'_OT*/[.T_P#Y\8?^ M_0H I_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[.T_\ Y\8?^_0H_L[3_P#G MQA_[]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S^SM/_P"?&'_OT*/[.T__ M )\8?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]5<_L[3_^?&'_ +]"C^SM M/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_ F/AC_H-0?]]5<_L[3_ /GQA_[] M"C^SM/\ ^?&'_OT* *?_ F/AC_H-0?]]4?\)CX8_P"@U!_WU5S^SM/_ .?& M'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_PF/AC_H-0?]]5<_L[3_\ MGQA_[]"C^SM/_P"?&'_OT* *?_"8^&/^@U!_WU1_PF/AC_H-0?\ ?57/[.T_ M_GQA_P"_0H_L[3_^?&'_ +]"@"G_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?57 M/[.T_P#Y\8?^_0H_L[3_ /GQA_[]"@"G_P )CX8_Z#4'_?5'_"8^&/\ H-0? M]]5<_L[3_P#GQA_[]"C^SM/_ .?&'_OT* *?_"8^&/\ H-0?]]4?\)CX8_Z# M4'_?57/[.T__ )\8?^_0H_L[3_\ GQA_[]"@"G_PF/AC_H-0?]]4?\)CX8_Z M#4'_ 'U5S^SM/_Y\8?\ OT*/[.T__GQA_P"_0H I_P#"8^&/^@U!_P!]4?\ M"8^&/^@U!_WU5S^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU M1_PF/AC_ *#4'_?57/[.T_\ Y\8?^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4 M'_?5'_"8^&/^@U!_WU5S^SM/_P"?&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z# M4'_?5'_"8^&/^@U!_P!]5<_L[3_^?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/A MC_H-0?\ ?5'_ F/AC_H-0?]]5<_L[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_ M F/AC_H-0?]]4?\)CX8_P"@U!_WU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H M I_\)CX8_P"@U!_WU1_PF/AC_H-0?]]5<_L[3_\ GQA_[]"C^SM/_P"?&'_O MT* *?_"8^&/^@U!_WU1_PF/AC_H-0?\ ?57/[.T__GQA_P"_0H_L[3_^?&'_ M +]"@"G_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?57/[.T_P#Y\8?^_0H_L[3_ M /GQA_[]"@"G_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]5<_L[3_P#GQA_[]"C^ MSM/_ .?&'_OT* *?_"8^&/\ H-0?]]4?\)CX8_Z#4'_?57/[.T__ )\8?^_0 MH_L[3_\ GQA_[]"@"G_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U5S^SM/_Y\8?\ MOT*/[.T__GQA_P"_0H I_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU5S^SM/\ M^?&'_OT*/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[. MT_\ Y\8?^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S M^SM/_P"?&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!] M5<_L[3_^?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_ F/AC_H M-0?]]5<_L[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_ F/AC_H-0?]]4?\)CX8 M_P"@U!_WU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU5RQ MO[/4H!=6-PLL9) =>F:/[.T__GQA_P"_0J2.**%=D,:HOHJX% #J*** /%/V MU?\ D6-$_P"O^3_T"BC]M7_D6-$_Z_Y/_0** *'[*G_)3_%O_ O_ $>U>]5X M+^RI_P E/\6_\"_]'M7O5 !1110 4444 %%%% !1110!S/Q7^#?PM^.GA3_A M!OC!X%T[Q%H_VE+@Z=JD'F1>:F=KX]1DX^M>9_\ #M#]@7_HTWP7_P""E:]R MHH YKPG\'/A5X&^&B?!KPI\/M)L_"D=M-;KX=2S5K,PRL[RQF)@597:1R000 M=Q]:X;X5?L#?L;_!'QU_PLSX6?L\>'=(UU2Q@U&&V9WMB1@F$2,RP$@D9C"\ M$CH:]>HH Q?B%\./ /Q9\(WG@'XF^#].U[1;] MWIFJVBS0R8.02K C((!!' M((!!!%<7\"OV,_V6_P!F?4KO6_@9\$]%\/7][&8[G4+:)I+AHR03&)969U0D M E 0I('' KTZB@#F=;^#7PK\2?$O1_C'KW@33KOQ3X?MY8-$UV: &YLHY%=7 M2-OX0RR.#_O&LOXY_LS_ #_ &E]%M_#_P =OA5I'B:WLW9[(ZA;_O;8M@-Y M%#X)^"7PWTKPUIC2^;-;:9;!#- M)C&^1SEI&P -S$G S@5S_QU_8R_9:_:8U*UUOXY_!+1/$-_9QB.WU"YA:.X M6,$D1F6)E=D!)(4DJ,GCDUZ=10!B_#WX<^ OA-X1L_ /PS\'Z=H.BZ>A6STS M2[5888@3DD*H R2223R222236U110 4444 >%_M8?\EL^!__ &/Z5 MX7^UA_R6SX'_ /8]R_\ I,U>Z4 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%?CS\(?V8OA#KWQ MY^//CRP\->$_#5@UWK.LZC)MCAC' RSNS%42-07=V55!9@" ==17Y">)/V MX_\ @LI\7-4TS_@JM\$O#^C^'/@_!?&Q^&G[+?BN:.U\0_%+P^ZF6ZU1"Q++ MJ3)$DUI;QAV\M'V+(K'[9^D/[$_[;'[/_P#P4 _9_P!)_:,_9S\6?VCHVHYA MOK&Y41WNCWJ >=8WD.28;B,D!E.005=2R,K$ ]:HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ JEI?B7PYKE]J& MF:)K]E>7.DW8M=5M[6Z21[*-2_L3_ML? ML_\ _!0#]G_2?VC/V<_%G]HZ-J.8;ZQN5$=[H]Z@'G6-Y#DF&XC) 93D$%74 MLC*Q]:H \4_;5_Y%C1/^O^3_ - HH_;5_P"18T3_ *_Y/_0** *'[*G_ "4_ MQ;_P+_T>U>]5X+^RI_R4_P 6_P# O_1[5[U0 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% 'A?[6'_);/@?_ -CW+_Z3-7NE M>%_M8?\ );/@?_V/O\ P5\_X)^?\$W-(ED_ M:?\ C]IMGKP@\RT\$Z*1?ZW=9&5VVD1+1*W:28QQ'^_7Y$?%?_@XI_X*Z_\ M!6+QU>_L^_\ !%W]D;6?#&EO)Y-UXL%G%?:K#$W DGNY@+#258$_>+L" 4F! MH _:O]L7_@H-^QI^P'X+_P"$Y_:V_:!T#P=;R1-)8V%YZM<9GFX^5DA5,$?+,PK]BOV:?V2_ MV:/V.?A[%\+/V7?@AX=\#Z%'M,EGH&G+$URX&!)/+S)<28_Y:2LSGN: /Y@; MO_@FK^VY^VS^P1XJ_P""W?QD_P""G/AW5]?\%;KW3M,U;Q1<_P!I:;/:S*7L M7N)#$FDWB-L-O:1(0[/"$*;T)^D?^#8;]N^P^-?_ 5 \4>)OVA_CS:^ /&_ MB[P3;:;/X-T?2A8Z?\4=9B>0R:GJ'F.T2:JB;6Q!'"UPS2/G)G6?]4OC!_P0 M'_87^,_[;UO^V+XDTK5(--N[]-9\:?"FTN=GAKQ7X@@+"SU>^M!\DDT:RW&] M<;9FD#/]Z83^"?\ !?W_ (-[=(_;IL)?VR_V)[.#PQ\>_#L4=S)!I\PLXO%J MP &-6D4J(+^,(HAN,C=M6.0@!)(@#]6J*_(#_@@#_P '!VI_M&:S#_P3K_X* M-W,OAKXY^'[A]*T;6M>@-HWB:6$F-K.Z1PODZFA4J5('GD' $F5?]?Z "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **YCXM_&SX-_ +PC- MX_\ CG\6/#?@W0X,^=K'BG6X+"V4XS@R3NJYQVSFOS@_:\_X.X?^"5O[.OVK M0_@YK'B/XPZY#N1(?!^F&VTY9!V>]O/+!7_;@2<4 ?J-6+\0/B1\._A-X5N? M'7Q4\>Z+X9T2S7=>:QX@U2&RM8!ZO+,RHO0]37X"7'_!<_\ X.*_^"JUQ)H? M_!,C]B.3P)X9O',<'B?3-#%\8P3@K)K&JK'8*Y8^8=(L-3NO$>H1(W6$3W31V]GCTA69 !Z M 'VM^UY_P=9?\$E?V8?M6B^!?B7JWQ;UZ#)%IMOGTDB.#T8XR?T?_9#_ .#;+_@D3^R!]EU72?V:+?Q]KMM@CQ!\49QK M,C,.C?9G5;-&!Y#) K ]^!7W1I&D:3X?TN#1-!TNWLK*UB$5K:6D"QQ0H!@* MJ* % '0 8H _F ^/'_!L=_P66\;?#GQC^VQ^TKXAT3Q5XNU'4H]=\7_#WPYK MWVCQ!K2J2;F5##!]B>[5&_[+'[?/PR^'_P"PG\'?^"5G M_! 35]:^(OQ*U_0KZX&O>/;>,?\ "L+.YU"XGO\ 4=>\N)8H[B&YN)DAM@K! ML1']\&B%S^R%<+\*/V8_V>_@7XS\9?$3X._!WP_X;USX@ZPNJ^-=4TC3DAFU M>\5 @EF91R?O-@8!>21\;Y'9@#S+_@FW_P $Y/A)_P $W_@I=> /!>KWOB7Q M;XGU-]:^)?Q#ULEM1\5ZS*2TUW.Q)*KN=]D62$#$DL[22/\ 0]%% 'BG[:O_ M "+&B?\ 7_)_Z!11^VK_ ,BQHG_7_)_Z!10!0_94_P"2G^+?^!?^CVKWJO!? MV5/^2G^+?^!?^CVKWJ@ HHHH **** "BBB@ HHHH @U35--T33+C6M8OX;6T MLX'GNKJXD"1PQHI9G9CPJ@ DD] *^'M6_P""K6H_%[]M7X6_!C]FK3KE_AYK MGB6ZL-:\:WNDE8->FAAW26]DTJYV1%HR\@PQ+J N#)]PZKI>FZYIESHNLV, M5U9WD#P7=M/&&2:-U*LC*>"I!((/4&OCC]N#0-"\*_MR_L>^'/#&B6FFZ?9> M(_$$5G86%LL,,$8MK/"(B *JCT H ]A_P""@'[5VJ_L>_L]3?$KPMX6AUGQ M#J6L6NB^&=.NW*P27]P6V&4@@[%5'8@$;BH72R]I_ MP5W\4^#9_P!GO1O@+JOPU_X2OQ'\3/%=IHG@O3O[0-H+742V8[TS*"4$1*]/ MO>9M/REJ\$_:^_9I_;<^%GP.\._%+]K3]H&U^-_P_P# &H6FH^,/A[#IZZ2] MS$C+'YANHU+WPC+ D3!=P!8@G- 'U!^VY^U;\1_A9JW@#X#?LV:/I>I?$?XI MZE+;^'I=:#FRTVSA027%],J?,P1&!"]\.<-LV-PW_"^/VS?V./CAX#\&?M?^ M/O#'COP-\1]:70K/Q9HVA?V9"YDR!V8PNN1Z5J_P#!;0,?V;_ M@M?^/T_&;0O[.Q][S]MSC;[XW4 ?8]?*OQL_:*_::^,7[6>H_L:?L<:[H'AJ M3PCH<&I^/_'6O:8;[[%)< -;V=O;Y"-(R,KDOP06QM*?/]55\<_\$_@P_P"" M@7[7)U#_ (_?^$HT#&_[WD>1>>7CVVX_2@#J_P!E_P#:4_: T/\ :9UO]B+] ML"30[_Q3:^'D\0>$/%WA^U:VM]>TTR>4^^%B1'.C@@A>"$?C"AWYB+X\_MF_ MME_&WQYX4_9!^(/ACP'X&^&^N-H5SXGUK0/[3N=Z[]OV]?(\F[V9]O,_6E_X(E!A^S1XV^U_\ M?O\ PN+7?[2S][S\6^=WOC;0!Z'^PW^U+\3/C!J_CKX!?M%:#I>F_$SX8ZM# M9^(?[%+"SU*VG0O;7T"N=RK(@)*GIE3\N_8OT'7QQ\"0Q_X+3?'$V/\ J1\. M-$^W;>GG^7:;,^^S./:OL>@ HHKR_P"*WQY^)7P^\7/X<\+_ +,OBCQ3:+ D M@U;29X5A9F'*8Z5\A?%WXW?$/Q_\!]5FA871:$J538>H!W'/85]2_\ "2ZO_P!"A>_]]+0! ML45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2 MT?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+ M0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ M?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0! ML45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2 MT?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+ M0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ M?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0! ML45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2 MT?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+ M0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ M?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0! ML45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2 MT?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+ M0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ M?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0! ML45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2 MT?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+ M0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ M?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0! ML45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2 MT?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2TR;Q7J-M"]Q<>%;J.. M-2SN\B *!R223P* -NBOS5_;]_X.DO\ @G/^Q*U_X-\(:O-\6/&]INC_ .$> M\#:A#+9P2C^&YU'YH(L$%6$?G2*1@QBOSRU+]H?_ (.4O^#A#?9? OPA>?!7 MX*:HQ3^T-,DGT73;FV;C]YJ# WFI@KE66V'DMT:-: /UB_X*&_\ !?[_ ()K M_P#!.,7OAGXF?&2/Q7XWM R_\*_\![-0U&.4?P7#!Q#9D'&1-(CX.51NE?E? MXC_X*U?\' O_ 79UZ[^&W_!,KX"ZA\)_AO-.UM>^*M&N3"\<><-]IUZ=46- MP/F\NR5)NH DKZP_X)Y_\&I'[#'[*S67CS]J?PUJGQP\8PE96BUZ!;;0+:3K M\E@KM]HQR#]I>1&&#Y2&OU/\.&S\':#:>%?"/PQ&E:7I\"P6&FZ;;Q06]M$H MPL<<: *B@< "@#\B_V"O\ @SX_9X^'^KQ?%[_@I)\7]0^,/BZYG^UWWA[3 M+NXM-&^T,=S&>=B+N_.[G>6@5LD-&U?KO\*/@_\ "CX$>!;+X8_!3X;:%X2\ M.::FVQT/PYI45G:P#OMBB55!/_P""AFC3?M:_LD6UMX:^ M/V@6ZS![>46L/BZ.$ QPS2 @17B!0(;DD=%CD.T(\/GO_! ;_@X+\1?&+Q-# M_P $U?\ @IID_:7_9J\&'PO\ 'K0; M56@OHY$@@\5PQ >7;73@C9)?$8^RSZU/$?+&G:@)<;-04C:DA_X^. ?W MV#-^QO\ PDNK_P#0H7O_ 'TM &Q16/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_ M]]+0!L45C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM &Q16/\ \)+J_P#T M*%[_ -]+1_PDNK_]"A>_]]+0!L45C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ M 'TM &Q16/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+0!L45C_\ "2ZO_P!" MA>_]]+1_PDNK_P#0H7O_ 'TM &Q16/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_ M]]+0!L45C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM &Q16/\ \)+J_P#T M*%[_ -]+1_PDNK_]"A>_]]+0!L45C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ M 'TM &Q16/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+0!L45C_\ "2ZO_P!" MA>_]]+1_PDNK_P#0H7O_ 'TM &Q16/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_ M]]+0!L45C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM &Q16/\ \)+J_P#T M*%[_ -]+1_PDNK_]"A>_]]+0!L45C_\ "2ZO_P!"A>_]]+7(_';]ISX+U/#/A/PU8M=ZQK.I3JL<,8P !DN[,51(U!9W954%F (!Z-17XG M_'O_ (*U?\%,=%>Q_P""N4/B/P;\-/@=I\@@\ _LW?$?6[73-:^)/AN1@;G6 M-\KADOFVQ26L:!L1AMH=6/VS7_:#_P"#TO\ 8:\%>%K>3]G+]GGQUX\UZZLH MYFM=7>'1K*TD= 3#),?.D9T8D-LB9"1\LA!!H _9FN(^.O[2_P"SQ^S!X4;Q MS^T9\D@U/529IB,_?LMI]%ZUTOP/_ .#0 MGXN_&'Q2\NYSUP^K:GO=NX(^S>N&H ^D M_P!KS_@\*_X)G_ G[5H?[.VA>*_C)K,.5BET>R.DZ27'!5KN\42XST:.WD4] M0<8S\F'_ (*R_P#!SM_P5J/V#]@7]DZ;X8>#-1^6W\2:5H2P(\#=2=8UC$+L M!SFU2-^F!DC/ZE_LA_\ !%G_ ()D?L2?9=2^"_[">CW&N6NUD\4^+8QK.I"0 M?\M4FO#)]G;_ *X",>U?68\2:L!@>#[P =!N6@#\)_A+_P &B'[6/[3WBV'X MO?\ !6'_ (**ZMK6JSX:[T_P[?7.MZ@R-R4.I:EA82.FU8)4]#@<_H_^R'_P M;X_\$F/V,?LNJ?#_ /9/T;Q)KMKAAXF^(7_$[O#(.DBK<@P0./[T,4=?77_" M2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!JV]O;V=O':6D"111($BBC4*J*! M@ < =J?6/_ ,)+J_\ T*%[_P!]+1_PDNK_ /0H7O\ WTM &Q16/_PDNK_] M"A>_]]+1_P )+J__ $*%[_WTM &Q16/_ ,)+J_\ T*%[_P!]+6AIMY/?6HGN M+"2V8L1Y4I&?KQ0!8HHHH \4_;5_Y%C1/^O^3_T"BC]M7_D6-$_Z_P"3_P! MHH H?LJ?\E/\6_\ O\ T>U>]5X+^RI_R4_Q;_P+_P!'M7O5 !1110 4444 M%%%% !1110 5\^?M5_LU?$GXP_M5? /XP^#UL#H_PXUO5KKQ']JNBDOEW$-N MD?E+M.\YB;(R,<5]!T4 >$?M[_LE>)?VI? 'A_4/A?XQM_#_ (\\!^)K?Q#X M*U:]C+6ZWD)SY4P )\M\*20"044X894^0_&#P!_P5!_;+^''-8>*'QEXOTSQ&VHS7EJKJ\B6=L!F,N5QB5ONY&X=3]JT4 ?,O[5/[$WC+ M5]%^%?Q _9*UC3=(\[M[C!59%150A^ Q^;?\GU510!\Q?LO?LU?M Z[^TUK?[;W[8,> MAV'BFZ\/IX?\(>$/#]VUS;Z#IHD\Q]\Q $DSN3DKD ._.&")S,?P%_;1_8V^ M-GCSQ;^R!X$\+^// WQ'UQ]>NO"NMZ[_ &9OZ9J7Q,^)^JPWGB'^Q0QL]-MH$* M6UE S_,PC1B"QZX49;9O;Z$HHH **** /"_VL/\ DMGP/_['N7_TF:O=*\+_ M &L/^2V? _\ ['N7_P!)FKW2@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ I))$B1I97"JH)9F. !ZFH[Z^LM,LIM2U&[BM[>WB:6>>:0*D:*,LS, M> 22>@%?A1\1?V^/VTO^"\GBCXFZ!\./V@M._9D_8;\)R3Z7XS^+VJPQP7 M?B.!3C[.+FX>/#W VEH(GC6*&4+,TQD6*4 _=#P_XAT#Q;H5GXH\*ZY9ZGIF MHVR7.GZCI]RDT%S"ZADDCD0E71E((8$@@Y%-\3^*/#/@GP_>>+?&7B*QTC2M M.@:?4-3U.[2WM[:)1EI))'(5% ZDD 5_*[X*_P""WWQ/_P"",?Q*NOV;/^"8 M7[9 _:#^"%C;2R6%C\4O DMK:Z=?R%_-6R=)X[DPA@).#%"S22$1$DRO[O\ M"#_@F!_P7(_X.'[#0?VCOV^?VKE\$_!W78XM3\.:>)DEAN+1_FCEL='LW6%? ME^4373I-C!/F=P#[8_X*&?\ !W#^P1^RZU[X!_9.L+CXW^,8BT27&BW!M= M MI>GS7S*QN<'! MTD1QD>:AYKXPA_9R_X.3_^#AF9-5_:"\5S?!#X*:HP==)O MK>?1=-GMF.1Y6FJQO-2X(97NF\INJRK7ZO\ _!//_@@5_P $V?\ @G"MEXD^ M%?P8C\3^-K0*W_"P?'>S4=324?QVX*"&S.+/ S?%[QU:[9#XF^(-K'-:V\P_BM=.&;>( @,K2":5".) M!7Z*11101+##&J(BA411@*!T '84ZB@ HHHH **** "BBB@ HHHH **** /S M1_X+Y?\ ! +P'_P4]\&2_M ? "WL?#7QZ\/V0_L[5,B"W\40Q#Y+*\<8VR@ M"&Y/*<(Y,>TQ^!_\$%O^"_OCQO'T?_!*[_@J_<7WAOXK>';_ /L/POXM\5 P M3:G/&=BZ9J3/]V]'"Q3GBY&%8^:5:?\ :JOS@_X+T_\ ! SX;_\ !4_P#)\9 MO@Y%8>&?CMX>L,:+KK 10>(H8QE+"^8#KVBN.6C)"G*<* ?H_17XC?\ !"'_ M (+Y_$CP9\2D_P""3W_!7&:_\-?$GPY?C0_"GC'Q83%-=SH0B:9J3NO^(AX M]^*"1'[+\-_"UXC3V[D94W]QADL$Y!PP:8A@RQ,,D 'VUXP\8^$?A[X7O_'' MC[Q3IVB:+I5J]SJ>KZO>QVUK:0J,M)++(0D: %KCPR;_P -^(=:*E;6ZM]/51/J4MN? M,(\]7MVV@+%)&\WFZ/A;]G;_ (+B_P#!T/XNL_B1^T1XKD^$'[.WVQ;C2;4V M([JV$6N>/]?V7.M:GTR&GV@0Q$@'R85CCX!*ELL0#\.?V#_P#@D1\) M_P#@H3\ /$O_ 60_P""RO\ P4BNKSPG:/.=>M=(UP/J=@]N^TVFH33Q/]C< M$JD5A;PEF6:$1,N]%/VI_P $'_\ @E%\.+C]J>__ ."HGPT_9I_X4[\'KKPX M-(^#WPZ\3(VJZUXAMMP8>)+^74&G>P>7"O%':M$2NW!\L%KGZT^,'_! ?]A? MXS_MO6_[8OB32M4@TV[OTUGQI\*;2YV>&O%?B" L+/5[ZT'R231K+<;UQMF: M0,_WIA/]O1QI$BQ1(%50 JJ, #T% "T444 %%%% !1110 4444 %%%% !111 M0 4444 >*?MJ_P#(L:)_U_R?^@44?MJ_\BQHG_7_ "?^@44 4/V5/^2G^+?^ M!?\ H]J]ZKP7]E3_ )*?XM_X%_Z/:O>J "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH \+_:P_Y+9\#_ /L>Y?\ TF:O=*\+ M_:P_Y+9\#_\ L>Y?_29J]TH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBD=E1 M2[L H&22> * %JIK^OZ#X4T2[\3>*-;M--TVPMWGOM0O[E88+:)1EI))'(5% M !)8D 5^;'_ 4Y_P"#H[]@;]@W^T/AQ\&]3C^,OQ&MMT3:+X4U!!I6GS#C M%WJ(#Q@@Y!C@$K@J5<1]:_!7]J#_ (*0_P#!6O\ X+P_&JS^"8N=>\2QZI=[ M]"^$7P[LI8=*MPK B22%6)E$>*/A)/#IGV[1_+\K^S+VT\MK:\M/+ C\IX_N )NV +0!_-?^ MT9_P2Z^#W@R]\<^/?V0_VK-0\=?"[P/#'H ^)-UX;%M#XU\87 "1^'_#\$,\ MCZD6+!I)E.R*(2/^\7RC/]]?"+_@W&_X.(OV=_AAH+?LR?\ !2JT\)VXTN&Y ME\#Z?\5-?TM-.FE42RVWDPP/:N5D=P3D*S MWK],?V#O^#?/]DO]B_QKX6^* M?C#XA^,_BUXD\!P-%\/CX[O(?[)\);FWO)INFV\:06TK.3(9"';S#Y@*OEC] MYT ?S_?\*C_X/8_V=A_Q2GQ-?QQ90?ZP_P!M^%=4\Q1_V$56X;_@/S?K2?\ M#X#_ (.SOV>OE^+?_!,YO%T$/_'S/?MB?!J=+/]JO_ ()2BRD#!)_+U[4-"8'IPEY93\_[)/MD=:]5^'7_ M >V_L3:KY:_%C]C_P"*6AEL>8= N].U0+_W]FM21^'X5^T]Q;P74#VUU DD M? MAS_P7G_X(Z_%(1GPS_P4-^'%KYF-O_"1ZLVCX^OV](=OXXK'^(O_ ;P?\$7 M/BAYA\1_L ^$+0R9R?#MW?:1CZ"QN(0/PKP;XB_\&?O_ 1X\;>9_P (UH_Q M*\'[\[?^$<\<>;Y?T^WPW/ZYH _0KX=?M7?LM_%_R_\ A4O[2G@#Q1YN/*_X M1WQC8WV_Z>3*V:[^OP\^(O\ P9!_LR:GYG_"I?VY_'>B9SY7_"1>&++5-OU\ ME[3/Z5P'_$)-_P %./@9_P FE_\ !6R.Q\G_ (]?]*UKP[C'3_CSFN-OX9H M_H"K!^*'Q3^&WP3\ :K\5?B_X[TGPSX:T2U-SJ^NZY?I;6MI$"!NDDD(5>2 M.>20!DD"OP_\',/_ 2CANI[[2OB%X\U7PW:S-'=>-]* M^%.M3:/%M.&8S"VW,HP?F5"#M)&>,_87[.G[37P _:X^%ME\:OV:?BUHOC/P MO?LR0:OH=V)461<;HI%X:&5M/"/@Y+N'3IQI_@O6?"\B0!<;+5-0>6!W6-2RQ#:K!, H/F7ZL_8 M7^*W[+UI_P %L-$\;?\ !./Q-ILOPE_:;_9ZNO%_B_PUH""&SM=-P#] Z*_"K_@AY_P7:^+W[+GQ<_X=#_\ M!8LW_AGQ/X:OET3PAXV\52[9+6086'3M1F8E7C92GV>]W%&1D#,59)*_=6@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***BOKZ MRTRRFU+4KR*WM[>)I;BXGD")$BC+,S'A0 "23P * ):\R_:P_;)_9D_8<^%% MU\:_VJ?C%H_@[P_;Y6.XU*8F:\E SY-M @,MS*1R(XE9L G& 2/S-_X*F?\ M!U[\!OV?M7N?V=_^"_\ X*=?\%G/BM>_L9_\$2_@ M?XG\+>')_P!UJ_C2/;%K#VK$K]HGO-WD:+ ><%7,S%0%E!;RJ^JO^"57_!J; M^S-^RE?6?QX_;NU.R^,WQ/:47C:?>Q-+X?TNY)W%A%,-VH2[B29;@!"2"(58 M!S^E'[,G[*7[.G[&GPILO@E^S!\(=&\&>&;$9CT[2+;:9I, &::1B9+B4@#= M+*S.V!EC7H5 #8((;:%+:VA6..-0L<:* JJ!@ =!3J** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH \4_;5_Y%C1/^O\ D_\ 0**/VU?^18T3 M_K_D_P#0** *'[*G_)3_ !;_ ,"_]'M7O5>"_LJ?\E/\6_\ O\ T>U>]4 % M%%% !1110 4444 %%%% !7A'Q5_X* _![X(N&V_,< KN]H\4Z&?$_AG4?#8U6[L/[0L)K;[=82^7/; M^8A3S(V_A=IR2 "1\[3?\ !5#6O!$6C^._C_\ L7_$#P%\ M/-=O(;>R\;ZM);RK:^:?WZ[HTGQ3BU34/#UA&'DU9[-%\JT"GAO,:8I@\?-[4G[1'[27[;OPO\ AZWQ M"_;>_8T^&>O?!N^NK9/%7AS1M0DU'4M&@>9/+DN5G!M[G9)Y?$:;2X7YD^\ M#Z1_:I_:Z^'/[*/@;3?%'B73=2U[4_$6I1Z=X3\,^'8!/?:U>2?=CA7(!'() M?H,@#+,JMPGPE_X*#7>M_&?1_@#^T?\ LW^)_A1XC\40R2>$FUV[@N[+5C&, MO"EQ"=JS 8/ED=P,@L@;SCXLZAX:^('_ 5G_9STS16MY_#6E_#35=<\.16\ M86W_ '\$T<;QK@ 1QPLN ,;5]*T/^"TCG0/@K\,_B5I?[K5O#7QIT.[TRZ3 MAT;$^5!]"0I([[!Z4 ?8]>#_ +27[FMJ M7_"+^'9(XEL;(-M\^ZN)3L@5FX7(.>,[=R;O>*^./V%/^*K_ ."CW[5WCK61 MYM_8:OH.D64C]8;5+>=2@] WD1''JN: /7?V6/VU?#7[1_B;Q#\*_$/PZUSP M)X_\)"-_$'@OQ*J>?'#)C9<0R(=L\)RHWC'WEXPREN8^*_\ P4'OM'^,VL_ M7]F_]FWQ/\5]?\*QQOXPDT*[@M++26D&5@:XF.UY\ GRP.Q&25<+Q7QG<^%_ M^"U?P9JWB?XS:Y>:GKGUH ]U_91_:S^'O[6W@B^\3>#]+U3 M1M4T/4Y-,\4>%]?MO(O]'O4^]#,F3^##@X(X965?4J^./V=7/A?_ (+'?'WP MIH_[JQUSP3H>KWMO'PANHXH(P^/4B60D]RY]:^QZ "BBN#^(/[3WP ^%7B-O M"7Q$^*FEZ1J20I*UG=R,'"-RK< \&@#A_P!K#_DMGP/_ .Q[E_\ 29J]TKY4 M^.7[2'P,^*?QQ^#<'P]^)FFZL]AXV:2\6TD8^4C0%%)R!P6(%?3/_"8^&/\ MH-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4' M_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16; M_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H- M0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_ MWU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9 MO_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ MH-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4' M_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16; M_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H- M0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_ MWU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9 MO_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ MH-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_Z#4' M_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16; M_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H- M0?\ ?5 &E16;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_ MWU1_PF/AC_H-0?\ ?5 &E17RM_P4"_X+/?\ !/O_ ()L>&I+[]H?XU6\WB%[ M?S=-\!^&U%[K5]D97;;A@(4;G$L[11G! 8GBOP2_X*+?\'*O_!1;]O[0M2T7 MX"W2_ #X.S2R6DFI66I.FI:F!@-%)J"()9'PREK>QC#*KGS#(F6H _;+_@IG M_P '!G_!/?\ X)F17W@[QCX]_P"$X^(MLK+'\.O!<\=Q=P2XX6]FSY5B,XR) M#YNT[EB>OYW?^"G'_!Q-_P %"O\ @I.U_P"!M7\9'X<_#>[W(OP^\%W4D,=U M">BWUSQ->Y&,JVV$D B)37BG[%/_ 3N_:A_X*+?%$_#O]D/X9WVKI%<+_;O MCGQ$?LNGZ8&)/F7$WSI =I#>6IEG0JL;'(^9$!95+,/J3_A,?#'_0 M:@_[ZH_X3'PQ_P!!J#_OJ@#\O_VD_P#@J[\%OVJ_V:]=_8Z_;P_X([?M*W7C M77;#[%JOPKTWX9RZA'/?#[EQIVIQL(S&DFUTNU"LO#*K8Y_*/]E^S_;O_P"# M7C]L?P?^U7^TA^RI/'X ^*.@3:5J6GR7]O?W=KIDMS'.]C]LA58HM3A$$$QC M^6.8 CY>3%_4Y_PF/AC_ *#4'_?5>=?M6? 3]F+]M;X$:]^S?^T?X>L/$'A7 MQ#;>5=VDQVR02#F.X@D W0SQMADD7E2/3((!N?LT?M+_ 2_:_\ @CH'[1'[ M/'CRT\1^$_$EF+C3=2M&Y'9XI$/S12HP*/&P#(RD$ BN[K^:3PCXW_;*_P"# M2_\ ;I?POJE]J/Q)_9A^(>J&17@X2^B&!YT8)"6NK01X#IE8[A%'.W8\/]"O M[/7[6G[/'[5'P([(7.FZC:L1D=&CD0@-%*C H\; ,C* M5(!% 'HU%9O_ F/AC_H-0?]]4?\)CX8_P"@U!_WU0!I45F_\)CX8_Z#4'_? M5'_"8^&/^@U!_P!]4 ?#O_!&[%E\'>-&A MPET@RPTZ_P!H+26S,3M?!>!F+H"#)')\(?\ !$O_ (+E?&?]B/XR?\.@/^"R M*W_AK5?#5ZFC>#O&_B>7#Z8W @L+Z*/ MQKX4EC66+7;=E8 JROD$'N* -2BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH M TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q M\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ M $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J M-*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3 M'PQ_T&H/^^J -*BN"^-/[47[//[.?PYU#XN?'7XPZ%X5\-:5'OOM8UJ^6&%/ M1 3R[MC"HH+,N;S5&>W;XA MSZ2'U2YBSM>:TMY/W>GP#.3=7)W*K9VP,H:@#]0_^"F7_!:/]AK_ ()8>%7E M^/GQ#&I>,;BU\W1?ASX;9+C6+W(^1WCW!;6$G_EM,44@-LWL-I_&S5?B)_P7 M,_X.EO%:2?@[^S=]N,=W*)YH-'DC5N5GN %FUNX&/]4BB!752RPD[S M]'_\$S?^#6WX5Z!XJ3]J?_@KG\65^+'Q!U*Z_M&Z\&/JLUUIL=RQW%]1NI#Y MNIS9QN7*PY#!O/4@U^R_AV^^&_@_0;/PKX2CTS2]+TZV2WT_3=.MU@M[6% % M2..- %1% "@ # H ^1_P#@EI_P08_87_X)8Z1;>(OAYX2_X2_XCFWV:A\3 M/%-LDE]DC#K9Q\I81')&V/+E3B223 -?:]9O_"8^&/\ H-0?]]4?\)CX8_Z# M4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4 M'_?5'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I4 M5F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/ MAC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z M#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0! MI45F_P#"8^&/^@U!_P!]5"_LJ?\ M)3_%O_ O_1[5[U0 4444 %%%% !1110 4444 %?)G[=7A7Q1KG[=7[*FN:+X M;O[RRTOQ+KSZG>6MF\D5HK6]H%,KJ"(P2" 6(S@^E?6=% 'S!_P5'^ 'Q+^* MWPU\&_%SX)^&/[<\6_"?QU9>*=-T$'Y]3A@<-+;IZN2L;@=6$94 LP%>3?M7 M?MR67[;7[/FI?LG_ +,WP0\=WOCWQPD&G:CIFN^%I[*'PY&94:>6\FD'EJ%" MLH*DC)!SQ@_?%% 'Q/\ M2_ WQ_^RUXK_9^_:F^&/@S5?&=G\&M!/A?QIIFB MVQEOKG2'LUMOM<475S$?,8ZD <$JPW*KE?O2B@#S;QI^T;; M>#/VC_"'[.C_ P\37TGBVPN;I/$]C8!],TX0QROLN)<_(S>5A1CDNOK7S;X MP\2:K_P3Q_;X\?\ QX\;^ ?$&H?"SXQ:7IT][XA\/:3)>C1-6LHVCV7$<0+J MD@>1PV#DR ':VW[;HH ^,?V>9/$W[:G_!00_MLVO@#7-"^'?@7P7)X?\$W7 MB'3GM)];O9Y',]W'$XW"$1R2)D]?D[[U7F?@C\7K;_@EK\3/B=\$/C_X"\4) MX)\1^-[OQ1\/?%VAZ!/?VD\5V$#V+F%28Y8]B#!')WD[5*%OO2B@#Y*_X)\^ M"/B'\3/C]\6?V]_B3X U/PM#\1)['3O!6A:W;^3>QZ19Q",7$T9YC,Q2)@I[ MJQ&596/UK110 5EZMX(\%Z]>'4-<\(:7>W!4*9[O3XY'('0;F4G%:E% 'SQ^ MTYX-\(:%\;?@FVB>%--LS+XYD$IM;&./>!;L0#M SSS7T#_9VG_\^,/_ 'Z% M>(_M8?\ );/@?_V/TT_#1VT:\-]HNRP"MEXHB,T ?KO^VM^W]^Q3_P3S^'I^(_[6OQDT+P MM;RQLVF:7(!-J.J,O\%K:1AIISG +*NU<@NRCFOQ,_:?_P"#BK_@H_\ \%1_ M%6M? +_@CS^SY?\ @/PG96[OK_Q$U$6R:C9V6#NNKN^E86.A0;0V7:1G!7*3 MJ?EKYS^.W[$W[/?[''BJX_:/_P"#@']K?7/BS\:]6C2\C_9Z\">*S?ZS.2-T M::UK!9DT^#D#RX?FV$&%W"E!V_[-W[%__!53_@OGH6E^!/AW\/=#_9J_9(TZ M]$FE:%H&D/8:%(JL!YT5N"L_B"]^7+74S>7YBO\ O(B=A /BW7O"_P "_ 'Q M.'A7PKJ=_P#M8_'CQ#J6Q[JPCO;OPU%J,AY$((%]XCN=_(<^3:EARE[&U?J1 M_P $X/\ @U,^-7[1WB/3?VFO^"QWC>[L;4Q1MIGPCT"YCAG6V!+1VUQ); 0Z M;;+D@6=F 55L!X"I2OU3_P""9W_!&/\ 8<_X)8>$EM?V?_AV-0\77-J(M;^( MOB-4N-8OLCYD63:%MH20 M#,,\;?,DB\@]<@D'^??PMXC_ &U?^#2/]NEO _Q L]1^(O[,?Q$U,R03QP@1 MWT(P#<0!CLM=6@3:)(B0EPBC)V^7)%_2I7F?[7O[(?P#_;H^ .N_LU_M)^!X M==\,:]!MEC;"SV_MO?\&D'[#?'&O,'_L%3Q!!<7!R)],D& MTP70)$*D!CY.#!_0%7QG_P %E?\ @C+\ _\ @KG\#/\ A'O$ZV_A[XD>'[:0 M^ _'\5MNELI#EOLMR!S-9R-]Y.J$[TPV0P!]AV]MI%W EU:V]M+%*@>.2-%9 M74C(((X(([T_^SM/_P"?&'_OT*_GR_X)1?\ !:CX^_\ !&#XQW__ 2B_P"" MS6GZOIGAGPLIA\)>,9X)KV70H "88PT:L][IDJK^XDC#-"2$QY?RP?H-^Q1_ MP7AA^/'[0.E?"W]JG]F#Q!\$_#?Q=)O_ -F;Q;XM.R#QIIRD1B&=L[;6^D8" M:*(G#Q7$2J26A>Y /T'_ +.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ M )\8?^_0H_L[3_\ GQA_[]"IJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJC MN;JVLH&NKRXCBB3[\DKA57ZD]* &_P!G:?\ \^,/_?H4?V=I_P#SXP_]^A7, MZY\>O@9X8+#Q+\:/">G%3\WV[Q':PXYQSO<=^/K7&:W_ ,%!_P!@CPR2/$G[ M;_P@T_'7[=\2M+B]?[TX]#^5 'K/]G:?_P ^,/\ WZ%']G:?_P ^,/\ WZ%? M.>N?\%C?^"3WAX$W_P#P4B^"4F/^?'XEZ;==B?\ EC,WI_2N-U[_ (. _P#@ MC1X/)B?/X=^.M 'U]_9VG_\^,/_ 'Z%4M?U M3P;X5LDU/Q1J.F:;;27<%K'<7\T<*//-*L4,09R 7>1T15ZLSJH!) KX:\0_ M\'//_!#CPXC^?^W#!=2*#MBT[P'K\Y*/^"C/QF^(GA/X*>#X;J'X/\ P4^'NEW']JZGJ!B9$\0:E=KB MW%RF[=;V_F-'&WRN=HD-R ?TE_V=I_\ SXP_]^A7Y?\ _!6'_@YV_8J_8'?4 M?@]^SK9Z=\8/BK 6@?3=&N5.C:-/]W%Y>1Y$DBMUMX-SY5E=X3@U^0?A_P#X M*D?\%B/^"JFC?#G_ ()E^%/VG4\.>$/$>JS^%M/^(/B20Z'<>*E3+1PZMJ2O M(9YQ \4;6]N2T[2('6=Y S?M9_P2=_X-L_V)?^":J:=\4?&.GQ?%+XL6X67_ M (3+Q'8+]ETJ8<_\2ZS)9("#C$SEYN"5= Q2@#\ZO@/_ ,$<_P#@KK_P7Y^) MNG?M7?\ !63XM:U\-_AJ9/M&@^%S8BUO&M7YV:;I;?N["-EP/M5R&E'+!E0ZGJ'E>=J&JRJ/]==W4F9)W MY. QVIDA%5<*/::* (?[.T__ )\8?^_0H_L[3_\ GQA_[]"IJ* (?[.T_P#Y M\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0H_L[3_\ GQA_[]"IJ* ( M?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0H_L[3_\ GQA_ M[]"IJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0H_L[ M3_\ GQA_[]"IJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8 M?^_0H_L[3_\ GQA_[]"IJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[ M.T__ )\8?^_0J2.**%=D,:HOHJX%>3_M?_MU_LD?L$?#V+XG_ME7 M4K1:>+\R2W6H2* 6CMK6%7GN6 ()$:-M!!. :^:?"G_!R+_P2LUKQ)8:#XT^ M)OB_P+;:M,(M)U[Q]\.=4TO3+MCTQ=20>7&IY^>4HHP%%5=#US1/$^ MBVGB3PUK%KJ.G:A;1W-A?V-PLT%S"ZADDC="5=&4@A@2"""*M4 >*?MJ_P#( ML:)_U_R?^@44?MJ_\BQHG_7_ "?^@44 4/V5/^2G^+?^!?\ H]J]ZKP7]E3_ M )*?XM_X%_Z/:O>J "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH \+_:P_Y+9\#_ /L>Y?\ TF:O=*\+_:P_Y+9\#_\ L>Y? M_29J]TH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHKY%_P""HO\ P6J_8I_X)3>#6F^-OC+^VO&]W:&70/AMX>E2 M75+W.=DDH)VVD!/_ "VEP" VQ9&&R@#AO^"IG_!4[Q7\*?&$G[!_["FI:!?? M''5-':_\3^*M?O(XM ^%&A[09==UF=_W<15 OG<61F5@T44_XI:__ ,%* M/"O_ 3^_:JTFQ_X(;?&CXF_&+XD^)M,O-,^-?B3QAI<^J:3\3-JTSS^7>(OA%_P42_X+T_%#X_?ML_LX_LWVN@^$X;J MPUCX@^"?!&JO#'JT\2O]G$=M(_\ Q,]3%NUQ,7"*&9I"H5YUCD[G]LOXX?\ M!!#X ?L?>#?AE_P2^^"GCCQ7\?-1M;2[C^*NKZYJVEZMX2OF(\PS>1+%'-? MYB6WMX_LREM^]RH60 [7]F[]@;4O^"HGPUN?^"NG_!CFUA+B)SYFFI;A##I3-@.EI!#)-(K!A"N]7/0VG_ 4Z^)_Q?U";_@FE M_P &OG[#M[\/- OE$.M_$+3]/4^)=7B!V&\N;Z9F&G0\D"XN)6E&5V/ ?W=> M=?\ !&;_ ((!?%O_ (*N?%OQUX]_;6^,/B+PCH_@KQ@%\?:!>Q3'Q1JFJW<2 MW?F7^E;]D?]BS]E_]A/X3VWP5_93^#ND^$-!@ MVM/'80EKB^E QY]U.Y,MS*1QOD9FQ@ @ 'YG_\$L_^#4+X&? 36;;]HO\ MX*2^(K;XR?$NYN/M\OA^X>2?0;&Z9M[//YP\S5)MV27F"Q$LTN[2(B*]A!53?6@8[+;4X$V":V+!9E" M@G:89D_I/KRO]L[]C+]GW]OG]GS6_P!FG]I7P5'K/AS6HLJRX2YTZY4'RKRU MEP3#/&22KC(P65@R,RL =-\!OCQ\(OVG?A#H/QY^ _CRQ\2^$_$U@MWHVLZ= M)NCFC/!!!PR.K!D>-@'1U96 92!UU?S8_"'XN?MM_P#!I5^W))\"?CK#J?CW M]F?Q_J;7%E?6<1$5W""JG4+(,=MMJ,*%%GM2P650HR08)E_HC^!WQQ^$W[2G MPET'XZ? OQW8>)?"?B:P2\T76M-EW17$3<=#@HZL"K(P#HZLK ,I .KHHHH M **** /PP_X+"_LHZI_P4B_X*OS?LG?\%#_'T?P8T6;P1-9?L?\ B?2-)AN= M,\4ZM+)$\Z:EJ,BK)Y^Y43^SQL WCRWWLC7?P]^TS\$O^#A+]FW]@KQ%^Q5^ MU'\%;75/@9\-=0::R\5^*AIDT.D+#(!;S:9J<\J3QIN^6!4(DQ/Y(7#B*OZ5 MOVV/V)_V?_\ @H!^S_JW[.?[1GA/^T=&U'$UC?6S".]T>]0'R;ZSFP3#<1DD MJPR""R,&1F4_$'P&_P""0G[Z)#_PC^L^);7P9:WM[:*N(IY&U-%O9=ZJI$T@)E!#EG#[CWG_# M)/\ P>E>-ANU[]IHZ03U'_"::#;XQS_RYQ'U(_#TQ7[_ $<:1(L42!54 *JC M ]!2T ?@"?^"0'_ =M^-ODU[_@J)_9 /4_\+MUBWQCC_ESM#V)/X>N*/\ MB'&_X.,/&/'Q,_X++^<).)?^+S>+K[(^[_RUMX\_+Z_3IS7[_44 ?@"?^#1_ M_@I3XR_Y*=_P5P\[?_K?GUF_Z_>_UMQ'G@#Z_A3[;_@R%\5^()UOOB%_P5&> M>7.7$7PJDN&)/WL22ZL".<<[3GVK]^Z* /PMT+_@Q[^!MN%_X2;_ (* >++O M ^?[!X&MK;/';?]=EHG_!DO^P3;@?\ "2?M8_%Z[/?["VEV_8?W MK23OFOV@HH _)+0_^#,7_@D]I)!O_B7\;M3]K[Q=IJYY'_/'38_I^-=GH7_! MHI_P1HT@K_:'P^\=ZIM//V_QY<+NYSSY(C^G';WYK].J* /SEU3_ (-2/^") M%]X2U'P]8_LR:S97U[8R06NO0_$36FNK"1E8+<1(]TT#.A(8"2-T)4;E(R#\ M1_ C]B'_ ()5?\$N/BGK'['O_!:K]D?P2/LME>ZS\*OVB+N&_P#[*\=:7 K2 M/:7,"S,EOJL*$+Y"+^].Q5#.T3W/[[5PWQ^_9G_9_P#VJ/"%IX _:-^$&@^- M-%L-9M=6L]-\0Z>EQ%#>6[AXIE#="#E2.CHSHP9'92 ?G#^QU^QIJG_!6#QI MX)_:B^/OP%MOA?\ LG_#6\6]_9J_9S@TJ*Q3677/E>(]7MX@$"L&+0VW*E7) M.Z-G>[_5>DCC2)%BB0*J@!548 'H*6@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBL[Q5XN\)^!=!N/%/C?Q/IVC:9:)NNM1U6]CMX(5]7DD M(51[DT :-%?$'[2G_!QG_P $=OV8OM%EXC_;(T/Q3J<&0ND_#N"777D8=5$U MJK6RGM\\JU\%?&__ (/3= \2:W_P@O["/[ OB;Q5J=XYCTR[\9ZFL,LC]L:? M8+.\N?03J?Z '[J5C^._B)\/_A;X&;_ )>2'0K;PJD,9^ZZRZFT MFI$8/!A)SG..E;/@3_@S^_:^_:.\1P_$3_@I?_P4UO-:U1CNN8-&:^\07;AN M2HO]3DC,9_[8N,_G0!JG_@L=_P $I/!W_!6KX^_MO_MI_%6+X@WW@F[TOPK^ MSAI?A?2&UZVLM+AM?,OK^PE7-FLLUTQ(F:5'&Z0(=K''ZP?L@_M(_L]?\%<_ MV$-'^/L7PBFN?A[\2(=4M6\)^/--MIWGM[;4+FP=;F%7EB.]K9G"AFP&'.17 MY7_'W_@V:^#7_!.OXC>!_P!JK]F/]EC6/VH_!&@VLMG\4?A#XTU6.76+M&8, MFK:8MND$5Q-'@J;-T<.N JEF+Q_2^C_\%?+B]^#]G^RO_P $@O\ @DQ\7+/Q MHML]EH'AWQ-\*%\)>%O!4LK,S3:A)N6&)4>1I3%'_K6+#>&;) .T_P""!:7O MPJT_]I+]B?0=>O-3\"?!#]H75M ^&\E[7 M(R 2H(2)"0"4A0L Q-?15 'BG[:O_(L:)_U_R?\ H%%'[:O_ "+&B?\ 7_)_ MZ!10!0_94_Y*?XM_X%_Z/:O>J\%_94_Y*?XM_P"!?^CVKWJ@ HHHH **** " MBBB@ HHHH **H>*=<'ACPSJ/B4Z7=WW]G6$US]BL(O,GN/+0OY<:\;G;&%'< MD"OSJ\^#]?\4ZB/"/P_:^+WJK!;)ON]0"@# MS7$ZA8S@QA6&U22S@'Z2457U;5M+T#2KK7=;U"&TLK*W>>\N[F0)'#$BEG=F M/"J%!))X %?FS-^T3\9OVC/^"EOP&^-!O;W2OA=XBUW7[#X=:,\DD3:C:65H M!-J*49<21$.R1JDJ!P2.)[2.5SN,)CCD?!Z?)WWLW,? _X167_ 5+^)OQ M.^./[0'C?Q/)X*\->-[KPO\ #SPGHOB">PM;>.T"%[YQ"P+S2>8AW$\'>#N4 M(% /O2BODK_@GWXX^(/PT^/_ ,6?V!_B1X_U3Q3%\/)[+4O!6NZY<>=>RZ1> M1+(+>:0\R&$O$H8]V8#"JJCZUH **** /"_VL/\ DMGP/_['N7_TF:O=*\+_ M &L/^2V? _\ ['N7_P!)FKW2@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH *RO''CGP5\,O"&H_$#XC>+M,T'0M(M'NM5UG6 M;Z.VM;.%1EI)99"%10.I) KY3_X*F?\ !;C]BC_@E+X2DC^,7BW_ (2#Q[=6 MGFZ%\-/#LZ2:G=9'R23Y^6SMR?\ EK+C(#>6LK*5K\>?#GPD_P""TG_!U1\0 MK;QW\7-9IT*P2II6U6(!M+(?&VL;;C6=:88.9[C:-L>1D0QA(E/(3))/YG?\%X?^"\'Q1^+'Q0;_ M ()&?\$C)+_Q+X_\2WYT+QAXP\*/YDT.,A1 M]1?\$3_^#>S]G[_@G)\!KR^_:%\(>'?B#\5?'&D?9?'%]JNG1WNGV5I)AGTJ MUCF4JT.0/-D9&?$R2F M2VUO3/"MNMQ9L1@FW,/V@/VJ/#W] MC?%+X_\ Q(U+XB>,/#Q)SH"WFQ;32SG!!@MXTRI&Y'D=#DI7V5110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% 'D_[:_[%/[/?_!0']GK6OV:/VEO!B:OX>UB/=#-'A+K3+I01%>6L MI!,,\9)*M@@@LK!D9E;\"O@C\;/VV?\ @TQ_;BD_9V_:(AU/QU^S5X]U)[FP MU"RA/DW,.54ZE8JQVV]_"I1;BT+8D 7D@P3#^DVO(_VW_P!B#]GG_@H3^SOK M7[-'[2W@Y-5T'5DWVUS%A+O2KM01%>VDI!\J>,L<-@@@LCAD=E8 [3X*_&KX M5?M%_"K0OC?\$/'-AXE\*>)=/2]T36M,EWQ7,+?D58$%61@&1E96 92!U%?S M:? 'X]_MK_\ !IQ^V_+^S'^TW!J7CC]FSQUJ3W6FZG8PMY,\.Y5.IV"L2(+V M)2@N;,MAP%Y(,$U?T2_!OXQ_"[]H/X7:'\:O@KXXT_Q)X5\2:>E[HFMZ9-OA MNH6Z$'JK @JR, R,K*P# @ '34444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%? 7_!7WXP?&;XH?M%_!;_@E MM\%?CA??"^R^+-OK&O\ Q6^(^D7BVVH:3X7TR)&EM[2=O]1+T=5 M9Q0!]N:A\7/A1I/BE/ VJ?$[P];:W(P6/1[C6H$NF)Q@"(OO).1V[BNAK\8O MCS\&O^#._P#9(\#W7@3XP:A\.?$>HB-EU"71O%VJ^)-=N;@YWM+/I\\LD,S, M23EHE!/11C'Q[^SQ_P '.>D?\$[?'/CCX"?L@>%OB)\<_@U>/;O\(].^+FMB MSU?POL6NGV M-K&9+J]OKA8HH4'5G=B H]R:_G[_ .'BG_!VS_P4B_#(M(1X#_&+[Q [>9Q_';A3Q\HSQ5K1/^#57_@JI^VGJUOXO_X*>?\ !3QY M T@F_LY-4U'Q3"0:^!/C[_P 'J_PB?4SX M1_8J_8?\7>,=1N9/)L+SQEJD6GAY.Q2TM!WM?,'=;?3Q;@K_ +$C2#US7WW\ OV/ M/V4/V5M,&D_LV_LW>"/ L7E[)&\+>&+:RDF'_322) \I/D@N=<=[I^QWVQR>H&.*T? M"O\ P:2_\%"/VLM>M_'?_!3K_@IY/J-WO\U[2RN]1\3W:@]8Q<:A) D! X^1 M)%&, $^)I#"'[ MD6UB+>%E]%D63CKD\U]Z_!#]F']F[]F?1/\ A&_V=O@'X-\#6)0));>$O#5K MIZR ?W_(1=Y[DMDD\GFNZHH **** "BBB@ HHHH \4_;5_Y%C1/^O^3_ - H MH_;5_P"18T3_ *_Y/_0** *'[*G_ "4_Q;_P+_T>U>]5X+^RI_R4_P 6_P# MO_1[5[U0 4444 %%%% !1110 4444 %?'O[?W_)_W[(W_8T^(?\ TFLZ^PJ\ MM^-?[*_A?XW?&OX8_&[6O$U_9WOPOU&^O-,L[5$,5XUS'$C+*6!( $0(VXZF M@#PS_@K)XG^-NL:?X.^!'@OX'^/O$_@7Q'?-<_$N[^'^CR75Y+80,A73D9<+ M$)V/SL6!V+@!@64_/7[0_P"V!JUY^U_^S;X@T?\ 84^+'ABV\"'6X-'\(7OA M58+O5(7M((EBL(0V'$*H"PXVJ5K]2J\M^+_[*_A?XP_'[X9?M ZOXFO[2_\ MAC/J,NF6%LB&&\-Y%'$XE+#<-HC!&TCDG- 'SQ\4M?FF_P""L'[.'Q4\1:!? M:);^,?AEJEG:V&L1>5/:7?V>:X:VE'195$Z(R_WCBM+_ (+2+_;WP7^&?PTT MX^9JWB;XU:'::9;)R[MB?+ >@+("?5QZU[I^U?\ LD_#S]K?P7I_AWQ?JNJ: M-JN@ZFFI^%O%.@7/D7^CWJ?=EA?!X.!N4\' (PRJR\#\)?\ @GMM8+6RT@R##3);P_*\Y&!YA/8'!94*@'TC7QS^ MPHH\)_\ !1S]J[P/K!\J_OM7T#5[.-^LUL]O<-O7U"^=$,^K8KWWQI^SS<^, M/VC_ A^T&GQ<\3:?'X4L+FV?PE8WI73-4,T9<1_QLOF[E/8HOI7'_M)? ML+Z5\:OBEIG[0?PP^,'B#X:_$33-.;3O^$H\.+'(M]9$[A!=6\@V3JK8_&9?^$H_X+5_!W2](/FR^&/ACK&I:L(^?)AG%S;1[L=,NR]?[P]1 M2_\ !%I1H/P.^(_PVU%MFK>&?C/KEGJEL_#H_P"YPQ'7!(8 ^J'TKUO]E?\ M8H\-?LW^)O$7Q5\0_$77/'?C_P 6B-/$'C3Q(R>?)#'C9;PQH-L$(PIV#/W5 MYPJA>9^+'_!/6YUGXS:U\>_V;_VD/%'PG\0^*HHT\7)H-K!=66K,@PL[V\PV MI/@D>8#W)P&9RP!Q/[.B_P#"4_\ !8[X^^*]'/FV.A^"=#TB]GCY07,D4$@3 M/J/*D!'8J1VK['KRS]D_]DKX>?LC^![[PSX/U35-8U37-3DU/Q1XHUZY\Z_U MB]?[TTSX'OA1P,DG+,S-ZG0 5Y?\5O"G[6>K^+GO/@_\5_"^D:*8$"66K:$] MQ,) /G8N".">@KU"B@#Y"^+OAC]J+2?CE\'F^+OQ/\-:O')XT(TY=*T1K1_M8?\EL^!_\ V/Z4 M8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C6Q10!C_8O&_P#T&[+_ ,!C M_C1]B\;_ /0;LO\ P&/^-;%% &/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# M8_XUL44 8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C6Q10!C_8O&_P#T M&[+_ ,!C_C1]B\;_ /0;LO\ P&/^-;%% &/]B\;_ /0;LO\ P&/^-'V+QO\ M]!NR_P# 8_XUL44 8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C6Q10!C M_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^-;%% &/]B\;_ /0;LO\ P&/^ M-'V+QO\ ]!NR_P# 8_XUL44 8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C M_C6Q10!C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^-;%% &/]B\;_ /0; MLO\ P&/^-'V+QO\ ]!NR_P# 8_XUL44 8_V+QO\ ]!NR_P# 8_XT?8O&_P#T M&[+_ ,!C_C6Q10!C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^-;%% &/] MB\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XUL44 8_V+QO\ ]!NR_P# 8_XT M?8O&_P#T&[+_ ,!C_C6Q10!C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^ M-;%% &/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XUL44 8_V+QO\ ]!NR M_P# 8_XT?8O&_P#T&[+_ ,!C_C6Q10!C_8O&_P#T&[+_ ,!C_C1]B\;_ /0; MLO\ P&/^-;%% &/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XUL5\;?\%4 MO^"XW[%/_!*3PM+9?%;Q1_PDOQ"N;7S=$^&7AVY1]1GR/DDN6.5LH"DEED M8*BCU)%?B1_P4 _X.=?VB?VF?BB?V'/^"(G@?5?%OB/69GL5^(EGX=:2YN#T M=M,M9%/EQJ.3=W*J$4,P10%EKR#PC\"?^"T/_!U#\0[3XF_'?Q')\(_V;[34 M?.TJW6VECTLHK$ V-JS*^K70&0;J5A$A\P*Z?ZD_MW_P3L_X)8?L:?\ !+_X M9?\ "OOV7/AG':W]W B>(/&.J[;C6-;9>=UQ<;1\N>1#&$B4Y*H"22 ?FW_P M3'_X-4#H?BZ+]KG_ (*R^-8/B;\1]3N_[2N/!>HZA)J-A!=,=YDU*X=B=3GS MC MKW7BKQ[XDOCH7BWQ;X.CW31SME9-+T^53@2 !O/N@0L*JX# J[Q_67_!"_\ MX(+^%O\ @E-\-Q\2/&EYHNO_ !J\2:>J>)/$GV9+@ M-,RY.%"*-'_@@]_P0?\ A=_P2@^%R_$;XC1V'B7XW^); +XF\3(GF0Z/"V&. MFV!896,$#S)\:^+/"T,QTV?4(2W^M M5;^WE;>, +I^"M#U/3Y+..[\(7"&TN+2S63:&M+F"-V60[P;B/S\F2 M261P#^QS[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\:A^%OQ,\$?&CX:^'_B] M\--?AU7P[XHT:VU70]2MS\EU:7$2RQ2#ZHRG'49K>H Q_L7C?_H-V7_@,?\ M&C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8 MHH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ M&C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8 MHH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ M&C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8 MHH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ M&C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8 MHH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ M&C[%XW_Z#=E_X#'_ !K8HH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8 MHH Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !K8HH \'_;F_8,^%O\ P40_ M9XUC]FK]I?2+#5-#U-?-L[R&VV7FDWB@B*]M)3DQ3)N.#R&4LCAD=E/X2_ # M]H;]N;_@U'_;1E_9/_:?>^\7?L[>-M2:[TK5[*U:2WEA+*K:IIZL<0W48*"Y MLRWS?+R/[!_[.W_!1G]G35_V:?VE/"0U#1]17S=.U&W"K>Z- M>JI$5[:2D'RIDW'L592R.&1V4@'5?"+XH:5\>_AEHGQE^#7Q1T/Q'X7\2:?' M?:)K>EIYD%W XX93U!!R"I 96!5@""!T?V+QO_T&[+_P&/\ C7\Y_P"S%^TU M^VC_ ,&I?[;,O['W[8$&H^,?V<_&>HO=Z1K%A [0F$L%.JZ(M/COM$UO2YQ+!=P.,JZ ML/R(."I!! ((H L?8O&__0;LO_ 8_P"-'V+QO_T&[+_P&/\ C6Q10!C_ &+Q MO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (UL44 8_P!B\;_]!NR_\!C_ (T?8O&_ M_0;LO_ 8_P"-;%% &/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P&/\ C6Q10!C_ M &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (UL44 8_P!B\;_]!NR_\!C_ (T? M8O&__0;LO_ 8_P"-;%% &/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P&/\ C6Q6 M)XR^)GPX^'202?$'X@:)H2W+;;9M9U6&U$IR!A?,9=QR1T]: '_8O&__ $&[ M+_P&/^-'V+QO_P!!NR_\!C_C6EI^HZ?J]C#JFE7T-U;7$8D@N+>4/'(AY#*P MR"#ZBIJ ,?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P :V*XCXT_M+_LZ?LWZ M-_PD/[0GQY\&^!K$H62Z\6^);73D<#^Z9Y%W'M@9)/% &_\ 8O&__0;LO_ 8 M_P"-'V+QO_T&[+_P&/\ C7Y]_M%?\'5O_!&[X!^?9:%\;];^(^HV^0^G_#WP MQ-< GL%N+K[/;.#ZK*PKXL^(?_!Y'\??C7XBD^'W_!.[_@FC?Z]JS_\ 'E-X MAN[K5KF7)PN=.TR-6'X7!STH _=?[%XW_P"@W9?^ Q_QK$\>^.[+X5>'9?%_ MQ0^+'ACPWI,'^NU37[N*SMX^_P TDSJH_$U^$WVS_@\K_P""BG,-K??!/PW> M]1Y=AX3^R[O][?JR\?7&/6MKP%_P9S_M+?'?Q%%\0?\ @HQ_P4SO==U5N;R+ M0K>\UNYESRP&H:G*C+^,#9_"@#[P_:*_X./O^"4?[.'GV>K?MN^'O%VI0YV: M9\.](N-:,Q'4+<6ZFU'_ *89KX=^,O_ >E:=JNL?\ "(?L:?L3^(_%-_=R M&+3KCQ=>QVDCOVQ9V0N6ES_=$JFOL+]G7_@U'_X(Y? ;R+WQ+\&_$'Q)U"WP M5OOB!XHFE4MW)M[,6]NX]GC8?SK[G^"7[+O[-7[-6D_V%^SQ^S]X+\#6AC"/ M!X2\,6NGB0?[?D1J7/#_\ !0U?+^"'[.-W\)-"OO\ MEZB\&VOA]!">CBXUYWN&&,'= [ M^+,GA^\MV\5:)H'B'4?$FNZ3H+29N[FV2\2*)S /G-O$X3:"VX!#C^GVB@#\ M#_V/_P#@C%_P;/Z-\$K3]IWQM^W7H/Q*T%+-;J]F\;_$F'2(K5]N[RI+&U:V MN89>/^/>5F_9K\/_ O^"/AW MP@? OP+AM_"8TZ7Q6#<>;J'B1XV42MO*BWBFE+.\65.UHV%?<_BG_@D=_P $ MP?&_Q1;XS^+/V!_A3?\ B62Y-Q<:C<>"[0BXF)W&66+9YU>]5X+^RI_R4_Q;_P "_P#1[5[U0 4444 %%%% 'X4?\%-? MVK?^"J?_ 5B_P""J?C#_@DG_P $Q/BW)\.?"?PQL"?&WB:VUV;2OM4R"$7, MUU>6RM<+"DTZVR6T(/F,'=PRG]UX?^Q1I/\ P4VB_P"")/[2G_#+7QVUZZ^) M7PE_:5EU#Q#XCB\6W*7SZ3I&F(]Y]DDE):;+QHQMW($L?F*0S$1OZK_P4]^! MW_!3O_@C#_P5@\:_\%9_V OA(_C[P#\5+-CXOTX:'/J=O922^2UU;WT-LRS0 MH;B!;B*Z0JJE_+9OO+)\"_L?_P#!1#_@JCJGP6^,W["/[%?[+]WJ6H_M!^-] M2U7Q5J&B>%[V[U'3UU")8+FUMVW>5:QE RM/*"45F;UG"(X;B_M)-AN$0<)YL1BF*@!5 M:1E4845]=U\C?\$.O^"?WBG_ ()J?\$X?!7[-GQ'NK:7Q>9+K6O&'V.820PZ MA=R&1H$8<.(HQ%"7!(9HF8<,*^N: "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@#PO]K#_DMGP/\ ^Q[E_P#29J]TKPO]K#_DMGP/_P"Q[E_])FKW2@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N1 M^//QY^$/[,7PAU[X\_'GQY8>&O"?AJP:[UG6=1DVQPQC@ 99W9BJ)&H+N[* MJ@LP!\L_:J_X*J?\$[/V*(;I/VEOVO?!7AW4+-6:;P^NK+>:KQV%C;>9,U_/A^VI_P<>?#W]MS]K^U^)?QG_9MUWQQ\)/A]J8N/A+\#+K6([#3-7U( M$K'K&OR*DS7E_M(?LP>.X M];\.ZD6BFC=/+N]-ND \RTNH2289DR,J>"&5U+(RL?6:_E+LO^#A?XL_LT?M M^)^VC\(OV(T^%.H^*P$^-?PX@U^>/0_'**V5NQ:2VJM87ZAG(ND9]S'+1G?, M)OTP^&7_ >E?\$U?$RQ6WQ+^!GQ>\+W#@>9+%I&GW]K'Z_.EXLA_"*@#]A* M*_/_ .&G_!T%_P $2_B3Y7'\./V^OA!J<\N-EDGQ"T^.Y.?^F$DJR#\5H ]\HJEH'B3P[X MKTU-9\+:_9:E9R?ZN[T^Z2:)OHR$@_G5V@ HHHH **** "BBB@ HHHH *Q?B M+\2/A_\ "#P/J?Q,^*OC;2O#GAW1;5KG5M'+I&OY-PRDET_*V, M!X_>2 LPR8XY,$#\B_ _[-W_ 6=_P"#IGXB67Q=_:2\5S?"7]G.UO\ S]%M MDM)8M-:,$@'3[-F#ZG<8)!O)F\M29 CC'DT >S?\%"_^#G3X^_M;_%$_L*_\ M$*/A?KGB+7]9E>R/Q'AT5I;RY'1WTVUD7%O$HY:\N0-B[F"1[5EKT3_@E;_P M:I^$O!'BF+]K7_@K5XH'Q7^)>I77]I3>#;S4'OM,M;ISO,FH3R$MJEQG[RL? M(SN!$X(8?HO_ ,$]/^"7O[&__!,7X7CX;?LL?#"&PN;J)%U_Q9J16XUC6W7^ M.YN=H)&'_@O!\4?BQ\4&_X)&?\ !(R2_P#$OC_Q+?G0O&'C M#PH_F31S-E9-+TZ13A9 WVBZR%A574,&#O& '_!>'_@O!\4?BQ\4&_X)&?\ M$C)+_P 2^/\ Q+?G0O&'C#PH_F31S-E9-+TZ13A9 WVBZR%A574,&#O']:? M\$'O^"#_ ,+O^"4'PN7XC?$:.P\2_&_Q+8!?$WB9$\R'1X6PQTVP+#*Q@@>9 M+@-,RY.$"(I_P0>_X(/_ N_X)0?"Y?B-\1H[#Q+\;_$M@%\3>)D3S(='A;# M'3; L,K&"!YDN TS+DX0(B_H=0 5^=/_ 70_P""_OP<_P""5'@F;X3_ R_ ML_Q?\<=9L=VC>%C+OMM#C=?DO=1V$%5YW1VX(DEXY1#OKSS_ (+S?\'%'AO] MA+[5^QQ^Q.]MXO\ CYJVVRGDM(!>6_A)Y<*F^-0PN+]MP\NUP0I(:4$;8I?/ M/^"%_P#P;K^)/!GC6'_@I-_P5<2Y\6_+[^VM#\(^))S=G1KF1O,%_J+.3 MY^H9.Y8SE;))A MK=OX:^,OCQ=,^URG!MY;RRC1F6!%"^79MY:*JHK1^6/+/U1_P5\_X)Z_\%H_ M^"LWP>T;PQ\5/^"=OP4T'Q#X,GDN?"_B?PM\5-U]%"RXFL=LT8CDAEVH=C,N MUXT8,HW!OW"HH _$?_@TA_X*5ZC+X.\0?\$B_P!IB[GT?QS\.[^\F\!6&M[H MKF:S65S?Z44< B:TG$D@0DMY^RZ=XOTK9IOQ%\+0R?-I6J*F2R*26^SS &6%C MGY24)+QN ?6%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% 'BW[?7[ W[.O_!2#]G+5OV: M_P!I+PJ+W2[X>=I>J6P5;W1;Y5(BO;20@^7*F3ZJZED<,C,I_"+]E/\ :I_; M._X-5?VUI?V+/VTH-1\6_L[>+]1>[T76["!WA6%G"G5M-4D[)%RHNK'.,M/\ $/AKQ#I\=]HN MM:5<"6WO+>0961&'4>W4$$$ @BMZOYA_@=_P4&_;D_X-4_VJ_&G[ WQLT73_ M (M_#N6W.K>'-#C\1_8XP)RQM]1M9/+G:R\W81/:NA^92RYXDD_5+P?_ ,%3 M?^"P%A\+=+_:A\7_ /!)_P *^/OA7JVEQZJ-0^"7QBM=7U6'3W4.)X;9H_\ MB8,%_P"6<)!.>HP: /TFHKS7]D3]K;X&?MQ_L_Z!^TO^SKXL_M?PQXA@9K=Y M8C%<6LR,4FMKB(\Q31N&1D/<9!92K'5^('[2G[.GPF+CXI_'WP5X9,?^L'B# MQ59V6WZ^=(N* .UHKY;^('_!;C_@D9\,RZ^)O^"B?PGF:/[Z:'XN@U1@?3%D M93GVZUXA\0/^#JG_ ((E>!R\6F?M0ZIXDFC^]#X?\ ZNW/H'N+:*-OJ&(]Z M/T3HK\??B!_P>F?\$SO#Y>V\!? OXR>(I5^Y*^BZ;9V[_1GOFD'XQUXOXN_X M/>;'4K[^QO@K_P $V-4U.>4XMI-7^(H1R?\ KA!82%OH)!0!^]5%?S_'_@Y: M_P""^GQJ.W]F;_@C\)89O]5,/AIXFUHJ#WWP20I^)&*#^UQ_P>D_'MO^+>?L MS/X+$_W /!.A:;Y>?^PW*^/^!4 ?T T5_/\ ']@'_@\C^/;9^(G[:;^"_/\ M]9_Q^-_B[_;%Y=W9&9%@M+:Z86T*L6$48CWJNT%F(%>#>-O\ @R+U M71?A+XDU_P -?M[S^*?',.CW%QX=TJ7P(FG6=]?JA:.":=[Z9D61P$,F/EW; MB#C!Y/\ X)I?\$8O^" O[07P[%G^TS^T3\1?!/QA\+YLOBC\)?B1X^TS0[G1 M=2AXN!%$UG#+-;;@6657;"LHW.LV=]]ERUIXTB MUL+*UC$=M9V5NL44*#HJHH 4>P% '\_O_#(?_!X9_P %$_G^,O[0]S\'= OO MNP3>+;7PZBPGJA@T)'NR.HVSC)Z$XKM_@M_P95^&O$&L_P#":?MO_M_>)_%& MHW;B34K7P;HZ02NW?-_?O<-+GU,"FOW5HH ^#_V=?^#:?_@C5^SGY%[8?LBV M'C+4H<;M2^(NHSZSYN/[UM,WV3\H1FOM/X>?"_X9_"/P['X0^%'P[T+PQI,/ M^JTOP]I$-E;IVXCA55'Y5NT4 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110!XI^VK_R+&B?]?\G_ *!11^VK_P BQHG_ %_R M?^@44 4/V5/^2G^+?^!?^CVKWJO!?V5/^2G^+?\ @7_H]J]ZH **** "BBB@ M#\1_^"F7_!P[_P %:OV0_P!NKXB_LW_ ']A/PSXI\'^%=6AMM#\07O@77KJ6 M\C:UAE9FEMKI(G(>1URB@?+CJ#7S1XM_X/"_^"N7@&)9_'7[$?PNT5'E,2/J MWA'7[8,XZJ#)J R?;K7Z\_M*_P#!PO\ \$F?V1/CEXA_9P^/O[25[HWC#PK= MI;:YID?@;6+I;>1HDE4"6"U>-_DD0Y5B.<=0:^3O^"F__!R1_P $3_V@OV#? MBG\"_#WC_4OB/JGBSP5J&FZ+X<_X0+4;=3J$D++:SM+>P11P^5.8YO,!+IY6 MY 6"@@'W=_P2(_:T_:1_;=_87\,_M%_M8?!VW\">--9O]0CO/#EKHUY81Q01 M74D<$BPWCO* \2J^XL0V[(X(KZ9K\Z_^#5_XE?%SXE_\$9OA]=?%FYO+E=&U M;5=(\,7U\S,]QI-O=,D #-RR1-YMNG94MU4<+7Z*4 %%0:IJFFZ)IEQK6L7\ M-K:6<#SW5U<2!(X8T4LSLQX50 22>@%?#VK?\%6M1^+W[:OPM^#'[-6G7+_# MS7/$MU8:UXUO=)*P:]-##NDM[)I5SLB+1EY!AB74 !<&0 ^Z**\._;U_:H\5 M_LM_"S2+GX8>#(/$'C7QEXHM/#?@[3+QF%L;ZY)"23E2#Y:XQ@$$LRC(!)'B MWQO^(_\ P4Z_8F^'1_:9^*WQ5\!_$?PSI-Q;MXQ\):=X:.G2VEM+*D3-9W . MZ0JSJ,R#H%)M=5_ MLFFZ>L*3S7TZ(=QV1N"$[X<_-LV-R?\ POC]LW]CCXX> _!G[7_C[PQX[\#? M$?6ET*S\6:-H7]F7.BZM("8(I8U8H\,AR W4!68E=FUP#[!HHKY5^-G[17[3 M7QB_:SU']C3]CC7= \-2>$=#@U/Q_P".M>TPWWV*2X :WL[>WR$:1D97)?@@ MMC:4^< ^JJ*^9/V7_P!I3]H#0_VF=;_8B_; DT._\4VOAY/$'A#Q=X?M6MK? M7M-,GE/OA8D1SHX((7@A'XPH=^8B^//[9O[9?QM\>>%/V0?B#X8\!^!OAOKC M:%<^)]:T#^T[G7-6C'[^.-&8)'"AP-P^8AE8%M^U #["HKY\_8;_ &I?B9\8 M-7\=? +]HK0=+TWXF?#'5H;/Q#_8I86>I6TZ%[:^@5SN59$!)4],J?EW[%^@ MZ "BBB@#PO\ :P_Y+9\#_P#L>Y?_ $F:O=*\+_:P_P"2V? __L>Y?_29J]TH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBO"?VHO^"G/_ 3[_8MC MG3]IS]KOP/X5O;<$R:)<:REQJ>!U*V-OYERW_ 8SV]: /=J*_&?]J3_@]%_8 M?^'C7&A_LG_L_P#C7XFZ@I*P:CJSQZ%ILA/"LK.)KEO7:T$9/3(SD>"_\/'_ M /@Z[_X*C?Z-^R-^RQ" M ?OSX]^(WP]^%7AFX\:_%#QWHWAO1K49NM6U_5(K.UA'J\LS*B]#U-?!G[4_ M_!T1_P $>OV8OM.FZ?\ M W/Q*U>WS_Q*OAAI3:BKGMMO)&BLV!/]V7OB.^"MR8A>:@\:6Y M'HD*_A]JVNV&-UW\T3/%;VO/^S)CBOESXO?\ ![=\(FO3HG[+O[ W MB[Q)<7#^793>+_$UOISECT_T>TCNRY/]T2#ZT =Q^S+_ ,&9'[!?PHMT\4?M M<_M >,OB5=>VEDT?A_2BH&Y_,6-I;G P?F%PG&20.WRUX/\ V&/VL/'E MCXX_X*P_\$*?@S:?!WX3Z:C:#X.\):%ZU9_VG'(/V,? MAO\ M^-\)M)^!VK-X7\3_#C4?B)>Z1)/#\ M,)$NMW,%E$L+/$@,\5O[DM;F%9H]TL42R(VUP&7=E6!!Y%?B!^U!XD_X. M+?\ @@U\.M1^&WQP^,NG_%#X.^-X;KPSI][KFL_V]97$EW;RIY5N+EH]1M)A M&781C$.X'B0 U]8_\$*_^#DW_@G'X#_9*^&?[#_[1NN:S\,?$/@GPY;Z*GB# MQ)#]HT;4G3(\P74(+6N22=LZ)&@P/-;K0!]:?$O_ (->/^")?Q(\R=/V0W\/ M74FF$>S20_C+7ZX>!_'G@?XF^%;+QW\-O&6E>(=#U*$2Z=K.AZC%=VEU M&>CQRQ,R.ONI(K5H _ K7_\ @RL^*/P]U)_$?[,G_!3^YTV\_P"6*:AX)GL9 M5QTS\>%;2]_L;X[?\$YMX@;9=R:#X]CN'![_ +BXLX2A]C(? MK7OOPT_X/)_^"3_C/RX?&GA+XM>$)3@2R:MX4M;F%3[-9W)CTVRHPQ7@7Q+_P""+/\ P29^ M+?F-XR_X)X_"<22Y\VXT;P?;Z9*Y/K_%^/\ M;U^$M_H.A:>][J5QI'CVPO98XU&=HA@E:5Y#PJQ*I=F(55)(%?,/Q+_X-0/^ M"*OC_P R30OV?_$7A&63),OAKQ[J)P?4+>2SH/H%Q[5\%?\ !4'_ (,^/"GP M5^#<_P ;O^">'CGQ[XSNM =KKQ'\//$=Q9W.HZA8#F1M-F@MX0T\8!(MY$8R MC(5MX5) #Z5^(/[>7_!8?QIX0U#_ (+9?#?2=#\&?LZ>"8RV@? 'QQ*--_8U_X(&T2+=M>]FK]FSXK_ +'T/[;>@?\ !9;3K;X!:?)]K^( USP--I^HZ!+%CSK&:R6_F3^T M%9Q$J'EVE1HQ()$#_H-_P;I_\$W=3^&OQJUS_@H#\%/"'BCX/?!+Q'X1BT'P M'\//$6H-=ZSX]M$/>Z3973G>TE]++EM5N-W+;_W&2P*S M?*]?L=965GIMG#IVG6D5O;V\2QP001A$C11A551P !P *EHH ***_#W_@ MO#_P7@^*/Q8^*#?\$C/^"1DE_P")?'_B6_.A>,/&'A1_,FCF;*R:7ITBG"R M!OM%UD+"JNH8,'>, /\ @O#_ ,%X/BC\6/B@W_!(S_@D9)?^)?'_ (EOSH7C M#QAX4?S)HYFRLFEZ=(IPL@ ;[1=9"PJKJ&#!WC^M/^"#W_!!_P"%W_!*#X7+ M\1OB-'8>)?C?XEL OB;Q,B>9#H\+88Z;8%AE8P0/,EP&F9_X=1_\ !%.+4O$NN^([Q](\1_$+PL^9;]N1-:Z9,"%BMU4, M9K\LJA58HRQJ9F^R?^"&'_! /X-_\$I_!,/Q7^)8T_Q?\<=9L=NM>*1%OM]# MC=?GLM.W@%5YVR3D"27GA$.R@#SS_@@S_P &Z_AK]A 6O[8W[:R6WB_X^:MN MO(8[N<7EMX2>7+/YXTEV8X%U:%O.M9'.7CPI9LW M K^DBO&?V_OV&_@O_P %%_V5O$_[*?QST[=I>O6V[3]4BB#7&CZ@@)M[Z GI M)$YSC(#J7C;*NP(!W_P7^,GPT_:&^$_A[XX_!OQ;:Z[X6\5:3#J6AZM9ME+B MWE4,IP>58=&1@&5@58 @@=/7\]O_ 0J_;D^-'_!%[]O'Q%_P1'_ ."ANH_V M?X7U/Q(8_ NO74I^QZ;J5PP,$L,CXQ8:@&1@>D<[ L$+SE?Z$J "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@#\A/#O\ P3Y_9B_X*)_\% _^"@O[)'[9WAI9O%^L:_X1 MUKPEX@ 4:EIFDC1VCL+S3I&SA8&8QR*,HV\1R @XKY2^%W_!O/\ \'(WP&TO M4OVZCD?_ (^%M[*&22W,@ =HLX#E MN6R6;]:_^"AO_!-OXB?'SXM>%/VW/V*/C7;_ N_:$\!:?)IND^)+^Q-SI/B M32'G"/\ X6E^WKXRUDC'F_V!X.M--W?3 MSIKK'ZU^P_[)G[+'P:_8H_9W\+?LP? 'PX=,\*^$M.%KI\4CAYIV+%Y;B9P! MOFEE9Y7; R[L0 , >BT ?E%X _X,X/\ @DAX0$;>)M<^+7BIEP9!K7C&WA5C MWXL[2 @?CGW/6OU?=M% '@/@'_@E-_P3)^%_EOX%_P""?GP;L)H\;+L?#C39+@8_Z;20 MM(?^^J]H\)^ ? O@&R_LWP+X*TG1;?&/(TG38K9,>FV-0*UJ* "BBB@ HHHH M *\6_:2_X)S?L(?M@Z];^+/VG/V2O GC75[1%2#6=;\/0R7HC4Y6,W D:,? MW"Q7KQR:]IHH YKX2?!GX1? +P+:?##X'?##0/!_ARPS]CT+PSI$-C:0D]2L M4*JH8]2<9)Y))KI:** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@#Q3]M7_D6-$_Z_Y/_0**/VU?^18T3_K_ M )/_ $"B@"A^RI_R4_Q;_P "_P#1[5[U7@O[*G_)3_%O_ O_ $>U>]4 %%%% M !7C7[2__!0W]B']C;Q)IW@_]J;]I[PCX$U35[$WFF6/B/5%@DN;<.4,B ]5 MW C/J*]EKXB_X*E?\$$?V/O^"N/Q.\-?%?\ :0^)'Q*T34?"N@OI.GP^"-8T M^V@D@:9IBT@NK&X8ON*[M+G6[^V^+%_;)-(D21*1%%,J)\D:C"@=,]ZXW0OV)?^#,71=6@U2;X MV^!+\02!Q:WWQDU9HG(Y&X+JJ"69OC3X2 '4D_P!FT ?L'^Q]X]_93^(7[//AW4OV)M=\+W_PTL+=M-\- M/X,"#38([=C$T,(0!0$92I [@]Z],KYI_P""2?[/G['W[+G[%&B?!+]A7XY7 M'Q&^'6D:UJ@T[Q7\D>Y07-E#%!*$E9T!1<#;C)()KZ6H @U72] M-US3+G1=9L8KJSO('@N[:>,,DT;J59&4\%2"00>H-?''[<&@:%X5_;E_8]\. M>&-$M--T^R\1^((K.PL+9888(Q;6>$1$ 55'H !7V=7SY^U7^S5\2?C#^U5\ M _C#X/6P.C_#C6]6NO$?VJZ*2^7<0VZ1^4NT[SF)LC(QQ0![_=75K8VLE[>W M,<,,,9>::5PJHH&2Q)X Y)-?"WQT^(GBC_@K)XQE_94_9PEGM_@SI&KPM\3 M_B8JD1:LT,BR#3=/)&)?F56,G(R%;[@7SO4?^"I7P-_:T_:3^"=A\&/V8KO2 M;:SU74&;QG)J.K-:-<6: %+56522DC$E\8.(PO(9@>%^&VF?\%??A!X'TWX; M?#/]G#]G?1M#TBV$&GZ=9:AJ*I$@_P"VV68G)9CEF8DDDDF@";XK:)IOAS_@ ML=\!_#UE9);:9I_PJU:WT2W7[L3)%=(57/I$%'TJS_P6T#']F_P(+7_C]/QF MT+^SL?>\_;!OA MOK2Z[9^%=$UW^TKG6]6CX@EDD ")#&1Y%YY>/;;C]*]]\:2_M1K^T?X0B\"6WAEOA>UA<_ M\)I+?%_[36Y\N7R/L^#MV[_)W9'3=7CWQL_9T_:=^#_[66H_ME?L;Z/X?\1R M>+M$@TWX@>!/$&HFQ^W/;J%M[NWN,%5D5%5"'X #'YM_R &%\>P3_P %HO@3 M]@_UO_"O==^W[>OD>3=[,^WF?K2_\$2@P_9H\;?:_P#C]_X7%KO]I9^]Y^+? M.[WQMKJ?V7OV:OV@==_::UO]M[]L&/0[#Q3=>'T\/^$/"'A^[:YM]!TT2>8^ M^8@"29W)R5R '?G#!$YF/X"_MH_L;?&SQYXM_9 \">%_'G@;XCZX^O77A76] M=_LRYT35I<">6.0J4DAOZ9J7Q,^)^JPWGB'^Q0QL M]-MH$*6UE S_ #,(T8@L>N%&6V;V^A* "O+_ (K?'GXE?#[Q<_ASPO\ LR^* M/%-HL"2#5M)GA6%F8)_V<_$OA=; M/QH7@?59H6%T6A*E4V'J =QSV%?4O_"2ZO\ ]"A>_P#?2UY'^UA_R6SX'_\ M8]R_^DS5[I0!C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM;%% &/\ \)+J M_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q10!C_\ "2ZO_P!"A>_]]+1_PDNK_P#0 MH7O_ 'TM;%% &/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q10!C_\ "2ZO M_P!"A>_]]+1_PDNK_P#0H7O_ 'TM;%>$_MJ?\%+_ -AO_@GMX9/B+]K3]HG0 M?"\\D!EL=!,YN=5OAT!@LH0T\BD\;PFQ21N91S0!PO\ P5#_ ."N7P$_X)7? M 5_BQ\;=-FN=>U198/!'@JWO(UO?$%XJCY$')C@0LAEG*E8PRC#.\<;_ )3_ M +&/_!RO^T5^SQ^T':>-_P#@HEXQU/Q/\-OB_=?:]3@A^'NH:5'\,KTG9##8 M//$!J&GB!8A*%)E\Q99%#L&>Z^#/VJ?^"Y?Q"\2_\%/_ (F_M^?L_:#9Z]>: MI&FF?"/7?BUH46HWW@33H\%6TZT$AL[:7=YA5GCF*B5R29))7?Y9^+OQN_;9 M_;Z^)UAXB^+_ (\\?_%+Q/X@U<6&AQWDESJ$EQ>.5"VEG H*JQWJ!!"HQN4! M>10!_4;^TM_P='?\$COV;5FLH_C;/X_U2$9&E_#:S_M3?_NW64M#_P!_\^U? M"GQ1_P"#OO\ ;*_:0U>\\"_\$S/^"<<]W_X(0?\ !3W]LOQ9XPT3X._!;1=-?P)XA?P[XRN/&^IV M4$>E:DJ*\EJ\,@DE,J*R[MD9V%L$@Y%?H;\-/^#-?]MCXCZ-8:'^UM_P4BT; M3]-LL&'1O#=CJ.O10#^[']KDM$CXXR$('H>X!\T_'?\ :,_X+ ?M<&;_ (;] M_P""OW@/X.>';C/VWPK%\3;.WG$'>-M&\->;<2$= EVJL2.3GFO-/ /@O_@W M,_9[D&K_ !R^/7QY_:+U>-MQL? OA.+PQH\[GDB5KZ47A7/&]'1CUV\X'["? M!+_@S,_X)B^ ?)O?B]\2OB?X^NEQYUOK M]G7X'ZLGA/\ X)"_\$!/".G^(+8!;'Q!J,ESXAUI^R[V@MOM?X?:FR$],T73H?]38:381VT*?1(P%'X"M.@#^>:?_ (-]_P#@X;_; /G_ M +;7_!2:^L=,NO\ 7Z//X[U;5_*!Z@6-]?N]4\W']Z"6;[/^40S7UU\(/@7\!OV?+(:=\!?V4/" MW@F )L$/A+PQ9:_]]+7R?\ MI_\$JO@U^US M\7K+]J#P?K?Q(^#GQAT^Q%E%\4?A+X@73-1O;48"VUZI5H[R( 8==VU57?M M 6OLBB@#X7_9K_X(]?#?X6?'K2?VK_VGOBQ\6/VA?B7X=!_X1/7_ (LZ]'=6 M?AQCC,FGV,:K#;R$@'>=Y5@&7:PW5/\ M[?\$.O^"<7_ 4/%[KWQ?\ V4GT M#Q=>;F;QYX$>+2]5,AZR2LBF&[;WN(Y3CIBON&B@#^=OQ3_P05_X+>_\$E_% MU[\7?^"0_P"U'KGBG01,;FY\+V]Q'8WDZCG%QIMR\EAJ&U1C=GS&_@B!.*]( M_9@_X.]_BA\$?&7_ H'_@KW^Q=KGA+Q)I[+#J.O^&M*FLKF$] ]UI-Z0Z=- MS/%*<\[(>@K]W*\N_:F_8G_9-_;:\$GX??M6_ #PUXXTQ49;;^V]/#7%F6ZM M;W"[9K9S_?B=&]Z .9_9*_X*/?LF_MU^%#XP_9,^+6C>-;>.(27EII>HHM[9 M ]/M%I)MGMR>WF(N>V:]?_X275_^A0O?^^EK\3?VN?\ @SXNO GB[_A>_P#P M24_:XUWX?^)M.E:YTKP]XGU6>/[-)U M-6M +BWP.%$B2DD_-*!7EWA?_@N/ M_P %Z/\ @C1XAL_AA_P5B_94O_B'X0CG%M:^*]3B6WN9E' ^SZS9K):7;;?F M*3*TQX#.F: /Z _^$EU?_H4+W_OI:/\ A)=7_P"A0O?^^EKXX_8(_P"#AC_@ MF!_P4"^Q>'/ WQSA\&>,;O:H\$?$3R],O7E/ 2"1G-O=,3G"PRL^!DHM?;] M&/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q10!C_\ "2ZO_P!"A>_]]+1_ MPDNK_P#0H7O_ 'TM;%% 'P/\8/\ @A9^Q=\9_P!MZW_;%\2?#OQ!!IMW?IK/ MC3X4VEVJ>&O%?B" L+/5[ZT!V231K+<;UQMF:0,_WIA/]O1^(=3B18HO!EVJ MJ %52H 'H*VJ* ,?_A)=7_Z%"]_[Z6C_ (275_\ H4+W_OI:V*_#W_@O#_P7 M@^*/Q8^*#?\ !(S_ ()&27_B7Q_XEOSH7C#QAX4?S)HYFRLFEZ=(IPL@ ;[1 M=9"PJKJ&#!WC *W_ 70_P""]OQ:^,GQ'?\ X)*?\$E[+4]<^('B74&T+Q?X ML\+R^;<1RME9-+TZ2,X60 -Y]UD+"JNH8,'>/ZF_X(1_\$0O 7_!)[X9#XB? M$'P>GB?XV^)+$)XD\4(JO#I$+88Z=8%N5C! \R7AIF7)P@1%U_\ @@]_P0?^ M%W_!*#X7+\1OB-'8>)?C?XEL OB;Q,B>9#H\+88Z;8%AE8P0/,EP&F9-M-\.>&/#UB]YK6MZME:9:276I:EJ-W%#;VL$:EY)9)'(5$506+, M0 237X$_P#!3W_@LM^UA_P6W^.;?\$K/^".WAK5I/!^J/);^+O%]HSP2:_: MJP6:22; ^Q:2N1O9L/<95",.(I,#]M3_ (*!?MR?\'-O[4+_ /!/7_@FWH.I M>'/@9IEVDOB;7]062VCU"W63C4=5=1F*V!7,%B,O(RAF5G"K#^T'_!+?_@E/ M^S)_P2C^ L7PB^!.C?;=;U!(Y?&?CC4+=1J&OW2@_/(1GRH5)810*=L8)Y9V M>1P#R[_@C;_P1U^!G_!(WX1&S\,^#)O$WQ-UVT1?&GQ#NK=%FN.0QM+522;> MT5@"$!W2%0\A)"!/M/\ X275_P#H4+W_ +Z6MBB@#'_X275_^A0O?^^EH_X2 M75_^A0O?^^EK8HH Q_\ A)=7_P"A0O?^^EH_X275_P#H4+W_ +Z6MBB@#'_X M275_^A0O?^^EH_X275_^A0O?^^EK8HH _,;_ (.-/^"0LW_!3[]FY/BK\'OA MO/%\9_AS92S>&)XE0/KM@"9)M))?\ !,#_ (**_"#_ (*@?LB>'_VG_A3+':W%RGV/Q9X<:^M1/<6$ELQ8CRI2,_7BK%% !1110!XI^VK_ ,BQ MHG_7_)_Z!11^VK_R+&B?]?\ )_Z!10!0_94_Y*?XM_X%_P"CVKWJO!?V5/\ MDI_BW_@7_H]J]ZH **** "BBL]O%GA5/$Z^"7\2Z>-:>R^V)I!O4^U-;[BGG M"+.\Q[@5WXQD$9S0!_.%^T#^P=\3?^"_'_!P7^T?\$O'O[0T_A+3/A/I=Q!X M?$NGF]$5M9R6]G#:0Q&1!#')-+)<22#=\SM\I+@CYV_8@_X-^W_;L_X)J?$_ M]K[X>?M SZ/\2?A1KFM:;KGPWU70T:WNI=/MHKHQ+2*0JK-&R^8A4D M#++^T'Q'_P""''QE\,?\%V?"O_!5?]F#XY)H/A+Q#J/F_%_PLE_-:W4H2SV, MD7EJ4N[:YE@MC+#(5*R$N-XP(_B__@H1_P $)/\ @M3\*?VJOC-)_P $L/'M MU-\'?V@M:N-2\5Z'H_CJUT?[+]J>1[BUNX;F6/=&KS3HK6Y_\$;/A>OP#EUP64$NHQ^(+7Q#>13W%KK/VN1KQ \44:^29&\R( M;=PBDC#$L&-??M?*/_!%;_@G;J__ 2^_P""?OA7]ESQ?XGM-8\31W=WJ_BR M_P!-+?93J%U)N>. N S1QHL408@%S&7VKNVCZNH **** "BBB@ HHHH **** M "BBB@ HHHH **** /"_VL/^2V? _P#['N7_ -)FKW2O"_VL/^2V? __ +'N M7_TF:O=* "BBB@ HHHH **JZWK>B^&M(N?$/B/5[73["R@::\OKVX6*&"-1E MG=V(55 &220!7YC_ /!0/_@Z_P#^";W[()OO!OP(U2X^-_C&VW(MIX-NECT: M&4=I=3=6C=?>V2X'8XH _4*OBS_@H%_P7]_X)G?\$[!>^&_B?\;X?%/C.SW* M? 7@'9J6I)*/^6?&$ MV?C3]NKXJ:9\*M%DVR2^&=%:/5M/^"F/B;_A;/B7X>:KX9TC7)Q M\NRPY601E&XS(,YK^D']A#_@AM_P32_X)WI9ZQ\"?V=["_\ %-H%(\=^,=NJ M:P9!_P M(Y95V6K'O]F2('TKZXH _GZ\1_\ !K8W_!-[5? /[4FC_"9OVQ-( MT&69?BO\*I;9]*NIHG"^5>Z1!%.?M;PD-NM9VD\[(PGS$Q:_[(-M\"?V>/BY MXD\7?\$H?^";_P"TK\0/C3JZ3Z9\+--^.G@V;3/#?P5L;DM)/;FZNI66)!// M/*<'?(C^4)%+RR3?O=10!\Z_\$NOV%'_ ."??[*EK\(_$_C4^*O''B#7+WQ3 M\3_&#*0==\1W[B2\N1D E00D2$@$I"A8!B:^BJ** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ JAXH\*^&/&_AZ\\(^-/#EAJ^DZA 8;_3-4LTN+>YC M/5)(Y 5=3W!!%7Z* /RT_;W_ .#2W_@FY^U?]M\7_L^VM[\$/%EQN=9?"< N M-%ED/>339&"QKT 6VD@4>AKX@_X59_P= ?\ ! O]]\,];N/CM\'M)Y6PM4G\ M1Z=!;+R%-HVS4=.55R6\@K IR2[8S7]%5% 'Y%?L&?\ !X!^PE^T#):>!OVQ M?"6J?!7Q0["*74+HOJ6A2R]/^/B)!-;9/)$L01 >93@FOU9^&_Q.^&WQC\&V M7Q%^$GQ T7Q1X?U*/S-/UOP]JD5[:7*^L_P#!-?\ MX*+1W>K_ ![_ &>K"R\572G_ (KSPAMTS65<\>8\T:[+HCL+E)5'I7Y3?$C_ M (-QO^"P7_!+'QE>_'#_ ((T?MG:GXCT]9//G\*C4$TO4IU7E4FM9V;3M3"@ M?\M-A)P%B)H _H.HK\&OV:O^#MW]H3]FCQTG[//_ 63_8IU[P]KMB5CO?$7 MAS19-.OXUSM$L^EWA59 >6,L,J*0/DB;(K]6?@/_ ,%'- T[[=XCEU36$T^YT:#(&^[MKKRYK<;B%#.@#,0%+9% 'T917P' M>_\ !S#_ ,$HX;J>^TKXA>/-5\-VLS1W7C?2OA3K4VCQ;3AF,PMMS*,'YE0@ M[21GC/Q!_P %G/\ @X@\2_M7ZII'_!-G_@BAJNI^,?$GQ%CBL]9\=^&+:6.= MTN$S_9^G;U1XY"A)GN6"B! P!5@[Q@&S_P %X?\ @O!\4?BQ\4&_X)&?\$C) M+_Q+X_\ $M^="\8>,/"C^9-',V5DTO3I%.%D #?:+K(6%5=0P8.\?UI_P0>_ MX(/_ N_X)0?"Y?B-\1H[#Q+\;_$M@%\3>)D3S(='A;#'3; L,K&"!YDN TS M+DX0(BG_ 0>_P""#_PN_P""4'PN7XC?$:.P\2_&_P 2V 7Q-XF1/,AT>%L, M=-L"PRL8('F2X#3,N3A B+]6?MS?MW?LV_\ !.SX :G^T;^T[XYCTC1;$&*Q MLHZO=E28[.TA)!FF?!P,A5 9W9$5F !TW[3/[3?P,_8\^"NM_M"_M&_$. MQ\,>$_#]MYM_J5\_WF/"0Q(,M-,[85(D!9V( !-?SV_%/XR?\%"O^#M/]K8_ M!#X#V&H?#C]F?P7JJ3:A=WR$VUJF3MO+_8P6\U&1<^3:*VR('[P EN&;X)^' MO_!0W_@[=_:Y'Q)^*%UJ'PT_9C\#ZNT=K!:L6MK)>,VUKN 6^U22,CS+AEV0 M*_15,<,G]!O[*_[*?P$_8K^!^B_L[?LV?#RS\->%="@V6ME:KEYI#C?<3R'Y MIIG(W/(Y+,>_ .7_8(_P""?_[-/_!-W]G[3OV=OV9/!2Z=IEMB;5=5N=KW M^MWFT![R[F !EE;'H%10$1550H]KHHH **** "BBB@ HHHH **** "LCQ_X" M\&?%3P-K'PT^(WAFSUK0/$&FSZ?K6D:A")(+RUF0QRQ2*>JLK$$>]:]% '\V M5G-\8O\ @TW_ ."O#6=TVKZW^S)\7)>'^:4SZ4)>&]&U'3FEP1UFAD_@^T#9 M_1SX'\;^$/B7X,TGXB_#_P 1V>L:%KNFPZAHVK:?,)(+RUF02131N.&5D8," M.H->$?\ !4O_ ()P_"/_ (*C?LA:_P#LR?$](K.^E7[;X.\2^0'ET+5XU807 M2CJ4^9HY$!&^*1UR"0P_)W_@W&_X*/?%W]@?]IK7/^"$?_!1!Y=%U#2_$$UE M\-;W4Y_DL=09O,.F+(V ]M=!A/:N,!FEVKN\^,* ?O;1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'BG[:O M_(L:)_U_R?\ H%%'[:O_ "+&B?\ 7_)_Z!10!0_94_Y*?XM_X%_Z/:O>J\%_ M94_Y*?XM_P"!?^CVKWJ@ HHHH *_*K_@X0_X(=_M!/VG_V.?CI MH/AOQ3\/_#W6GSS.;AYQ-;WMNK^7)\Y4*RJ,C/F#/'ZJUX[^UM_ MP4"_8M_81\/Q>(_VM_VD?"_@A+F%IK&QU2^W7UZBG#-;V<0>XN #P3'&V#P: M /P/TS_@I=_P<^_\$89%TK]LKX/>(/B!X'TXA9M1\?Z4=:LQ$.K+KM@Y<.1R M/M$TF.\?45]P_L7_ /!XC_P3M^/!M/#G[4GA#Q)\&=2W5%!Y?J1YE^V7_P>G_LV>#DO/"W[$G[-6N>/+O#11^(_&TXTK3<] MI$MT\RXN$/\ =?[.W)].?S@O?V _^"PW_!=SXOQ_'CPU^P-X2\!Z3J)+KK^E M> [3P=H;(Y!,YFD47.I'H-X:Y<8.,\.:I%>6L^UBK!9(F*[E8%67.58$$ @BNFKY4_X(N?L#?$+_ M ()H?\$^/"7[)'Q4\::-K^O:+?:C>:AJ'A\2_9-]U=R7'EQF94=PH<+N*KG& M=HKZKH ***YGQI\9/AA\._%GAOP)XT\96EAK'B^]DM/#>FR[C+?RHF]PBJ#@ M*N,L<*,@9R0" =-1576];T;PUH]UXA\1ZO;6%A8V[SWM]>SK%#;Q*"6=W8A5 M4 $DD@ "O*OA3^WU^QM\7$@,DF,C)53C(SC(H [JBN1^#/QZ^#7[0WA4^-O@E\2-*\2Z8LIBEN M=,N0YADQG9(APT;8(.U@#@@XP:Y[XZ_MG_LL_LSZI::%\<_C;HOAZ_O8Q);Z M?$;/Q[\,_&&G:]HM M^A:SU/2[M9H90#@@,I(R"""#R""" 16U0 4444 >%_M8?\EL^!__ &/Z5\T_MZ_%SX6?"'XK_ ,UWXJ?$;1/#EG)\0?)2ZUO4XK:,O)&(D&9& YD MD1?JPKZ0T_4=/U>QAU32KZ&ZMKB,207%O*'CD0\AE89!!]10!-17AW[9_P#P M4E_8?_X)\^&/^$E_:W_:+\/^$Y)8#+8Z)+<&XU2_7.,P6, >XE7=P75-BD_, MRCFOQ?\ VUO^#Q?XX?&/Q$?@G_P2F_9FO+.\U.8VNF>*O%FF?VEK%W(V0/L> MEVY>)'R,J9&N-P/,2F@#]XOC=\?_ ('_ +-7@&Z^*?[07Q:\/>"_#MF/W^L> M)=6BLX V"0BM(PWN1< M#]X3S0!^'H\&_P#!PW_P<6>((M6U>#Q=K7@2XN@]O<7Y_P"$?\%V(#<-&F$B MNF3@;D6XN .I/6OT6_8-_P"#,3]FWX:_8O&?[?\ \:+_ .(VJIMDF\(>$7ET MS1D;O')<<7=ROHR?9CSRIK]L;:VM[.WCL[.W2**) D44:!510,!0!P !QBGT M <)^SY^S!^SM^R?X$B^&7[-7P4\->!]"BVDZ?X;TB*U69@,>9*4 ::3UD,[;4.^./LK29_"@#ZCK'\-?$'P/XRUG7O#WA3Q98:C?>%]473?$5I9W2R M2:==M;0W2P3*#E',%Q!)M/.V53WKX)^._P#P=%?\$;OA3\/-?U[P3^U9;>,O M$>GZ1[JH!SGBORX_X(J?\%E?@9^R MG^WA!X\^.'[6EWK6G?M*Z1=:G\>[W7-)GM-/\)>,OMMS<6*]"NQFUUKPUK$-]:3<9 M^66%F1NHZ'O6_0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 >=?M*_LB_LQ?MB^!7^&O[47P*\->.=&(;R;;Q!I:3/:LPP7@EQYE MO)C^.)E;WK^?3_@J-_P;0?";P]_P4=^''[(G_!/?QI-X4G^*7@C7M?TRP^(& MKRW.G07>FE'-E;W"1/<*K1,6S)YS+@'<0>/Z4*^2?^"L7[#_ ,8OVF_"G@/] MHC]D+Q%I^C_'CX%>)7\1_#"ZU9MMGJ8DC$5]HURV1M@O(56-CD?,B LJEF ! M^)WQF_:%_P"#JO\ 9C^%"?\ !+OXD_#7Q+?Q^-G@\->$/&VC>'H[N\-NWR?9 M+/6;(B%1)%G<]QF>*/)W1!21]-?\$7?^"8>M?\$>O^"N_P ._@7XT\4Z7XM\ M7_$G]FG5M:\;F&PC=/#=Y'JD(46$/"MO(9(;6YN$R(T>X FN9L$-(F(UWF2- #]%?^"F__ 5&_9C_ ."5OP!G M^-7[0.O^?J%X)(?"/@W3YE_M'Q#=JH/E0J?N1KE3).PV1JPSEF1'_$_]D3]A MS]N__@Z)_:F3]N[_ (*":YJ7A+X!:)>R0>&]$TYGABNH%D^;3M)1^B94"XOV M!9F7:I9EVP]%_P $TO\ @D;^UO\ \%XOVAU_X*I_\%@=;U,?#V^E2;PEX.;S M+0Z]:*Q:&VMHLYLM)7)PP/F7&68,2[3M_0=X3\)^%_ ?AC3_ 3X(\.6.CZ- MI-E'9Z7I6F6J06]G;QJ$CBBC0!415 4 "@#*^#OP<^%O[/OPPT7X+_!3 MP)IOAGPKX=L5L]%T/2;<1P6L*]@.I))+,Q)9F9F8EB2>EHHH **** "BBB@ MHHHH **** "BBB@ HHHH *_*/_@YQ_X(SZA^VU\&(?VV_P!F#0IHOC3\+[#S MY(=)4K=>(](A)E,*%/F-W;G=+ 5^9AYD8#,T6W]7** /SC_X-S/^"S.G_P#! M4']F'_A6WQ?UV$?&GX<).%X2;G"K-&M?HY7\] M'_!<+]B3XT?\$1OV_?#G_!:S_@GKI7V+P?K'B/=XV\/6L9%EIVHW!/VBVG1. MEA?J7'I%.2%*$VX'[;?L&_MM_!?_ (*'?LM>%_VJ_@3JGFZ1XAM/]+T^60&X MTF^3 N+&X ^[+$^5/9EVNN5=20#V&BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH \4_;5_P"18T3_ *_Y/_0**/VU M?^18T3_K_D_] HH H?LJ?\E/\6_\"_\ 1[5[U7@O[*G_ "4_Q;_P+_T>U>]4 M %%%% !7YX_\%;/^#?WX??\ !7K]J7P+\:/C%^T'K'A;PQX.\*-I%UH/AO2H MFOM1=KJ28NMU,S1VX 8#F&4DYZ8Y_0ZB@#Y-_8O_ ."'?_!,#]@[[)JWP,_9 M6T*X\0VFUD\8>+(SJ^JB0?\ +6.:YW"V8_\ 3!8E]J^LJYGP-\9_A1\3/$OB M7P9X!^(6DZMK'@W5%T[Q7I5E>*]SI-TT:RI%<19W1%HV5U+ !E.5)%;^I:EI MVBZ=<:QK&H06EI:0/-=75S*(XX8U!9G=F("J "23P ,T 3T5PW[/7[2GP._: MN^'A^+7[._Q%L/%?A@ZK>:=!KNEEFM;F>UF:";RG( E02(RB1=F_;NQSC.*_-_XA_LV? M%SX0?\%#OV:_BI^T1\=+GQSX[\9^)M535I8(!!IFF06UO"8;2RAP"L:FXE)8 MA=Y()4'<6_2^OCW]O[_D_P"_9&_[&GQ#_P"DUG0 O_!7J_OO%WAWX0_LQ)?3 M6^F?%+XN:5I7B/R)"IFTY9%,L61V+-&_UC%2?\%6OV>OAEHO["^K^.OAWX*T MOP]KWPS^PZOX+U31K".WETMX+F$%8F0 A3&6&WIN"-C*BF?\%>+"\\(>'OA! M^TZ+*:?3/A=\7=*U7Q)Y$98PZEZ+?1W,NJ//%?@)J_P<_;!^''ARRTCQ)X7^*.G:7>7FG6RP->:3=),)[64H!O4 MA-H!^Z)'QC<:Q/CGX;LOV-OVOOV5_B[\0=0BM/"NE>"YO &O:[*VVWL;@612 MV:1SPBO(['<< +&Y. *VO^"J'B_PG\>]7^#?[('PW\166L>(_%'Q1TW5+VST MVY6=K/2;9)3/C^&_!MKJ$*S1Z>)HY7N)(U8$*YDBD.X#($S#.#7UAK/Q=^%_A[ MXB:3\(]=\>Z5:>)]>@DGT709[Q5NKV.-79WCC)RX54H"**9+B.-F(#.))9!M!R1"QQ MQ0 Z30]$_9N_X+*>'M$^&>DP:3H_QB^'%VWB+2K&(16\VHV333+=^6N%$GEQ M!20.=\A/+DU#_P $JO"?A?X[WOQB_:]^(_A^RUCQ'XL^*&HZ;:WFHVJSM::5 M;+$L%K&7!V( Y4@?>$<><[14KZ]H?[2/_!97P]K7PSU6#5M'^#OPXNU\1:M8 MRB6WAU&]::%;3S%RID\N4-@'@I(#RA%0_P#!*SQAX2^ ]]\8?V0/B/XCLM&\ M2>%/BCJ6I6MGJ5RL#7>DW*Q-!=1[R-Z$(6)'W5DC)QN% %O]B+3]/^ O_!1G MX^_LJ>"+1++PA<6FE^+=#T> ;8-/GGAB6Z$2#A%=Y5^4# 6) *^S:^,OV( M-2T[X]_\%&/C]^U5X'NDO?"$%II?A/0]9@.Z#4)H(8C=&)QPZJ\2G<."LJ$$ M@U]FT %?*'_!;+]N[Q3_ ,$Y_P#@G'X[_:1^'8M!XL06FC^$I;^,/!;ZA>SI M ERZD$.(4:2?:00QA"D8)KZOK\Y_^#E']D?]G+XI_P#!,CXO_&KXS^.-0T74 M/#?AZ#4?#=S+?NUJNK02JMG"MO\ =\RX>3[+N'(%R3VH _G2^/7@?7?V@OB7 MXR^/'Q\U'XE7ND>&?!,&J^(_&7B&;[?XBU:]U!&72;BYAN)1':17$TB7*6BE M1%IZ9#ROB5^*_9R_X*D?MT_L=>!]3^'7[)O[0OB#X?:1KNDM9:[9:#J$C17; MF1G-W&EP9%LKK!5//M1"^U!R"6)^R_\ @DK^V!^Q/X;36OV;_P#@IM97-K=> M(?%MUK7Q#\5^*]4N)XM;L5L]LEA=Q$>:ERACS$4+>>)BJ8D $G _!?1_V$/V M\?\ @N7\/M4\#_!/3?A7^SUXE^*&E:=;>'I;19;>=H(&^R6=R,&.&349;=4D M@1BL?VD[BS*6(!\E?"_XC_L_^)/B3<_%G]M\_$[XC7=[=/!<7@T];B8;LD(TA49(4"OZ(/"7[&O[+W@'9_P@OP, M\+Z+Y>/+_LG0+:VVXZ8\N,8Q79Q^!-%BC6**:[55 "JMTP ["@#\&O^(CK_ M (.)OB>=OP/_ .".8>*7'ERCX0^*]2V@\9WQ3Q(.>Y&/6C_AX5_P>.?%KGP; M^P^?#/F_<_XMG!9;.W_,4G;'KS_*OWG_ .$'TC_GYO?_ +:C_A!](_Y^;W_ M ,"VH _!@>"_^#W_ .+6#K/BP^&K:3E/]/\ !%EM'3_EU#3#N?FY_2@?\$CO M^#N/XL_\CC_P4W/AGS.6_P"+U:I9[>W_ #"[5L>O%?O/_P (/I'_ #\WO_@6 MU'_"#Z1_S\WO_@6U 'X,#_@UL_X+1_$K_DNW_!8 7&\?O?\ BL?$>K?^E'DY M[U:TC_@R'UC7KL:M\5O^"G=S>SD8D6S^&+2.1_UVFU,GUXV5^[O_ @^D?\ M/S>_^!;4?\(/I'_/S>_^!;4 ?C5X2_X,C_V++/;_ ,)W^V+\4=2Q][^R;+3; M+/T\R&?'ZUZCX1_X,W_^"1OAO;_;.O?%WQ!M//\ :_C.U3=QW^RV4/Z5^HG_ M @^D?\ /S>_^!;4?\(/I'_/S>_^!;4 ?@K\1O\ @C7_ ,$;9O\ @L3X3_8? M^''A'3?#O@;X4^%G\4?'O6?%/Q(NPVKW5RJ#3- C:>Z41,05N93$ QBD*AU* MX/TY^V3_ ,$(_P#@@5\;?V=]?\%? &?X8?#WQU'HUP?!OBC1OB9C[/?^63"+ ME)+N1+B%I%17#J6"%MC*QS7UO\3/^"'7_!*OXR_$'6/BM\5/V./#.O>(_$&H M2WVM:QJ33R3W=Q(VYY'8R=23TZ 8 P !6'_Q#W_\$;?^C"O!?_?J;_XY0!^' M7_!.7_@AU^W#\9/V:[3]M#_@E-^WP_A7Q]H^JW6@_$'P)<:U=:)>Z5K-D^V: MU6]LGDBNXY%:.9!*L:>7.%9F()/O4/\ P6R_X./_ /@D_,FC_P#!2K]C"3X@ M^%+%@EQXFU31%M]R#@*FLZ2'LLD=Y8Y)#P3SG/[5?LP?\$[/V.OV+K#6-*_9 M7^"]CX'M=?FAEUBVT.XE2.ZDB#B-V5F(W .PR,$@\YP,>I3> M#N(F@GENW1 MU*NCW+$,#P00>HH _,[]D'_@[H_X)9_M$?9="^-=_P")/@[KDV$>/Q9IQN]- M:0]DO;,/A?\ ;GCA'%?I%\(OCA\&/V@/"$7C_P"!7Q:\->,]#GP(M8\+:Y!? MVS'&<>9 [+GVSD5\H?M7_P#!O+_P2:_;!%UJ7Q _9=T_0=_P#@6U'_ @^D?\ /S>_^!;4 ;%%8_\ P@^D M?\_-[_X%M1_P@^D?\_-[_P"!;4 ;%%8__"#Z1_S\WO\ X%M1_P (/I'_ #\W MO_@6U &Q16/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U &Q16/_P@^D?\_-[_ M .!;4?\ "#Z1_P _-[_X%M0!L45C_P#"#Z1_S\WO_@6U<5\:/BS^S'^SCH?_ M DW[07Q^\.>!]/*%EO/%OB^#3HW _NF>1=Q[8&23Q0!Z;17YB_M(?\ !SY_ MP1>^ 'VBQ\-?&[Q5\2]2M\AK#X>Z+/,F[L!"?[0\6>(K;3H3CKA[AT!_ U^"-G\!?^#P?_ M (*)MO\ %/CG4/@KX;OO]7]IUVV\+K IZ@I9"35 ,?\ /0'T]:\"_;[_ .#= MGQA^RM>_#'1/VD_^"@5EXQ^,_P ;O'-OH6AZ=);R+9:?:(5?4-7O-1OI_-EM M[>-UROE1L6E4@G!6@"?]OG_@N)IGBW_@H?K'_!3[]G'X_3OXT^&_C>'PC\%? MA]-HMQ+I-_X-CM+Q-2U"_?\ =KB]N9D>*-7\Y5!WHNV&1?IW_@B__P $./BW M_P %(?B=;?\ !83_ (+%>(;CQC'XNDBUOP;X,U>59!KL; -;W=ZB_)%8*NWR M+)0%= NY5B CE^N/V8_^"(O_ ;M?LR)8ZE:S^ ?&FNV4:AM>\??$>VU%Y7" MX\S[,9EM4;.6!6$$'&#P,._X(@>.?!?P*^-?Q>_X([ZC\5+?Q%:?"S4W\2_! M36M/U]+I=3\%7\OF)!YD;,'ELKB7R9"2.9@% 5* /TWM;6VL;:.RLK>.&&&, M)##$@544# 4 < < "I*Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\ MJ -BBL M?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VH V**Q_\ A!](_P"?F]_\"VH_X0?2 M/^?F]_\ MJ -BBL?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VH V**Q_\ A!]( M_P"?F]_\"VH_X0?2/^?F]_\ MJ -BBL?_A!](_Y^;W_ ,"VH_X0?2/^?F]_ M\"VH V**Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\ MJ -BBL?_A!](_Y^;W_ M ,"VH_X0?2/^?F]_\"VH V**Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\ MJ M,WXX_!/X8?M(?"#Q'\!_C1X2MM=\*^*])ET[7-*NU^6>"1<'!'*.#AE=2&1E M5E(*@C^>/]E;XK?&3_@U;_X*S:M^R9^T'K>H:I^SG\4+N.>SU^:,M%]C9S'; M:RBJ,+_^!;5\H_\%B/^"1?PN_X* ME_LBZG\';ZX73_&VC+)J/PY\37V5[;I/9WEI,LD4\3J&21'4D,K*000<$$$58K\*_^#9C M_@I/XR\!_$'5/^"*?[?+_P#X.!/V4OVP_P#@E1^W#JO_ 6O_9 _;"TK0O\ A.=; MMH]3\,7.IPV>H&588(6MEM)G*:S:,(D=T"EXMP8Q[4\U?EGXS?\ !67_ (*: M?\'$_P 9O!?[!.G_ !)\"_"CP]XC$%K?Z'#X@.DZ5JUTJ@R37" MM&AUS%RD8W^'O$6DVU M_87UN\%[8WL"RPW$3 JR.C AE()!!!!!KROX5?L#?L;_ 1\=?\ "S/A9^SQ MX=TC75+09G>V)&"81(S+ 2"1F,+P2.AKUZB@#%^(7PX\ _%GPC>> ?B; MX/T[7M%OT"W>F:K:+-#)@Y!*L",@@$$<@@$$$5Q?P*_8S_9;_9GU*[UOX&?! M/1?#U_>QF.YU"VB:2X:,D$QB65F=4) )0$*2!QP*].HH YG6_@U\*_$GQ+T? MXQZ]X$TZ[\4^'[>6#1-=F@!N;*.175TC;^$,LC@_[QK+^.?[,_P#_:7T6W\/ M_';X5:1XFM[-V>R.H6_[VV+8#>7*I$D><#.UAG SG KNJ* .1^#'P$^#7[/' MA0^"?@E\-]*\-:8TOFS6VF6P0S28QODG44 8OP]^'/ M@+X3>$;/P#\,_!^G:#HNGH5L],TNU6&&($Y)"J ,DDDD\DDDDDUM444 %>?? MM+?LI_L\?MB_#I/A)^TY\*M-\9>&DU&*_&BZMO,!N(U=4D*HR[BH=L Y&3G& M0"/0:* /S6_:H_X(3?\ !(^Q^)WPC\,Z5^PWX2L++6_&3V^K0Z;+=VQNHEA+ MA':*96*[@#C//(/!(KV_2?\ @@M_P1\T*]MM3T;]@7P-;75G*DMI=0PW"RQ2 M(05=7$NX," 0VY?_ $F:O=* # Q1110 4444 %% M%% !1110 4444 %%%% !1110 4444 ! 8%6 ((Y!KY&_:^_X(4_\$K?VV_M6 MI_&+]D;P[9:[=;F?Q3X.B.BZB9#_ ,M7DM-BW#?]=UD'MP*^N:* /P:^.'_! MGC\:/@7XM?XO?\$K/^"@^N>&=;M-S:;8>++J?3;V$9SA=6TL!LG !ME&0,M MZ<9_P\?_ .#IO_@D5_HG[9G[-]S\7? VG<3>(-5T5=4BCMU_C_M;23NB)[-> MAVY.5]/Z&** /R+_ &0?^#QS_@G-\;/LNA?M.^"/%GP=U>;:LUW=6YUK2%8\ M8%Q:()QSW:V50.2W7'Z:_L_?M5_LT?M6^%AXT_9I^/7A+QUI@53+<^%]>@O/ M()Z+*L;%H6]5<*PZ$5XS^U]_P17_ ."8?[YLS&\Q!Y EWKZ@Y-?F7^T#_P9M>)OAIXI/Q9_X)@_MZZ_X0UV MS8R:5I_C*66WG@8\_N]5TT))$!T ^SL>F6XR0#]V:;--#;PO<7$JQQHI9W=L M!0.223T%?ST_\-H_\'7_ /P2&_T?]I;X)WGQL\":=Q)K.I:4/$$*VXX:4ZEI MK+=PDXX>]S@XRO/+OVHO^#N+P#^V9^Q+K_[,.@?"77O@W\0_B#+:^&]7\7W% M\-4T;0=(NI!%J5^)(42[:1;._!OQ0\$Z1\2/A MUXGLM:T#7M-AU#1=7TVX66WO;69 \4T;KPR,K @CJ#6M7\_W_!/+_@XN_8B_ MX),_"?Q]^PQXI\=>,?C/X,^'WC*VF>1 M&<+M;S"(U*(N9/%'_!V]_P %!?VK=D8R-LXR>A.*[OX(?\&5GA#6]9_X37]N/]O;Q3XJU*[D$ MNI6G@S2DMI'?OF^OFN'ESZF%#0!]3_M(?\'8O_!'KX#?:+#P?\4O$OQ.U&#* MFT\ ^&)6BW]A]HO3;0LO^U&[C'3)XKXQ\8_\'>?[;_[3GB"?P#_P30_X)AW. MKZAG9!/J<6H>)+I@W1S9Z;'#Y1] 99!QDY'%?HO^S?\ \&XO_!'+]F?R+W0/ MV-]%\5ZE#@MJGQ$N)=<:4CHQ@NF:V4_[D*U]G>#O!'@OX=^'X/"?P_\ ".EZ M%I5J,6VF:/I\=K;Q#T6.-0J_@* /P&_X4#_P>+_\%'_F^(?Q'? M'.K:3IWV#3+S74E6@5PJ@N[$G&3QD\#'N-% 'R!_PX(_X(V_](]O MA_\ ^ _\ @DO_ ,$XOV4?BC9?&K]G+]D?PKX/\5:?#-#::WHT M'4HBG/VNRV!MP^9H$ZY@C5OJ[_@@O_P %>_"W_!6' M]D>#7O$UY:6GQ6\%QPZ?\2=$APGF3%2(M2A0=(+@(S8'^KD66/HJLWW))''+ M&T4J!E8$,K#((/8U_.7_ ,%.?V8OC-_P;:_\%/?#O_!3[]B+PY(WP8\=:O); MZ[X6MR8[.U><^9>Z%+M!6."94:>U;&(GBP%/V==X!_1K17GO[*?[4/P=_;/_ M &>_"W[3?P$\3+JOA;Q;IB7FGS\"2%LE9+>903Y(?$<7BVY2^?2=( MTQ'O/LDDI+39>-&-NY EC\Q2&8B-_5?^"GOP._X*=_\ !&'_ (*P>-?^"L_[ M 7PD?Q]X!^*EFQ\7Z<-#GU.WLI)?):ZM[Z&V99H4-Q MQ%=(552_ELWWED^! M?V/_ /@HA_P51U3X+?&;]A']BO\ 9?N]2U']H/QOJ6J^*M0T3PO>W>HZ>NH1 M+!+VLX1'#<7]I)L-PB#A/-B,4Q4 *K2,JC"BOKNOD;_@AU_P3^\4_ M\$U/^"%[BXE6.-%+.[M@*!R22>@K M\3_@3^SI_P $QO\ @M1^UQ\?OV\OVTF\!)\/KG55\"_!C1G\51:)=7=GI[DW M7B%VMYH999+BX8^5))DB,/&P90M?M!XQ\(^'?'_A'5? GB_3%O=)UO3I[#5+ M-W91/;S1M')&2I# ,C,,@@\\&OE+_AP1_P $;?\ I'M\/_\ P#F_^.4 ?G-_ MP4,_X):_\$A_^">_P?\ !7[;W[#/A7X>>+M6^#GCFTUOQ]X(\1>-8?$7_"9^ M')&$%];_ &6]GEB\Z%'$T3)&NS8[X9PI'[5? 7Q!\'_&'P8\,>-_@!!I*>"] M>T.VU/PR=#LT@M9+*XB66)XXT 50493C QFOF[_AP1_P1M_Z1[?#_P#\ YO_ M (Y7TK\$_@E\*_V'1M$LFQ(7<[$ M#.!G P !0!U5%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !7GG[5_[+GP<_;2_9Z\4_LQ_ M'OPTNJ>%_%NF-:7\/ E@;(:*XA8@^7-%(J21O@[713@]*]#HH _G+_X)@?M0 M?&;_ (-NO^"G?B+_ ()=_MP>(G;X-^.-7CN-!\4W ,=G:/.?+LM;*5!ETV9ST@N BKDG$U>]5X+^RI_R4_Q;_P "_P#1[5[U0 4444 %?E[_ M ,%X?^"MO_!3G_@G=\M:NUK=K/LM+CQ#\,_$MDD[8SM1IM54,<E^%?V^_@I^Q5_P '4WQV M^)G_ 4RN9M,M)](;P_\._%>J:?)=0>&K=X[*2RD1$5FABFM!(IFC4[6N'W8 M665A]8?\%F/^"X'_ 1V\=?\$Y?BI\';+]H+PG\4];\8^#;W3/"_A3P]&]\Y MU.6)EM;IW">7;"WF,<_F,RLOE?)N?:I /K[_ ()%?M0_M6?MD?L*^%OV@_VS M_@M!X \=ZW=WWVOPY;>'+[2HTM4N72UF2WOI9)@LD(20.7*N&W+P17TQ7YV? M\&K^N?&77?\ @C#\.I/B^]Z\5MJFK6WA":_+&1]&CNW6 MR8UD\Y(^PC1 O MRA:_1.@ HHHH ^8O^"N7QD^*?P3_ &.[SQ!\*/$-UH5SJ?B&PTK5?$UDC&71 M;&=V$MTI7E#D)&&&"/-^4AMI'SY^V5\ O '_ 3[^#7A7]J/]D;XZ^+#XW;Q M!I\-C%>^+YM2B\"M?BT.#XP>/[7POKWB&:TCF^QV$Q"RJBR KO?>,$]E8#!.X>3?M:_\$U/V M?_V(OV?[C]K#]E:]U+PQXX^&,<.I:;JFJZDU_#?XE1'BFAN-T89PYP8E3YR. M,'% 'J/[?7CKXC?%3X^?"+]@SP#XVU3PG#\0VO-4\=:OHEUY-[#I5I$9#;12 MC[AE*2H6'=5!RK,IX;XU_"2R_P""6?Q1^&/QL^ ?CKQ/'X&\3>-K7PM\0/"& MM:_/?VLJ7:N8[Z,3,3'+'Y;L2#R0JC:"X:76?'=WXM_X*5_LL?'GQ1I@TR+X M@_!V\6"!R0D%X]G)=O ">X^T(@[DD#O73?\ !:1?[>^"_P ,_AIIQ\S5O$WQ MJT.TTRV3EW;$^6 ] 60$^KCUH ^QZ^(_%_AS4?\ @H?^WUX_^ WCKQQK]C\+ M/@[I6GP7GA_P_JTMD-:U>\C,GF7$D1#LD:I*@7(P8@01N;=]N5\<_L**/"?_ M 4<_:N\#ZP?*O[[5] U>SC?K-;/;W#;U]0OG1#/JV* (/V>U\2?L6?\% S^ MQ-;>/]>.O![GT2]@D<3VD%_AYX3T7Q!/86MO':!"]\XA8%YI/ M,0[B>#O!W*$"];\9E_X2C_@M7\'=+T@^;+X8^&.L:EJPCY\F&<7-M'NQTR[+ MU_O#U%+_ ,$6E&@_ [XC_#;46V:MX9^,^N6>J6S\.C_N<,1UP2& /JA]* -' M_@GWXX^(/PT^/_Q9_8'^)'C_ %3Q3%\/)[+4O!6NZY<>=>RZ1>1+(+>:0\R& M$O$H8]V8#"JJCZUKXX_9T7_A*?\ @L=\??%>CGS;'0_!.AZ1>SQ\H+F2*"0) MGU'E2 CL5([5]CT %%%>7_%;PI^UGJ_BY[SX/_%?POI&BF! EEJVA/<3"0#Y MV+@C@GH* .;_ &L/^2V? _\ ['N7_P!)FKW2OD+XN^&/VHM)^.7P>;XN_$_P MUJ\M?4OV+QO\ ]!NR_P# 8_XT ;%%8_V+ MQO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C_C1] MB\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XT M ;%%8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ M ,!C_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR M_P# 8_XT ;%%8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O& M_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+ MQO\ ]!NR_P# 8_XT ;%%8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0! ML45C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ MP&/^-'V+QO\ ]!NR_P# 8_XT ;%%8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ M ,!C_C0!L45C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ M /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XT ;%%8_V+QO\ ]!NR_P# 8_XT?8O& M_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ P&/^- &Q M16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XT ;%%8_V+QO\ ]!NR_P# M8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C_C1]B\;_ /0;LO\ MP&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XT ;%%8_V+QO\ M]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C_C1]B\;_ M /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XT ;%% M8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C M_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# M8_XT ;%%8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T M&[+_ ,!C_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ M]!NR_P# 8_XT ;%?S=?\'=G[&_PJC_;4T7XL?LM>$=2O/B1J?PWO_%/QJT7P M]9&2&TT6UE@LX-:N G,9DWRPRMC:R6ZNVWYF?^AGQOXCUKX>>"]7\?\ BCQ% M;Q:9H>F7&H:C+#I[RND$,;22%43+.0JG"J"2> ":_%/_ ()V?\%5_@_X*^,G MQQ_;8_;,^#'Q@;XG?&CQ(;1-)A^#&I:A;Z'X3M%\G3]+5PFPY3+S!1MD8(6! M8&@"O_P; ?\ !4WX/ZI^U+XL_8R\.VEGX8\-?%JV;QGX,\&P9CMO#/B>.$#6 MM(M%8\6DZQ?;;95^2.*,Q9:025^\%?R2_P#!1CX-_^ M@W9?^ Q_QH^Q>-_^@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V7_@, M?\: -BBL?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_&@#8HK'^Q>-_^@W9?^ Q_ MQH^Q>-_^@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V7_@,?\: -BBL M?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_&@#8HK'^Q>-_^@W9?^ Q_QH^Q>-_^ M@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V7_@,?\: -BBL?[%XW_Z# M=E_X#'_&C[%XW_Z#=E_X#'_&@#8HK'^Q>-_^@W9?^ Q_QH^Q>-_^@W9?^ Q_ MQH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V7_@,?\: -BBL?[%XW_Z#=E_X#'_& MC[%XW_Z#=E_X#'_&@#8HK'^Q>-_^@W9?^ Q_QH^Q>-_^@W9?^ Q_QH V**Q_ ML7C?_H-V7_@,?\:/L7C?_H-V7_@,?\: -BBL?[%XW_Z#=E_X#'_&C[%XW_Z# M=E_X#'_&@#8HK'^Q>-_^@W9?^ Q_QH^Q>-_^@W9?^ Q_QH V**Q_L7C?_H-V M7_@,?\:/L7C?_H-V7_@,?\: -BBL?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_& M@#8HK'^Q>-_^@W9?^ Q_QH^Q>-_^@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/ ML7C?_H-V7_@,?\: -BBL?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_&@#8HK'^Q M>-_^@W9?^ Q_QH^Q>-_^@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V M7_@,?\: -BBL?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_&@#8HK'^Q>-_^@W9? M^ Q_QH^Q>-_^@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V7_@,?\: M-BBL?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_&@#8HK'^Q>-_^@W9?^ Q_QH^Q M>-_^@W9?^ Q_QH V**Q_L7C?_H-V7_@,?\:/L7C?_H-V7_@,?\: -BBL?[%X MW_Z#=E_X#'_&M#38]1BM0FJ7$)-HQVXH L4444 >*?MJ_\BQHG_7_) M_P"@44?MJ_\ (L:)_P!?\G_H%% %#]E3_DI_BW_@7_H]J]ZKP7]E3_DI_BW_ M (%_Z/:O>J "BBB@ HHHH _/;_@MS^QO_P $0?VC_P"PM6_X*>?%_P ,_#GQ M>E@8/#GBN#QG;:1KLMF'8F-$D#BZ@5RQ'F0R+&S-M*[VS^?GP4_X)<_\&D'P ML\;6WC#QK_P4S;X@06DZR+H'BGXD645C-@Y E%C9V\KC/4>8 1P01FN1^)/_ M 2^G_X*_?\ !R[^T1\ _P!L3XS:_P"$]/\ "^E?VQI$&E>5]NOM)C2QAL8; M0SJ\<40AN4E=PC_-N^7<[.OUY_Q!4_\ !++_ *+Y^T!_X5.A_P#RGH _3S]E MGXL?LT_&7X&:'XL_9"\6>&]8^'MM =-\/7'A'8-.ABM3Y'D0B,!46,ILV@ + MMQVKT*O$O^">O[!GP@_X)K?LNZ-^R5\"_$?B35O#FB7M[=6E[XLO+>>^=[FX M>>0.]O!!&0&>?M/_LP_"O\ :X^%5Q\)/BU8W+6; MW,=W87^GS^5=Z==QY\NY@DP=DB[F'(((8@@@D5X?<_\ !,#Q1\1_[.\+?M/? MMK_$#XC^"]+NXKB'P=J$<%I%>F(@QK>319DNE!&3D@D\Y!YKZSHH \H_:E_8 M^^&7[5'@'2_!_B&\U'P_?^&[^*_\(>(_#USH?QHT?X_?M'?M'^*/BOXB\+PR1^$5UZU@M;+2#(,-,EO#\KS MD8'F$]@<%E0K](T4 >;>-/V>;GQA^T?X0_:#3XN>)M/C\*6%S;/X2L;TKIFJ M&:.5/,N(_P"-E\W:* /%/V5_V*/#7[-_B;Q%\5?$/ MQ%USQWX_\6B-/$'C3Q(R>?)#'C9;PQH-L$(PIV#/W5YPJA>9^+'_ 3UN=9^ M,VM?'O\ 9O\ VD/%'PG\0^*HHT\7)H-K!=66K,@PL[V\PVI/@D>8#W)P&9RW MTC10!Y9^R?\ LE?#S]D?P/?>&?!^J:IK&J:YJFF? M]\*.!DDY9F9O4Z** "BBB@#PO]K#_DMGP/\ ^Q[E_P#29J]TKPO]K#_DMGP/ M_P"Q[E_])FKW2@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M*_%;_@N#_P &Z_C";Q_)_P %,/\ @D4EWX2^*N@WQUK7/!7A>4VK:E3>9R7MQA)\DJ!(2LW[4T4 ?E?_P0=_X.*/!_[?\ #:_LC_MBM:>#OCYI M2M:QBXB%I:^+6BR':%&P(+U=I\VUXR0SQ#;NCB_5"ORA_P""\7_!NEX=_;BF MNOVS?V'5M_!WQ[TIEO[B"RG%G;>+9(L,C-(I46VH J#'6+#45< M+]GO\C:LAPMP< [92/. /VU>]5X+^RI_R4_P 6_P# O_1[5[U0 4444 %%%?E5_P %_?VD/^"[ M?P3^/'@71O\ @DYX'\7:KX5O/",D_BB7P[\-;37(TU 74BJKR3VTIC;R@IV M@8YQS0!\M_\ !7S_ ()+?\%]?VGO^"H_B']K/]EJ)K;1M N8[?X5^*=(\>Z9 MHVIZ?IYMX_,A65)8KD)YS7&$D8X\U\ !SGB(?V#?^#S.")84_:&\9$(H +_& MC3&.!ZDW!)/N:P?^&^O^#S;_ *(]\4/_ !'_ $O_ .5]'_#?7_!YM_T1[XH? M^(_Z7_\ *^@#]K_^"/?P[_;J^%G["?AOP;_P4>\37VK_ !7M]4U)]:OM1UV' M4I7@>[D:V!GA9D8"$H >,8/2OI^OE?_ ((R_$?]NKXK_L"^&?&O_!1[0]7T M[XKW&JZFFM6NN>&H=)N%@2\D6V+6T,4:(#"$((4;AR%_M8?\EL^!__ &/Z5X7^UA_R6 MSX'_ /8]R_\ I,U>Z4 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 5^=O\ P7+_ ." ?P7_ ."K7@F;XI_#K^S_ ?\<-'L=FB^*_*V M6^MHB_)9:B$!+IP%2< R0\<.@\L_HE10!^#?_!'G_@OG\6\=Y9W"2Q2H'BEC<,KJ1D,"."".@ZH_P /;&5(/"?C$^9=MH-HS%8;FUEQF^TEL'"@ M>9;X90H,;0 _H>HK.\(>+_"GQ \*Z=XY\"^)+'6=%U>RCO-*U;2[M)[:\MY M%#1RQ2(2KHRD$,"00:T: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH \4_; M5_Y%C1/^O^3_ - HH_;5_P"18T3_ *_Y/_0** *'[*G_ "4_Q;_P+_T>U>]5 MX+^RI_R4_P 6_P# O_1[5[U0 4444 %%%% !1110 4444 %%%% ''_'GX[?# M3]FOX4ZM\9OBWKO]GZ)H\(>>14WR2NQ"I%&@Y>1V(51ZG)( )'SM-_P50UKP M1%H_COX__L7_ ! \!?#S7;R&WLO&^K26\JVOFG]W)=VT9\RV0\#+GX#Z7X@\,WNNZ-)\4XM4U#P]81AY-6>S1?*M IX;S&F*8/'S>U M)^T1^TE^V[\+_AZWQ"_;>_8T^&>O?!N^NK9/%7AS1M0DU'4M&@>9/+DN5G!M M[G9)Y?$:;2X7YD^\ #Z1_:I_:Z^'/[*/@;3?%'B73=2U[4_$6I1Z=X3\,^'8 M!/?:U>2?=CA7(!'()?H,@#+,JMPGPE_X*#7>M_&?1_@#^T?^S?XG^%'B/Q1# M))X2;7;N"[LM6,8R\*7$)VK,!@^61W R"R!O./BSJ'AKX@?\%9_V<],T5K>? MPUI?PTU77/#D5O&%M_W\$T<;QK@ 1QPLN ,;5]*T/\ @M(YT#X*_#/XE:7^ MZU;PU\:=#N],NDX=&Q/E0?0D*2.^P>E 'V/7@_[27[.M9'FW]AJ^@Z192/UAM4MYU*#T#>1$<>JYH ]=_98_;5\-?M'^)O M$/PK\0_#K7/ GC_PD(W\0>"_$JIY\<,F-EQ#(AVSPG*C>,?>7C#*6YCXK_\ M!0>^T?XS:S\!?V;_ -FWQ/\ %?7_ K'&_C"30KN"TLM):096!KB8[7GP"?+ M [$9)5PO%?&=SX7_ ."U?P9JWB?XS:Y>:GKGUH ]U_91_:S M^'O[6W@B^\3>#]+U31M4T/4Y-,\4>%]?MO(O]'O4^]#,F3^##@X(X965?4J^ M./V=7/A?_@L=\??"FC_NK'7/!.AZO>V\?"&ZCB@C#X]2)9"3W+GUK['H *** MX/X@_M/? #X5>(V\)?$3XJ:7I&I)"DK6=W(P<(W*MP#P: .'_:P_Y+9\#_\ ML>Y?_29J]TKY4^.7[2'P,^*?QQ^#<'P]^)FFZL]AXV:2\6TD8^4C0%%)R!P6 M(%?3/_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I4 M5F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/ MAC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z M#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0! MI45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_P MF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5%9O_"8^ M&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4' M_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!] M4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ MPF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z# M4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4 M'_?5'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I4 M5F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/ MAC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z M#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0! MI45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_P MF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5%9O_"8^ M&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4' M_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!] M4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ MPF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5?.7_!3'_@E]^S#_ ,%3_@%/\%/V MAO#OEWMJ))O"?C#3XE&H^'[ME \Z!S]Y&PHDA;Y)% SAE1U][_X3'PQ_T&H/ M^^J/^$Q\,?\ 0:@_[ZH _G._97_;1_;Y_P"#6C]J:/\ 8D_;PT+4O&G[/FO7 MTD_AW5]-5Y8H8&D^?4-)=S\I!8-<:>Y!#-N&TN))?Z&?@C\*/"GB.R6ZT;6]*GWPW$9X/H4=2"K(P#HRLK ,"!YY^VO^RC^R3_ M ,%!?@'JO[.7[3WARSUO0-2'F6TZL$N]+N@I$=Y:38)AG3)PPR""R,&1F4_@ MCX:\:_M_?\&F7[7!\/W]Y=?%/]F/QOJY93 2EM>C_GI&"2NGZM'&OS(3Y=PJ M=6"J\(!_2W17DG[)O['=7CX892XLIP 9+6YB M/S0SH2 R-Z@@E65CZ3_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/ MAC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z M#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0! MI45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_P MF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5%9O_"8^ M&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4' M_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!] M4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ MPF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z# M4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4 M'_?5'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I4 M5F_\)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/ MAC_H-0?]]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z M#4'_ 'U1_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0! MI45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_P MF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_ F/AC_H-0?]]4 :5%9O_"8^ M&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z#4'_ 'U5RQO[/4H!=6-P MLL9) =>F: )J*** /%/VU?\ D6-$_P"O^3_T"BC]M7_D6-$_Z_Y/_0** *'[ M*G_)3_%O_ O_ $>U>]5X+^RI_P E/\6_\"_]'M7O5 !1110 4444 %%%% !1 M110 4444 ?,'_!4?X ?$OXK?#7P;\7/@GX8_MSQ;\)_'5EXITW00?GU.&!PT MMNGJY*QN!U81E0"S 5Y-^U=^W)9?MM?L^:E^R?\ LS?!#QW>^/?'"0:=J.F: M[X6GLH?#D9E1IY;R:0>6H4*R@J2,D'/&#]\44 ?$_P"U+\#?'_[+7BO]G[]J M;X8^#-5\9V?P:T$^%_&FF:+;&6^N=(>S6V^UQ1=7,1\QRH/5U)PH9AA_&OXN M6W_!4OXI_#'X)_ /P'XG?P/X7\;VOBGX@^+MPM84M X2P0S*#)+)YCJ0 M!P2K#+;"YND\3V-@'TS3A# M'*^RXES\C-Y6%&.2Z^M?-OC#Q)JO_!/']OCQ_P#'CQOX!\0:A\+/C%I>G3WO MB'P]I,EZ-$U:RC:/9<1Q NJ2!Y'#8.3( =K;?MNB@#XQ_9YD\3?MJ?\%!#^ MVS:^ -(=.>TGUN]GD9^"/ MQ>MO^"6OQ,^)WP0^/_@+Q0G@GQ'XWN_%'P]\7:'H$]_:3Q780/8N85)CECV( M,$3M4H6^]** /DK_@GSX(^(?Q,^/WQ9_;W^)/@#4_"T/Q$GL=.\%:%K=O MY-['I%G$(Q<31GF,S%(F"GNK$95E8_6M%% !67JW@CP7KUX=0USPAI=[<%0I MGN]/CD<@=!N92<5J44 ?/'[3G@WPAH7QM^";:)X4TVS,OCF02FUL8X]X%NQ M.T#//-?0/]G:?_SXP_\ ?H5XC^UA_P EL^!__8]R_P#I,U>Z4 0_V=I__/C# M_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_ MV=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_W MZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG M_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_ M]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V= MI_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z% M344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\ M^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^ MA1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I_ M_/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%34 M4 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/ MC#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1 M_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ MSXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 M0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9VG_\^,/_ M 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C#_P!^A1_9 MVG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_V=I__/C# M_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%344 0_ MV=I__/C#_P!^A1_9VG_\^,/_ 'Z%344 0_V=I_\ SXP_]^A1_9VG_P#/C#_W MZ%344 0_V=I__/C#_P!^A7'?'_\ 9M^!G[4GPBUOX$?'WX9:5XF\*>(;0V^J M:3J%N"KKU5U88:.16 9)$*NC*&4@@&NWHH _FS_:&_96_;\_X-3OVK6_:L_9 M,U"^^(7[./B?48X-:T[5,O T)?Y+#5%1<6]RNXBWOT4!B<$?.\#?N1_P3F_X M**?LI_\ !3[]G^U^/7[-FNP3*FR'Q)X:OD1=1T"\*Y-M=1 G'0E)!E)%&5)P M<>V^/O /@CXJ>"M5^&_Q*\)Z?KV@:Y8R66L:-JUHD]M>6\BE7BDC<%74@X(( MK^>O_@H1_P $M/VS?^#>']H]_P#@IS_P2;\0:GJ'PH28MXJ\+3F2[&B6C.&D MLM0BSNO-,8_*? MMJ_\BQHG_7_)_P"@44?MJ_\ (L:)_P!?\G_H%% %#]E3_DI_BW_@7_H]J]ZK MP7]E3_DI_BW_ (%_Z/:O>J "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH \+_:P_Y+9\#_\ L>Y?_29J]TKPO]K#_DMGP/\ M^Q[E_P#29J]TH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ J'4=.T_5]/GTG5K&&ZM;J%H;FVN(@\;X%?\ !6CX>)X+ M\0_8?"'QHT2Q#^)?!+3XBU!% #7^G%SNE@)Y:,DR0D[6W+LE?[^K\3O^"W?_ M ;M>.-*^(;_ /!3?_@C\EYX2^)^@7QUK7? WA60VSWUPA+M?Z4$P([KJ9+4 M?)."VP"0E)@#]L:*_FK_ &6_^#HW]J?QU^W+\&?B9^UCX@T;PWX1\%Z2/!?Q M5\/6KRVW]LG4;DI<>(3;E!'&]J]OIS20@ET G\E1'+,(OZ2=%U[0_$E@FJ^' M=9M+^UD ,=S97"RQL,9X920>"/SH MT444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'BG[:O\ R+&B M?]?\G_H%%'[:O_(L:)_U_P G_H%% %#]E3_DI_BW_@7_ */:O>J\%_94_P"2 MG^+?^!?^CVKWJ@ HHHH **** "BBB@ HHHH **** "N5\5_'#X3>!_B)X>^$ MOBOQW8V7B7Q7YW_"/:-(Y,]Z(EW2%5 . !GEL X(&2#3?CG\:O /[._PGUSX MS?$W519Z-H-DUQ4Y 8,2 ?I)\1/B1 MX!^$GA"\\?\ Q.\8Z=H.BV"!KO4]4NEAACR< %F/))( 4
O^"D'P"_9:\;6J7OA&SL=3\6ZUHTZ[H-0GABE6U$J'AU1X3\I!!65P00 M:J_\%4/"GA7X":O\'/VP?AQX%_BCIVEWEYIULL#7FDW23">UE* ;U M(3: ?NB1\8W&@#[7KA?CI^TW\ OV9]%MM?\ CO\ %72?#5O>NR60OYSYMR5Q MN\N) 9),9&2JG&1G&17=5\6?LZ^'M"_:0_X*G_';XG_$C2+;5D^%UGH_AOP; M:ZA"LT>GB:.5[B2-6!"N9(I#N R!,PS@T ?4OP9^/7P:_:&\*GQM\$OB1I7B M73%E,4MSIER',,F,[)$.&C;!!VL <$'/?'7]L_P#99_9GU2TT+XY_&W1? M#U_>QB2WT^YE:2X,9) D,42LZH2" [ *2#SP:^?9-#T3]F[_ (+*>'M$^&>D MP:3H_P 8OAQ=MXBTJQB$5O-J-DTTRW?EKA1)Y<04D#G?(3RY-0_\$JO"?A?X M[WOQB_:]^(_A^RUCQ'XL^*&HZ;:WFHVJSM::5;+$L%K&7!V( Y4@?>$<><[1 M0!]>_#[XC> OBQX1L_'OPS\8:=KVBWZ%K/4]+NUFAE ." RDC((((/((((!% M;5?&7[$6GZ?\!?\ @HS\??V5/!%HEEX0N+32_%NAZ/ -L&GSSPQ+=")!PBN\ MJ_*!@+$@ %?9M !1110!X7^UA_R6SX'_P#8]R_^DS5[I7A?[6'_ "6SX'_] MCW+_ .DS5[I0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 5\O_P#!7W]MO6_V%_V*=;\<_#2R;4/B5XNO MK?PA\)-#A0/-J/B346,-HJ(>'\O+SE3PP@*YRPKZ@KXW_P""DW_!)KQ'_P % M"_C=\-/C9IW[:?C+X9W7PH$]QX2M/"VD6DX@U*9L27Y:?.9?+6)$X_=["5(+ MF@#XZ\=_\&=O[(/Q;^ 'P\TG5/C)XF\)?%+1?#BQ>/\ QCI.W4(/$VIRLT]S M-/VE_'?Q?^$"?MW'X<_%;X*>.7 MT'Q/X6E\$23"XLI%\W3]6@N8[^-_L]U$&9%,61L.20PK]C?^'/W[=?\ TGI_ M: _\%.E__$5K?L9_\$:OB!^RI^W#=?MU^,?^"B'Q"^)GB36/"K>'O$UIXJT6 MRC35[$8:!97A"G?#(D;(^"P52F=K$4 ?G0?^#73_ (+8_#//_"A_^"P8MO+Y MA_XK;Q)I'/3_ )=_.V\>F?2C_ATQ_P '='PD_P"1-_X*7GQ-Y6=G_%Y]2O=_ M;_F*6JY]>?YU^_\ 10!^ '_"*_\ !\!\(SG2_$9\36D6=_\ IG@>]W@<#_CX M"SG/7Y>?6C_AXG_P>+_"/_DV*=%_ MP>D_'_X=RK;?'/\ X)5FU<,%DV>.;O3"#WPMQITOMQG\>>$/\ @]]_9JO=G_">_L*>.=-SCS/[(\56=]CUQYD< M&?TS[5ZCX0_X/0/^"6&N[(O$GPE^-6AR''F/<^&--FB7Z-#J+,0/]P5^G7B[ M]E[]F?X@;_\ A/?V=O NM^9GS/[7\(V5SNSP<^9$&%6/YT ?,WA'_@['_X(G^)-G]L_M >)?#^ M[&?[7^'FJ/MY[_989OKQFO4?"/\ P<3?\$6/&X0Z-^W]X3AW]/[7L-0T_OCG M[5;1X_&JWB[_ (-Q?^")WC;=_;/[ WAR'?U_LC7-5T_MCC[+=QX_"O+_ !=_ MP:5?\$6?$F[^QO@OXM\/[CQ_9'Q OWV\=OM3S?KF@#Z:'_!8O_@E1+X5U#Q? M8_\ !1#X-W5OIFGS7MS;6_Q$TYKMHHD+MLM_.\V1L# 55+,2 217PK_ ,$3 M/^"KG[0WQG_;<\1>'OVM]5M8/#'[4D5]XZ^ -FNKI<'1%T]VLY-"D"DB&X.G M6]I>>4,# ,I^>Y8#Y2_;3_X-I?V#=%_X*"?!?_@GS^QY\0OBVOA?P?:YC:Y$:64;BXN)_P!S"SR,@=<,A#J16_;$_P"#4+]L3]@W M4;+]KK_@EI^TE?\ B_4O DT>NV^B:A;I9:_:W%KF02VC)FWO6 #'R66-F!*! M92^T@']&5%?@9_P3@_X/*H]NF?#7_@J)\))+,S(J0_%#P/I[>7(NXIYMWIW7 M&5;=);%N00L Q7[<_L[_ +3G[/?[6GPXM?B[^S5\8M \:^'+O 35/#^HI.L; MXR8I5!W0R#/,<@5UZ%10!W5%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% 'BG[:O_(L:)_U_P G_H%%'[:O_(L:)_U_R?\ H%% %#]E3_DI_BW_ (%_ MZ/:O>J\%_94_Y*?XM_X%_P"CVKWJ@ HHHH **** "BBB@ HHHH **** /E[_ M (*$?LJ?M2_M*>-/AYK'P/\ &'@B+1?!FIR:M>^'?' NFM+_ %%=HMI9([>- MO-6(;R%9@,MR&!(KYA_:ET/_ (*80?MM_L]6WQ)\:_"";QA+>:__ ,()<:19 M:@MA XMH/M/VP.N]@4V;-F>0%GG; MP[JES#NFT]IE593$W\.Y54'U % 'R!^U-J&M_L^_MW?LV_M0?'C4].M]/N?# MM[X1\:Z_9!H]/LM2EMG:-@TF#'"\\LA4OC:D;%L;35C_ (*H>+_"?Q[U?X-_ ML@?#?Q%9:QXC\4?%'3=4O;/3;E9VL])MDE,]S)L)V* ^X$_>$B^'K^]C,=SJ%M$TEPT9()C$LK,ZH2 2@(4D#C@4 =7K/ MQ=^%_A[XB:3\(]=\>Z5:>)]>@DGT709[Q5NKV.-79WCC)RX54#+G49A#'J BBF2XCC9B SB26 M0;0C_&/7O FG7?BGP_;RP:)KLT -S91R*ZND;?P MAED<'_>-9?QS_9G^ ?[2^BV_A_X[?"K2/$UO9NSV1U"W_>VQ; ;RY5(DCS@9 MVL,X&'4;UIH5 MM/,7*F3RY0V >"D@/*$5#_P2L\8>$O@/??&']D#XC^([+1O$GA3XHZEJ5K9Z ME\C>A"%B1]U9(R<;A7U5\&/@)\&OV>/"A\$_!+X;Z5X:TQ MI?-FMM,M@AFDQC?(YRTC8 &YB3@ 9P*Y_P".O[&7[+7[3&I6NM_'/X):)XAO M[.,1V^H7,+1W"Q@DB,RQ,KL@))"DE1D\ MZ2]\(06FE^$]#UF [H-0F@AB-T8G'#JKQ*=PX*RH02#7V;6+\/?ASX"^$WA& MS\ _#/P?IV@Z+IZ%;/3-+M5AAB!.20J@#))))/)))))-;5 !7E_Q6_9*^&OQ MB\7/XT\4:_XHM[MX$A,>D^(YK:':@P#L0XSZGO7J%% 'R%\7?V6OAY\(?CE\ M'KCPQKGB6X;4?&ABG&JZ_-_P#@6U>1 M_M8?\EL^!_\ V/Z4 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L4 M4 8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4? M\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C M_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_ @^ MD?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z M1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S M>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_ MS\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_ @^D?\ /S>_ M^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ MX%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U; M%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U M'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_ @^D?\ /S>_^!;5L44 M8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P ( M/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@ M^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S M\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_ @^D?\ /S>_^!;5L44 8_\ P@^D M?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\W MO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ M .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M M6Q10!C_\(/I'_/S>_P#@6U'_ @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X% MM1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% M &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ M"#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\ M(/I'_/S>_P#@6U'_ @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D? M\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/ MI'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _ M-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S> M_P#@6U'_ @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"! M;5L44 ?G9\3_ /@@]\3?%_[8GQ _;2^&W_!4GXJ> O$WQ :*WOH_#FCV.VUT MZ !;:P1Y=S>5&JIZ;V!=ADU8_P"'+W[:O_2=[]H#_P %NF__ !-?H710!^!/@1XM_9X_:@\2WWQJT/Q'XBEUW2KOQ+I,%AJ'AV^G4BZDLK MJT*R0+,PB*=+F6UU'QAHNE75N]N_3=?Z3+^^BX^8R6Y?=D;8%'-?L MO\ /BS^S;^U3\.+3XN?LX_&?3/&GAN]&(=6\/:Z+B-7P"8WVG,4@R-T;A74\ M$ US_P"VM_P3F_8O_P""AO@;_A!?VMO@-HWBE(8633=8DB,&IZ9GG-M>1%9H M>>2H;8Q W*PXK\:/C_\ \&U__!2W_@F#\1[O]J+_ ((@_M6^(-6A@_>3^#[G M48K/66A4EA"ZL!8ZO&.3Y9N+?+"BU^RWP)_:$^!O[3WPZL_BW^SQ\6= \9^&K\?Z M-K'AW4X[J'=@$QL4),_^!;4?\(/I'_/ MS>_^!;5L44 8_P#P@^D?\_-[_P"!;4?\(/I'_/S>_P#@6U;%% &/_P (/I'_ M #\WO_@6U'_"#Z1_S\WO_@6U;%% &/\ \(/I'_/S>_\ @6U'_"#Z1_S\WO\ MX%M6Q10!C_\ "#Z1_P _-[_X%M1_P@^D?\_-[_X%M6Q10!C_ /"#Z1_S\WO_ M (%M1_P@^D?\_-[_ .!;5L44 8__ @^D?\ /S>_^!;4?\(/I'_/S>_^!;5L M44 8_P#P@^D?\_-[_P"!;4?\(/I'_/S>_P#@6U;%% &/_P (/I'_ #\WO_@6 MU'_"#Z1_S\WO_@6U;%% &/\ \(/I'_/S>_\ @6U'_"#Z1_S\WO\ X%M7E'CK M_@H)^SE\._V[/!'_ 3Q\2>*!%\0O'GA#4/$&CVNY?+6*V=0D+G.1),B7DD8 MQ@K8RY()0-[?0!C_ /"#Z1_S\WO_ (%M1_P@^D?\_-[_ .!;5L44 8__ @^ MD?\ /S>_^!;4?\(/I'_/S>_^!;5L44 8_P#P@^D?\_-[_P"!;4?\(/I'_/S> M_P#@6U;%<7XS_:/_ &>/AP'/Q#^/7@O01&,N=:\4VEKM'J?-D7% &Y_P@^D? M\_-[_P"!;4?\(/I'_/S>_P#@6U>%>-/^"P'_ 2K^'Y=/$__ 45^#"21G$E MO9_$73[J5#Z&."5V'Y5Y+XS_ .#E3_@B/X%W)JO[=NCW;KD!-%\+ZQ?[B.P: MWLW7\20/>@#[/_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+:OS5\:?\'>W_ 1P M\+!SH?BWXA^)-HRO]B^!9(]_L/MR?\ !/\ T\NOP_\ V5_C M!JI4X4ZM#I=BK>_R7DY _#\NE '[!_\ "#Z1_P _-[_X%M7D/[(_[>7[-?[5 MGQ8^,'P$^"/BM[_6?@IXQ30/%232AO,E>$,9HCDEHEG2ZMB3@^99R<;2I;\: M?C?_ ,'M6O\ C#P1K7@C]G3]@BZTCQ#JVF7%GH'B/5_'ZW#:?=R(4AN!9QV' M[\H[*PC\U0Q4#/-7/^"?.C3_ /!-K]EW]DG_ (+,:/X#U+PSX?\ %!U3X>?M M76FH/*\US:7GB&]CLO$MT9%5MT=VB.SL"WE2P0J2OS$ _H HIL,T-Q"EQ;RK M)&ZAD=&R&!Y!!'44Z@#Q3]M7_D6-$_Z_Y/\ T"BC]M7_ )%C1/\ K_D_] HH M H?LJ?\ )3_%O_ O_1[5[U7@O[*G_)3_ !;_ ,"_]'M7O5 !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 >%_M8?\EL^!_\ MV/Z5X7^UA_P EL^!__8]R_P#I,U>Z4 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'A?[;W_!-;]BC_@HI MX*_X0S]K7X#:/XE:&!H],UX1FWU73,Y.;:\BVS1#<=Q3<8V(&Y6'%?C3\=O^ M#<3_ (*B_P#!*SXBWG[3O_!$?]JO7]>LH3YMSX0EOHK367A4EA#+$X%CK$:C M)V2)&Q) 2%VYK^@JB@#\/_V&?^#NN/PIXQ_X9P_X+"_L]:M\-?%NF3BSU/Q= MHVA7,<4$HP";_2Y0;FU;'+-#YN2W$4:U^R?P2^//P5_:3^'EE\6?@!\5-!\8 M^&M07-IK7AW4X[JW" >*\Q_;F_X)C_L0?\ !1KP=_PB M?[67P'TGQ!<0P&+3/$<*?9M7TW.2/L]Y%B5%#'=Y9)C8@;D8<5^-GQM_X-VO M^"K?_!);XAWO[3/_ 1/_:GU_P 2Z7&WFWGA W45MK$D*$D13VT@^PZPBC)P MR(Y) 2$GF@#^@ZBOQ&_82_X.\-$TGQ;_ ,,Z_P#!7?X!:I\+_%^FW L]2\6Z M/HMRMM#,, _;],E!NK-NY,?G EO]7&M?LA\&_C?\'?VB/A]8_%?X$?$_0O%_ MAK4DW66M^'=4BN[:7IE=\9(##.&4X93P0#Q0!U-%%% !1110 4444 %%%!(4 M%F. .I- !17@7Q__ ."J'_!.']ESSX/CO^VS\-]!O+;/G:0WBF"XU!<=?]$@ M9YS^"5\0_'__ (/$?^"4/PK\^R^$=E\0_B;=+D6\V@^&?L%FY'=I-1>"55]Q M"Q]J /U;HK^?[6/^#M3_ (*3?M6ZG-X9_P""<'_!+ ZA.9#%'//9ZKXJG7_; M,=A%;+$V.<,75>Y(JL/A;_P>9?M^?-XH^(=W\'- O?\ 4DZSIOAC[.#U&-/5 M]27'^V"?2@#]\?'7Q%^'WPOT"3Q5\2_'6C>'=+A_UNI:[J<5I;IWYDE95'XF MOC_]H+_@XJ_X(W?LYI<0>)/VV_#?B*^A#;-.\ Q3Z\TS#^%9;))(%/N\BCWK M\Y_ O_!FQ\?_ (T:_%X[_P""@'_!32]US5&_X_(M"TZ[U>XDR4?\%4/^")O_ 3,_P""=7CSX*_L_P#@KP!\9_&$_B?Q+%K'Q3\>"WNM M8N-(\,P.5EM[>WTZ"& 7%VX>.-F5C&L+$_>#4 ?+7QW_ ."R'P?^,_CWXA?M MG7'PS\6Q_M):O\:-*\6_"_QN;BW6P\':-I)\JPT<(',EQ');O*+D#RTDD\IB M'V'=]VC_ (/3/C_\1%6P^"/_ 2P6\N]H1B/'-UJ6Z3':.WTZ,@?[.XG'>OJ M+X,?\%//^"%G[.VE1:/\#_\ @F]XW\,1Q*J^;I/[+\\<\F.C23>3YDK?[3L3 M[UC?\$0OVP_A[X:_X*.?&K]DKX%?#GX@Z7\%/BAJ$OC[X8_\)9X#O=)CT'6W MC#:MI2B9 J12;3/" 0BK"5'S-R ?.W_$19_P<:_%H;?@5_P1Y @F'R7*_!_Q M5J.P>OF+/'&/JRXH_P"&U_\ @\X^,ASX(_9+;PKYIR@_X0'2K'9GH/\ B;3- MC'OT[U_0!10!_/\ C]G+_@]@^,HQXV^.S>%1+PQ_X2GPO8[!Z_\ $IC8C\.: M/^'"_P#P<_\ Q?\ WOQ=_P""NG]FVLHS+8M\;?$TF#_UPM[40_\ CU?T 44 M?@!_Q!R?MG?%4Y_:%_X*P"Z\PYG_ .)!J.LYS][_ (^;V'=^.,UV?@O_ (,? MOV?;$I_PL/\ ;V\9:I@_O/[%\&VEAN^GFSW&/UK]S** /R-\&?\ !F%_P2N\ M/!)?%'Q4^-&OR8_>)=>)].@B)]EAT]6'XN:]:\&?\&IG_!$?PJ4?5?V9-9\0 M.A!#:S\0M8&2/46US$I^A&/:OT8HH ^0?!?_ 0*_P""-W@+9_8?_!/;X?3^ M7]W^VK*74L_7[7)+G\:]9\&?\$Z?^"??PY"?\(!^PQ\'M%* !7TKX::7 WXL MD )/N>:]EHH _%G]IW]N#]G?1O\ @N-8:_\ &WX$?$&+X3_LS:+-?#]SI.JQ#X(ZGO2.5"HEC)3Y9(VVR(W5716'(K]-J* / M@#_@W(_:X^(/[0W[!-M\'/C-I'B*'Q9\'+[_ (19M4\1Z!"_LJ?\ )3_%O_ O_1[5[U0 4444 %%% M% !1110 4444 %%%% !17AW[>O[5'BO]EOX6:1<_##P9!X@\:^,O%%IX;\': M9>,PMC?7)(22&/'?@;XCZTNA6?BS1M"_LRYT75I 3!%+ M&K%'AD.0&Z@*S$KLVN ?8-%%?*OQL_:*_::^,7[6>H_L:?L<:[H'AJ3PCH<& MI^/_ !UKVF&^^Q27 #6]G;V^0C2,C*Y+\$%L;2GS@'U517S)^R_^TI^T!H?[ M3.M_L1?M@2:'?^*;7P\GB#PAXN\/VK6UOKVFF3RGWPL2(YT<$$+P0C\84._, M1?'G]LW]LOXV^//"G[(/Q!\,> _ WPWUQM"N?$^M:!_:=SKFK1C]_'&C,$CA M0X&X?,0RL"V_:@!]A45\^?L-_M2_$SXP:OXZ^ 7[16@Z7IOQ,^&.K0V?B'^Q M2PL]2MIT+VU] KG%_M8?\ );/@?_V/MWL-N8M,\4VB_9=8TT1>1XD"@G=Y3%HF(^9&K\ M;_C)_P &^'_!7'_@D%\0;[]I/_@BS^U#KWBW1$?SK[PBDT4&KR0H21%<64F; M+5U49_A60D_)#GFOZ$J* /Q._8+_ .#O/P;_ ,)0/V>_^"M'P+U+X5>,=.N! M9:EXKTG1[G[%%.."+W3I ;JQ;UV><,G)6-:^L?\ @JW_ ,%SOA/^Q;^S/\// MC1^RSJ6B_%O4?B#XF2;2+3PK>KJ$<_AW3MMYKMXK0,0OE6:-&6)_5)OB)&60U_.I^S9_P2+_X*/:!?^+/^"@?_ 1F>3QG\.M(\=:_X3\%-K[V M#ZKXHT)/]$N+PVEU&+2[LYP98& (D;RVQ$,< ']3/PM^)G@CXT?#7P_\7OAI MK\.J^'?%&C6VJZ'J5N?DNK2XB66*0?5&4XZC-9WQ=_:$^ G[/VC_ /"0_'CX MW>$?!5AL+"]\6^)+73HBHZD/<2(#7\S'[)?[&_\ P<2_$_XB0_\ !)*R_:WU MGX%OX,\$IXCT_P $:[X_N-,4Z#=7;[I()-*2:2[C6:1D:-I#Y981G:%(7Z\^ M$7_!E/H_B36/^$Q_;1_X*$^)/$>H7;A]1M_".@K%,S=S]NOI)VD)]6@&/>@# M[:^/_P#P<]_\$9/@'Y]F/VI3XUU&#/\ Q+O &@76H^9C^[O>"=6U7_ (1/]C?]@'Q3XFOKM_+TZX\8Z]':RLW;_0K*.Y:4G^Z)E/O7 MV7\ /^#7/_@C)\!O)O+K]FBZ\=:C!C;J/C_Q)=7V[']ZWC:*U;/O#^E?:GP; M_9K_ &=OV=M*_L/X ? ;P;X(LR@1K;PEX8M=.1A[BWC3/XT ?A5_P\4_X.\O MV^/W?[.7[''_ $C1+GQ?JFOM #U L4\BR4>T?B/\0;R+'FVUE-;:+83>N8HTEG'X7 _&OM_ MX ?\$-?^"27[,_D3?"[]@SP"]U;8,.H^)],;7+I&'\:S:DT[HWNI&.V!7U=1 M0!6T?1M'\/:9!HF@:5;6-E;)LMK2S@6**)?[JHH 4>P%6:** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** /%/VU?^18T3_K_D_P#0**/V MU?\ D6-$_P"O^3_T"B@"A^RI_P E/\6_\"_]'M7O5>"_LJ?\E/\ %O\ P+_T M>U>]4 %%%% !1110 4444 %%%% !1110!'=75K8VLE[>W,<,,,9>::5PJHH& M2Q)X Y)-?"WQT^(GBC_ (*R>,9?V5/V<)9[?X,Z1J\+?$_XF*I$6K-#(L@T MW3R1B7YE5C)R,A6^X%\[U'_@J5\#?VM/VD_@G8?!C]F*[TFVL]5U!F\9R:CJ MS6C7%F@!2U5E4DI(Q)?&#B,+R&8'A?AMIG_!7WX0>!]-^&WPS_9P_9WT;0]( MMA!I^G66H:BJ1(/^VV68G)9CEF8DDDDF@";XK:)IOAS_ (+'? ?P]9626VF: M?\*M6M]$MU^[$R172%5SZ1!1]*L_\%M Q_9O\""U_P"/T_&;0O[.Q][S]MSC M;[XW5V/[6G[+WQW^,NG_ P_:(^%6K:!H_QE^&;_ &R"WNS(=+O_ +1 B7U@ MSC+K&Q!5&.2%+#*[]Z\F?@+^V=^V/\!OAOK2Z[9^%=$U MW^TKG6]6CX@EDD ")#&1>>7CVVX_2O??&DO[4:_M'^$(O EMX9;X7M87/\ PFDM\7_M-;GR MY?(^SX.W;O\ )W9'3=7CWQL_9T_:=^#_ .UEJ/[97[&^C^'_ !')XNT2#3?B M!X$\0:B;'[<]NH6WN[>XP561454(?@ ,?FW_ " &%\>P3_P6B^!/V#_6_P#" MO==^W[>OD>3=[,^WF?K2_P#!$H,/V:/&WVO_ (_?^%Q:[_:6?O>?BWSN]\;: MZG]E[]FK]H'7?VFM;_;>_;!CT.P\4W7A]/#_ (0\(>'[MKFWT'31)YC[YB ) M)G>!OB/KCZ]=>%=;UW^S+ MG1-6EP)Y8Y"I22%S@[?O855 79N< C^!(8_\%IOCB;'_ %(^'&B?;MO3S_+M M-F??9G'M7V/7SW^PS^RS\3/@]J_CKX^_M%Z_IFI?$SXGZK#>>(?[%#&STVV@ M0I;64#/\S"-&(+'KA1EMF]OH2@ KR_XK?'GXE?#[Q<_ASPO^S+XH\4VBP)(- M6TF>%869ARF'.!]5F MA871:$J538>H!W'/85]2_P#"2ZO_ -"A>_\ ?2UY'^UA_P EL^!__8]R_P#I M,U>Z4 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ M 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2U ML44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#?2UL44 8__"2ZO_T*%[_W MTM'_ DNK_\ 0H7O_?2UL44 8_\ PDNK_P#0H7O_ 'TM'_"2ZO\ ]"A>_P#? M2UL44 8__"2ZO_T*%[_WTM'_ DNK_\ 0H7O_?2UL44 ?*7_ 5P\.?MN_&S M]@WQM\"_V%_ L(\=>-[,:&VI:IK,=DFFZ;."MY,KGDR&'="NW!5IPX/R5\U? MLUZ]_P %\OV4O@#X/_9N^$?_ 3 ^!EGX;\%:!;:3I41^*T^]XXD"F60B,;I M)&W2.W5G=F/)K]0J* /R$^-GPF_X+U_'G]M#X'?MG:C^PI\*?"?B/X0ZU/'> MWOAOXFM)+KN@78"7VE3"5-K*R;VB8Y\J1BP&37ZQ#Q+J^/\ D3[W_OI?\:V: M* ,?_A)=7_Z%"]_[Z6C_ (275_\ H4+W_OI:V** ,?\ X275_P#H4+W_ +Z6 MC_A)=7_Z%"]_[Z6MBB@#'_X275_^A0O?^^EH_P"$EU?_ *%"]_[Z6MBB@#'_ M .$EU?\ Z%"]_P"^EH_X275_^A0O?^^EK8HH Q_^$EU?_H4+W_OI:/\ A)=7 M_P"A0O?^^EK8HH Q_P#A)=7_ .A0O?\ OI:/^$EU?_H4+W_OI:V** ,?_A)= M7_Z%"]_[Z6C_ (275_\ H4+W_OI:V** ,?\ X275_P#H4+W_ +Z6C_A)=7_Z M%"]_[Z6MBB@#'_X275_^A0O?^^EH_P"$EU?_ *%"]_[Z6MBB@#'_ .$EU?\ MZ%"]_P"^EH_X275_^A0O?^^EK8HH Q_^$EU?_H4+W_OI:/\ A)=7_P"A0O?^ M^EK8HH Q_P#A)=7_ .A0O?\ OI:T--O)[ZU$]Q826S%B/*E(S]>*L44 %%%% M 'BG[:O_ "+&B?\ 7_)_Z!11^VK_ ,BQHG_7_)_Z!10!0_94_P"2G^+?^!?^ MCVKWJO!?V5/^2G^+?^!?^CVKWJ@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** /"_P!K#_DMGP/_ .Q[E_\ 29J]TKPO]K#_ M )+9\#_^Q[E_])FKW2@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M \4_;5_Y%C1/^O\ D_\ 0**/VU?^18T3_K_D_P#0** *'[*G_)3_ !;_ ,"_ M]'M7O5>"_LJ?\E/\6_\ O\ T>U>]4 %%%% !1110 4444 %%%% !1110 44 M44 %%>6?M7_M:?#[]DKP7I_B'Q9I.J:UJVO:HFF>%O"V@6XFO]8O7^[%$F1P M,C$FUV[@N[+5 MC&,O"EQ"=JS 8/ED=P,@L@8 ^D***\'_ &DOVYM/^"_Q2TW]GSX6?!W7_B7\ M1-3TUM2_X1?P[)'$MC9!MOGW5Q*=D"LW"Y!SQG;N3< >\45XK^RQ^VKX:_:/ M\3>(?A7XA^'6N>!/'_A(1OX@\%^)53SXX9,;+B&1#MGA.5&\8^\O&&4MS'Q7 M_P""@]]H_P 9M9^ O[-_[-OB?XKZ_P"%8XW\82:%=P6EEI+2#*P-<3':\^ 3 MY8'8C)*N% /I&BO+?V4?VL_A[^UMX(OO$W@_2]4T;5-#U.33/%'A?7[;R+_1 M[U/O0S)D_@PX.".&5E7U*@ HHHH \+_:P_Y+9\#_ /L>Y?\ TF:O=*\+_:P_ MY+9\#_\ L>Y?_29J]TH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M /%/VU?^18T3_K_D_P#0**/VU?\ D6-$_P"O^3_T"B@"A^RI_P E/\6_\"_] M'M7O5>"_LJ?\E/\ %O\ P+_T>U>]4 %%%% !1110 4444 %%%% !1110 444 M4 ?''[0^/%/_ 62^ WA;6!YMEH/@76]7L8).4%S)'/$7QZ@11G/8H#VH_X+ M2.= ^"OPS^)6E_NM6\-?&G0[O3+I.'1L3Y4'T)"DCOL'I6C_ ,% _!?Q$^&' M[0GPF_;W^''P^U3Q5;?#^2^TSQOH>AV_G7KZ3=Q%/M$,0YD\DO*Q4=V0G"AF M' _&OXN6W_!4OXI_#'X)_ /P'XG?P/X7\;VOBGX@^+MPM84M X2P0S*# M)+)YCJ0!P2K#;?V&KZ#I%E(_6&U2W MG4H/0-Y$1QZKFO?O&G[1MMX,_:/\(?LZ/\,/$U])XML+FZ3Q/8V ?3-.$,/&_@'Q!J'PL^,6EZ=/>^(? M#VDR7HT35K*-H]EQ'$"ZI('D<-@Y,@ !VMM -7XSN?"__!:OX.:GH_[J7Q/\ M,=8TS5S'QYT$ N;F,-CKB15Z_P!T>@I/^"+&-<^!_P 2/B5J(\S5O$_QFUR\ MU.Y?EW;$.%)] 2Q ]7/K4'[/,GB;]M3_ (*"']MFU\ :YH7P[\"^"Y/#_@FZ M\0Z<]I/K=[/(YGNXXG&X0B.21,GK\G?>J\S\$?B];?\ !+7XF?$[X(?'_P ! M>*$\$^(_&]WXH^'OB[0] GO[2>*["![%S"I,Q!@CD[R=JE"P!UO[.KGPO M_P %COC[X4T?]U8ZYX)T/5[VWCX0W4<4$8?'J1+(2>Y<^M?8]?)7_!/GP1\0 M_B9\?OBS^WO\2? &I^%H?B)/8Z=X*T+6[?R;V/2+.(1BXFC/,9F*1,%/=6(R MK*Q^M: "N#^(/[3WP ^%7B-O"7Q$^*FEZ1J20I*UG=R,'"-RK< \&N\K+U;P M1X+UZ\.H:YX0TN]N"H4SW>GQR.0.@W,I.* /E_\ :,_:H_9X\8?%?X3:YX9^ M+6DWEIH/BV6\U>:&4XM8/L[+O;(SC/IFO6O^&[OV0_\ HO&B?]]2?_$5Q_[4 MW@+P+8_&3X+VEEX+TF&*Z\;2QW4<6G1*LR?9F^5@%PP]C7M7_"IOA7_T33P_ M_P"":#_XB@#A?^&[OV0_^B\:)_WU)_\ $4?\-W?LA_\ 1>-$_P"^I/\ XBNZ M_P"%3?"O_HFGA_\ \$T'_P 11_PJ;X5_]$T\/_\ @F@_^(H X7_AN[]D/_HO M&B?]]2?_ !%'_#=W[(?_ $7C1/\ OJ3_ .(KNO\ A4WPK_Z)IX?_ /!-!_\ M$4?\*F^%?_1-/#__ ()H/_B* .%_X;N_9#_Z+QHG_?4G_P 11_PW=^R'_P!% MXT3_ +ZD_P#B*[K_ (5-\*_^B:>'_P#P30?_ !%'_"IOA7_T33P__P"":#_X MB@#A?^&[OV0_^B\:)_WU)_\ $4?\-W?LA_\ 1>-$_P"^I/\ XBNZ_P"%3?"O M_HFGA_\ \$T'_P 11_PJ;X5_]$T\/_\ @F@_^(H X7_AN[]D/_HO&B?]]2?_ M !%'_#=W[(?_ $7C1/\ OJ3_ .(KNO\ A4WPK_Z)IX?_ /!-!_\ $4?\*F^% M?_1-/#__ ()H/_B* .%_X;N_9#_Z+QHG_?4G_P 14:_MZ_L@-.UL/CMI&Y5! M)*3!?P;9@_0&N^_X5-\*_P#HFGA__P $T'_Q%>)^!?AYX F_;R\=Z--X&T=[ M.'P1IY% '9?\ #=W[(?\ T7C1/^^I/_B*/^&[OV0_ M^B\:)_WU)_\ $5W7_"IOA7_T33P__P"":#_XBC_A4WPK_P"B:>'_ /P30?\ MQ% '"_\ #=W[(?\ T7C1/^^I/_B*/^&[OV0_^B\:)_WU)_\ $5W7_"IOA7_T M33P__P"":#_XBC_A4WPK_P"B:>'_ /P30?\ Q% '"_\ #=W[(?\ T7C1/^^I M/_B*/^&[OV0_^B\:)_WU)_\ $5W7_"IOA7_T33P__P"":#_XBC_A4WPK_P"B M:>'_ /P30?\ Q% '"_\ #=W[(?\ T7C1/^^I/_B*/^&[OV0_^B\:)_WU)_\ M$5W7_"IOA7_T33P__P"":#_XBC_A4WPK_P"B:>'_ /P30?\ Q% '"_\ #=W[ M(?\ T7C1/^^I/_B*/^&[OV0_^B\:)_WU)_\ $5W7_"IOA7_T33P__P"":#_X MBC_A4WPK_P"B:>'_ /P30?\ Q% '"_\ #=W[(?\ T7C1/^^I/_B*9-^WG^R# M;Q--)\=]'(49(196/X (2:[W_A4WPK_Z)IX?_P#!-!_\17EW[:_PW^'>D_LI M^.=2TKP%HMM<0Z&[13V^EPHZ'36W_ ,*F^%?_ $33P_\ ^":#_P"(H X7_AN[]D/_ *+QHG_?4G_Q%'_# M=W[(?_1>-$_[ZD_^(KNO^%3?"O\ Z)IX?_\ !-!_\11_PJ;X5_\ 1-/#_P#X M)H/_ (B@#A?^&[OV0_\ HO&B?]]2?_$4?\-W?LA_]%XT3_OJ3_XBNZ_X5-\* M_P#HFGA__P $T'_Q%'_"IOA7_P!$T\/_ /@F@_\ B* .%_X;N_9#_P"B\:)_ MWU)_\11_PW=^R'_T7C1/^^I/_B*[K_A4WPK_ .B:>'__ 30?_$4?\*F^%?_ M $33P_\ ^":#_P"(H X7_AN[]D/_ *+QHG_?4G_Q%'_#=W[(?_1>-$_[ZD_^ M(KNO^%3?"O\ Z)IX?_\ !-!_\11_PJ;X5_\ 1-/#_P#X)H/_ (B@#A?^&[OV M0_\ HO&B?]]2?_$4?\-W?LA_]%XT3_OJ3_XBNZ_X5-\*_P#HFGA__P $T'_Q M%'_"IOA7_P!$T\/_ /@F@_\ B* .!E_;U_9 A=(W^.VD$R-A=J3,!]2$X^IJ M3_AN[]D/_HO&B?\ ?4G_ ,17&_M2?#SP!IWQD^"]KI_@;1X(KOQO+'=1PZ9$ MJS)]F8[7 7##/8U[9_PJ;X5_]$T\/_\ @F@_^(H X7_AN[]D/_HO&B?]]2?_ M !%'_#=W[(?_ $7C1/\ OJ3_ .(KNO\ A4WPK_Z)IX?_ /!-!_\ $4?\*F^% M?_1-/#__ ()H/_B* .%_X;N_9#_Z+QHG_?4G_P 11_PW=^R'_P!%XT3_ +ZD M_P#B*[K_ (5-\*_^B:>'_P#P30?_ !%'_"IOA7_T33P__P"":#_XB@#A?^&[ MOV0_^B\:)_WU)_\ $4?\-W?LA_\ 1>-$_P"^I/\ XBNZ_P"%3?"O_HFGA_\ M\$T'_P 11_PJ;X5_]$T\/_\ @F@_^(H X7_AN[]D/_HO&B?]]2?_ !%'_#=W M[(?_ $7C1/\ OJ3_ .(KNO\ A4WPK_Z)IX?_ /!-!_\ $4?\*F^%?_1-/#__ M ()H/_B* .%_X;N_9#_Z+QHG_?4G_P 11_PW=^R'_P!%XT3_ +ZD_P#B*[K_ M (5-\*_^B:>'_P#P30?_ !%'_"IOA7_T33P__P"":#_XB@#A?^&[OV0_^B\: M)_WU)_\ $5'!^WK^R![E7QOJ\:R7.F12,$6Y(5064G '0=J M.R_X;N_9#_Z+QHG_ 'U)_P#$4?\ #=W[(?\ T7C1/^^I/_B*[K_A4WPK_P"B M:>'_ /P30?\ Q%'_ J;X5_]$T\/_P#@F@_^(H X7_AN[]D/_HO&B?\ ?4G_ M ,11_P -W?LA_P#1>-$_[ZD_^(KNO^%3?"O_ *)IX?\ _!-!_P#$4?\ "IOA M7_T33P__ .":#_XB@#A?^&[OV0_^B\:)_P!]2?\ Q%'_ W=^R'_ -%XT3_O MJ3_XBNZ_X5-\*_\ HFGA_P#\$T'_ ,11_P *F^%?_1-/#_\ X)H/_B* .%_X M;N_9#_Z+QHG_ 'U)_P#$4?\ #=W[(?\ T7C1/^^I/_B*[K_A4WPK_P"B:>'_ M /P30?\ Q%'_ J;X5_]$T\/_P#@F@_^(H X7_AN[]D/_HO&B?\ ?4G_ ,11 M_P -W?LA_P#1>-$_[ZD_^(KNO^%3?"O_ *)IX?\ _!-!_P#$4?\ "IOA7_T3 M3P__ .":#_XB@#A?^&[OV0_^B\:)_P!]2?\ Q%,F_;S_ &0;>)II/COHY"C) M"+*Q_ !"37>_\*F^%?\ T33P_P#^":#_ .(KR[]M?X;_ [TG]E/QSJ6E> M M%MKB'0W:*>WTN%'0[EY#!<@_2@#67]O#]D-U#CX\:+@C(SY@/Y%*7_AN[]D/ M_HO&B?\ ?4G_ ,16_P##3X6?#&X^''A^>?X<:"[OHEHSN^CP$L3"I))*\FMO M_A4WPK_Z)IX?_P#!-!_\10!PO_#=W[(?_1>-$_[ZD_\ B*/^&[OV0_\ HO&B M?]]2?_$5W7_"IOA7_P!$T\/_ /@F@_\ B*/^%3?"O_HFGA__ ,$T'_Q% '"_ M\-W?LA_]%XT3_OJ3_P"(H_X;N_9#_P"B\:)_WU)_\17=?\*F^%?_ $33P_\ M^":#_P"(H_X5-\*_^B:>'_\ P30?_$4 <+_PW=^R'_T7C1/^^I/_ (BC_AN[ M]D/_ *+QHG_?4G_Q%=U_PJ;X5_\ 1-/#_P#X)H/_ (BC_A4WPK_Z)IX?_P#! M-!_\10!PO_#=W[(?_1>-$_[ZD_\ B*/^&[OV0_\ HO&B?]]2?_$5W7_"IOA7 M_P!$T\/_ /@F@_\ B*/^%3?"O_HFGA__ ,$T'_Q% '"_\-W?LA_]%XT3_OJ3 M_P"(H_X;N_9#_P"B\:)_WU)_\17=?\*F^%?_ $33P_\ ^":#_P"(H_X5-\*_ M^B:>'_\ P30?_$4 <#+^WK^R!"Z1O\=M()D;"[4F8#ZD)Q]34G_#=W[(?_1> M-$_[ZD_^(KC?VI/AYX T[XR?!>UT_P #:/!%=^-Y8[J.'3(E69/LS':X"X89 M[&O;/^%3?"O_ *)IX?\ _!-!_P#$4 <+_P -W?LA_P#1>-$_[ZD_^(H_X;N_ M9#_Z+QHG_?4G_P 17=?\*F^%?_1-/#__ ()H/_B*/^%3?"O_ *)IX?\ _!-! M_P#$4 <+_P -W?LA_P#1>-$_[ZD_^(H_X;N_9#_Z+QHG_?4G_P 17=?\*F^% M?_1-/#__ ()H/_B*/^%3?"O_ *)IX?\ _!-!_P#$4 <+_P -W?LA_P#1>-$_ M[ZD_^(H_X;N_9#_Z+QHG_?4G_P 17=?\*F^%?_1-/#__ ()H/_B*/^%3?"O_ M *)IX?\ _!-!_P#$4 <+_P -W?LA_P#1>-$_[ZD_^(H_X;N_9#_Z+QHG_?4G M_P 17=?\*F^%?_1-/#__ ()H/_B*/^%3?"O_ *)IX?\ _!-!_P#$4 <+_P - MW?LA_P#1>-$_[ZD_^(H_X;N_9#_Z+QHG_?4G_P 17=?\*F^%?_1-/#__ ()H M/_B*/^%3?"O_ *)IX?\ _!-!_P#$4 <+_P -W?LA_P#1>-$_[ZD_^(J.#]O7 M]D"Y0R1_';2 Q'[Q)D/'LR#\Z[[_A4WPK_Z)IX?_P#!-!_\17B?[!7P\\ : MS\&]5NM8\#:/=RKXWU>-9+G3(I&"+'__ 30?_$4 <+_ ,-W?LA_]%XT3_OJ3_XBC_AN[]D/_HO&B?\ ?4G_ M ,17=?\ "IOA7_T33P__ .":#_XBC_A4WPK_ .B:>'__ 30?_$4 <+_ ,-W M?LA_]%XT3_OJ3_XBC_AN[]D/_HO&B?\ ?4G_ ,17=?\ "IOA7_T33P__ .": M#_XBC_A4WPK_ .B:>'__ 30?_$4 <+_ ,-W?LA_]%XT3_OJ3_XBC_AN[]D/ M_HO&B?\ ?4G_ ,17=?\ "IOA7_T33P__ .":#_XBC_A4WPK_ .B:>'__ 30 M?_$4 <+_ ,-W?LA_]%XT3_OJ3_XBC_AN[]D/_HO&B?\ ?4G_ ,17=?\ "IOA M7_T33P__ .":#_XBC_A4WPK_ .B:>'__ 30?_$4 <+_ ,-W?LA_]%XT3_OJ M3_XBF3?MY_L@V\332?'?1R%&2$65C^ "$FN]_P"%3?"O_HFGA_\ \$T'_P 1 M7EW[:_PW^'>D_LI^.=2TKP%HMM<0Z&[13V^EPHZ'-$_[ZD_^(K?^&GPL^&-Q\./#\\_PXT%W M?1+1G=]'@)8F%2225Y-;?_"IOA7_ -$T\/\ _@F@_P#B* .%_P"&[OV0_P#H MO&B?]]2?_$4?\-W?LA_]%XT3_OJ3_P"(KNO^%3?"O_HFGA__ ,$T'_Q%'_"I MOA7_ -$T\/\ _@F@_P#B* .%_P"&[OV0_P#HO&B?]]2?_$4?\-W?LA_]%XT3 M_OJ3_P"(KNO^%3?"O_HFGA__ ,$T'_Q%'_"IOA7_ -$T\/\ _@F@_P#B* .% M_P"&[OV0_P#HO&B?]]2?_$4?\-W?LA_]%XT3_OJ3_P"(KNO^%3?"O_HFGA__ M ,$T'_Q%'_"IOA7_ -$T\/\ _@F@_P#B* .%_P"&[OV0_P#HO&B?]]2?_$4? M\-W?LA_]%XT3_OJ3_P"(KNO^%3?"O_HFGA__ ,$T'_Q%'_"IOA7_ -$T\/\ M_@F@_P#B* .%_P"&[OV0_P#HO&B?]]2?_$4?\-W?LA_]%XT3_OJ3_P"(KNO^ M%3?"O_HFGA__ ,$T'_Q%'_"IOA7_ -$T\/\ _@F@_P#B* .!7]O7]D!IVMA\ M=M(W*H))28+^#;,'Z U)_P -W?LA_P#1>-$_[ZD_^(KC? OP\\ 3?MY>.]&F M\#:.]G#X(TN2&T;3(C&CF1LL%VX!/'_P#P30?_ !% '"_\-W?LA_\ 1>-$_P"^ MI/\ XBC_ (;N_9#_ .B\:)_WU)_\17=?\*F^%?\ T33P_P#^":#_ .(H_P"% M3?"O_HFGA_\ \$T'_P 10!PO_#=W[(?_ $7C1/\ OJ3_ .(H_P"&[OV0_P#H MO&B?]]2?_$5W7_"IOA7_ -$T\/\ _@F@_P#B*/\ A4WPK_Z)IX?_ /!-!_\ M$4 <+_PW=^R'_P!%XT3_ +ZD_P#B*/\ AN[]D/\ Z+QHG_?4G_Q%=U_PJ;X5 M_P#1-/#_ /X)H/\ XBC_ (5-\*_^B:>'_P#P30?_ !% '"_\-W?LA_\ 1>-$ M_P"^I/\ XBC_ (;N_9#_ .B\:)_WU)_\17=?\*F^%?\ T33P_P#^":#_ .(H M_P"%3?"O_HFGA_\ \$T'_P 10!PO_#=W[(?_ $7C1/\ OJ3_ .(KJOAI\?O@ MW\8[N>Q^&/Q L=9FMH!//':%LI&6*!CD#C<"/J*T/^%3?"O_ *)IX?\ _!-! M_P#$5Y#\*]&T?0/V]O'NF:%I5M96R>!M+*6]I L:*3(Y)"J !DT >_4444 > M*?MJ_P#(L:)_U_R?^@44?MJ_\BQHG_7_ "?^@44 4/V5/^2G^+?^!?\ H]J] MZKP7]E3_ )*?XM_X%_Z/:O>J "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HH)"@LQP!U)KC_"/[0GP$\?\ BVX\ ^!/C=X1UK7; M0,;K1M)\26MS=1;?O;HHY"ZX[Y''>@"YXW^%/A'X@^(O#GBCQ'#.UWX6U)K[ M23#.459BA0EA_$,'I72444 %%%% !1110 4444 %%%% !114-_J6G:5;F\U2 M_AMH00#+<2A%!/09)Q0!-7-Z9\*?".D?%'5/C!9PSC6M7TV"QO7:HI: "BBB@ HHHH **** "BBB@ HHHH *Q/ MB1\/O#GQ5\"ZG\._%T4KZ;JUL8+Q8)2CE"0>&'0\4W6?BA\,_#OB.W\'^(/B M)H5AJ]WC[+I=YJ\,5S-GILB9@S9]A6[0!6T;2K30='M-#T]6$%E;1P0!VR0B M*%7)[G %6:** "BBB@ HHHH **** "BBB@ HHIEO%O!U@-5\7>)=/TJU:01K)!&7/1=SD M#)]* -"N;^%OPI\(_![P[/X7\%PSI:7&I7%](+B.[L[A)8I4#Q2QN&5U(R""."".]/H **** "BBB@ HHHH **** "BBB@ K M$^)'P^\.?%7P+J?P[\712OINK6Q@O%@E*.4)!X8=#Q4J^//!3^.&^&:>*]// MB)-+&I/H@NT-TMF9#$+@Q9W",N"H;&"01VK6H K:-I5IH.CVFAZ>K""RMHX( M [9(1%"KD]S@"K-%% !1110 4444 %%%% !1110 45'=W=I86LM_?W,<$$$; M2333.%2- ,EF)X &2326%_8ZK8PZII=[%.6-@"KJPX92"" M"."#0!@>-_A3X1^(/B+PYXH\1PSM=^%M2:^TDPSE%68H4)8?Q#!Z5TE%% !1 M110 4444 %%%% !1110 445@_$#XI_#'X3:.OB'XJ?$;0?#.GO)Y:7WB#5X; M*%G_ +H>9E4GVS0!O5S?PM^%/A'X/>'9_"_@N&=+2XU*XOI!<3F1O.F?>YR> MV>@[5J>%?%WA3QUH-OXJ\$>)].UG2[M=UKJ6E7L=Q;S#.,I)&2K#/H:T* "B MBB@ HHHH **** "BBB@ HHHH *Q/B1\/O#GQ5\"ZG\._%T4KZ;JUL8+Q8)2C ME"0>&'0\5?A\1>'[C6)/#T&NV;W\*;Y;%+I#,B\K""RMHX( [9(1%"KD]S@"K-%% !1110 4444 %%%% !1110 45'=7 M5K8VTE[>W,<,,2%Y997"JB@9))/ '>JV@>)?#GBNP_M7PMX@LM2M=Y3[3I] MVDT>X=1N0D9'I0!D:9\*?".D?%'5/C!9PSC6M7TV"QO7:F?"GPCI'Q1U3XP6<,XUK5]-@L;UVG)C,,1)0 M!.QR>O>MO1]8TCQ#I<&N:!JMM?65U$);6\LYUEBF0\AE=20P/J#BK- !1110 M!XI^VK_R+&B?]?\ )_Z!11^VK_R+&B?]?\G_ *!10!0_94_Y*?XM_P"!?^CV MKWJO!?V5/^2G^+?^!?\ H]J]ZH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH *YOQ7\7_AIX&\<^&?AIXM\7VMAKOC&6ZC\,Z=/N#W[6\8 MDF"$# *HRGDC.X 9)Q7"^,?V@O%7@O\ ;6\%_L]ZMI5BGAKQMX+U2[TG4-K_ M &F35K.6)Y(<[MOEBU=GQMW;N^!BOEK]O?\ 9E_:H_;#_:7\2^.OAU:ZIX9B M^!7AFUN?AC>%!_Q4&OR/#>RM">05$4:P]L2K%G@NH /5/^"R_B?QMX7_ &.! M-X>O-4M= O/&&F6GQ"O-&+"Y@T"1G%R5*\C<_DQGL1(5/#$5\R_MV:G_ ,$R M_A]X)^%GB7]C#Q3X*T3QQIGC#3+K1]:\! W%S::*]#FC#K9W\8"7-LZ-GY23N M4-UCD0GKBOFC_@F=XO\ @'\&?CM\>? /Q;A\+^"OB7'\2;R1+>[BM].1] VI M]CCL\A%\A0&?:G59(W;.0: /KOX ?M-? ?\ :E\)2^./@'\2;'Q'IT$_DW3V MR212V\F,A989522(DHR.1FN[KXF_8]7P3X[_X*E?&#XR?LTM;S?#I_!MI MIWB75=( _LW4_$GGQR;X&7Y)66$2[W3(W2,V3Y@9OMF@ HHHH **** "BBB@ M HJAXJU'5]'\+ZEJ_A_1AJ-_:V$TUCIYF\L74RH62+?AMNY@%W8.,YP>E>"7 M'[;&J^(?^";H_;.\&>"KF^UJ_P#" GL]"TBW>Y*:J[_93$% W-''=$[CC(1& M/7B@#W3P5X[\%_$CP_'XL^'_ (KT_6M+EFEBBU'2[M)X7>*1HI%5T)!VNC*< M'JIKXA^!_P 'OAW_ ,%%/VL/CEXD_:XM+CQ+;?#?QO)X8\'^"+K49HK+2;2, MR)]L\F)UW23^66WMGHV,@+MP/^"=]E\6?^";'QTT/]C3]HG6?.T'XM:)#K7A M/47;]U8^(1$@O=-W$X+$X7(.&80D#,K8]I_:5_82\80?&K4OVP_V5OVG?^%1 M>*+W31'XTFO=,AN])U2")1B>>.8A(W5%&78,,+D;6W,P!Y#X,^(MM_P2X_X* M#:7^R%'XLOKCX-_$G3[:Z\-Z?JE\]Q_PB=_/--#'$DDA+""26%EPQZ2*Q),; ML_Z$5^<'[:G[-7@CX:?\$_?'OQ;^+G[0C_%#XE?$6XT270O&6R*,WEQ%=(UG M;:7!"65(@DDYQ%GG^WNH U:*** "BBB@ HHHH ***\E_;._:%\1?LO_"?3_BYI.A65YIMOXPT MBS\4RWI?%GI=S=I!/<)M(S(OF*%R=H+9(.,$ [WXE_$SP%\'/ ]_\2?B?XIM M-$T+2T1]0U.]7=5 [E@*P?VEO'_B7X=?LU>._B?\/8DNM6T3 MP7J6I:,%42*\\5K))$V.CC.OA#+_ &>CW R-9T%L"TNE#?>01LB'T1H=WS,: .0_8B_X)_\ ['G[ M2?[$^@?$KXM>"H/&OBCX@:9)J/BCQKJ5W)+J9OY'82B.X+;HFB<&,!<#,?S! MB3D_X)1_M5>*K?XB>-_^"?OQC\87&N:K\/M4OXO!'B6^8E]9TJTO)+1UWM_K M&B=!M().TLO_ "Q--\>_\$_=+_9DUN:P^$'_ 4EUWX*> _&NN^5'X*F\AT: M[F/S0Z?<2S(;=B!@%59P ,L<"J/B7X3?!WX6?MX_LP? C]EFZ2ZU3P#8:_+X ML>WNQ<3P:5- "TU_(O\ '--).1G&7FX #(* /O:BBB@ HHHH **** "BBB@ MKD==^/WP(\+^-(?AOXE^-?A'3O$5PRK;Z!?>)+6&]E+?="P/()&)R,8'-?/G M[27[9/Q6N?@=^TCX9^%?@VXTSQU\++JUT_2EL93N/ 1=)8)4#HWMP1D'D'@UK5\F M_P#!%>YUE_V&-/TVXN[BZT;3O%6L6OA.]N5(:YTQ;MC'(,]O,,H'IMQVKZRH M **** "BBB@ HHHH *AU#4+#2;&;5-5OH;:VMHFEN+FXE"1Q(HRS,QX4 DD M\"JGC#4=&-(34-2M=.GFTZPDE*+AKX@^ M,WCCQU_P4&^'7[+J_P#"&ZQ=?#SXBZM+>?%JP\-Q3M!'):I&!;7$B?,EI]I% MPK%F'^K4YW*#0!]6?#3]KG]E[XR>+9O ?PI^/_A+Q!K,*LS:9I.NPS3.J_>9 M%5LR*,%]2O)5M- M)TUXG(N(XD907G,9?@K\#_A5\._BU^S]\,-!\(>/-&^ M)FCV/A&]\,:5%92W#R,Y^S.(57S5(3=ALXVD#AF!W/VU=)\4_L0?M;:/_P % M(O FB75]X/UJSA\/_&K3+&(N\=KE4M]2"CJ4VQJ3QCRD7(\UB #+\#CQ!_P2 ML_:WT#X&R^(+^\^ ?Q6O6M?"(U.Z:;_A$M:)&+02N21!(6 8\[]Q.8I6?[L MKXO_ ."LWQ1_9T^,7_!.G5M:T+XCZ-K-QJ=UIUU\/Y-)OTFN;G4OM,?EBW13 MO,GEM*K #V.K+QQ<^4OFCC_;W4 ;%%%% M !1110 4444 %%%>0_MK?M!>*OV8OA1I?Q;T+2K&YTRV\::/:>+9;Y7/V72; MF[2">:/:PQ(#(@!;*C<20: .P^,WQ[^#/[/'A7_A-?C;\2=)\-::TGEQ7&J7 M00SOC.R).7E;'.U 3CG%4/@-^U%^S]^T]HUUKWP%^*NE>)8+&14ODLI&6:V+ M9V^9%(%DC#8."R@-M.,X->%^%OV?/$GQ2_X*=_$;XI_M!_"F?6?"_AKPUI-G M\*M1UBT673;&%),J9_.+?.%)4!AD?+7,W'@7PM\/?^"VGANU^"NAVN MD#6/A!>7WQ LM)@6*&>/[1)'!-(B +YAE2 $XR=J'OD@'BOQXU']J6R_:9\: M_P#!6+P;X;U&U\._"SQ;%X43PM=VS17&K^'K4R0:G/@_P>>Y9200N6$_BOX#T?XE^!-7CO]&UW3HK[3;N/I)#(H921V.#@J>000>16AK6BZ M3XBT:[\/:]IT-Y8W]M);WMI<1AHYXG4JZ,IX*LI(([@U\=_L KXO_8^_:0\9 M?\$XO%L-_=^&8HI?%/PFUB2-Y$72YI3YUF[XPICD)P3C+B4_QH" ?9M%%% ! M1110 4444 %%%% !7">(/VH_V:O"?CR/X7>*/C_X,T[Q))((UT.]\2VL5UO/ MW4,;.&#'/"D9/8&O OVDOVM_C9X@^!7[2G@?X3>#;G3_ !]\--0M--T6'1G> MYNI["^BMFBOD"J&68Q27+J%!VF-<$D$FAKG_ 3E_8RT+]@'5++Q-\$M.AU% M/A_-JVI^+-9TP+KL5\+,SR7,MQ(/.CD60%FC)"C!0KC*T =Y_P %2OB/XA\( M_LCZO\./ F@W6I^)OB?=1^"O#EG;PLP>?4%:.3>P&$ @$Y#'C('N1P?_ 2Z M^)7CSX2ZMXE_X)N?M ZJLWBWX8 2^%M0.0FL^'Y"##)%NY(BWJN,_*KHG6-J M]'_X)?Z]XO\ '?[ ?PL\2?$Z5[W5AHC".YO!OD,4<\T-O)N;DL;=8_FZG)YY MKA_^"H?P@\:^&;?PS^W_ / ;3]_CGX/SFZU"UCR#K&@G/VNUDQR51&D?V1YL M?,5H ^N**YCX+?%SP;\>OA1H'QD^'U\;C1_$6F1WMD[<,@8?-&X[.C!D8=F4 MCM73T %%%% !1110 4444 %5M9UK1O#FDW.O^(=6MK"QLX6FN[V]G6*&"-1E MG=V("J!R23@54\;:AXBTGP9J^J>$-+BOM6MM+N)=+LIV(2XN5C8QQL1R SA0 M2.<&OB3XJ>(_'_\ P4.\$?LKZE=^ ]2U3X=^--0GU+XN:=H$,OV2.YM8XE2& MX8,2MJ+H7 *NW.P,Y?AY\)?V@?#.NZW$&*Z;9:BI MDF"C+&(''G $DQ[@ ,]*^=_V8OV=O#'[77[0GQG^-?[9GPNG\2:CH'Q$OO# M7@K2O%>FR2:78:-;G;&UI'(/)D9SDNX#'YLHYI+>RM4@4Y5%*S!'D*J0X M)/!^V/V:?BI\2/C/\)K/XA?%/X(ZC\/M3O;B8Q^'-6O$FG2V#GR9'V@%&9-I M*.JLK!AC&"0#OJ*** "BBB@ HHHH ***\P\9_M%2>"?VK?!/[.&J^%56S\;^ M&]5O=+UTW?+WMD87>U$6W_G@[R%MW8#'4T =7\1/C)\(?A!:P7OQ9^*GAOPO M#=.4M9O$6N6]DLS#J%,SJ&/(X%>!?\%._C[XR\%?LP>'KGX%>/!8?\+"\<:5 MX;/C+191,=-L;OS3)=P.A(SMC"!U.1YF5(;:1YY^P7^RYX!_:Q\->+_VG?VU MOA _B;QSX@\8:C8_9_&NFR/!I5A"X2&VLHIAL6)06Q*@SNW#=E36G_P2K\/0 M_#;XP?M#_L[^$;F:?P%X&^(< \'6MS,TRZ?+,DYN;>-G)($92(=L_M&? 6#6?#'Q"\!?9M5TWQN/$5U+>WES]HC1S.7:W2210. MP#,1^%?,O_!52[E^+VK?"3]A73;DH/BCXV2Y\2E'QLT330MS=9]#]UU)XS"? MJ.ZL/^"C/P$\1_M":/\ LP_ ?2-6\?7[70M]?U3P=9"?2_#D 4@23W ^0J&" MJ=A*@9^;I9-,]U+<,/-699 25W8&" MF-ORT /_ &J/A3XI_:I_;U\'?L[_ !2\-^(;KX-:5X#E\1:M!8)<1:=JNL&Z MDBBMKR>+ PB1B18RP))/!#5XG#X^_8X_X)[?\%2U\-_"SXIZ;X+\$ZCX&E7X MC:"E]--I]OJ@E(ME5!O\NXQL8KP(T+GY=Y%?5/\ P2_U_P :>(?^"?\ \+]; M^(E]-/J+^&PIN+EB7>V261+=F)Y/[A8N3UZU;\,:O_P3W^(OPT\;>./#5U\- M=4\+W^H7DGCW5 MJT$]QN83273L,DG!(9CA@59"05) /8O#/B?PYXT\/6?BW MPAKUGJFEZC;K/8:CI]PLT-Q$PRKHZDAE([@U>KY"_P"")^CZWH_['VH8^W#P MM<_$'6)_AXNH!A)_89>,1'#<@-*+AOM6VDW,ND6ET&\J:Z6)C$C[2#M+A0<$'!.#7Q/\0-0^(G_ 41\,?L MH^*=1^']WKOPZ\1W5SJOQ9TS2HV%C'?6T421K_P"QW\??'#_#;X1?M :#K.NJ',>FQ2/%)<;02WD^:JB? !)\LMP" M>@S7A/P._9;\)?&'XH?&[]I#_@H1\)8KV6R\;:CIOA:;Q[;C^S=.\,6@_"-[$T/^"N?PF^''@OP%\)O&'PG\$:5H?CRT^+FBZ=X+O- M$T^.VG#.TA\@>6!F/*(=O0,J],G/UI\>?B5\(_A'\(==\=_'C5;2S\)6MBT> MMR7ULT\4D,I$1B,:JS2;RX38%.[=C% 'P?\ \$M/VT/V1O@IXG\>_ )/CA_9 M?A?6_B=>-\)-,UJVNQ"M@S!1LN9(_*CC=\!%>0-E26 9_F_1^OB;_@J#\4OV M//B3^P+=^!_"/B/PMXDO]#_#GQ#O&N-?T_PMI]MKEPTF\RWD=M&LS%N^9 QSWS0! MU-%%% 'BG[:O_(L:)_U_R?\ H%%'[:O_ "+&B?\ 7_)_Z!10!0_94_Y*?XM_ MX%_Z/:O>J\%_94_Y*?XM_P"!?^CVKWJ@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **Y"Z^./P]L_CA%^SQ<7]POB>;PI)XBCMC:/Y36*7"VY(DQM9_ M,;[@RP R0 1GX\^ 7A']H?\ X*PU+5KZ#P#X5\ 7ZV M=MI=O;RM$CWY4;[QV92S*648Y! 8*H!]S>(_$.B>$?#]]XK\2ZG%9:=IEG+= MW]Y.VU((8T+O(Q[!5!)]A7PS_P $L_V_OB7\7OBMXA^$7[0W]I02>-I[WQ=\ M);O6!M:[TAKB6-K2/U6(0EHQUVK*?NJN?3?V"_&WB#]N;]@VX\+_ +48MM=F MU!]3\.ZU?VKB-=:M(Y&@%VACQM+8(#J!EXBPP>!%_P %%/V2M0UOX#^&_B=^ MS'H\6D^.O@@T6J> 8;"'[]I;JHETX*/O(T4:X3G+GI\M?3=?/#>,O!G_ 4L_P"" M=.L:IX+B0_\ "<>"[NV%B7#-I^JK&P\EO>.Y52"<;@%8<,*]!_9!\4>,_&?[ M+?P_\2?$7P_J&EZ_<>$K$:S9:K:O#<)=)"J2,Z. R[F4N 1G#"@#Y^T3X=>/ MOV+?^"DAOOAQX,U34OA=\>C)+K=KI5B\T?A_7X5+M=,$!$4,H8EF.!^\_:.U6VU[XW? _0/$6H6<8C@U"]M,7 C!R(S(A5V0$DA22HR> M.37I5% &3X&\!>"/ACX7M?!/PZ\(Z;H6CV*;;33-)LDMX(AG)VH@ !)Y)ZDD MD\UK444 %%%% !15/Q#K^C^%- OO%/B&^6UT_3;.6ZOKEP2(88T+NY !. H) MXYXKYP_:S_;(\5P>&_A+X*_9(U?2IO$/QTOA'X2\3ZM:L]II^GB&.>:],+ % MY%CEC*Q.!R3N&5VD ^FZ^1_$GQK_ &R/VL/CYX]^$?[(?Q"\-_#[PU\,=1CT MO6/%6M:&-3O-5U0IND@BA?\ =Q0QX*LQ&XG!!(;"X&H^(/VT?V)_VH/A9X9^ M)/[3F7A0,MS!Y&?W0SN9<[556!&2KAOAG7Y/ MV'O^"I?B/PEXPD-OX$_:*2'4?#NIRG$5MXA@&R6V9CP&E+L?'M,TCXFZ79F^T+6-&W+IWBO3QG_2+R)9^-_@SKMKK&E7PX,]H\\<<]JY_BC.Y'*GJ$9?XSG9\. MW]UH7_!2/PS\4M T>[70/C7\&H:=+'/')*P&%_T:Z$8SC)P!UQ0! MV?\ P4(_91?]K3]GB]\+>&;G[%XRT"X36O FKQR>7)::I!EHP'ZHLG,9/\.X M/U04W]C3XTV'[(O$UEH&E.ML\@DOKIRD*,5!$:D@Y=R%&.N2 0#JJ*^1/B?X MX^/'[6O[:OB[]C_X7?'#4/AIX4^&VA:?=^*M7\.P1G5]7O+V)9HHH99 1;PI M&PRRC=N!!R&&V?\ 8?\ &W[0?P__ &KOB=^Q9\7OBQ=_$72?".DZ?K'A_P 7 MZG$HOK>.Z (L[IE^^Y!+*6Y(C9ONL%0 X#XH?\%)O%/PM_X*=S>$M0U*YF^# M6F)I_@WQ/J'EK]BTK7[I9;B.._V _V>_%G[//CS]GC2_"R:=I_C M[5;[6-2O1F6:/5;B3S5NP6. M)3%\3/@_>C0_$,9%>-0I?G=M5S_K10!Z;^PU\7V^/'[(7P M\^*=Q<&6[U+PO;)J)_A].ECXQT:QC)?7?#\S[98BJ@EVC+DC@[1(7_Y9**[7_@GUX4\4?"6\ M^+WP%UCPY?6FD^&OBK?W7A.ZFM'2WETW4$CO8XH7(VR&-I7#;2<%QG!-?1E M'"_$KX/_ 6_:P^%5KX<^,GPSBUO0M3@AOHM-UVRD@N+9F3/_ !W_ &SOA5\(/@+\2?C7H>IP^(&^&L\F MGZSIMK(4*:IB$1VCL1QE[B$,P#!=QZE2M?-7Q8UG_@J;\*OV=6_;HU;]J;PQ M/)I^F0ZYJOPEB\%P)ID5@^QVMEO"QG>14;).02055SP6 /;_ -KO]ICXR^&/ MB[X-_9+_ &7M%T27Q]XVL[K4)-:\3>8UAH>FP##W+QQX:61FW*BCC#2-&L8+7Q]I(0O-;Z+JL*,&( M &3"TKCWD>+H,U]+?M&_!;X;?MN?LO:O\-[B_M+[2?%FB+_X*MZ7?#]UIOQD^%\UF5'_ "WU?1YO-#'U MQ9S,,=?EJ#_@KK\1M?\ #?[)I^$7@F<)XA^+'B2P\%Z02V,?;'(F)_V3$DD9 M/;S17S]X5^+7COQU^P/\#_VH_%<%Q<>*?@=\6K/2?$]P@,DUQ8BY_LNX4$9+ MN\,]MN;G+*QYS7UO^VO^PU\-_P!N?P[X8\(_$[Q%JNGZ?X=\1#4Y$TAT22[7 MR9(S!O8'RP2RG< 3A2!@MN !Y=#^WO\ !_X/2^&/V,OV*/AQJOQB\0^&["RT MJ>T\*2HMAI=K"J0M+"H?AY\$O MA[IWAW28L%H+&'#S/C'F2R-EYGQ_&[,WO77T 4?#7AKP[X-\/V7A/PEH=IIF MEZ=;);V&GV%NL4-O$HPJ(B@!5 & *O444 %%%% !15'Q1XET7P9X:U'QAXE MO?LVG:38S7FH7/EL_E01(7=]J@LV%4G !)QP#7S5^UG^V%XRO=%^#GP[_9)\ M3:?::U\>;LGPYXPU.Q\Z'2],2"*XFNA ^ \VR:/;&XQG<",] #ZCKX[_ ."L M7[:?Q5_9;'P[T+X">=?>([K7)]=UW1;6V64W>@:? \MVDORLT43 @F1<$"%\ M'@BLB^G_ &N/V(/VK?A3X5\3?M1:M\5O"/Q4UN71=6TGQ'IL,=WI]RL8<7=N MT7*QKG?'6[_:-U+PT+OQ1>>%$\.O<7;^9$E@)9 M)618VRJER^&/=5 XRVX U/@[\6/!?QU^%N@_&#X>:D+O1O$.FQWEC+QN"L.4 M<#[KHVY&7^%E8=J\)_X)T?\ %N/$/QH_96G_ '8\ _%"ZO-&MNT.D:JHOK10 M/J\_->??L@7=W^P-^V3X@_8 \47,B>!/&\D_B3X-7EPY*0,Q+76F!CW7!*KG M_EGN/S3BO3+OP]KWPT_X*E67BO2M#O)-#^)_PJFM-5N+:V=XHM2TJY1XY9G MP@-O<^4-V,L0 /B]XXTW0O!/PA\.7'Q \1 MW>J72Q12WS2"WL8QGEY4D$$Y?$>K1Z5;6=OHNIRA]-1H2^)FAP/-8JP7;(63Y<[23D>[VEI:: M?:16%A:QP001K'##"@5(T P%4#@ #@ 4 >-?#?\ X)V?L2?"+XC#XL_#O]G' MP]INOI-YUM>K')*MK)G.^"*1VC@8=C&JD=L5[3110 4444 %%%/Q+XJL?#VEO#:M(#?7;E80Y'$:94Y=B ,8ZD @'75A?%'Q M[IGPJ^&?B+XH:U;R36?AO0KO5+N*+[[Q6\+S,J^Y"$"OEOXB^)/C-^V3^V[X MV_9)\)?'CQ!\-?!?PPT739_$-WX-F2WUG6[V]B$R".Y=6-O#&C ':#EASN#* M4J?LD2_%73/V@_C-_P $]?C?\7]2^)7A'2O#UI)I?B/Q!<"34H8=0@8/87,O M660QLS G)Q&6 8*H!C_ T\'_\ !2_]J3X*:;^U[X0_;,L?"NL^(+,ZKX6^ M'-KX6MY=&BM&),-K<3OF1W=<;I2K%"V!TR.H\"?&S_AY?^Q%\4?@AXV\'#P] M\2M(TF]T'QAX3?/^@ZLB.;>9 Q)\IIH@R@DD-&ZY;:';/_X)7?$?7?@]=^*/ M^";/QGO?+\6?#"_FD\,3S?+_ &UH,TADBGBS][89!D?PI+&O5&P?&WPXO[.O M_!6OX4_%SP.PAM_C3I&I^'?&>FP\"YELX$E@NRO=AF!2W983TWG(![M^PU\7 MV^/'[(7P\^*EQ<&6[U+PO;)J4A/)O(1Y%S_Y&BDKXO\ @A^W?^S_ /#?]H3X MY?M?_%77KC5_%'B;QE_PA_P\\$Z!;_:M5NM-T\*B&*%?]6D[F,EG*J7B8+N; M@_3W_!/[P5XP^#\OQ9^!VN^&+^RT;P_\5-0N_!]W/:NEO/IE^L=[''"Y&)/+ M>616*Y +8.#FNC_9U_8&_9>_9>\2:KXX^%_PZA_X2'6+^XNKKQ!JC"YO$$TC M.T,3L/W,0W;=J!<@#<6/- %G]D3XG_M/_%WPKJWC;]I'X&6'P_BN]05_">A+ MJ33WZ6109^V@@*DN[D8VG#;6C0KE_6]B;]^T;B,$XYQ2T4 %%%% !1110 45 MXK^T!^VY\,/A%^SS\3OC=X3O8_$$WPSO'TK5M-C#Q[-6S D=L[,H^7?Q! 8'#$ ^F_V\OCW-^S/^R-XZ^+^F:PECJUAH:!NQ@ .)$'W*ZOQ'\)OAG^V;\-/AMXZ^*?AB\6"PO M=,\86&BR7)5%N_LQ:.*X3&)50S'*D$+Y+?6_BUXL MT_P?83NV!#'&/B_J.JQ:=X;U MXZD;?2KA8FO 87C:!W*DJI+*25PV%(!&<@ \FLOV_P#X<^#]2\._L@?L"?"; M4OB_J/AFTLM+O9]!N$ATC1[*$)$6FOF'E,^Q#@@["W&_=\I^O;BWM[RW>TN[ M=)8I4*2Q2*&5U(P5(/!!'&*YSX2?!GX5? ?P7;_#SX.^ M-\.Z-:C]W8Z;;A M S8P7=OO2.<#+N2Q[DUTU $.G:=I^D6$.E:38PVMK;1+%;VUO$$CB11A555P M% ' J:BB@ HHHH **SO%WBK0_ OA/5/&_B>Z:#3=&TZ>^U"=('E:."*-I M)&"("SD*I.U02>@!-?,W[67[77C?Q'8?!3X6_LH>,;71M1^/L[RZ1XTOK 3_ M -E:7%;17$LR0/\ *UP4G0*K\ A@<'#* ?55?'=WX_\ VOOVWOCM\1_ /[// M[0EI\)O!GPPU[^P)=4M_#$.J:CK6J(N9]PG8+# C<#:/[2Q.H>$?%NEP""T\6Z>,DR+& %2=0 MKDJH /ER#:IC)>__ ,$Y_P#BW'B'XT?LK3_(/ /Q0NKO1K;M#I&JJ+ZT4#ZM M/STKG/\ @LA\/I=._9^TK]KSP5<1V/C/X-^(K+6=$U#HTD$ES%#-;,>Z,6C< MJ>OEE?XB#T?ARR\1:)_P4E 'F/[:7QK^%%U_P4H^'?ACXV^/M.T#P3\&O"EQXWUB?4 MI]JW.IS2""SA1!EI98R(I41 6(+X!KT#X1_M3_$[]OK7-9\*>!?V==5T7X)Z MQX;U#3I_B'XDF^R7FHRS1&-)+*V.=\7+C<<@Y!+(RF-NY\=_\$\?V7/BI^TN MW[4_Q0\"_P#"1>(%TVVM+:PU>02Z?"T.[;-]GQB20A@/WA91L!"@\U[=%%%! M$L,,:HB*%1%& H'0 =A0!\_?L;?\$T/V8?V++*'4O OA?^V/%/E;+GQCKJK- M>GC!6'C;;)U&V, D8#,^,U]!T44 %%%% !116#XN)5CC12SN[8"@LFV; M:;J\EG/[A'?@)&#@9RK;0S^@_L:_%/QE^WI^QAXE\)_M 6?]FZZ+W6/!7BJ^ M\/RF%;B2-/*DN;=API*RCIE=ZM@!3M !PO\ P3B_X*5:I^T_\^)$X0 M76LW^L_"B^>R%NNI>'TNI+<1)A0)6B,6=_+-F;)_=&NW_P""F?\ Q;WPY\,_ MVJ(!Y9^%_P 4-,O-6N1U32;Q_L-XN>VX3Q\]/EYKD?VZOV,#\-?V>O!'Q;_9 M"T3^S_&'[/D27OA:&)=SZAID:YN[27;@S&1 TA'5R9%',QKT_6_$'@?_ (*- M?\$^-8U'P$%EM?'_ ((NH[.V=PS66H>6P$3_ .W#Q*9'!!H ]4^-/Q.T MGX+?"#Q1\7M<3?:>&= N]4GC#8,BP0M)L'NVW:/,+GP5X4M_MFJZA=:BP>WW(N?)5H1"WSD$[W**YX/T- M\'=-C_;H_P"":&A^&?&6I7FG3>-_ARFF:K?"#][#="+R)9@C8W?O8V< XW#' M/.:W?V1_V /V:/V+]%6W^$?@E9-9D@$=_P"*M7*SZE=#'(,I $:' _=QA$X& M03S0!Y+\6_V#+[_@HYJOPU_: _:*C\0_#6;3O#=W:>(?A_87T/=O79O*N%(1@5SW=RS'N:ZRB@ HHHH **** "BO"OVB?VZ?AS\)?V;?BG\&6)4U(M(T^VUG6? LF@6T>@26TK1[[*,#YB563:)#\[D<%68, #VO\ :Y_: M"^.[_'WP=^Q=^RYJ>D:'XL\6:/=:UK'C#7++[5%HFF0L4WQ6Y^6:9Y%90'^4 M8&1\VY. E_:4_:V_8&^+WA[P;^W-\0M+^(/PU\97ZZ?I?Q3L= BTJ?1K]ON1 M7L$/[I8F )W#)"AFWG8RUF?MW:_XO^&FM_!#_@JEX;\)WBP>&K*&T^(FAQJ6 MFBT74HU+9'&3"\LB\_\ +22,G 4FOI3X\?"CX8?MO_LMZKX .I6FHZ%XST!9 M]$UB#YTC=D$MK=QG_9?8X]0"#P2* /--28?"#_@JUI=^I\K3?C+\+YK0@'B? M5]'F\T-[XLYV&/\ 9K*_X+#_ ! U+2_V8M-^!?AW5XK#4_BUXQT_PI'?3R!$ MM+::3?<3.Q( 39'L8DX"RD]LCQ#X;^/OB5\3?V"/@'^TE>:3?ZIXL^#/Q7L] M*UEK&%[BXO-.%RVESH@0%I&>&:WW$9)9&)SFOK[]KO\ 8B^#'[;&F^&-"^-8 MU.33_#.MMJ*6>G7GD"\S$T;0R,!N"'*DE"K?+@,,T >/:5_P4$\,'7-!_94_ MX)U?!>^^*I\,166F:GK=G<"VT+1K&$)&0UZPV2OY2$+M^0GE6<@H?0_%/_!+ M3]@'QI\29/BSXC_9HT6?69[DW%P4N;F*UGE)R7>TCE%NY)R3F,AB23FO8?AK M\+OAU\&_!]K\/_A7X*TW0-%LEQ;:=I=JL4:GNQ"CYF/4LH ATW3= M.T?3X-(TBPAM;2UA6&VM;:()'#&H 5%50 J@ < "IJ** "BBB@ HK,\:^+ MM$^'_@W5O'GB6:6/3=$TR>_U"2"!I76"&-I)"J("SG:IPJ@D] ,U\P?M9_M8 M>./'*? WX0?LN>.T\-S_ !]DEN;7QM<62RRZ7I45K%-OB1X4^*.H7FF^(?#WQ M$U=;ZYLFAA61KZWDVKY42;MS* H7!+;@5^MH?@7\*$^+^H_'H>#[63Q1JWA MV+0[W5)!N,EA'(\@BVGY<,S_ #'&6"(#PHH D^"/QB\%?M ?"70/C-\.[_[1 MH_B+38[NS8D;H\\/$X'1T<,C#LR$=J\._P""<_\ Q;CQ!\9_V5I_W8\ ?%"Z MN]'MNT.D:JHOK10/J\_/0UYY^RI//_P3\_;8US]A;Q!,\7P\^(\LWB+X/W4S M'R[2Y/-UI88],8^5<_P(>6GKU9O!7C#X?_\ !3R/Q[H7AB_F\-?$3X5O::[? M6UJ[06VIZ;=*T$DT@&U-UO<&-0V"Q'&<&@#Q;]L[X_?!VU_X*9^!M-^//Q L M-"\%_!;P;<>+;LWSG-[K%RXAMH8XE!>:5%$4R*@+?*_&,UZK^SU^U%\9?VVO M'5S);?LI)I?P(O-)N()-<\> )>Z^[ "-H+,AE:W8;E8.&5E;(D!4QGN/%7[! M'[+_ (^_:1?]JGX@_#N+7O%/V"VMK9=7;SK.V,&0DR6Y&PRX*C<^[&Q2H4Y) M]D "@*HP!T H \I^$W[#/[(?P+\7MX_^$W[/GAK1=:.[R]2M['=+!NSN\HN6 M\G()!V;>..G%>K444 %%%% 'BG[:O_(L:)_U_P G_H%%'[:O_(L:)_U_R?\ MH%% %#]E3_DI_BW_ (%_Z/:O>J\%_94_Y*?XM_X%_P"CVKWJ@ HHHH **** M"BBB@ HHHH **** "BBOF;]KW_@HOX4_9)_:C^%GP/\ %MM8C1_&JW#>)-5F ME82Z3&SK#:38R%$33>8'9NBQL1TH ]=_:0_:.^&7[*_PLNOBS\5+^X2QAGCM MK.RL8/.NM1NY"1%:V\>1YDKD' R "20 2/G77O^"G/QQ^#NIZ/XP_:K_8-\ M0_#_ .'&NZA%:0>,)/%%M?3:>9#B-[RTB0/;@]65B&7! #MQ7K_[7?[*NJ?M M-:O\,-8TCQO!HS_#WXD6/B>1;JP-S'>);ASY.P.GS%M@#$_*"QY.!7F7_!:' M6#J/[&9^!^CVR7.O?$WQCHWAWP]:GEGN6O8[C('7 $&W/8N/44 :_P"VG+'\ M,_VG/V>_VF;5U%HGC&X\&ZU+&?EDMM8MRD#.1_ EQ"C ] 7]Z]C^)/[/_P . M/'7P2U/X!VT4WA7P[JT"VT\?A"5=->.-I59XXS$H""3!1@!\RNRG.ZO-_P#@ MH%\&+OQ3_P $_P#Q;X'\,32OJ?A?PW!JFA7*C]Z+G3#'=1LO^VWV58HS MD;7# $9X958 'RO^W]^QO\%O^"?7@GPC^UG^Q9HUUX,\9>'_ !?I^GQ:;9:Q MJ6IO)'A%U+C=Y49.R%, *@' .<#'?444 %%% M% !1110 5X#^T'^WOH?PF^)DOP)^$GP8\5_%'QW9V*7NL>'_ C;*4TFV< H M]U.WRQ,X(*I@L003C7.DZWX>\7Z0]M-%,GR31C<-LJ-?01>,],\(Z9);7?A^*5P@F@9E7SD5F5OH/P*UK2_ O_ 4E^(GAG1;V.;0_B[\/M'\NFRMM$ MW)MGEA\H!C)+P6+$@@ $$ ?/?[.7[/[_M'6_P <_P#@FU^T?X[UCQ?H_P * M_$NG3^ _'5S<^9JFE_:8II(0)SG,D00#!R#OE3 7:H]H^(G[#O[4$?QG\1_% M#]G#_@H!XE\&:?XQN!/KOA_6O#\.NPV\FT+NLS![SPQX3U/4M8U76]2DU/Q3XHURX\Z_UJ_D^_/,_Z*HX49ZL6 M9@#P6\_X)_\ [9/QC\/6GP+_ &L/VUK?Q/\ #&RNH'OK'2/#2VFJ^(88'5XH M+RY+$HNY5+,I=F*Y)W?,/L.RLK33;.'3K"V2&"")8X(8UPJ(HP% '0 #%2T M4 %%%% !1110 57U;5=,T'2[G7-;U"&TL[*W>>[NKB0)'#$BEG=F/"J "23P M *\>_;^_:S_X8J_9FU7XZ6NA6NJW]K?6=IINEWER8DNI9IU5EW*"H MH \=U[_@J7\0M;T.^^*_[/?["OC?QW\--+>4W?CH:A%8"YAB)$D]G:21M+=1 M#:WS?)]TY"X-;7[5_BWPA^W!_P $QO$'QC^!FHS3(VA#Q-X;G:(+ M*YCL;3#,$+-@L(_4Y8].<5Y1_P $>?A7>^#_ /@G5X1TSQA8+_Q4Z7VJRV,B M?(+:[GD,2@?W6AV/C_II0![?\"+_ .''Q*\%:1^TAX1\(:5:ZAX]\.Z?J-_J MMK8QK(CRI))\XB,:X"GY X0<.#\U=;_P $V-+BU+]E+Q3^ MR?XPO;QI?ASXOU[P1?2P7DD%R]HLSO!(DD95X\V]P@1U((V @Y%<_H?_ 29 MUNR\.CX,>(/VY/B;J?PH1]J^ 'GBB:2VSD6DEXOSM!V,:J@(X&WK0!ZC_P $ MTOC#\0?CU^PY\/?BE\4I9)M=O]+FAOKN88>[^SW4UNEPWJTB1+(3W+D]Z[!/ MV7?A)#^TP_[6EIIMW;^,)O#?]B74]M>M';W5L'#!IHEP)7&%4,^0 B<912.S M\(^$O#7@+PMIW@GP9HEOINDZ391VFFV%JFV.W@C4*B*.P %:- !1110 444 M4 %%%% 'F?[3G[5WPM_93\+V&M^/UU/4-2UN]^Q>&O"_AZP-WJ>M77'[FVA! M&XC(RQ(4;E!.64'D_P!F+]NS2_VA_B1JWP:\2_ 'X@_#[Q5I6FKJ+Z9XPT%H MDFLV?8LJRKE1EN,-MR0=I;:VWR?]M[QQX;^ /_!1SX&_M!?%ZY$'@U?#.OZ3 M%J$R[H]-U PLX?V>566->YP?0U3A^-7_ 5W^+'@!?VI_@UX ^&VF^%+NT&I M>'/AOK*W$VLZGII7?&TDJ803R1D,J*Z#Y@",\, =+HWPV\"M_P % _C'^S9\ M3O#-MJOA7XO>"='\8Q:1>*?L\L]G+]BNEP",LSI;RL.O /3->J?M3_L;>&/V MJ?A_H7P9USQ_K?ASP3IUPK:QX;\,F*W35H(D M[9W*DQQ1NJL%48.,8!"LOS MOKO[4/A3XX:I^S'_ ,%"/".G2:9"WC>Z\$>,-,EDW/8-J<36YBF; RD5S#&Z ML0,B1&(&X@>[_M8?LP_'?XN^,O#OQ6_9V_:MUKX>>(?#D$MN+![07VD:A%(0 M6\^U9@I?@?.0_"KA00& !\\P_";6OV2?VZO"'[)$GQ(\1>/OA%\<_#6KVFH^ M#_&VJOJ+Z9+;6S2.\;/RL;+M7C'RL^=Q1".O\(?L,_MX_LZZ;>?!?]E/]L+0 M[+X:W,LG]CQ>,/#[WNJ^&HY&):.U=?DFVY)7S"JY/W0B444 %%%% !11576]9TWPYHMYXAUF[6"SL+62XNYW.%CB12S,?8 $T M6J^=OC7_ ,%!++P?\4=1^!?[/?P'\4_%KQAH4:2>)+'PQLAL]'##*QW%W)E% MF(Y$8#'@@D$$5>_X)X_MT^%OV]/@G-\2-.T:+1M:TS4Y+/7_ ^EWYQLVR6A M8.0I='BVD-M W+(H^Z:M?L4_LL^+/V89/B<_BSQ/INK-XY^*&I^)[*YM(G\^ M.WN2HCBG=P-S@(#@#"L[X)SF@"7]D[]L/X&/$OAU_!&K>&_$7ANY.F> M-O _B6 )=6#2!E 8#[\;A9 #@'*,"HXSY[_P30\%^#M4^"!?B M7\;?V.O%'C_4?%F@_"KQ+91>$]>U:X,UPEK=QS/]C>0_>,0B48_A9G "KM4= M#\0O^"?WQMD^,GB3XJ?L\_M[>-? -KXRNQ<^)=!N=,CUF%I=H4M:M<2#[+\H M"K@,4 "J0JJJ^M?LP?LN?#;]E#X?S>"/ $FH7USJ.H2:CXA\0ZU=?:-0UF^D M_P!9H07O@KQ+#K>@:GH]Y] MGN8)XSG8) "PC)?'WPPTZ[DA/BT:]# M9W6JI&Y22:QL#&\T\:LIP0"6P00A#8[W_@H'X4U?XX_\$_O%>M:)H6H:3K5E MX?@\4Z/9ZA"J7MA=V31WRQLJE@LP$31D GEB 3UKY=_8T_:)_:,^/GP6^'_[ M"O[*_B2R^'?B/P5X9N$^*?BO5-'6\FT3[->/:Q6UO;OA)+B7'F-NQM!.&!%> MK_#?XJ_M7_LL_M1>'/V1/VS_ (D6/Q,\'?$^SNK;P;XZ&B1V-Q'>11YDLKJ* M/((=6"C)Y62VC9%ED W.44A!N)VA<<8KYB^/7_!(W]C2/X&^+?',/\ ;4'C&WT^]UV/ MXG:EXINIM02\1'G6YE6Z @9^4':,@AOGKJ_\ @FYHUGK/[)_BG]DGQU)< M7'_"N_%VO>!]3"W3PS360F=X75XRKH&M[A%5U(.%X.16)H'_ 2'T+3]&3X3 M>(/VO/BKJ_PLAF#0_#BXUM8[9X@VX6TDT:AV@SC]VH3ID$'F@#G?@5^S???\ M%#OV+/@_^TAX^\=ZYX-^,.B:5*FB_$?13B_\N*YG@0W"DC[3'+&BR%20297( M8"1PWKGP%_83U_P7\8+3]HK]I3]HS6OBQXYTC3Y;'PYJ.HZ3!IMEH\,H*RM! M:0%E65U)5I"Q)4],\U[UX;\.:#X/\/6/A/PMI%OI^F:9:1VNGV-I$$BMX8U" MI&BCA550 !Z"KM !1110 4444 %%%>"?#/\ ;W^'OQ"_;>\>?L32V$=EJOA. MRMI])U#[:'75V,"2W<87:/+>$RHNS+%@DC)] M/UG7_$WB29H/"W@OPMIYO-4U:10-WE1 C"+D;G8@#MD\5Q'[/_\ P46\/?%7 MXVI^S?\ %SX'>+_A=XVO;)[S0M)\76RB/5H$#,Q@E4X9PJNQ7&,(V&)4@;%Y M^RYXVNO^"C%I^V!)K>E3^';7X7'PW%IMT9&N[>[:\>8RPC;L52A"EMVX^8XQ MCFO,?VR;:#XE?\%-OV:/AIX=C']J>&1K7B;6KE!\UMI_EQI&"1SMDE@>/TR1 MZF@#1\._#WP1;_\ !0GXP?LZ?$KPO9:OX7^+?@K1_&4.CZC"'M9;BSE^Q72E M3PS,Z6\K YZ ],UZG^U)^QIX$_:O\&Z#\*O&?BS6]'\&Z5@+>]=+^UA^R9\5_C7XU\/?%SX$_M5^(_AMXI\-VTMM;^ M1;B_TN[AD8,ZS64CK&SDA?G.GQ65MIMENW&WL[2(E+<,<[B"2HV'AS2HK"RO-9N1-X502 M !@ #BNGHHH **** "BBB@ KYU^.?[>/B+PK\6]1^ '[,'[-VM_%SQEH% MI%<^*;33=6ATVQT9)5W1QS7$O"EMJ?Q.^)GQ(TS4/AFFJLRVM['J2L/-E<<^1:C.X ]0R\8) !]G?L MU_&N^_:D^#T_B3QU\#/$?@BZ>ZN=+UCPSXKLRC[D^23RV*KYT)R5#[5R588& M.?)/^"9'ACPQ=? Y?A7X\\-:=JGB3X%^/-=\)Z=JFHV,WD@7(-3\6^!_AKXOLT\">(KJ[WW^E&>.=A'%.0=LEOY:@@#;F212NQME> MR>/O^"R8\RZN M92!YDC8&3@ 4 >!6W_!-3XZ?$&STWX8_M5?MUZ_\0OAIH]Y#/#X//AJW ML9M4$+!XH[^\5VEN$4JN0'? U_I"P^&_BCI?B#7;#79 M76VOK&V6;S(6"(Y):Z)\0O%7A?[-IDS/]QW;>6CC8996P25^8@ ,1M?MK,OPQ_:<_9\_:6MV" MVL/C.X\&ZY(AX>VUBW*0,Y_N)<0HP/0%_>J?_!9W6M(LO^"?GBOPO=Z>MYJ' MB;4=+TGP_9;06GOGOH9$"?[02*1AC^Y6S^VW\#]?U[_@FWKOPZM;MYM?\)># M+/4=.O8SND-]I2Q7*NA_O,;=E'KO]Z /2+W]FOPKX:^!.M? []GN_/PUBU5) MC!JOAJU3SK.>9@9)T#YS(PR-Q.X9!4@A2/BS]K/]DZZ_X)8_!O2?VJ/V1?CG MXWMT\'ZW:)K_ (2\1>(S&+EDEM9C&DRQR*&4R1ACAH]RDE!R M,5Y[X>_8!^/WQ4\3^']1_;M_:V?XCZ%X3U&*_P!'\(:5X8@TNRN[R+_5W%Z8 M^;C;U$9 7/_LF M1^+M-^&&L:I_9/BOQ/-K::%=3(;329) T5JBJ"B' X);A5 QCGU2B@!%544 M(B@ # '2EHHH **** "BBB@#RC]J;]KKP/^R[I^BZ?J'AO6/$_BKQ5>/:>$ M?!?ANV$U_JTR@%RH) 2- 07D;A0>A/%8'[,'[8?C[XW_ !$UGX2?%O\ 9.\: M?#77](T]+\-JR"[T^YMW?8NR\B58_,)SA.^Q\$E& \>_;G^(^@?LM_\ !1#X M1?M3?%82#P;)X)US07O53<+"^6-YT(!X#S!EB7IG#=@:KP:Y_P %B_BI\-XO MVJ/AUXV\ Z)::A8KJ_A_X07&B"XDN+!E\R*&:\90XN9(R#M5T7_LQ?\%!=$TAM)/_ F]WX%\;:6[ M$FRDU*)K=HY&(&8X[F&.12<<2H2 20/>?VKOV-O&7QZ\=>'OB_\ "+]I_P 5 M?#3Q?X;M);2SOM,7[;836\C!G66QD=8W8D+ELC<%4,&V)M /GO1_@AIO['W_ M 43\*?LM> -?U77OA5\;?"6KIXC\ ^(]2DU"'3WM[>5S.OG%F"2!5CRQ).Z M0$MA O::!_P3D_:D^"]I?_"?]EK]O+4?"GPQU&:5H/#^I^&(=1OM$CE8F2*R MNG<,H.3M/RE"=W+Y<^I_LU?L1V/P7^(.H?'CXK_%O6OB7\2M4T];"X\8:_!' M MI9AMWV>SM8\I:QEOF(!))SR 2#[I0!Q'[.7[/_ ,/OV7?@UHGP/^&%K,FD MZ) RQRW4@>>YE=S)+-*P #.[LS' &< =O110 4444 %%%9OC/Q5I/@7P M?JOC;7KE(;'1]-GOKV:1L+'%%&TCL3V 52: -*OFGXK?M\>.;CXIZY\$/V-_ MV8]4^+?B'PI((O%MY%KMOI6E:3.?P,E\=7FFV>E^)]'U![/Q+HEG(Q2W+$M!*F\EC')'C!/\:2#^&N@_8P_ M95U3]E+1_'FD:AXW@UM/&'Q(U/Q/;,E@8I+5+HH%AD,%6;C_P#@F#HNB?\ "B7^$OC/0[*_\1?!'QSKGA&TU*^M$DN;>*.X M\R-XG8;HU>WD@7*X#",=<5@_L&Q1_%/]O']IO]I71E T27Q%IOA/3IHON7,^ MG6JQ73YZ-@K$0>XDKIOA(?\ A47_ 4^^*'PW;]W8_$[P1I7C'3$Z(MU9L=/ MNU7_ &V!AD8=<<^M '1?&;_@F_\ LG_M)?%/5_BO\>/"VI>+-2O;.&RMK74/ M$5TEMI$4<8&RUBAD00ER?,;KEF+#&XY\O_X)0/XH^'7CCXY?LFQ^,+[7_!OP MO\:6]IX+U'4)S+)!%.LS2V6_H?),48*C #NY &<#I_'O_!,UM0^+OB/XJ_!7 M]KGXF_#H>-+PW7B[2/#^KB2"\G(PTL1ERT#D=&^;8.$VJ H]G_9S_9O^%/[+ M/PVA^%_PCT:6WL17!FN]1NY,>9 H WXY_LS_ M A_:,F\+W/Q2T":ZG\'^(H=;T&ZM+R2VFM[J/IB2(APA.TE01DHA_A%=]11 M0 4444 %%%% !1110!XI^VK_ ,BQHG_7_)_Z!11^VK_R+&B?]?\ )_Z!10!0 M_94_Y*?XM_X%_P"CVKWJO!?V5/\ DI_BW_@7_H]J]ZH **** "BBB@ HHHH M**** "BBB@ KYI^*G_!-/X<_'+QK\7_'/Q<\47&M7OQ)T*TT?09+BV7/A>TM MXXW1;?&,G[6@G/ SL4'.YRWTM10!\M_\$OOV@?&GB[X?:U^RQ\>)3%\3/@]> MC1->25R6O[)3Y7VGRAYGEYSLW==N><=,T ?+GP)_9U_;8^*WQ/T[]H;] MM?XUG18;)9CI'P?\%2 :7;QS1/$R7\AW"[;9(P(RV#RL@'RCZ0^'OP^\&?"G MP3IGPX^'?A^#2M$T:T6VTW3K;.R")>B@L23ZDDDDDDDDULT4 %%%% !1110 M4444 %%%% !7RK_P4?\ V*/&WQMU+PC^U#^SA%91_%CX9:A%>Z'#>,$BUFVC ME$OV*1B0 0^XH6(7]Y(I(#[E^JJ* /A;XX?M%?M2_MO? O4_V4O!?[!'Q"\' M^)?%ELFG>)-?\<:>MKH6CP%U,\T5TW-WA0P4*BMR" Q&T_4?@W]E_P"&'A2\ M^'GB&>QFO-;^&OA)O#_A_5FN'C;[,\$$,AD16VR%E@4@-N"EF(Y.:]&HH ** M** "BBB@ HHHH **** /'/VBOV2K#]I+XP_#7QCXY\4&7PKX!U*ZU6Y\'RVJ MO!JNHE$6TFD)[0_O3M.0=V,8+9\%_9$N[K]@3]LW7_V!/$US)'X"\=R3>)/@ MW>7#DI;NV6NM+#'NN"57/_+,,?FG%?;M>'?MX_L?R_M<_#+2['PAXIC\-^-_ M">O6VL^"?%31DG3;J.12^=OS%&0=!_&D;'.W% 'E_P#P7$\?7O@S]A>XT**6 M[BL_%7B[3-'U>:Q3=,EHSO<2;!D9+"W"8R =^#UKG?"NC?M[_MP:'IOAOPG: M7W[-WP7LK2&VTZ*+_D:M5LHU"QJO3[$A10!]TC/_ "V4U]HQ^'XM3T?3K7QI M;6&JWEGY,SW#6 $?VM /W\<;ES$=V2OS$KG&X]:TJ .8^'_P>\!?#36-=\3> M%M'\O5O%%U!=>)-3DD)EU*XB@2!9I ,(K;(UR$55)).,DUT]%% !1110 444 M4 %%%% !1110!Y)^VY^R7X0_;3_9YUCX)>*)UM;B?;=:#JICW'3K^,'RIL=U M^9D8=2DC@$$@CYW^!'[;/[2/[,_PMTS]F;]H']AGXH:]XW\*:?'I&B:IX(T( M7NDZ]# @C@F^U;@L.4";VPV,%R%)\L?<=% 'RC^R+^P0UO\ L>W_ ,)_VJ-% M0:GXS\>2>--=T;2;\H-*NVNH+B*VBFC.1L^SQABA_BD56(PQ^KJ** "BBB@ MHHHH **** "O-OVN_@MXP_:*_9X\2?!+P3\0/^$8NO$EO%97.KBW\TI9M,GV MJ,+D;'_P/MUKTFB@#X(^-WPUT#_@E3^TAX&_:G^$ND/8_"G7]/L?!?Q1 MTV!2RV8C18K+4V ZL @WOC)*,.6N#7V?\7?'S> _@MXG^*.B".\.C>%[W5;0 M1D.D_DVSS)@C[P.T=.N:7XT?"+P7\>_A3K_P<^(FG?:M&\1:;)9WL8QN4,/E MD0GHZ,%=6[,JGM7$_L9? SXG_ W]F/1O@/\ '?QKIGBVZT:";3X+RWMG\N33 M0Q6""02_?*Q$(> -H"_-M+, ?"7_ 3M^,_[7OC7]E[2_@=^P]\(6L]4U'4; MW4OB%\:?',073XM0N)F9S:QX;[7,L8A3)#8*?-'M(>ONKX$?LE6GPXM?"?BK MXO?$?5OB)X]\*VFI06OC;6G,4VR_D62XB6-&P8@4 19#(8UR%(& /5]&T;1_ M#NE6^@^'])MK"QLX5BM+*S@6**"-1A41% "J!P !@59H **** "BBB@ HHHH M **** "BBB@#XU^.W[*OQ\_9L_:UNOV[OV(/ UCXG?Q-9FT^)7PXGOTLVU,% ME8W=K*_R+*2BLV>=X8@/YKJ+.C^ OVH_VV_VD_AY\8?CK\!?^%5^"/A;?SZK MIFCZEK<-[JFMZFZ!8V(A&V"&,J#\WS-@]0V4^P:* ,+PI\,? /@?Q#K_ (K\ M)^%[6QU'Q3?I>^(+N!3OO9TB6%7?)[(BC P.IQDDG=HHH **** "BBB@ HHH MH ;*)&B987"N5.QF7(![$C(S7Y[?&3_@FW\1O@%^SC;?M-_#OQ0FO?'SP1XQ MO?'6L^)+:!E_MXS/NO+/9PS1>0B[8_XBLJJ!YQ%?H700",$4 <+^S1\?_!?[ M47P-\._'3P%,#8:]8+*]N7#/:3CY9K=\?Q1R!D/KMR."*^ ]&_:_\7^'_P#@ MI5\=]:^&GP#U[XC?$Z:XM?"7@?1;)!%9:5IMKQ<3W5PW$,3SI%)V!.[+IN!K MZQ_9$_9!\:_LF?&KXFQ>%/$VF_\ "JO%NI1ZQX9\,IYGVC2-1D'^E*HVA%@. M % ).$C&!M);W+0?!7@[PK?ZEJOAGPKIVGW6LW?VK5[FRLDBDO9\!?-F90#( M^ !N;)P,4 ?.WPC_ &1_V@_BQX:UV^_X*'_%FU\4'Q+ _#<36NF>'I M+.Y%S#Y$ZD2M)N 5V!!91@O)A6'TY110 4444 %%%% !1110 4444 %?,/\ MP40_8E\6_'^X\*?M#_L]WUEIWQ:^&M_'>^&;B^PL&IPI()393-V!8$H6^4%W M4X$A9?IZB@#X;^,GQ#_;P_;E^#EY^RE_PQ'J7PYNO$B16?C+QEXEUJ"73=-M MA(C3/:JGSW3,%PH7INZG[X^K?#/[//PJ\,ZCX-\01>'%N-7\!^&FT+P[JT\K M>;!9M'#&ZD A6+"!.2"1\V,;FSV]% !1110 4444 %%%% !1110!\F?M$_\ M!,RV_:S^,/Q+^(OQS\76U[:ZOX,M?#_PPMX(&#>'-FV>2Z;/WI#=C.5()B:1 M#PP V_\ @F-^TGXO^+7PGU+X'?&XM!\3OA1?_P#"/^,;:=\R7*QY6WO03]\2 M(A!?^)HV;HZU],5\Z?$G]D7X@6/[>/@_]L?X"ZUI>FB[T^31OBMIM_(Z+JVG MA1Y,J!%.Z="J@;B!^ZBY # @'AO_ 56_:'\%?#K]M+X#>&?BII>K:AX:\-/ M=^+9-%T2Q-SOI:_P#ASX!U7QM8 M_$G5/!FEW/B#3+22UTW6I[%'NK6&0@O''(1N0,1R 1FMF@#EO@K\'O!'P ^% M>B_!OX<6MS#HF@6GV?3X[N[>>0)N+'<[DDY9B?09P !U-%% !1110 4444 M %%%% !1110!Y9^V7^RIX)_;+^ &L_ [QK)]F-XJW&CZHL6]].OH\^5<*.,X MR59&[%-*\.^*_"MW$ MVBZO!$HCMY;BY? MOD"!BWS'!+*A) ^WJ* /F;]DC]@K3O!O[)"_!C]IK3K+ M6M5\0>+W\7>);.PN)([>VU-KJ.YCCA>-E;;&88@<'#$..5;GZ9HHH **** " MBBB@ HHHH *\W_:V^ 5_^T_\!-:^!=G\0+SPU%K[6T.HZE8Q*\C68N(WN(,' M_GI$KIG(^]SE&;CQ-XIUCQSXK\,65];6?C?Q7" MU@2UM84CBC0)''&H"JH& !T ':GT %%%% !1110 4444 %%%% !1110!XI^ MVK_R+&B?]?\ )_Z!11^VK_R+&B?]?\G_ *!10!0_94_Y*?XM_P"!?^CVKWJO M!?V5/^2G^+?^!?\ H]J]ZH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** /%/VU?\ D6-$_P"O^3_T"BC]M7_D6-$_Z_Y/_0** *'[*G_)3_%O M_ O_ $>U>]5X+^RI_P E/\6_\"_]'M7O5 !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !117X@_P#!:C_@M1_P5@_9E_X*P0?L#_L#V7A_5_[7\/Z5+H&@ M7'A2*\O;N]N(G=T5W=2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PW MS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_# M?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P> M2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ MP>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ M1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_ M]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ M )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6? M^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CB MS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL M_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ MC] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X M_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] ' M[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^ M_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45 M^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!1 M7X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ M WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _ M\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS M_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_ M\'DO_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P ' MDO\ T99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO M_1EG_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ MT99_YCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG M_F.+/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_ MYCBS_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+ M/_X_1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS M_P#C]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_ M1_PWS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C M]'_#?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PW MS_P>2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_# M?/\ P>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P> M2_\ 1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ MP>2_]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1_PWS_P>2_\ M1EG_ )CBS_\ C] '[_45^ /_ WS_P 'DO\ T99_YCBS_P#C]'_#?/\ P>2_ M]&6?^8XL_P#X_0!^_P!17X _\-\_\'DO_1EG_F.+/_X_1^QC_P %Q_\ @N)_ MP]A^%/[ _P"WQX8\/^%?^$J\06T6OZ!<>"X+:]^Q312.CJZ2-LW;,@CTH _? MZBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#Q3]M7_ )%C1/\ K_D_ M] HH_;5_Y%C1/^O^3_T"B@"A^RI_R4_Q;_P+_P!'M7O5>"_LJ?\ )3_%O_ O M_1[5[U0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5^ /[?/_ "N2_!7_ M +ES_P!([BOW^K\ ?V^?^5R7X*_]RY_Z1W% '[_4444 %%%-FFAMX7N+B58X MT4L[NV H')))Z"@!U%9/@3QWX-^*'@G2/B1\.O$]EK6@:]IL.H:+J^FW"RV] M[:S('BFC=>&1E8$$=0:UJ "BBN4^,_QO^%?[//@.?XG?&7Q?#H6A6LT4,^HS MPR2*CR,%08C5FY8@=* .KHKY\\.?\%6/^">GBK68-!TG]J7P^MQC6GB'0-2@O+"_MH[ MBRO+:0/'/"ZADD1APRLI!!'4&K- !16%\3/B9X&^#G@34OB;\2_$$>E:%H\ MFU+4)HW=8$W!=Q"!F/+ < ]:UM*U.PUO3+;6=+N!-:W<"36TH! >-U#*W//( M(- $]%%<[\5/BQ\//@CX(N?B/\4_$T6D:)9S017-_-$[JCS3)#&,1JS?-)(B M\#^+GB@#HJ*** "BBB@ HKFOAI\7_AO\8;76+WX;>*8M5BT#7[G1-7>**1/L MU_;E1- =ZC)7*_#/@;PW>^,/&?B"STK2M-MVN-0U'4+A8H;>)1EG M=V("@>IKQ7P3_P %/?V#_B'XPM/ OAC]HC36U#4+@0:?]OTZ\L[>ZE)P$BN+ MB%(9"3@ *YR2 ,DT >]45SOQ5^+/PW^"'@:]^)7Q8\86>A:'IZJ;K4+UR%4L M0JJH +.[,0%1068G !-8GP(_:=^!?[3&F:CJGP4\?1:P-(N5M]5M9+*>TNK. M1@2HEM[F..6,, 2I90&VG!.#0!WM%>*?%_\ X*+_ +%OP$^(5_\ "KXN_'?3 M]%\0:8(C?:;/87;M$)8DE3+1Q,IRCHW!/7UKI_@/^UG^S?\ M.17 Q7!/&: /1**R_&OC3PK\.?"6H^//'&NV^ MF:/I%F]UJ6H738CMX4&6=CZ 5Y=X!_X*%?L5_%+QEI_P^^'O[1GAW5M:U6?R M-.TZUFH*Y8<\BO2J "BBB@ HHHH **** "BL"W^ M*_PMN_%C^ K7XE:!+KL;%9-%CUF!KM2,Y!A#;P>#V[&M^@ HHHH **\2^(W_ M 49_8M^$OCS4_AE\0OCE::=KNC3+%J>GG2KV5K=V0.%+1PLIRK \$]:Z/X$ M?MA?LR_M-W5YI_P*^,FD>(;O3X_,O;"V=X[F*/=MWF&55?9N(&[;@$@9Y% ' MI5%%% !1110 445SOQ2^+'P\^"OA%_'?Q0\31:1I,=W!;/>S1.ZB6:58HEPB ML?F=U7ICGG% '145SNE?%CX>:W\2]6^#VE>)HIO$NA6%O>ZMI2Q.'M[>?<(G M+%=I#;6X!)XY JUX^^(/@?X5^$+[Q_\ $CQ98:'HNFQ>9?:GJ=RL4,*Y &68 MXR20 .I) )(% &Q17F'P4_;/_9>_:)\03^$_@Y\9-+UG5;>V^T/I@66WN&A MX_>I'.B-(G(RZ@J,C)Y%0_%W]N#]D_X#^,U^'GQ:^..C:-K/E1RSV$K22-:H MY 1YS&K"W5L@@R%000>G- 'JM%8'B[XJ?#;P%\/9_BQXQ\=:5IWAFWLTNY== MN;U!:^2^-CB3.&#;EVXSN+ #)(KF_@;^U?\ L[?M)RW]M\$?BMIVO7&F*C:A M90B2&X@1_NNT,RH^P]GV[3ZT >AT5Y/\3_VZ?V1O@QX];X8_$[X\Z'I&N1^5 M]JLIY'86?F8V?:)$4I;[@01YK+P0>AS7JMM*6)PRNI&0 MP(X((YS0 ^OP!_;Y_P"5R7X*_P#"_LJ?\ )3_% MO_ O_1[5[U0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5^ /[?/_ "N2 M_!7_ +ES_P!([BOW^K\ ?V^?^5R7X*_]RY_Z1W% '[_5Y7^U/^VY^R?^Q)H& ME>*?VK_CIH?@73]R+M4\A>:]4KYT_X*+?\ !+7]D_\ MX*D>"_#G@']J_2-M/9.LTD?EL690=PV]J .+_ .'^_P#P M1M_Z2$_#_P#\#)O_ (W7R?\ \%DO^"]O[$?C_P#8^N?V9OV+/VT_"-[XO^+N ML6_A&_\ $UK=2BV\):-=-MU'5+ARB[52WWQJ%/F;I@R E*ZZ;_@T3_X(SV\+ MW%QX/\>QQHI9W?Q[* H')))3@5\(?\$V_P#@B]_P1E_;-^)7QF^.7CWXB_\ M"/?!VQ\:MX;^"NB7GQ/AM;_4[6R&R[UF=Y6$CQ7$V/)7"!55P02 U 'T=_P1 M:_X+ _L"?L+:'\1O^"<_QD_;H\.:IX#^&GB=KGX'_$C4+IWAUOPY?$SBR=TC M^6YM)F=7#! ?-Q&NR,5]Q_\ #_?_ ((V_P#20GX?_P#@9-_\;K\HO^"L/_!" M[_@D%^RW^S99_M/_ +)/CZ/Q*_@7Q38:A\0/ X^*MO=W.O\ ALRB.^BM"K!X MKF-6$JN,@*DF5;@5]@?"W_@U9_X(;?&CX:^'_B]\--(\=:KX=\4:-;:KH>I6 M_CR;9=6EQ$LL4@^3NC*<=1F@#[Q_98_X*-_L._MMZ_JOA;]E#]I7PWXZU#0[ M-+K5K30YW=[6%WV*[;E'!;BO//\ @LY>QZ;^Q)HO^"=/_!%?]AW_ ();^-/$?CW]E#0?$EGJ'BG2XM/U9M<\0O>H MT,@?\%$/@'\0OVDOV^U3@=Z /(/VI?VS_ )^TA\ O%7P/\"?L@_%KQ7KOB?1+G3M&L-2^&=S M;6\%U+&4BN9)IU"PK$Y63S,Y4H"".H@U+Q+^VG\'->^ O[!_PL\=:!IVM:K\ M)WC\1>(]8TW[>NF7%C';AYXUR//P \2JQ"L75FX!%?;->*>/O@9X]\0_MW?# M[]H#3;>U/AWPYX*UC3-3E>Y E6XN7B,05.K#"-D]J /.[3XE?MD?%OXYZA^R M3\/?C/H&@WGPT\+Z70#[.TO^ MBSD(T;LK,J,P*JV#GU7Q]\(?VD/@7^U?XF_:A_9O\ Z1XXTSXAZ-I]GXT\(W M_B!=+NXKRQ1HK:\MYY$>-D\EBC1M@YY!.>,+0OV./CK\2?!OQ]^(_P :;C0M M)\>?&GPD^A:3H6FWKW-EX?LXK*:"VBDN-BF5V>7?*ZIMR,J.< Y[PG\8?VD MOAS\#_V??V8/AMXXT/4?'/Q1T!)].\3ZGX>\NU\.:)::;;S2%K=)3]IF1'5$ M+,HD;.X"N\\'_%O]I3]G[]JOP?\ LW?M&?$72?'FB_$K3M1D\)>*[/P\FEW= MG?V,0GFM;B&)VB>-HCE'&&W9!!ZUQEE^SG^V'=_#SX,_%^S^'GAK1_B;\$(Y MM'@\,W7B7SK'Q-H\EC!:SG[3''_HTS^7NC#*P1A\Q(-=GX0^$7[2O[0'[5?@ M[]I/]HSX?:/X$T7X:Z=J*>$_"5CXA75;N[O[Z$0375Q-'&D2QK$,(B[FW9)( MH TO^"KO_*._XJ?]B\O_ *40U['\(?\ DDWA?_L7;+_T0E<+^WA\'/&O[0/[ M(GCKX-_#J"WDUO7])6WTZ.[N!%&7$T;_ #.?NC"FO._!_P 1/^"F_A;PSI?A M;_AC7P%+'IUA!:^>?BB076-%3=C[+P3C.* )_P!H[XE_'_2OBUJVE:O^U5\/ MO@7X&TZPMV\/:UX@BL+Z_P#$4[H3.YCNKB-;>&)L(%VEW.3G!P/G7XW?M0>/ M_P!J/_@DW\4]7\3:KHGB/6?"/Q4LO#=MKWAR$PV?B!+?5M,D@NXT+$1B59UX M!QQD8SBO6M6_9G^._P ._P!KGXC?&.']E3P7\7X/&]W9W/AGQ)XD\106MQX; M2* 1&S9+B"5EB##(, )( R"3A>6F_8)_:WO/V-OC3\$]9N/#A\8^/?B_!XMT MK4]+N]ECM>ZTZ>8HKC=&(S;2;489("CO0!Z!\0?BC^VK^R1JO@KXK?'KXK^% MO&'A3Q1XJL=#\7^'M*\+?8#X<>]?9%/9W'FL]Q%'(0K><-S+R "WR+_ M'*/$<1A21+N6\N9441RN2 MBK#\RKSAC][LO'?PM_;/_:XUSP9\,OC_ /"OPMX,\(^%/%-EKOBK6M)\4G4& M\2S6;;XH+2#RD:VADD =_..]5P 25^9WQL^'/[5VL^+O%GA'Q_\ LM> ?CSX M.U?4'NO!-WX@U.QTV?P[#(B@V4R26S&1$<%EFC)E(/+$D! #Z&^#6K_$;7_A M7H&L_%S2=*L?$UQID;ZU;:'=F>S$^/F:%SG,;?>')P&QEL9/35\K?#+P_P#& MG_@GW^R?\&?@K;RZ)XHU6X\?:=H/B(W%[,%M[34+V5I18AB'F^SK*-H;_EE" M[D +@?5- 'YY?"[XX^-_V;?V$/VH/C;\.)+9=:T']H;Q!)9&[@$D>7O[")@5 M/7*2,/8X->G_ !&^*G[=?[-GB#X;?%CXM_%?PIK_ (?\=>/-+\.^(O FG>$_ MLHT,:@2J/;7GFM)<&)A@F0 /Z#/RX7B#]A3X^ZC^PS^T#\ [;3]+/B'XB_%? M5-?\-1G4E$3V4]]9S1F1\8C;9 ^5/0X'>O;?VU_@1X_^.?@OX?Z'X!M[62X\ M.?%3P_KVI"ZN1$%L[28O,5)^\P!X7O0!QUW\4OVI/VGOVB?B#\*_V>_BMHWP M\\+?#*YMM,O=>N?"Z:O>:QJLL FDC6.61(X8(@RJ3@NQZ'#?+[!^S5JW[0FJ M?#)8/VGO"NEZ;XLL-1N;.>XT6X5[35((WQ#?1J'8PB5,,8W(92#D+D*/(+SX M6_M1?LP_M$^/_BI^SU\*='^(?A?XFW-MJ5_H5UXI32+S1M5BA\EY%DEC=)H) M0JL1PZMT&!\WJ_[+G@_X\>$_AQJ7-OI[%K/1HIG!BT MZV8JK/%"H #,,DLW)&* /1Z*** "BBB@#RO]J?\ ;<_9/_8DT#2O%/[5_P = M-#\"Z?KEX]II-WKDK(EU,B;V1=JGD+S7BG_#_?\ X(V_])"?A_\ ^!DW_P ; MKM/^"BW_ 2U_9/_ ."I'@OPYX!_:OTC7+S3O"VJ2ZAI*Z'K3V3K-)'Y;%F4 M'<-O:ODS_B$._P""-O\ T)7Q _\ "[F_^(H \(_;U_X+?_LL?\%(OCC)^P/\ M+OVY]$^$G[/=M$&^,?Q@GO'M=2\6P'[VA:+&R>8D4@RLUTZ!67C?%C]D+QMJ+MI^BVVK37VN?"*_D;<_E MK(OFWNE2,2Q5=\D9W-@R FZ\P_;._P"#>S]B+_@F1^TK9_&7]H?X=^-O&_[) MOBF>&QU;Q1HNNS)K7PQOY'"1S7JP)B\TUV;;YH02)N"DEU07.;X$_P""#_\ MP3U_X*2_MA#X6_\ !-#P[XIT_P" WP\U+ROBK\?-0\32WL6OWH /]CZ KKY4 MS ']Y=LKHNX, 5\L7(!^O"_\%^?^"-C*&'_!0GP!@C/-W,/_ &G7JO[+'_!1 MO]AW]MO7]5\+?LH?M*^&_'6H:'9I=:M::'.[O:PN^Q7;>)M"AAU?1=.=641SK=VP)ML$ IM1F'W>>:^C_VR?@1 M\0?C[\);?1OA%\1W\+>+O#_B"SU[PQJ;22"V:\MF)2&Y5.7@<,RLN&&2K;6V M[3XU\2;K_@J'^T%\+-8_9Y\1_LS?#OPHOB72IM)USQS)XW-[:);3QF*:2WL5 MB\W?L9M@=R V,],T 5?^"F6N^&=?^!_PU^%GP>\0:CXD^)$OB32O$?PETK38 M%U!]7FL '%S=%F5/LGE2%GF=@N2&^8*PK-_X)]?&OP%XQ\=^+/VJ/CM\0='T M'XC_ !*\4VO@ZX\ 1V\ELVB75@DB0V#K)F26X=09#*V%Z(N,%:ZCQ]^R%\9O M@1\1?A3\=/V5=,T[Q?=_#KX=)X&U;PIXAU06+ZKI:*GES07!5TAG#KN;<-I' M /&#YM>?L3_ME>+?VO\ 2?\ @HB_PM^&_A[Q+9ZQ:6\OPV.JR7"W%B8Y+>:^ MN;]4$9O4CERI2(C9&IY9=C@%OP_^TWX._9P_X*>?M(2^+?!/C/61K%GX/$ \ M(>%+C5##Y6E'=YODJ?+SY@VY^]AL=#71?!_^WOVFO^"C.D_M3?#GX">*_!'A M+PSX%O-*U[7_ !9X>;29O$MS/(#%"D+_ #RQQ??\QAP4VG&$SZU\#_@'\0O M?[;OQR^._B"VM%\/^/;7PRGAZ2*Z#2N;*Q>&?>G5,.PQGJ.:]SH \!_X*=>" M_BK\3?V,?%'PP^#7@F]U_6_$5Q86/V&PF2-_LQO(7N&W2$*H\I'4D]-^>U<; MI_[0?QH_9X^*G@CPQ^U)^RYX&\.^&?&^NP:%X:\2>!]9:\.CZC*I^S6EV);> M(DOM91+'\HVGJ*]F_:N\ _'+X@_"=K3]G+XD)X:\7Z9JMKJ6ES7+,+6_\E]S M65R5!;R)5RK8&<[>V17C_B;X8?M#/ /BRU\4:A; MVOBQ-6O-=U*U#?9HHO*C18;<.[,Y']VI? _P?\ LI7F M9/!UG^V[=^%&TZ0[HI]&M;F6\2R8'[T9E(X_V!Z5],Q?#7]KG]E+XN_$;5?V M;_@_H'C[PI\2=?;Q';VE_P"*ETN?0M9FB2.Z:4/&PN+>1HTD'ED.,%<=&.4_ M_!//XCZ3^QSH?@?1/&VDS?%C0/B(GQ&CUNX21=.NO$?VEYY(V &_[.R2-!NQ MD@!BO5: -C]N>UM?!7[3G[-GQ6\/6L=OK!^)+^&IKB% K3:=>V%;D8)KZCKYATKX8?M2_M-_M$> ?BC^T?\)=&^'_AGX8RW.HV&AV?BA-6N M=:U>6'R4F+QQHD,$*EV4'YRQ&1@_+]/4 %%%% !1110!\F>(?^"['_!(;PGK M]]X6\1_M\> [/4-,O);2_M)KN4/!-&Y1T;]WU# @_2OB[_@JY_P6^_8\_:3U M?X6?L2_LP_\ !1K1/!_@[XC:]=O\:_BSX;U"2&X\/>'K2$2-8P3%-T5Q?.QA M1T#%=A##8[9]9\;_ /!I[_P2&^(7C35_'WB/P;X\;4=%$UWX3?%3Q7JCW.I>'IUG$4OAV_N/+#7!"?O892H M 10HQNV1^/\ C_\ X)_?\&=OPX^'FF?$W6_VN+V[T_6=/-YI=MH?C^]U&]F4 M<>6;6V@>:*7) ,4B(ZD_,!4W_!-[_@VF_9"_;7\?^-OVF_BG^SG\2?AI\#KV M*"Q^#'@KQ-XBEM_$6K1J=TVMWV06MTDP%A@Z%&+'< DD@!^G'_#_ '_X(V_] M)"?A_P#^!DW_ ,;KZS\/:_HWBS0+'Q3X; MX>^&XM02T$>G_=FWSQE6;=E0 V=IK:_9P\5:G^WI^V_X=_;:^&GPKG\'>#/ M^@:IH6J:AK-U:+JNNWLHV"TGMK>21H5@R)!YISDC Y&/:_V9/@'\0OA9^TG\ M=/B?XLMK1-*\?>(],O?#SP70=WB@LS%(9%'W#N/ /45@WG[,?Q3^#O[=<'[2 M'[/-G9/X1\?VOV3XN>&Y;P6X%S'_ *C58%(VO*-Q#KP6 <\M*2 #=_8R^/OQ M"^-WPL\=^+?'=S:27GA_XC>(=&TYK:U$:K:V_VT?V??V//A+\.O .F>&->O/""7UO M\0?ASJ]S MIXDM)Y96C6.\>&3R9(BRN.B-N(?(4*0#H?@]\;OVC-,^&7Q(\< MCXG^"?CCH>@^%Y=4\#>(_!HA@N]2O$@ED;3KFVMI)$5MRH%9"&.2"I) 7SO] MEK]JC]H3XV7G@OQGX%_;3^&7C^[UB\MCXX^%:-;2+NN#:,9C<2R6Y MRH$B%9-I.16U\"OV._CAIGQG^(7[0WA'X=>%_@)=>(?AXWA[P]X9\,W-OJ48 MU/SO/75[N..%;8LI"H(U5B59\D$Y;FOB1^RA^U'^T_-X2T#XH_LI?#WP;XMT M3Q!IU]KWQPT;Q%!)=W M9%>22TA@MTG#S%-_P!I M;QM\&?#O[8_P]^">@?#^>&P?4_$]I:7FHZ]J#Q[Y?+ANIHTCMHB0A8 LS X. M#\OGGQV_:SU+]J/_ ()Z>,['Q5K'A[5->\$?%C0]$U+7/"<_F:9K,8U2T>"_ MM_F;:LJ-RFXX9&Z @#U[Q1^S1\:?@5^T;X\^+'PH_9Q\&_%KPQ\1[R'4[G1= M.%&NGCCC6EPC*1+#ER3&< D#TKC?A[\#/'OAO\ ;K^(OQ^U.WM1X=\2^#M&T[2Y M$N096GMFE,H9.JCYUP>]9_\ P4/\&?M9?$OX*0_#;]D^.VBN]9U)8O%%\VN+ MI]PFE@$RPV\Q5O+DE.$\P E5W<$D8 //O'7B#1_VM?\ @H7\/(/@5:1WEA\$ MKS4+GQYX\M%'D133VYA3189AQ-(22TJ E4'7Y@5K0_X)E>'-!^(GPA^*/Q \ M::-;:C?^/OBOXB_X2/[;"LGVBW2#/V;_ (0>&O&WA;QKXHO/$7AC4=3\5#3G\-WEYM,\-S"T;&XM MUES(@B.XKE2(+22"[.]+JWTAK MJ6SADS_K$7<%"G(Q&HQQ7TQ^U/!!X+_X*&_LX_$#P] EOJ&OR^(?#NN2PJ%: M^L#8B>.*0CEECF3S%!Z$FLF[_P""?/Q ^'7[*7PP\(_"+Q3IE]\2/A3XH7Q3 M:W^JEX[36K^629[^VD8 M'%,)Y%5L9 2/.WDCHO!'PK_ &E/C_\ M3^$?VC? MVD?ACI/@/1_AMI6H1^%/"UGXD35;F\U&^B6&>[FFCC2-8DA!1$P6W$L<=* , M'_@E[X)\+_%G]B[7O%?C_0[?4;GXI>+_ !'>>,?M40_N+8I(3U41Q@ = M%SQBNC_X)'>)]<\4?\$^/A]+X@OY+J?3HM0TN.XD.2\%IJ%S;0@>RQ11J/\ M=KE/"OPL_;E_9/TOQG\#/V&=?U_4-3\"^*-1\5BQ/AC[:YD>&ZM MFB9[A897=T,1RPX."<+[Q^R;\ -,_9:_9S\)? /2]2^VKX=TORKF]V;1U>]4 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %?@#^WS_ ,KDOP5_[ES_ -([BOW^K\@?^"Q'_!MY^TC_ ,%'?V^Y_P!M M+X,_M;^'_ ?_ !3^G6%E;W%C>?;;>6VC9#*LT##;G=Q@@B@#]?J*_ '_ (A- MO^"IG_27;_RH:Y_\>H_XA-O^"IG_ $EV_P#*AKG_ ,>H _>SQCX1\.^/_".J M^!/%^F+>Z3K>G3V&J6;NRB>WFC:.2,E2& 9&89!!YX-?*7_#@C_@C;_TCV^' M_P#X!S?_ !ROS _XA-O^"IG_ $EV_P#*AKG_ ,>H_P"(3;_@J9_TEV_\J&N? M_'J /T__ .'!'_!&W_I'M\/_ /P#F_\ CE?2OP3^"7PK_9R^%VD?!7X(^"[7 MP[X5T&%X=&T2R9S#:1M(TA1-[$A=SL0,X&<# %?A7_Q";?\%3/^DNW_ )4- M<_\ CU'_ !";?\%3/^DNW_E0US_X]0!^_P!17X _\0FW_!4S_I+M_P"5#7/_ M (]1_P 0FW_!4S_I+M_Y4-<_^/4 ?O\ 45^ /_$)M_P5,_Z2[?\ E0US_P"/ M4?\ $)M_P5,_Z2[?^5#7/_CU '[_ %%?@#_Q";?\%3/^DNW_ )4-<_\ CU'_ M !";?\%3/^DNW_E0US_X]0!^_P!17X _\0FW_!4S_I+M_P"5#7/_ (]1_P 0 MFW_!4S_I+M_Y4-<_^/4 ?O\ 45^ /_$)M_P5,_Z2[?\ E0US_P"/4?\ $)M_ MP5,_Z2[?^5#7/_CU '[_ %%?@#_Q";?\%3/^DNW_ )4-<_\ CU'_ !";?\%3 M/^DNW_E0US_X]0!^_P!17X _\0FW_!4S_I+M_P"5#7/_ (]1_P 0FW_!4S_I M+M_Y4-<_^/4 ?OW-:VUQ)%+/;H[0OOA9T!,;;2NY<]#M9AD=B1WI]?@#_P 0 MFW_!4S_I+M_Y4-<_^/4?\0FW_!4S_I+M_P"5#7/_ (]0!^_U%?@#_P 0FW_! M4S_I+M_Y4-<_^/4?\0FW_!4S_I+M_P"5#7/_ (]0!^_U%?@#_P 0FW_!4S_I M+M_Y4-<_^/4?\0FW_!4S_I+M_P"5#7/_ (]0!^_U%?@#_P 0FW_!4S_I+M_Y M4-<_^/4?\0FW_!4S_I+M_P"5#7/_ (]0!^_U%?@#_P 0FW_!4S_I+M_Y4-<_ M^/4?\0FW_!4S_I+M_P"5#7/_ (]0!^_U%?@#_P 0FW_!4S_I+M_Y4-<_^/4? M\0FW_!4S_I+M_P"5#7/_ (]0!^]WBOPIX8\=^&-1\$^-O#UEJ^CZO92V>JZ5 MJ5JL]O>6\BE)(I8W!5T925*D$$$@UB_!'X'_ C_ &;OA7HWP1^!'P^TSPMX M4\/6@MM'T/28/+AMTR6/NS,Q9F=B6=F9F)))/X5_\0FW_!4S_I+M_P"5#7/_ M (]1_P 0FW_!4S_I+M_Y4-<_^/4 ?O\ 45^ /_$)M_P5,_Z2[?\ E0US_P"/ M4?\ $)M_P5,_Z2[?^5#7/_CU '[_ %%?@#_Q";?\%3/^DNW_ )4-<_\ CU'_ M !";?\%3/^DNW_E0US_X]0!^_P!17X _\0FW_!4S_I+M_P"5#7/_ (]1_P 0 MFW_!4S_I+M_Y4-<_^/4 ?O\ 45^ /_$)M_P5,_Z2[?\ E0US_P"/4?\ $)M_ MP5,_Z2[?^5#7/_CU '[_ %%?@#_Q";?\%3/^DNW_ )4-<_\ CU'_ !";?\%3 M/^DNW_E0US_X]0!^_P!17X _\0FW_!4S_I+M_P"5#7/_ (]1_P 0FW_!4S_I M+M_Y4-<_^/4 ?O\ 45^ /_$)M_P5,_Z2[?\ E0US_P"/4?\ $)M_P5,_Z2[? M^5#7/_CU '[_ %%?@#_Q";?\%3/^DNW_ )4-<_\ CU'_ !";?\%3/^DNW_E0 MUS_X]0!^_P!17X _\0FW_!4S_I+M_P"5#7/_ (]1_P 0FW_!4S_I+M_Y4-<_ M^/4 ?O\ 4CHDBE'4,K#!!&017X!?\0FW_!4S_I+M_P"5#7/_ (]1_P 0FW_! M4S_I+M_Y4-<_^/4 ?LCX(_X)M_L"_#+XYC]I;X;_ +(/P_\ #WCH>;_Q4>A^ M&H+28M)CS'(B54+MC)?;NSDYR2:]MK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA M-O\ @J9_TEV_\J&N?_'J /W^HK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ M@J9_TEV_\J&N?_'J /W^HK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_ MTEV_\J&N?_'J /W^HK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_ M\J&N?_'J /W^HK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_\J&N M?_'J /W^HK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_\J&N?_'J M /W^HK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_\J&N?_'J /W^ MHK\ ?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_\J&N?_'J /W^HK\ M?^(3;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_\J&N?_'J /W^HK\ ?^(3 M;_@J9_TEV_\ *AKG_P >H_XA-O\ @J9_TEV_\J&N?_'J /W^K\ ?V^?^5R7X M*_\ U>]4 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'BG[:O_(L:)_U_R?\ MH%%'[:O_ "+&B?\ 7_)_Z!10!P/PQ^+NG?"+Q[XAU'4='GO%O)Y(U6"0*5(E M8Y.:[[_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ M_@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F_ M_P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ M ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O M_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ MX$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ M /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ M_@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F_ M_P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ M ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O M_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ MX$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ M /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ M_@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F_ M_P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ M ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O M_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ MX$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ M /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ M_@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F_ M_P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ M ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O M_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ MX$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ M /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ M_@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F_ M_P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ M ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O M_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ MX$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ M /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ M_@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F_ M_P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ M ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O M_P#P(2C_ (;5\,?]"3?_ /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ MX$)110 ?\-J^&/\ H2;_ /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ M /P(2C_AM7PQ_P!"3?\ _@0E%% !_P -J^&/^A)O_P#P(2C_ (;5\,?]"3?_ M /@0E%% !_PVKX8_Z$F__P# A*/^&U?#'_0DW_\ X$)110 ?\-J^&/\ H2;_ M /\ A*/^&U?#'_0DW__ ($)110 ?\-J^&/^A)O_ /P(2C_AM7PQ_P!"3?\ H_@0E%% '!_'CX\:3\7=)L-.T[0;BS:SN&D9IY58,"N,#%%%% '__V0$! end XML 16 R1.htm IDEA: XBRL DOCUMENT v3.24.0.1
Cover - USD ($)
$ in Billions
12 Months Ended
Dec. 31, 2023
Feb. 09, 2024
Jun. 30, 2023
Cover [Abstract]      
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2023    
Current Fiscal Year End Date --12-31    
Document Transition Report false    
Entity File Number 001-35435    
Entity Registrant Name Proto Labs, Inc.    
Entity Incorporation, State or Country Code MN    
Entity Tax Identification Number 41-1939628    
Entity Address, Address Line One 5540 Pioneer Creek Drive    
Entity Address, City or Town Maple Plain    
Entity Address, State or Province MN    
Entity Address, Postal Zip Code 55359    
City Area Code 763    
Local Phone Number 479-3680    
Title of 12(b) Security Common Stock, Par Value $0.001 Per Share    
Trading Symbol PRLB    
Security Exchange Name NYSE    
Entity Well-known Seasoned Issuer Yes    
Entity Voluntary Filers No    
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    
ICFR Auditor Attestation Flag true    
Document Financial Statement Error Correction false    
Entity Shell Company false    
Entity Public Float     $ 0.9
Entity Common Stock, Shares Outstanding   25,721,957  
Documents Incorporated by Reference
DOCUMENTS INCORPORATED BY REFERENCE
Portions of the Registrant’s definitive proxy statement relating to its 2024 annual meeting of shareholders are incorporated by reference into Part III of this Annual Report on Form 10-K where indicated. Such proxy statement will be filed with the U.S. Securities and Exchange Commission within 120 days after the end of the fiscal year to which this report relates.
   
Entity Central Index Key 0001443669    
Document Fiscal Year Focus 2023    
Document Fiscal Period Focus FY    
Amendment Flag false    
XML 17 R2.htm IDEA: XBRL DOCUMENT v3.24.0.1
Audit Information
12 Months Ended
Dec. 31, 2023
Audit Information [Abstract]  
Auditor Firm ID 42
Auditor Name Ernst & Young LLP
Auditor Location Minneapolis, Minnesota
XML 18 R3.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Current assets    
Cash and cash equivalents $ 83,790 $ 56,558
Short-term marketable securities 19,013 23,568
Accounts receivable, net of allowance for doubtful accounts of $2,499 and $1,706 as of December 31, 2023 and December 31, 2022, respectively 72,848 76,225
Inventory 13,657 13,578
Prepaid expenses and other current assets 9,124 12,597
Income taxes receivable 2,228 4,042
Total current assets 200,660 186,568
Property and equipment, net 253,655 257,785
Goodwill 273,991 273,991
Other intangible assets, net 25,584 31,250
Long-term marketable securities 8,019 26,419
Operating lease assets 4,628 3,844
Finance lease assets 960 17,532
Other long-term assets 4,856 4,779
Total assets 772,353 802,168
Current liabilities    
Accounts payable 15,636 17,356
Accrued compensation 15,292 12,743
Accrued liabilities and other 16,872 22,384
Current operating lease liabilities 1,585 1,561
Current finance lease liabilities 296 17,537
Total current liabilities 49,681 71,581
Long-term operating lease liabilities 3,008 2,255
Long-term finance lease liabilities 595 0
Long-term deferred tax liabilities 18,742 26,322
Other long-term liabilities 5,032 4,362
Total liabilities 77,058 104,520
Shareholders' equity    
Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2023 and December 31, 2022, respectively 0 0
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 25,721,957 and 26,888,425 shares as of December 31, 2023 and December 31, 2022, respectively 26 27
Additional paid-in capital 466,884 473,740
Retained earnings 256,398 258,236
Accumulated other comprehensive loss (28,013) (34,355)
Total shareholders' equity 695,295 697,648
Total liabilities and shareholders' equity $ 772,353 $ 802,168
XML 19 R4.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Allowance for credit loss, current $ 2,499 $ 1,706
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, authorized (in shares) 10,000,000 10,000,000
Preferred stock, issued (in shares) 0 0
Preferred stock, outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, authorized (in shares) 150,000,000 150,000,000
Common stock, issued (in shares) 25,721,957 26,888,425
Common stock, outstanding (in shares) 25,721,957 26,888,425
XML 20 R5.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Statements of Operations:      
Revenue $ 503,877 $ 488,398 $ 488,098
Cost of revenue 281,884 272,933 265,407
Gross profit 221,993 215,465 222,691
Operating expenses      
Marketing and sales 87,688 82,752 82,175
Research and development 40,135 38,222 44,241
General and administrative 65,788 67,544 55,933
Goodwill impairment 0 118,008 0
Closure of Japan business 215 6,922 0
Total operating expenses 193,826 313,448 182,349
Income (loss) from operations 28,167 (97,983) 40,342
Other (expense) income, net (215) 106 (158)
Income (loss) before income taxes 27,952 (97,877) 40,184
Provision for income taxes 10,732 5,585 6,812
Net income (loss) $ 17,220 $ (103,462) $ 33,372
Net income (loss) per share:      
Basic (in dollars per share) $ 0.66 $ (3.77) $ 1.21
Diluted (in dollars per share) $ 0.66 $ (3.77) $ 1.21
Shares used to compute net income (loss) per share:      
Basic (in shares) 26,186,533 27,409,838 27,617,627
Diluted (in shares) 26,223,498 27,409,838 27,653,099
Other Comprehensive Income (Loss), net of tax      
Foreign currency translation adjustments $ 5,365 $ (16,278) $ (13,278)
Net unrealized gains (losses) on investments in securities 977 (1,260) (119)
Comprehensive income (loss) $ 23,562 $ (121,000) $ 19,975
XML 21 R6.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning balance (in shares) at Dec. 31, 2020   26,776,796      
Balance at beginning of period at Dec. 31, 2020 $ 644,356 $ 27 $ 284,848 $ 362,901 $ (3,420)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   176,736      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 1,637   1,637    
Common shares issued for Hubs acquisition (in shares)   863,995      
Common shares issued for Hubs acquisition 166,709 $ 1 166,708    
Stock-based compensation expense 19,095   19,095    
Repurchases of Common Stock (in shares)   (351,582)      
Repurchases of Common Stock (23,279)   (3,740) (19,539)  
Net income (loss) 33,372     33,372  
Other comprehensive income (loss)          
Foreign currency translation adjustments (13,278)       (13,278)
Net unrealized gains (losses) on investments in securities (119)       (119)
Comprehensive income (loss) 19,975        
Ending balance (in shares) at Dec. 31, 2021   27,465,945      
Balance at end of period at Dec. 31, 2021 828,493 $ 28 468,548 376,734 (16,817)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   279,603      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 2,269   2,269    
Stock-based compensation expense 17,545   17,545    
Repurchases of Common Stock (in shares)   (857,123)      
Repurchases of Common Stock (29,659) $ (1) (14,622) (15,036)  
Net income (loss) (103,462)     (103,462)  
Other comprehensive income (loss)          
Foreign currency translation adjustments (16,278)       (16,278)
Net unrealized gains (losses) on investments in securities (1,260)       (1,260)
Comprehensive income (loss) $ (121,000)        
Ending balance (in shares) at Dec. 31, 2022 26,888,425 26,888,425      
Balance at end of period at Dec. 31, 2022 $ 697,648 $ 27 473,740 258,236 (34,355)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   266,453      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 2,399   2,399    
Stock-based compensation expense 15,989   15,989    
Repurchases of Common Stock (in shares)   (1,432,921)      
Repurchases of Common Stock (44,303) $ (1) (25,244) (19,058)  
Net income (loss) 17,220     17,220  
Other comprehensive income (loss)          
Foreign currency translation adjustments 5,365       5,365
Net unrealized gains (losses) on investments in securities 977       977
Comprehensive income (loss) $ 23,562        
Ending balance (in shares) at Dec. 31, 2023 25,721,957 25,721,957      
Balance at end of period at Dec. 31, 2023 $ 695,295 $ 26 $ 466,884 $ 256,398 $ (28,013)
XML 22 R7.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Operating activities      
Net income (loss) $ 17,220 $ (103,462) $ 33,372
Adjustments to reconcile net income (loss) to net cash provided by operating activities:      
Depreciation and amortization 37,528 39,425 40,488
Stock-based compensation expense 15,989 17,545 19,095
Deferred taxes (7,656) (9,499) 339
Interest on finance lease obligations 1,055 0 0
Changes in fair value of contingent consideration 0 0 (13,253)
Loss on impairment of goodwill 0 118,008 0
Loss on foreign currency translation 3,906 0 0
Impairments related to closure of Japan business 0 2,842 0
Gain on disposal of property and equipment (498) (1,211) 0
Other 154 35 842
Changes in operating assets and liabilities, net of acquisitions:      
Accounts receivable 2,727 1,632 (20,112)
Inventories 112 (310) (2,390)
Prepaid expenses and other 4,203 (2,081) 64
Income taxes 1,823 (2,681) (774)
Accounts payable (1,838) 1,375 4,654
Accrued liabilities and other (1,451) 461 (7,083)
Net cash provided by operating activities 73,274 62,079 55,242
Investing activities      
Purchases of property, equipment and other capital assets (28,116) (21,686) (34,209)
Proceeds from sales of property, equipment and other capital assets 699 4,108 0
Cash used for acquisitions, net of cash acquired 0 0 (127,413)
Purchases of other assets and investments (1,000) 0 0
Purchases of marketable securities 0 (46,872) (16,159)
Proceeds from sales of marketable securities 0 1,998 64,913
Proceeds from maturities of marketable securities 23,865 19,360 18,204
Net cash used in investing activities (4,552) (43,092) (94,664)
Financing activities      
Proceeds from issuance of common stock from equity plans 3,835 3,950 5,862
Purchases of shares withheld for tax obligations (1,436) (1,682) (4,225)
Repurchases of common stock and other (43,951) (29,659) (23,279)
Principal repayments of finance lease obligations (306) (531) (552)
Other 0 0 (4)
Net cash used in financing activities (41,858) (27,922) (22,198)
Effect of exchange rate changes on cash and cash equivalents 368 (436) (54)
Net (decrease) increase in cash and cash equivalents 27,232 (9,371) (61,674)
Cash and cash equivalents, beginning of period 56,558 65,929 127,603
Cash and cash equivalents, end of period 83,790 56,558 65,929
Supplemental cash flow disclosure      
Cash paid for interest 1,055 101 28
Cash paid for taxes $ 15,892 $ 19,160 $ 7,583
XML 23 R8.htm IDEA: XBRL DOCUMENT v3.24.0.1
Nature of Business
12 Months Ended
Dec. 31, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Nature of Business Nature of Business
Organization and business
Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is a digital manufacturer of parts. The Company utilizes injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for its customers. The Company's customers conduct nearly all their business over the internet. The Company targets its products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets, to the procurement and supply chain professionals seeking to easily and efficiently source custom parts on-demand, and to a wide variety of customers seeking to purchase low-volume custom parts. The Company has established operations in the United States and Europe. Previously we had established operations in Japan. On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. The Company dissolved its Japan operations in December 2023. Through the acquisition of Hubs in 2021, the Company provides its customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing its in-house manufacturing. Proto Labs, Inc. is headquartered in Maple Plain, Minnesota. The Company’s subsidiaries are:
NameLocation
PL-US International LLCUnited States
Hubs Manufacturing Inc.United States
3D Hubs Manufacturing LLCUnited States
Proto Labs Ltd.United Kingdom
PL International Holdings, UK, Ltd.United Kingdom
PL Euro Services LimitedUnited Kingdom
Proto Labs GmbHGermany
Proto Labs Tooling GmbHGermany
3D Hubs B.V.Netherlands
XML 24 R9.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
Principles of consolidation
The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.
Comprehensive (loss) income
Components of comprehensive (loss) income include net income (loss), foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive (loss) income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.
Accounting estimates
The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts
of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.
Cash and cash equivalents
Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.
Marketable securities
Marketable securities are categorized as available-for-sale and are recorded at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.
Accounts receivable and allowance for doubtful accounts
Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.
Inventory
Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.
Property, equipment and leasehold improvements
Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.
The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software.
Goodwill
The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States and Europe. Goodwill is not amortized.
Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including
goodwill, is less than its carrying amount. In applying the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. As a result of the fiscal year 2022 analysis, which used the quantitative assessment, a $118.0 million impairment related to the Europe reporting unit was identified, which represents a write-off of all Europe goodwill, and recorded during the year ended December 31, 2022. As a result of the fiscal year 2023 analysis, which used the qualitative assessment, there were no impairments recorded during the year ended December 31, 2023.
Other Intangible Assets
Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.
Accounting for long-lived assets
The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.
Revenue recognition
The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.
Leases
The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current
operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.
The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment and manufacturing facilities. The leases have remaining lease terms of one year to nine years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of December 31, 2023, the operating lease liability does not include any options to extend or terminate leases.
Income taxes
The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that are not at a level of more likely than not to be recognized.
ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.
Stock-based compensation
The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.
In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.
Advertising costs
Advertising is expensed as incurred and was approximately $13.8 million, $13.2 million and $12.5 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Research and development
Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software. Research and development costs were approximately $40.1 million, $38.2 million and $44.2 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Foreign currency translation/transactions
The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.
Recently adopted accounting pronouncements
The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements. There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.
XML 25 R10.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue
12 Months Ended
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
The Company accounts for revenue in accordance with ASC 606, Revenue from Contracts with Customers. The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC 606. The majority of the Company’s CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.
The Company manufactures parts that have no alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The value of unbilled receivables related to the performance on manufactured parts not yet completed as of December 31, 2023 and 2022 was $10.1 million and $8.5 million, respectively, recorded within accounts receivable, net of allowance for doubtful accounts.
Revenue by geographic region for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan— 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Revenue by product line for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
Injection Molding$203,941 $200,578 $226,117 
CNC Machining198,222 188,372 166,811 
3D Printing84,291 78,988 72,721 
Sheet Metal16,540 19,498 20,397 
Other Revenue883 962 2,052 
Total revenue$503,877 $488,398 $488,098 
The Company generally expenses sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of one year or less as of December 31, 2023 and 2022 was $9.8 million and $10.9 million, respectively.
XML 26 R11.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income (Loss) Per Common Share
12 Months Ended
Dec. 31, 2023
Earnings Per Share [Abstract]  
Net Income (Loss) Per Common Share Net Income (Loss) Per Common Share
Basic net income (loss) per share is computed based on the weighted average number of common shares outstanding. Diluted net income (loss) per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the years ended December 31, 2023, 2022 and 2021 respectively, 263,992, 197,827 and 113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding.
The following table presents the calculation of net income (loss) per basic and diluted share attributable to common shareholders:
Year Ended December 31,
(in thousands, except share and per share amounts)202320222021
Net income (loss)$17,220 $(103,462)$33,372 
   
Basic - weighted-average shares outstanding:26,186,53327,409,83827,617,627
Effect of dilutive securities:   
Employee stock options and other36,96535,472
Diluted - weighted-average shares outstanding:26,223,49827,409,83827,653,099
Net income (loss) per share attributable to common shareholders:   
Basic$0.66 $(3.77)$1.21 
Diluted$0.66 $(3.77)$1.21 
XML 27 R12.htm IDEA: XBRL DOCUMENT v3.24.0.1
Intangible Assets, Goodwill and Other
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Other Intangible Assets Goodwill and Other Intangible Assets
The changes in the carrying amount of goodwill for the years ended December 31, 2023 and 2022 were as follows:
(in thousands)Dec. 31, 2021Goodwill acquired (impaired) during
2022
Foreign currency translation
adjustments during
2022
Dec. 31, 2022Goodwill acquired (impaired)
during 2023
Foreign currency translation
adjustments during
2023
 Dec. 31, 2023
United States$273,991 $— $— $273,991 $— $— $273,991 
Europe125,989 (118,008)(7,981)— — — — 
Japan630 (630)— — — — — 
Total goodwill$400,610 $(118,638)$(7,981)$273,991 $— $— $273,991 
On January 22, 2021, the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The fair value of the consideration paid for this acquisition had been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill. The $280.9 million of goodwill associated with the acquisition represented both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes.
Goodwill decreased $126.6 million for the year ended December 31, 2022 as a result of impairments related to our Europe and Japan reporting units. The Euro denominated goodwill had been translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that was recorded as a component of Other Comprehensive Income.
Intangible assets other than goodwill for the years ended December 31, 2023 and 2022 were as follows:
Year Ended December 31, 2023Year Ended December 31, 2022Weighted Average
Useful Life
(in thousands)GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
NetUseful Life (in
years)
Remaining (in years)
Marketing assets$930 $(900)$30 $930 $(806)$124 10.00.3
Non-compete agreement835 (603)232 828 (487)341 
2.0 - 5.0
1.4
Software technology13,229 (7,752)5,477 13,229 (6,383)6,846 10.04.0
Software platform26,373 (6,575)19,798 26,054 (4,337)21,717 12.09.1
Tradenames354 (347)350 (227)123 3.00.1
Customer relationships12,223 (12,183)40 12,197 (10,098)2,099 
3.0 - 9.0
0.1
Total intangible assets$53,944 $(28,360)$25,584 $53,588 $(22,338)$31,250  
Amortization expense for intangible assets for the years ended December 31, 2023, 2022 and 2021 was $5.9 million, $6.0 million and $6.2 million, respectively. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. For the years ended December 31, 2023, 2022 and 2021 the foreign currency translation adjustment was $1.3 million, $1.7 million and $0.9 million, respectively.
Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:
(in thousands)Estimated Amortization
Expense
2024$3,741 
20253,660 
20263,558 
20273,549 
20282,180 
Thereafter8,896 
Total estimated amortization expense$25,584 
XML 28 R13.htm IDEA: XBRL DOCUMENT v3.24.0.1
Fair Value Measurements
12 Months Ended
Dec. 31, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
ASC 820, Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy which requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:
Level 1—Quoted prices in active markets for identical assets or liabilities.
Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.
The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).
The following tables summarizes financial assets as of December 31, 2023 and 2022 measured at fair value on a recurring basis:
December 31, 2023December 31, 2022
(in thousands)Level 1Level 2Level 3Level 1Level 2Level 3
Financial Assets:
Cash and cash equivalents, excluding money market mutual fund$77,423 $— $— $38,862 $— $— 
Money market mutual fund6,367 — — 17,696 $— $— 
Marketable securities4,482 22,550 — 9,881 40,106 — 
Total$88,272 $22,550 $— $66,439 $40,106 $— 
XML 29 R14.htm IDEA: XBRL DOCUMENT v3.24.0.1
Marketable Securities
12 Months Ended
Dec. 31, 2023
Investments, Debt and Equity Securities [Abstract]  
Marketable Securities Marketable Securities
The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. As of December 31, 2023 and 2022, the securities are categorized as available-for-sale and are recorded at fair value.
Information regarding the Company’s short-term and long-term marketable securities as of December 31, 2023 and 2022 is as follows:
December 31, 2023
(in thousands)Amortized CostUnrealized GainsUnrealized LossesFair Value
U.S. government agency securities$16,798 — $(278)$16,520 
Corporate debt securities2,511 — (19)2,492 
U.S. municipal securities7,876 — (105)7,771 
Certificates of deposit/time deposits249 — — 249 
Total marketable securities$27,434 $— $(402)$27,032 
December 31, 2022
(in thousands)Amortized CostUnrealized GainsUnrealized LossesFair Value
U.S. government agency securities$25,275 — $(750)$24,525 
Corporate debt securities9,578 — (205)9,373 
U.S. municipal securities15,574 — (417)15,157 
Certificates of deposit/time deposits939 — (7)932 
Total marketable securities$51,366 $— $(1,379)$49,987 
Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. government agency securities, U.S. municipal securities, commercial paper and certificates of deposit are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).
Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.
The December 31, 2023 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.
(in thousands)December 31,
2023
Due in one year or less$19,013 
Due after one year through five years8,019 
Total marketable securities$27,032 
XML 30 R15.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment
12 Months Ended
Dec. 31, 2023
Property, Plant and Equipment [Abstract]  
Property and Equipment Property and Equipment
Property and equipment consists of the following:
December 31,
(in thousands)20232022
Land$15,596 $14,153 
Buildings and improvements133,033 105,492 
Machinery and equipment235,527 228,654 
Computer hardware and software86,659 82,302 
Leasehold improvements4,609 4,548 
Construction in progress8,410 22,674 
Total483,834 457,823 
Accumulated depreciation and amortization(230,179)(200,038)
Property and equipment, net$253,655 $257,785 
Depreciation expense for the years ended December 31, 2023, 2022 and 2021 was $31.6 million, $33.4 million and $34.3 million, respectively.
XML 31 R16.htm IDEA: XBRL DOCUMENT v3.24.0.1
Inventory
12 Months Ended
Dec. 31, 2023
Inventory Disclosure [Abstract]  
Inventory Inventory
Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.
The Company’s inventory consists of the following:
December 31,
(in thousands)20232022
Total inventory$14,319 $13,965 
Allowance for obsolescence(662)(387)
Inventory, net of allowance$13,657 $13,578 
XML 32 R17.htm IDEA: XBRL DOCUMENT v3.24.0.1
Financing Obligations
12 Months Ended
Dec. 31, 2023
Debt Disclosure [Abstract]  
Financing Obligations Financing ObligationsThe Company had no financing obligations as of December 31, 2023 and 2022.
XML 33 R18.htm IDEA: XBRL DOCUMENT v3.24.0.1
Employee Benefit Plans
12 Months Ended
Dec. 31, 2023
Retirement Benefits [Abstract]  
Employee Benefit Plans Employee Benefit Plans
The Company maintains a 401(k) retirement plan that covers employees in the United States. Under the plan, a full-time or regular part-time (over 20 hours/week) employee becomes a participant after completing three months of employment. Employees may elect to contribute up to 50 percent of regular gross pay, subject to federal law limits on the dollar amount that participants may contribute to the plan, each calendar year. The Company matches part of the employee contributions and may make a discretionary contribution to the plan. Total employer contributions were approximately $4.6 million, $3.9 million and $3.7 million for the years ended December 31, 2023, 2022 and 2021, respectively.
The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.5 million, $0.5 million and $0.4 million for the years ended December 31, 2023, 2022 and 2021, respectively.
XML 34 R19.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation
12 Months Ended
Dec. 31, 2023
Share-Based Payment Arrangement [Abstract]  
Stock-Based Compensation Stock-Based Compensation
Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company had the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards through February 23, 2022. On July 8, 2022, the board of directors approved the Proto Labs, Inc. 2022 Long-Term Incentive Plan, which was approved by the Company's shareholders at a Special Meeting of Shareholders on August 29, 2022, and subsequently amended and restated by the Company's shareholders at the Annual Meeting of Shareholders on May 17, 2023 (as amended, the "2022 Plan"). No awards were granted from February 23, 2022 to August 29, 2022. Awards outstanding under the 2012 Plan as of August 29, 2022 will continue to be subject to the terms of the 2012 Plan, but if those awards subsequently expire, are forfeited or cancelled or are settled in cash, the shares subject to those awards will become available for awards under the 2022 Plan. Under the 2022 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2022 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and
SARs granted under the 2022 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.
The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period, and at the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period. The Company determines the fair value stock-based compensation related to its ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.
Employees purchased 171,991 and 142,982 shares of common stock under the ESPP at an average exercise price of $22.30 and $27.09 during 2023 and 2022, respectively. As of December 31, 2023, 743,893 shares remained available for future issuance under the ESPP.
The Company determines its stock-based compensation in accordance with ASC 718, which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on fair value.
Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility.
The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid, and does not anticipate paying, any cash dividends in the foreseeable future and, therefore, the Company uses an expected dividend yield of zero in the option pricing model. The Company accounts for forfeitures as they occur. The Company recognizes stock-based compensation expense on a straight-line basis over the requisite service period.
The following table summarizes stock-based compensation expense for the years ended December 31, 2023, 2022 and 2021, respectively:
Year Ended December 31,
(in thousands)202320222021
Stock options and other$14,550 $16,103 $17,553 
Employee stock purchase plan1,439 1,442 1,542 
Total stock-based compensation expense$15,989 $17,545 $19,095 
Cost of revenue$1,840 $2,172 $2,595 
Operating expenses:
Marketing and sales3,426 3,295 3,736 
Research and development2,556 2,189 2,833 
General and administrative8,167 9,889 9,931 
Total stock-based compensation expense$15,989 $17,545 $19,095 
Stock Options
The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
202320222021
Risk-free interest rate
3.55 - 4.55%
1.94 - 3.40%
0.80 - 1.12%
Expected life (years)
2 - 6.25
6.256.25
Expected volatility
49.23 - 55.92%
45.95 - 46.03%
45.28 - 45.53%
Expected dividend yield0%0%0%
Weighted average grant date fair value$16.36$23.11$128.14
The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2023, 2022 and 2021:
Stock OptionsWeighted-
Average
Exercise Price
Options outstanding at January 1, 2021229,531$86.46 
Granted57,901128.14 
Exercised(28,991)58.78 
Cancelled(25,057)109.31 
Options outstanding at December 31, 2021233,38497.78 
Granted118,43448.24 
Exercised(3,114)30.58 
Cancelled(84,712)89.32 
Options outstanding at December 31, 2022263,99279.07 
Granted186,80433.36 
Exercised— 
Cancelled(63,635)62.44 
Expired(15,848)55.67 
Options outstanding at December 31, 2023371,313$59.92 
Exercisable at December 31, 2023116,455$90.65 
The outstanding options have a term of 10 years. For employees, options that have been granted become exercisable ratably over the vesting period, which is generally a four-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.
The total intrinsic value of options exercised during the years ended December 31, 2023, 2022 and 2021, was $0.0 million, $0.0 million and $3.8 million, respectively. The aggregate intrinsic value represents the cumulative difference between the fair market value of the underlying common stock and the option exercise prices.
For options outstanding at December 31, 2023, the weighted-average remaining contractual term was 7.2 years and the aggregate intrinsic value was $0.9 million. For options exercisable at December 31, 2023, the weighted-average remaining contractual term was 5.5 years and the aggregate intrinsic value was $0.0 million. Refer to the table below for additional information.
The following table summarizes information about stock options outstanding at December 31, 2023:
Options Outstanding, Vested and Expected to VestOptions Exercisable
Range of Exercise PricesNumber OutstandingWeighted Average
Remaining Contractual
Life
Weighted Average Exercise
Price ($)
Number ExercisableWeighted Average Exercise
Price ($)
$32.13 to $36.48
167,7257.9233.40
$36.49 to $64.92
100,3917.4550.6037,24252.90
$64.93 to $180.46
103,1975.75112.8779,213108.40
The fair value of share-based payment transactions is recognized in the Consolidated Statements of Comprehensive Income. As of December 31, 2023, there was $3.8 million of total unrecognized compensation cost related to unvested stock options, which is expected to be recognized over a weighted average period of 2.5 years. The total fair value of options vested was $1.8 million, $2.3 million and $2.1 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Restricted Stock
The 2012 Plan provides for the award of restricted stock or restricted stock units. Restricted stock awards are share settled and restrictions lapse ratably over the vesting period, which is generally a four-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date.
The following table summarizes restricted stock activity for the years ended December 31, 2023, 2022 and 2021:
Restricted
Stock Awards
Weighted-
Average
Grant Date
Fair Value
Per Share
Restricted stock at January 1, 2021307,199$98.87 
Granted205,996123.61 
Restrictions lapsed(115,908)91.26 
Forfeited(53,505)128.05 
Restricted stock at December 31, 2021343,782111.79 
Granted315,43242.03 
Restrictions lapsed(130,452)101.32 
Forfeited(50,166)96.48 
Restricted stock at December 31, 2022478,59670.36 
Granted410,68232.46 
Restrictions lapsed(137,053)79.61 
Forfeited(98,760)61.25 
Restricted stock at December 31, 2023653,465$45.89 
As of December 31, 2023, there was $18.5 million of unrecognized compensation expense related to unvested restricted stock, which is expected to be recognized over a weighted-average period of 2.5 years.
Performance Stock
Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 200 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s outstanding PSUs at December 31, 2023 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.
The following table summarizes performance stock activity for the years ended December 31, 2023, 2022 and 2021:
 Performance
Stock Awards
Weighted-
Average
Grant Date
Fair Value
Per Share
Performance stock at January 1, 202119,956$118.66 
Granted15,078203.64 
Restrictions lapsed— 
Performance change(10,366)192.95 
Forfeited(7,829)113.91 
Performance stock at December 31, 202116,839115.56 
Granted35,69796.71 
Restrictions lapsed— — 
Performance change(13,156)99.59 
Forfeited(3,578)121.79 
Performance stock at December 31, 202235,80277.91 
Granted71,29557.79 
Restrictions lapsed
Performance change— 
Forfeited— 
Performance stock at December 31, 2023107,097$74.08 
As of December 31, 2023, there was $4.1 million of unrecognized compensation expense related to unvested performance stock, which is expected to be recognized over a weighted-average period of 1.8 years.
Employee Stock Purchase Plan
The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
202320222021
Risk-free interest rate
4.60 - 5.16%
0.17 - 4.60%
0.06 - 0.17%
Expected life (months)6.006.006.00
Expected volatility
47.38 - 67.84%
47.05 - 67.84%
53.44 - 65.53%
Expected dividend yield0%0%0%
XML 35 R20.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases
12 Months Ended
Dec. 31, 2023
Leases [Abstract]  
Leases Leases
Supplemental balance sheet information related to leases was as follows:
December 31,
(in thousands)20232022
Operating lease assets$4,628 $3,844 
Current operating lease liabilities$1,585 $1,561 
Long-term operating lease liabilities3,008 2,255 
Total operating lease liabilities$4,593 $3,816 
Finance lease assets$960 $17,532 
Current finance lease liabilities$296 $17,537 
Long-term finance lease liabilities595 — 
Total finance lease liabilities$891 $17,537 
Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Operating lease cost$1,965 $3,002 
Finance lease cost:
Amortization of right-of-use assets$732 $532 
Interest on lease obligations$1,055 $95 
Variable lease cost371 560 
Total lease cost$4,123 $4,189 
Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:
(in thousands)Operating LeasesFinance Leases
Year Ending December 31,
2024$1,622 $329 
20251,428 329 
2026819 292 
2027449 
2028397 
After 2029111 
Total future minimum lease payments4,826 950 
Less interest(233)(59)
Present value of lease liabilities$4,593 $891 
As of December 31, 2023, we have no operating or finance leases that have not yet commenced.
Weighted average remaining lease term and discount rate was as follows:
December 31,
20232022
Weighted Average Remaining Lease Term - operating leases (years)3.62.9
Weighted Average Remaining Lease Term - finance leases (years)2.636.0
Weighted Average Discount Rate - operating leases2.5 %1.6 %
Weighted Average Discount Rate - finance leases4.4 %5.9 %
Supplemental cash flow information related to leases was as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Cash paid for amounts included in the measurement of lease liabilities:
Operating cash flows from operating leases$2,288 $3,778 
Operating cash flows from finance leases$1,055 $95 
Financing cash flows from finance leases$306 $531 
Lease assets obtained in exchange for new operating lease liabilities$2,324 $898 
Lease assets obtained in exchange for new financing lease liabilities$240 $16,167 
Leases Leases
Supplemental balance sheet information related to leases was as follows:
December 31,
(in thousands)20232022
Operating lease assets$4,628 $3,844 
Current operating lease liabilities$1,585 $1,561 
Long-term operating lease liabilities3,008 2,255 
Total operating lease liabilities$4,593 $3,816 
Finance lease assets$960 $17,532 
Current finance lease liabilities$296 $17,537 
Long-term finance lease liabilities595 — 
Total finance lease liabilities$891 $17,537 
Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Operating lease cost$1,965 $3,002 
Finance lease cost:
Amortization of right-of-use assets$732 $532 
Interest on lease obligations$1,055 $95 
Variable lease cost371 560 
Total lease cost$4,123 $4,189 
Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:
(in thousands)Operating LeasesFinance Leases
Year Ending December 31,
2024$1,622 $329 
20251,428 329 
2026819 292 
2027449 
2028397 
After 2029111 
Total future minimum lease payments4,826 950 
Less interest(233)(59)
Present value of lease liabilities$4,593 $891 
As of December 31, 2023, we have no operating or finance leases that have not yet commenced.
Weighted average remaining lease term and discount rate was as follows:
December 31,
20232022
Weighted Average Remaining Lease Term - operating leases (years)3.62.9
Weighted Average Remaining Lease Term - finance leases (years)2.636.0
Weighted Average Discount Rate - operating leases2.5 %1.6 %
Weighted Average Discount Rate - finance leases4.4 %5.9 %
Supplemental cash flow information related to leases was as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Cash paid for amounts included in the measurement of lease liabilities:
Operating cash flows from operating leases$2,288 $3,778 
Operating cash flows from finance leases$1,055 $95 
Financing cash flows from finance leases$306 $531 
Lease assets obtained in exchange for new operating lease liabilities$2,324 $898 
Lease assets obtained in exchange for new financing lease liabilities$240 $16,167 
XML 36 R21.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accumulated Other Comprehensive Loss
12 Months Ended
Dec. 31, 2023
Regulated Operations [Abstract]  
Accumulated Other Comprehensive Loss Accumulated Other Comprehensive Loss
Other comprehensive loss is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. During the year ending December 31, 2023 we recognized a $3.9 million foreign currency translation loss from the completion on the closure of our Japan business.
The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2023, 2022 and 2021, respectively:
Year Ended December 31,
(in thousands)202320222021
Balance at beginning of period$(34,355)$(16,817)$(3,420)
Foreign currency translation adjustments
Other comprehensive income (loss) before reclassifications1,459 (16,278)(13,278)
Amounts reclassified from accumulated other comprehensive income (loss)3,906 
Net current-period other comprehensive income (loss)5,365 (16,278)(13,278)
Net unrealized gains (losses) on investments in securities
Other comprehensive income (loss) before reclassifications977 (1,260)(119)
Amounts reclassified from accumulated other comprehensive income (loss)
Net current-period other comprehensive income (loss)977 (1,260)(119)
Balance at end of period$(28,013)$(34,355)$(16,817)
XML 37 R22.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes
12 Months Ended
Dec. 31, 2023
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended December 31, 2023, 2022 and 2021, the Company recorded an income tax provision of $10.7 million, $5.6 million and $6.8 million, respectively. The effective income tax rate for the years ended December 31, 2023, 2022 and 2021 was 38.4 percent, (5.7) percent and 17.0 percent, respectively.
The effective tax rate increased by 44.1% for the year ended December 31, 2023 when compared to 2022 primarily due to the tax rate impact of the goodwill impairment recorded during the year ended December 31, 2022 as well as the overall change from a loss to income position in 2023.
The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:
Year Ended December 31,
(in thousands)202320222021
Domestic$38,099 $33,731 $42,449 
Foreign(10,147)(131,608)(2,265)
Total$27,952 $(97,877)$40,184 
Significant components of the provision for income taxes for the following periods are as follows:
Year Ended December 31,
(in thousands)202320222021
Current:
Federal$15,717 $15,366 $5,552 
State2,418 (393)975 
Foreign34 (99)(64)
Deferred
Federal(8,202)(9,159)(377)
State(385)(723)(814)
Foreign1,379 (4,641)(1,181)
Valuation Allowance(229)5,234 2,721 
Total$10,732 $5,585 $6,812 
A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:
Year Ended December 31,
202320222021
Federal tax statutory rate21.0 %21.0 %21.0 %
State tax (net of federal benefit)3.5 (0.8)2.1 
Share based compensation6.0 (2.1)(2.3)
Valuation allowance against deferred tax assets(2.4)(5.0)8.9 
Goodwill impairment— (24.4)— 
Contingent consideration reduction— — (7.0)
Research and development credit(3.8)1.2 (4.0)
Foreign rate differential(1.6)2.9 (2.2)
Tax reserves1.9 1.0 (1.0)
Provision to return difference(0.2)— (0.7)
Unrealized foreign exchange losses2.9 — — 
Revaluation of deferred tax liability1.1 — — 
Closure of Japan branch net operating loss reversal11.1 — — 
Miscellaneous(1.1)0.5 2.2 
Total38.4 %(5.7 %)17.0 %
Significant components of deferred tax assets and liabilities are as follows:
December 31,
(in thousands)20232022
Deferred tax assets:
Accrued expenses$2,155 $2,254 
Section 174 expenses13,084 8,119 
Leases1,186 4,822 
Warrants and stock options4,588 4,087 
Inventories275 198 
Research and development credit2,327 2,374 
Other assets1,094 838 
Net operating loss16,237 16,586 
Less valuation allowance(17,667)(17,562)
Total deferred tax assets23,279 21,716 
Deferred tax liabilities:  
Depreciation(25,552)(29,397)
Goodwill(12,921)(10,716)
Intangible assets(2,362)(3,103)
Leases(1,186)(4,822)
Total deferred tax liabilities(42,021)(48,038)
Net deferred tax liability$(18,742)$(26,322)
The Company has recorded no U.S. deferred taxes related to the undistributed earnings of its non-U.S. subsidiaries as of December 31, 2023. Such amounts are intended to be reinvested outside of the United States indefinitely. It is not practicable to estimate the amount of additional tax that might be payable on the foreign earnings. As of December 31, 2023, the Company had accumulated undistributed earnings in non-U.S. subsidiaries of $3.4 million.
As of December 31, 2023, the Company had estimated net operating loss carry forwards of $16.2 million for tax purposes. The net operating losses relate to operations in Germany and Netherlands. Germany net operating losses may be carried forward without any time limitations but are limited to €1 million, plus 60 percent of taxable income exceeding €1 million. Netherlands net operating losses may be carried forward without any time limitations, but are limited to €1 million, plus 50 percent of taxable income exceeding €1 million.
The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than-not that a portion of the deferred tax assets will not be realized. The Company's valuation allowances of $17.7 million and $17.6 million at December 31, 2023 and 2022, respectively, reduce the carrying value of deferred tax assets associated with certain net operating loss carry forwards and other assets with insufficient positive evidence for recognition. The increase in the valuation allowance is primarily attributable to additional net operating losses generated in 2023.
The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is no longer subject to U.S. federal, state, or foreign income tax examinations by tax authorities for years before 2019.
The Company has liabilities related to unrecognized tax benefits totaling $3.6 million and $3.2 million at December 31, 2023 and 2022, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate.
A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:
Year Ended December 31,
20232022
Balance at beginning of period$3,236 $4,364 
Additions for tax positions of current year632 634 
Additions for tax positions of prior years86 23 
Decrease related to the expiration of statutes of limitations(338)— 
Reduction for tax positions of prior years— (1,785)
Balance at period end$3,616 $3,236 
XML 38 R23.htm IDEA: XBRL DOCUMENT v3.24.0.1
Litigation
12 Months Ended
Dec. 31, 2023
Commitments and Contingencies Disclosure [Abstract]  
Litigation Litigation
From time to time, the Company may be subject to various legal proceedings and claims that arise in the ordinary course of its business. Although the results of litigation and claims cannot be predicted with certainty, the Company does not believe it is a party to any litigation the outcome of which, if determined adversely, would individually or in the aggregate be reasonably expected to have a material adverse effect on its business.
XML 39 R24.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting
12 Months Ended
Dec. 31, 2023
Segment Reporting [Abstract]  
Segment Reporting Segment Reporting
The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does not allocate directly to its operating segments.
Revenue in the United States and Europe is derived primarily from Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Revenue in Japan was derived from Injection Molding and CNC Machining product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined and lathe-turned customer parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal parts.
The accounting policies of the reportable segments are the same as those described in Note 2 – Summary of Significant Accounting Policies. Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income (loss) from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments.
Revenue and income from operations by reportable segment are as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan— 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Year Ended December 31,
(in thousands)202320222021
Income (Loss) from Operations:
United States$94,682 $93,176 $98,001 
Europe(12,528)(130,386)730 
Corporate Unallocated and Japan(53,987)(60,773)(58,389)
Total income (loss) from operations$28,167 $(97,983)$40,342 
Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:
(in thousands)December 31,
2023
December 31,
2022
December 31,
2021
Long-lived assets:
United States$201,388 $203,816 $215,701 
Europe52,267 53,835 59,388 
Japan— 134 5,257 
Total long-lived assets$253,655 $257,785 $280,346 
Year Ended December 31,
(in thousands)202320222021
Expenditures for additions to long-lived assets:
United States$24,553 $17,538 $26,698 
Europe3,563 4,137 7,378 
Japan— 11 133 
Total expenditures for additions to long-lived assets$28,116 $21,686 $34,209 
Year Ended December 31,
(in thousands)202320222021
Depreciation and Amortization:
United States$30,667 $31,666 $31,642 
Europe6,861 6,770 7,101 
Japan— 989 1,745 
Total depreciation and amortization$37,528 $39,425 $40,488 
XML 40 R25.htm IDEA: XBRL DOCUMENT v3.24.0.1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Pay vs Performance Disclosure      
Net income (loss) $ 17,220 $ (103,462) $ 33,372
XML 41 R26.htm IDEA: XBRL DOCUMENT v3.24.0.1
Insider Trading Arrangements
3 Months Ended
Dec. 31, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 42 R27.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
Principles of consolidation
Principles of consolidation
The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.
Comprehensive (loss) income
Comprehensive (loss) income
Components of comprehensive (loss) income include net income (loss), foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive (loss) income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.
Accounting estimates
Accounting estimates
The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts
of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.
Cash and cash equivalents
Cash and cash equivalents
Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.
Marketable securities
Marketable securities
Marketable securities are categorized as available-for-sale and are recorded at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.
Accounts receivable and allowance for doubtful accounts
Accounts receivable and allowance for doubtful accounts
Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.
Inventory
Inventory
Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.
Property, equipment and leasehold improvements
Property, equipment and leasehold improvements
Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.
The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software.
Goodwill
Goodwill
The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States and Europe. Goodwill is not amortized.
Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including
goodwill, is less than its carrying amount. In applying the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations.
Other Intangible Assets
Other Intangible Assets
Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.
Accounting for long-lived assets
Accounting for long-lived assets
The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.
Revenue recognition
Revenue recognition
The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.
Leases
Leases
The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current
operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.
The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment and manufacturing facilities. The leases have remaining lease terms of one year to nine years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option.
Income taxes
Income taxes
The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that are not at a level of more likely than not to be recognized.
ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.
Stock-based compensation
Stock-based compensation
The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.
In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.
Advertising costs
Advertising costs
Advertising is expensed as incurred and was approximately $13.8 million, $13.2 million and $12.5 million for the years ended December 31, 2023, 2022 and 2021, respectively.
Research and development
Research and development
Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software.
Foreign currency translation/transactions
Foreign currency translation/transactions
The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.
Recently adopted accounting pronouncements
Recently adopted accounting pronouncements
The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements. There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.
XML 43 R28.htm IDEA: XBRL DOCUMENT v3.24.0.1
Nature of Business (Tables)
12 Months Ended
Dec. 31, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Schedule of Subsidiaries The Company’s subsidiaries are:
NameLocation
PL-US International LLCUnited States
Hubs Manufacturing Inc.United States
3D Hubs Manufacturing LLCUnited States
Proto Labs Ltd.United Kingdom
PL International Holdings, UK, Ltd.United Kingdom
PL Euro Services LimitedUnited Kingdom
Proto Labs GmbHGermany
Proto Labs Tooling GmbHGermany
3D Hubs B.V.Netherlands
XML 44 R29.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue (Tables)
12 Months Ended
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]  
Revenue from External Customers by Geographic Areas
Revenue by geographic region for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan— 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Revenue and income from operations by reportable segment are as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan— 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Disaggregation of Revenue
Revenue by product line for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
Injection Molding$203,941 $200,578 $226,117 
CNC Machining198,222 188,372 166,811 
3D Printing84,291 78,988 72,721 
Sheet Metal16,540 19,498 20,397 
Other Revenue883 962 2,052 
Total revenue$503,877 $488,398 $488,098 
XML 45 R30.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income (Loss) Per Common Share (Tables)
12 Months Ended
Dec. 31, 2023
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted
The following table presents the calculation of net income (loss) per basic and diluted share attributable to common shareholders:
Year Ended December 31,
(in thousands, except share and per share amounts)202320222021
Net income (loss)$17,220 $(103,462)$33,372 
   
Basic - weighted-average shares outstanding:26,186,53327,409,83827,617,627
Effect of dilutive securities:   
Employee stock options and other36,96535,472
Diluted - weighted-average shares outstanding:26,223,49827,409,83827,653,099
Net income (loss) per share attributable to common shareholders:   
Basic$0.66 $(3.77)$1.21 
Diluted$0.66 $(3.77)$1.21 
XML 46 R31.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Other Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The changes in the carrying amount of goodwill for the years ended December 31, 2023 and 2022 were as follows:
(in thousands)Dec. 31, 2021Goodwill acquired (impaired) during
2022
Foreign currency translation
adjustments during
2022
Dec. 31, 2022Goodwill acquired (impaired)
during 2023
Foreign currency translation
adjustments during
2023
 Dec. 31, 2023
United States$273,991 $— $— $273,991 $— $— $273,991 
Europe125,989 (118,008)(7,981)— — — — 
Japan630 (630)— — — — — 
Total goodwill$400,610 $(118,638)$(7,981)$273,991 $— $— $273,991 
Schedule of Finite-Lived Intangible Assets
Intangible assets other than goodwill for the years ended December 31, 2023 and 2022 were as follows:
Year Ended December 31, 2023Year Ended December 31, 2022Weighted Average
Useful Life
(in thousands)GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
NetUseful Life (in
years)
Remaining (in years)
Marketing assets$930 $(900)$30 $930 $(806)$124 10.00.3
Non-compete agreement835 (603)232 828 (487)341 
2.0 - 5.0
1.4
Software technology13,229 (7,752)5,477 13,229 (6,383)6,846 10.04.0
Software platform26,373 (6,575)19,798 26,054 (4,337)21,717 12.09.1
Tradenames354 (347)350 (227)123 3.00.1
Customer relationships12,223 (12,183)40 12,197 (10,098)2,099 
3.0 - 9.0
0.1
Total intangible assets$53,944 $(28,360)$25,584 $53,588 $(22,338)$31,250  
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense
Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:
(in thousands)Estimated Amortization
Expense
2024$3,741 
20253,660 
20263,558 
20273,549 
20282,180 
Thereafter8,896 
Total estimated amortization expense$25,584 
XML 47 R32.htm IDEA: XBRL DOCUMENT v3.24.0.1
Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2023
Fair Value Disclosures [Abstract]  
Fair Value, Assets Measured on Recurring Basis
The following tables summarizes financial assets as of December 31, 2023 and 2022 measured at fair value on a recurring basis:
December 31, 2023December 31, 2022
(in thousands)Level 1Level 2Level 3Level 1Level 2Level 3
Financial Assets:
Cash and cash equivalents, excluding money market mutual fund$77,423 $— $— $38,862 $— $— 
Money market mutual fund6,367 — — 17,696 $— $— 
Marketable securities4,482 22,550 — 9,881 40,106 — 
Total$88,272 $22,550 $— $66,439 $40,106 $— 
XML 48 R33.htm IDEA: XBRL DOCUMENT v3.24.0.1
Marketable Securities (Tables)
12 Months Ended
Dec. 31, 2023
Investments, Debt and Equity Securities [Abstract]  
Debt Securities, Available-for-Sale
Information regarding the Company’s short-term and long-term marketable securities as of December 31, 2023 and 2022 is as follows:
December 31, 2023
(in thousands)Amortized CostUnrealized GainsUnrealized LossesFair Value
U.S. government agency securities$16,798 — $(278)$16,520 
Corporate debt securities2,511 — (19)2,492 
U.S. municipal securities7,876 — (105)7,771 
Certificates of deposit/time deposits249 — — 249 
Total marketable securities$27,434 $— $(402)$27,032 
December 31, 2022
(in thousands)Amortized CostUnrealized GainsUnrealized LossesFair Value
U.S. government agency securities$25,275 — $(750)$24,525 
Corporate debt securities9,578 — (205)9,373 
U.S. municipal securities15,574 — (417)15,157 
Certificates of deposit/time deposits939 — (7)932 
Total marketable securities$51,366 $— $(1,379)$49,987 
Investments Classified by Contractual Maturity Date
The December 31, 2023 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.
(in thousands)December 31,
2023
Due in one year or less$19,013 
Due after one year through five years8,019 
Total marketable securities$27,032 
XML 49 R34.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment (Tables)
12 Months Ended
Dec. 31, 2023
Property, Plant and Equipment [Abstract]  
Property, Plant and Equipment
Property and equipment consists of the following:
December 31,
(in thousands)20232022
Land$15,596 $14,153 
Buildings and improvements133,033 105,492 
Machinery and equipment235,527 228,654 
Computer hardware and software86,659 82,302 
Leasehold improvements4,609 4,548 
Construction in progress8,410 22,674 
Total483,834 457,823 
Accumulated depreciation and amortization(230,179)(200,038)
Property and equipment, net$253,655 $257,785 
XML 50 R35.htm IDEA: XBRL DOCUMENT v3.24.0.1
Inventory (Tables)
12 Months Ended
Dec. 31, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventory, Current
The Company’s inventory consists of the following:
December 31,
(in thousands)20232022
Total inventory$14,319 $13,965 
Allowance for obsolescence(662)(387)
Inventory, net of allowance$13,657 $13,578 
XML 51 R36.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation (Tables)
12 Months Ended
Dec. 31, 2023
Share-Based Payment Arrangement [Abstract]  
Share-Based Payment Arrangement, Cost by Plan
The following table summarizes stock-based compensation expense for the years ended December 31, 2023, 2022 and 2021, respectively:
Year Ended December 31,
(in thousands)202320222021
Stock options and other$14,550 $16,103 $17,553 
Employee stock purchase plan1,439 1,442 1,542 
Total stock-based compensation expense$15,989 $17,545 $19,095 
Cost of revenue$1,840 $2,172 $2,595 
Operating expenses:
Marketing and sales3,426 3,295 3,736 
Research and development2,556 2,189 2,833 
General and administrative8,167 9,889 9,931 
Total stock-based compensation expense$15,989 $17,545 $19,095 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions
The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
202320222021
Risk-free interest rate
3.55 - 4.55%
1.94 - 3.40%
0.80 - 1.12%
Expected life (years)
2 - 6.25
6.256.25
Expected volatility
49.23 - 55.92%
45.95 - 46.03%
45.28 - 45.53%
Expected dividend yield0%0%0%
Weighted average grant date fair value$16.36$23.11$128.14
Share-Based Payment Arrangement, Option, Activity
The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2023, 2022 and 2021:
Stock OptionsWeighted-
Average
Exercise Price
Options outstanding at January 1, 2021229,531$86.46 
Granted57,901128.14 
Exercised(28,991)58.78 
Cancelled(25,057)109.31 
Options outstanding at December 31, 2021233,38497.78 
Granted118,43448.24 
Exercised(3,114)30.58 
Cancelled(84,712)89.32 
Options outstanding at December 31, 2022263,99279.07 
Granted186,80433.36 
Exercised— 
Cancelled(63,635)62.44 
Expired(15,848)55.67 
Options outstanding at December 31, 2023371,313$59.92 
Exercisable at December 31, 2023116,455$90.65 
Share-Based Payment Arrangement, Option, Exercise Price Range
The following table summarizes information about stock options outstanding at December 31, 2023:
Options Outstanding, Vested and Expected to VestOptions Exercisable
Range of Exercise PricesNumber OutstandingWeighted Average
Remaining Contractual
Life
Weighted Average Exercise
Price ($)
Number ExercisableWeighted Average Exercise
Price ($)
$32.13 to $36.48
167,7257.9233.40
$36.49 to $64.92
100,3917.4550.6037,24252.90
$64.93 to $180.46
103,1975.75112.8779,213108.40
Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity
The following table summarizes restricted stock activity for the years ended December 31, 2023, 2022 and 2021:
Restricted
Stock Awards
Weighted-
Average
Grant Date
Fair Value
Per Share
Restricted stock at January 1, 2021307,199$98.87 
Granted205,996123.61 
Restrictions lapsed(115,908)91.26 
Forfeited(53,505)128.05 
Restricted stock at December 31, 2021343,782111.79 
Granted315,43242.03 
Restrictions lapsed(130,452)101.32 
Forfeited(50,166)96.48 
Restricted stock at December 31, 2022478,59670.36 
Granted410,68232.46 
Restrictions lapsed(137,053)79.61 
Forfeited(98,760)61.25 
Restricted stock at December 31, 2023653,465$45.89 
Schedule of Nonvested Performance-Based Units Activity
The following table summarizes performance stock activity for the years ended December 31, 2023, 2022 and 2021:
 Performance
Stock Awards
Weighted-
Average
Grant Date
Fair Value
Per Share
Performance stock at January 1, 202119,956$118.66 
Granted15,078203.64 
Restrictions lapsed— 
Performance change(10,366)192.95 
Forfeited(7,829)113.91 
Performance stock at December 31, 202116,839115.56 
Granted35,69796.71 
Restrictions lapsed— — 
Performance change(13,156)99.59 
Forfeited(3,578)121.79 
Performance stock at December 31, 202235,80277.91 
Granted71,29557.79 
Restrictions lapsed
Performance change— 
Forfeited— 
Performance stock at December 31, 2023107,097$74.08 
Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions
The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2023, 2022 and 2021:
Year Ended December 31,
202320222021
Risk-free interest rate
4.60 - 5.16%
0.17 - 4.60%
0.06 - 0.17%
Expected life (months)6.006.006.00
Expected volatility
47.38 - 67.84%
47.05 - 67.84%
53.44 - 65.53%
Expected dividend yield0%0%0%
XML 52 R37.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases (Tables)
12 Months Ended
Dec. 31, 2023
Leases [Abstract]  
Lease, Cost
Supplemental balance sheet information related to leases was as follows:
December 31,
(in thousands)20232022
Operating lease assets$4,628 $3,844 
Current operating lease liabilities$1,585 $1,561 
Long-term operating lease liabilities3,008 2,255 
Total operating lease liabilities$4,593 $3,816 
Finance lease assets$960 $17,532 
Current finance lease liabilities$296 $17,537 
Long-term finance lease liabilities595 — 
Total finance lease liabilities$891 $17,537 
Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Operating lease cost$1,965 $3,002 
Finance lease cost:
Amortization of right-of-use assets$732 $532 
Interest on lease obligations$1,055 $95 
Variable lease cost371 560 
Total lease cost$4,123 $4,189 
Supplemental cash flow information related to leases was as follows:
Twelve Months Ended December 31,
(in thousands)20232022
Cash paid for amounts included in the measurement of lease liabilities:
Operating cash flows from operating leases$2,288 $3,778 
Operating cash flows from finance leases$1,055 $95 
Financing cash flows from finance leases$306 $531 
Lease assets obtained in exchange for new operating lease liabilities$2,324 $898 
Lease assets obtained in exchange for new financing lease liabilities$240 $16,167 
Finance Lease, Liability, to be Paid, Maturity
Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:
(in thousands)Operating LeasesFinance Leases
Year Ending December 31,
2024$1,622 $329 
20251,428 329 
2026819 292 
2027449 
2028397 
After 2029111 
Total future minimum lease payments4,826 950 
Less interest(233)(59)
Present value of lease liabilities$4,593 $891 
Lessee, Operating Lease, Liability, to be Paid, Maturity
Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:
(in thousands)Operating LeasesFinance Leases
Year Ending December 31,
2024$1,622 $329 
20251,428 329 
2026819 292 
2027449 
2028397 
After 2029111 
Total future minimum lease payments4,826 950 
Less interest(233)(59)
Present value of lease liabilities$4,593 $891 
Assets and Liabilities, Lessee
Weighted average remaining lease term and discount rate was as follows:
December 31,
20232022
Weighted Average Remaining Lease Term - operating leases (years)3.62.9
Weighted Average Remaining Lease Term - finance leases (years)2.636.0
Weighted Average Discount Rate - operating leases2.5 %1.6 %
Weighted Average Discount Rate - finance leases4.4 %5.9 %
XML 53 R38.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accumulated Other Comprehensive Loss (Tables)
12 Months Ended
Dec. 31, 2023
Regulated Operations [Abstract]  
Accumulated Other Comprehensive Loss
The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2023, 2022 and 2021, respectively:
Year Ended December 31,
(in thousands)202320222021
Balance at beginning of period$(34,355)$(16,817)$(3,420)
Foreign currency translation adjustments
Other comprehensive income (loss) before reclassifications1,459 (16,278)(13,278)
Amounts reclassified from accumulated other comprehensive income (loss)3,906 
Net current-period other comprehensive income (loss)5,365 (16,278)(13,278)
Net unrealized gains (losses) on investments in securities
Other comprehensive income (loss) before reclassifications977 (1,260)(119)
Amounts reclassified from accumulated other comprehensive income (loss)
Net current-period other comprehensive income (loss)977 (1,260)(119)
Balance at end of period$(28,013)$(34,355)$(16,817)
XML 54 R39.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2023
Income Tax Disclosure [Abstract]  
Schedule of Income before Income Tax, Domestic and Foreign
The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:
Year Ended December 31,
(in thousands)202320222021
Domestic$38,099 $33,731 $42,449 
Foreign(10,147)(131,608)(2,265)
Total$27,952 $(97,877)$40,184 
Schedule of Components of Income Tax Expense (Benefit)
Significant components of the provision for income taxes for the following periods are as follows:
Year Ended December 31,
(in thousands)202320222021
Current:
Federal$15,717 $15,366 $5,552 
State2,418 (393)975 
Foreign34 (99)(64)
Deferred
Federal(8,202)(9,159)(377)
State(385)(723)(814)
Foreign1,379 (4,641)(1,181)
Valuation Allowance(229)5,234 2,721 
Total$10,732 $5,585 $6,812 
Schedule of Effective Income Tax Rate Reconciliation
A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:
Year Ended December 31,
202320222021
Federal tax statutory rate21.0 %21.0 %21.0 %
State tax (net of federal benefit)3.5 (0.8)2.1 
Share based compensation6.0 (2.1)(2.3)
Valuation allowance against deferred tax assets(2.4)(5.0)8.9 
Goodwill impairment— (24.4)— 
Contingent consideration reduction— — (7.0)
Research and development credit(3.8)1.2 (4.0)
Foreign rate differential(1.6)2.9 (2.2)
Tax reserves1.9 1.0 (1.0)
Provision to return difference(0.2)— (0.7)
Unrealized foreign exchange losses2.9 — — 
Revaluation of deferred tax liability1.1 — — 
Closure of Japan branch net operating loss reversal11.1 — — 
Miscellaneous(1.1)0.5 2.2 
Total38.4 %(5.7 %)17.0 %
Schedule of Deferred Tax Assets and Liabilities
Significant components of deferred tax assets and liabilities are as follows:
December 31,
(in thousands)20232022
Deferred tax assets:
Accrued expenses$2,155 $2,254 
Section 174 expenses13,084 8,119 
Leases1,186 4,822 
Warrants and stock options4,588 4,087 
Inventories275 198 
Research and development credit2,327 2,374 
Other assets1,094 838 
Net operating loss16,237 16,586 
Less valuation allowance(17,667)(17,562)
Total deferred tax assets23,279 21,716 
Deferred tax liabilities:  
Depreciation(25,552)(29,397)
Goodwill(12,921)(10,716)
Intangible assets(2,362)(3,103)
Leases(1,186)(4,822)
Total deferred tax liabilities(42,021)(48,038)
Net deferred tax liability$(18,742)$(26,322)
Schedule of Unrecognized Tax Benefits Roll Forward
A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:
Year Ended December 31,
20232022
Balance at beginning of period$3,236 $4,364 
Additions for tax positions of current year632 634 
Additions for tax positions of prior years86 23 
Decrease related to the expiration of statutes of limitations(338)— 
Reduction for tax positions of prior years— (1,785)
Balance at period end$3,616 $3,236 
XML 55 R40.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting (Tables)
12 Months Ended
Dec. 31, 2023
Segment Reporting [Abstract]  
Revenue from External Customers by Geographic Areas
Revenue by geographic region for the years ended December 31, 2023, 2022 and 2021 was as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan— 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Revenue and income from operations by reportable segment are as follows:
Year Ended December 31,
(in thousands)202320222021
Revenue:
United States$396,821 $387,399 $384,458 
Europe107,056 92,770 90,399 
Japan— 8,229 13,241 
Total revenue$503,877 $488,398 $488,098 
Income from Operations by Geographic Area
Year Ended December 31,
(in thousands)202320222021
Income (Loss) from Operations:
United States$94,682 $93,176 $98,001 
Europe(12,528)(130,386)730 
Corporate Unallocated and Japan(53,987)(60,773)(58,389)
Total income (loss) from operations$28,167 $(97,983)$40,342 
Long-Lived Assets by Geographic Areas
Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:
(in thousands)December 31,
2023
December 31,
2022
December 31,
2021
Long-lived assets:
United States$201,388 $203,816 $215,701 
Europe52,267 53,835 59,388 
Japan— 134 5,257 
Total long-lived assets$253,655 $257,785 $280,346 
Expenditures for Additions to Long-lived Assets by Geographic Region
Year Ended December 31,
(in thousands)202320222021
Expenditures for additions to long-lived assets:
United States$24,553 $17,538 $26,698 
Europe3,563 4,137 7,378 
Japan— 11 133 
Total expenditures for additions to long-lived assets$28,116 $21,686 $34,209 
Depreciation and Amortization by Geographic Region
Year Ended December 31,
(in thousands)202320222021
Depreciation and Amortization:
United States$30,667 $31,666 $31,642 
Europe6,861 6,770 7,101 
Japan— 989 1,745 
Total depreciation and amortization$37,528 $39,425 $40,488 
XML 56 R41.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Accounting Policies [Line Items]      
Goodwill impairment $ 0 $ 118,008 $ 0
Advertising costs 13,800 13,200 12,500
Research and development costs 40,135 38,222 $ 44,241
Europe      
Accounting Policies [Line Items]      
Goodwill impairment $ 0 $ 118,000  
Building      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 39 years    
Minimum      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 3 years    
Intangible assets, useful life (in years) 2 years    
Operating lease term, remaining lease term (in years) 1 year    
Minimum | Machinery and equipment      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 3 years    
Minimum | Office furniture and equipment      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 3 years    
Minimum | Computer hardware and software      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 3 years    
Minimum | Building and land improvements      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 10 years    
Maximum      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 39 years    
Intangible assets, useful life (in years) 12 years    
Operating lease term, remaining lease term (in years) 9 years    
Maximum | Machinery and equipment      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 15 years    
Maximum | Office furniture and equipment      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 7 years    
Maximum | Computer hardware and software      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 5 years    
Maximum | Building and land improvements      
Accounting Policies [Line Items]      
Property, equipment, useful life (in years) 39 years    
XML 57 R42.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Narrative (Details) - USD ($)
$ in Millions
Dec. 31, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]    
Unbilled receivables $ 10.1 $ 8.5
Unsatisfied performance obligation $ 9.8 $ 10.9
XML 58 R43.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Revenue by Geographic Areas (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue [Line Items]      
Revenue $ 503,877 $ 488,398 $ 488,098
Operating Segments      
Disaggregation of Revenue [Line Items]      
Revenue 503,877 488,398 488,098
Operating Segments | United States      
Disaggregation of Revenue [Line Items]      
Revenue 396,821 387,399 384,458
Operating Segments | Europe      
Disaggregation of Revenue [Line Items]      
Revenue 107,056 92,770 90,399
Operating Segments | Japan      
Disaggregation of Revenue [Line Items]      
Revenue $ 0 $ 8,229 $ 13,241
XML 59 R44.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue [Line Items]      
Revenue $ 503,877 $ 488,398 $ 488,098
Injection Molding      
Disaggregation of Revenue [Line Items]      
Revenue 203,941 200,578 226,117
CNC Machining      
Disaggregation of Revenue [Line Items]      
Revenue 198,222 188,372 166,811
3D Printing      
Disaggregation of Revenue [Line Items]      
Revenue 84,291 78,988 72,721
Sheet Metal      
Disaggregation of Revenue [Line Items]      
Revenue 16,540 19,498 20,397
Other Revenue      
Disaggregation of Revenue [Line Items]      
Revenue $ 883 $ 962 $ 2,052
XML 60 R45.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income (Loss) Per Common Share - Narrative (Details) - shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Earnings Per Share [Abstract]      
Anti-dilutive options excluded from calculation of diluted weighted average shares outstanding (in shares) 263,992 197,827 113,043
XML 61 R46.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income (Loss) Per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Earnings Per Share [Abstract]      
Net income (loss) $ 17,220 $ (103,462) $ 33,372
Basic - weighted-average shares outstanding (in shares) 26,186,533 27,409,838 27,617,627
Effect of dilutive securities:      
Employee stock options and other (in shares) 36,965 0 35,472
Diluted - weighted-average shares outstanding (in shares) 26,223,498 27,409,838 27,653,099
Net income (loss) per share attributable to common shareholders:      
Basic (in dollars per share) $ 0.66 $ (3.77) $ 1.21
Diluted (in dollars per share) $ 0.66 $ (3.77) $ 1.21
XML 62 R47.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Goodwill [Roll Forward]    
Goodwill, balance as of the beginning of the period $ 273,991 $ 400,610
Goodwill acquired (impaired) 0 (118,638)
Foreign currency translation adjustments 0 (7,981)
Goodwill, balance as of the end of the period 273,991 273,991
United States    
Goodwill [Roll Forward]    
Goodwill, balance as of the beginning of the period 273,991 273,991
Goodwill acquired (impaired) 0 0
Foreign currency translation adjustments 0 0
Goodwill, balance as of the end of the period 273,991 273,991
Europe    
Goodwill [Roll Forward]    
Goodwill, balance as of the beginning of the period 0 125,989
Goodwill acquired (impaired) 0 (118,008)
Foreign currency translation adjustments 0 (7,981)
Goodwill, balance as of the end of the period 0 0
Japan    
Goodwill [Roll Forward]    
Goodwill, balance as of the beginning of the period 0 630
Goodwill acquired (impaired) 0 (630)
Foreign currency translation adjustments 0 0
Goodwill, balance as of the end of the period $ 0 $ 0
XML 63 R48.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Other Intangible Assets - Narrative (Details) - USD ($)
$ in Thousands
12 Months Ended
Jan. 22, 2021
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Goodwill [Line Items]        
Cash used for acquisition, net of cash acquired   $ 0 $ 0 $ 127,413
Goodwill   273,991 273,991 400,610
Goodwill, period increase (decrease)     (126,600)  
Foreign currency translation adjustment   1,300 1,700 900
Amortization expense for intangible assets   $ 5,900 $ 6,000 $ 6,200
3D Hubs, Inc. (Hubs)        
Goodwill [Line Items]        
Consideration transferred $ 294,100      
Cash used for acquisition, net of cash acquired $ 127,400      
Equity portion of purchase price (in shares) 863,995      
Consideration transferred, common stock $ 166,700      
Goodwill $ 280,900      
XML 64 R49.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Other Intangible Assets - Schedule of Intangible Assets Other Than Goodwill (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 53,944 $ 53,588
Accumulated Amortization (28,360) (22,338)
Net $ 25,584 31,250
Minimum    
Acquired Finite-Lived Intangible Assets [Line Items]    
Intangible assets, useful life (in years) 2 years  
Maximum    
Acquired Finite-Lived Intangible Assets [Line Items]    
Intangible assets, useful life (in years) 12 years  
Marketing assets    
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 930 930
Accumulated Amortization (900) (806)
Net $ 30 124
Intangible assets, useful life (in years) 10 years  
Weighted Average Useful Life Remaining (in years) 3 months 18 days  
Non-compete agreement    
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 835 828
Accumulated Amortization (603) (487)
Net $ 232 341
Weighted Average Useful Life Remaining (in years) 1 year 4 months 24 days  
Non-compete agreement | Minimum    
Acquired Finite-Lived Intangible Assets [Line Items]    
Intangible assets, useful life (in years) 2 years  
Non-compete agreement | Maximum    
Acquired Finite-Lived Intangible Assets [Line Items]    
Intangible assets, useful life (in years) 5 years  
Software technology    
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 13,229 13,229
Accumulated Amortization (7,752) (6,383)
Net $ 5,477 6,846
Intangible assets, useful life (in years) 10 years  
Weighted Average Useful Life Remaining (in years) 4 years  
Software platform    
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 26,373 26,054
Accumulated Amortization (6,575) (4,337)
Net $ 19,798 21,717
Intangible assets, useful life (in years) 12 years  
Weighted Average Useful Life Remaining (in years) 9 years 1 month 6 days  
Tradenames    
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 354 350
Accumulated Amortization (347) (227)
Net $ 7 123
Intangible assets, useful life (in years) 3 years  
Weighted Average Useful Life Remaining (in years) 1 month 6 days  
Customer relationships    
Acquired Finite-Lived Intangible Assets [Line Items]    
Gross $ 12,223 12,197
Accumulated Amortization (12,183) (10,098)
Net $ 40 $ 2,099
Weighted Average Useful Life Remaining (in years) 1 month 6 days  
Customer relationships | Minimum    
Acquired Finite-Lived Intangible Assets [Line Items]    
Intangible assets, useful life (in years) 3 years  
Customer relationships | Maximum    
Acquired Finite-Lived Intangible Assets [Line Items]    
Intangible assets, useful life (in years) 9 years  
XML 65 R50.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Other Intangible Assets - Future Amortization Expense (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2024 $ 3,741  
2025 3,660  
2026 3,558  
2027 3,549  
2028 2,180  
Thereafter 8,896  
Net $ 25,584 $ 31,250
XML 66 R51.htm IDEA: XBRL DOCUMENT v3.24.0.1
Fair Value Measurements - Financial Assets Measured At Fair Value On A Recurring Basis (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Financial Assets:    
Debt securities, available-for-sale $ 27,032 $ 49,987
Level 1 | Fair Value, Recurring    
Financial Assets:    
Debt securities, available-for-sale 4,482 9,881
Total 88,272 66,439
Level 2 | Fair Value, Recurring    
Financial Assets:    
Debt securities, available-for-sale 22,550 40,106
Total 22,550 40,106
Level 3 | Fair Value, Recurring    
Financial Assets:    
Debt securities, available-for-sale 0 0
Total 0 0
Cash | Level 1 | Fair Value, Recurring    
Financial Assets:    
Cash and cash equivalents 77,423 38,862
Cash | Level 2 | Fair Value, Recurring    
Financial Assets:    
Cash and cash equivalents 0 0
Cash | Level 3 | Fair Value, Recurring    
Financial Assets:    
Cash and cash equivalents 0 0
Money market mutual fund | Level 1 | Fair Value, Recurring    
Financial Assets:    
Cash and cash equivalents 6,367 17,696
Money market mutual fund | Level 2 | Fair Value, Recurring    
Financial Assets:    
Cash and cash equivalents 0 0
Money market mutual fund | Level 3 | Fair Value, Recurring    
Financial Assets:    
Cash and cash equivalents $ 0 $ 0
XML 67 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
Marketable Securities - Short-Term and Long-Term Marketable Securities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost $ 27,434 $ 51,366
Unrealized Gains 0 0
Unrealized Losses (402) (1,379)
Fair Value 27,032 49,987
U.S. government agency securities    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost 16,798 25,275
Unrealized Gains 0 0
Unrealized Losses (278) (750)
Fair Value 16,520 24,525
Corporate debt securities    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost 2,511 9,578
Unrealized Gains 0 0
Unrealized Losses (19) (205)
Fair Value 2,492 9,373
U.S. municipal securities    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost 7,876 15,574
Unrealized Gains 0 0
Unrealized Losses (105) (417)
Fair Value 7,771 15,157
Certificates of deposit/time deposits    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost 249 939
Unrealized Gains 0 0
Unrealized Losses 0 (7)
Fair Value $ 249 $ 932
XML 68 R53.htm IDEA: XBRL DOCUMENT v3.24.0.1
Marketable Securities - Maturities of Available-For-Sale Debt Securities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract]    
Due in one year or less $ 19,013  
Due after one year through five years 8,019  
Total marketable securities $ 27,032 $ 49,987
XML 69 R54.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment - Summary of Property And Equipment (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 483,834 $ 457,823
Accumulated depreciation and amortization (230,179) (200,038)
Property and equipment, net 253,655 257,785
Land    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 15,596 14,153
Buildings and improvements    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 133,033 105,492
Machinery and equipment    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 235,527 228,654
Computer hardware and software    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 86,659 82,302
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 4,609 4,548
Construction in progress    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 8,410 $ 22,674
XML 70 R55.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment - Narrative (Details) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Property, Plant and Equipment [Abstract]      
Depreciation $ 31.6 $ 33.4 $ 34.3
XML 71 R56.htm IDEA: XBRL DOCUMENT v3.24.0.1
Inventory (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Total inventory $ 14,319 $ 13,965
Allowance for obsolescence (662) (387)
Inventory, net of allowance $ 13,657 $ 13,578
XML 72 R57.htm IDEA: XBRL DOCUMENT v3.24.0.1
Financing Obligations (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Debt Disclosure [Abstract]    
Financing obligations $ 0 $ 0
XML 73 R58.htm IDEA: XBRL DOCUMENT v3.24.0.1
Employee Benefit Plans (Details) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
United States      
Defined Benefit Plan Disclosure [Line Items]      
Maximum annual contributions per employees (in percent) 50.00%    
Contributions by employer $ 4.6 $ 3.9 $ 3.7
Foreign Plan      
Defined Benefit Plan Disclosure [Line Items]      
Contributions by employer $ 0.5 $ 0.5 $ 0.4
XML 74 R59.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Narrative (Details) - USD ($)
$ / shares in Units, $ in Millions
6 Months Ended 12 Months Ended
Aug. 29, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Options, intrinsic value   $ 0.0 $ 0.0 $ 3.8
Options outstanding, weighted-average remaining contractual term (in years)   7 years 2 months 12 days    
Options outstanding, aggregate intrinsic value (in years)   $ 0.9    
Options exercisable, weighted-average remaining contractual term (in years)   5 years 6 months    
Options exercisable, aggregate intrinsic value (in years)   $ 0.0    
Options vested, fair value   $ 1.8 $ 2.3 $ 2.1
Employee stock purchase plan        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Discount from market price (in percent)   15.00%    
Offering period (in months)   6 months    
Purchase price of common stock (in percent)   85.00%    
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   171,991 142,982  
Average exercise price (in dollars per share)   $ 22.30 $ 27.09  
Shares available for grant (in shares)   743,893    
Stock Options        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Stock-based award, term (in years)   10 years    
Stock-based award, vesting period (in years)   4 years    
Stock based award, unrecognized compensation expense   $ 3.8    
Stock based award, unrecognized compensation expense, period for recognition (in years)   2 years 6 months    
Restricted Stock        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Granted (in shares)   410,682 315,432 205,996
Stock based award, unrecognized compensation expense   $ 18.5    
Stock based award, unrecognized compensation expense, period for recognition (in years)   2 years 6 months    
Restricted Stock | Maximum        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Stock-based award, vesting period (in years)   4 years    
Performance Shares        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Granted (in shares)   71,295 35,697 15,078
Stock-based award, vesting period (in years)   3 years    
Stock based award, unrecognized compensation expense   $ 4.1    
Stock based award, unrecognized compensation expense, period for recognition (in years)   1 year 9 months 18 days    
Percentage of target, capable of being earned and vesting, lower limit   0.00%    
Percentage of target, capable of being earned and vesting, upper limit   200.00%    
Long-Term Incentive Plan 2012        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Granted (in shares) 0      
Stock-based award, term (in years)   10 years    
XML 75 R60.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense $ 15,989 $ 17,545 $ 19,095
Cost of revenue      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense 1,840 2,172 2,595
Marketing and sales      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense 3,426 3,295 3,736
Research and development      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense 2,556 2,189 2,833
General and administrative      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense 8,167 9,889 9,931
Stock options and other      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense 14,550 16,103 17,553
Employee stock purchase plan      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock-based compensation expense $ 1,439 $ 1,442 $ 1,542
XML 76 R61.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Weighted Average Assumptions (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Stock Options      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Expected life (years)   6 years 3 months 6 years 3 months
Expected dividend yield 0.00% 0.00% 0.00%
Weighted average grant date fair value (in dollars per share) $ 16.36 $ 23.11 $ 128.14
Performance Shares      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Expected life (years) 6 years 6 years 6 years
Expected dividend yield 0.00% 0.00% 0.00%
Minimum | Stock Options      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Risk-free interest rate 3.55% 1.94% 0.80%
Expected life (years) 2 years    
Expected volatility 49.23% 45.95% 45.28%
Minimum | Performance Shares      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Risk-free interest rate 4.60% 0.17% 0.06%
Expected volatility 47.38% 47.05% 53.44%
Maximum | Stock Options      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Risk-free interest rate 4.55% 3.40% 1.12%
Expected life (years) 6 years 3 months    
Expected volatility 55.92% 46.03% 45.53%
Maximum | Performance Shares      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Risk-free interest rate 5.16% 4.60% 0.17%
Expected volatility 67.84% 67.84% 65.53%
XML 77 R62.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Option Activity (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Stock Options      
Options outstanding, beginning balance (in shares) 263,992 233,384 229,531
Granted (in shares) 186,804 118,434 57,901
Exercised (in shares) 0 (3,114) (28,991)
Cancelled (in shares) (63,635) (84,712) (25,057)
Expired (in shares) (15,848)    
Options outstanding, ending balance (in shares) 371,313 263,992 233,384
Weighted- Average Exercise Price      
Options outstanding, beginning balance, weighted-average exercise price (in dollars per share) $ 79.07 $ 97.78 $ 86.46
Granted, weighted-average exercise price (in dollars per share) 33.36 48.24 128.14
Exercised, weighted-average exercise price (in dollars per share) 0 30.58 58.78
Cancelled, weighted-average exercise price (in dollars per share) 62.44 89.32 109.31
Expired, weighted-average exercise price (in dollars per share) 55.67    
Options outstanding, ending balance, weighted-average exercise price (in dollars per share) $ 59.92 $ 79.07 $ 97.78
Additional Disclosures      
Option exercisable (in shares) 116,455    
Options exercisable, weighted-average exercise price (in dollars per share) $ 90.65    
XML 78 R63.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Stock Options Outstanding (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Options Outstanding, Vested and Expected to Vest, Number Outstanding (in shares) 371,313 263,992 233,384 229,531
Options Outstanding, Vested and Expected to Vest, Weighted Average Exercise Price (in dollars per share) $ 59.92 $ 79.07 $ 97.78 $ 86.46
Range One        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Range of Exercise Prices, lower range limit (in dollars per share) 32.13      
Range of Exercise Prices, upper range limit (in dollars per share) $ 36.48      
Options Outstanding, Vested and Expected to Vest, Number Outstanding (in shares) 167,725      
Options Outstanding, Vested and Expected to Vest, Weighted Average Remaining Contractual Life (in years) 7 years 11 months 1 day      
Options Outstanding, Vested and Expected to Vest, Weighted Average Exercise Price (in dollars per share) $ 33.40      
Options Exercisable, Number Exercisable (in shares) 0      
Options Exercisable, Weighted Average Exercise Price (in shares) $ 0      
Range Two        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Range of Exercise Prices, lower range limit (in dollars per share) 36.49      
Range of Exercise Prices, upper range limit (in dollars per share) $ 64.92      
Options Outstanding, Vested and Expected to Vest, Number Outstanding (in shares) 100,391      
Options Outstanding, Vested and Expected to Vest, Weighted Average Remaining Contractual Life (in years) 7 years 5 months 12 days      
Options Outstanding, Vested and Expected to Vest, Weighted Average Exercise Price (in dollars per share) $ 50.60      
Options Exercisable, Number Exercisable (in shares) 37,242      
Options Exercisable, Weighted Average Exercise Price (in shares) $ 52.90      
Range Three        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Range of Exercise Prices, lower range limit (in dollars per share) 64.93      
Range of Exercise Prices, upper range limit (in dollars per share) $ 180.46      
Options Outstanding, Vested and Expected to Vest, Number Outstanding (in shares) 103,197      
Options Outstanding, Vested and Expected to Vest, Weighted Average Remaining Contractual Life (in years) 5 years 9 months      
Options Outstanding, Vested and Expected to Vest, Weighted Average Exercise Price (in dollars per share) $ 112.87      
Options Exercisable, Number Exercisable (in shares) 79,213      
Options Exercisable, Weighted Average Exercise Price (in shares) $ 108.40      
XML 79 R64.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Stock Activity (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Restricted Stock      
Stock      
Beginning balance (in shares) 478,596 343,782 307,199
Granted (in shares) 410,682 315,432 205,996
Restrictions lapsed (in shares) (137,053) (130,452) (115,908)
Forfeited (in shares) (98,760) (50,166) (53,505)
Ending balance (in shares) 653,465 478,596 343,782
Weighted- Average Grant Date Fair Value Per Share      
Beginning balance, weighted-average grant date fair value (in dollars per share) $ 70.36 $ 111.79 $ 98.87
Granted, weighted-average grant date fair value (in dollars per share) 32.46 42.03 123.61
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) 79.61 101.32 91.26
Forfeited, weighted-average grant date fair value (in dollars per share) 61.25 96.48 128.05
Ending balance, weighted-average grant date fair value (in dollars per share) $ 45.89 $ 70.36 $ 111.79
Performance Shares      
Stock      
Beginning balance (in shares) 35,802 16,839 19,956
Granted (in shares) 71,295 35,697 15,078
Restrictions lapsed (in shares) 0 0 0
Performance change (in shares) 0 (13,156) (10,366)
Forfeited (in shares) 0 (3,578) (7,829)
Ending balance (in shares) 107,097 35,802 16,839
Weighted- Average Grant Date Fair Value Per Share      
Beginning balance, weighted-average grant date fair value (in dollars per share) $ 77.91 $ 115.56 $ 118.66
Granted, weighted-average grant date fair value (in dollars per share) 57.79 96.71 203.64
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) 0 0 0
Performance change, weighted-average grant date fair value (in dollars per share) 0 99.59 192.95
Forfeited, weighted-average grant date fair value (in dollars per share) 0 121.79 113.91
Ending balance, weighted-average grant date fair value (in dollars per share) $ 74.08 $ 77.91 $ 115.56
XML 80 R65.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Supplemental Balance Sheet Information (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Operating Lease, Liability [Abstract]    
Operating lease assets $ 4,628 $ 3,844
Current operating lease liabilities 1,585 1,561
Long-term operating lease liabilities 3,008 2,255
Total operating lease liabilities 4,593 3,816
Finance Lease, Liability [Abstract]    
Finance lease assets 960 17,532
Current finance lease liabilities 296 17,537
Long-term finance lease liabilities 595 0
Total finance lease liabilities $ 891 $ 17,537
XML 81 R66.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Lease Cost (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Leases [Abstract]    
Operating lease cost $ 1,965 $ 3,002
Finance lease cost:    
Amortization of right-of-use assets 732 532
Interest on lease obligations 1,055 95
Variable lease cost 371 560
Total lease cost $ 4,123 $ 4,189
XML 82 R67.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Maturities of Operating And Finance Lease Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Operating Leases    
2024 $ 1,622  
2025 1,428  
2026 819  
2027 449  
2028 397  
After 2029 111  
Total future minimum lease payments 4,826  
Less interest (233)  
Present value of lease liabilities 4,593 $ 3,816
Finance Leases    
2024 329  
2025 329  
2026 292  
2027 0  
2028 0  
After 2029 0  
Total future minimum lease payments 950  
Less interest (59)  
Total finance lease liabilities $ 891 $ 17,537
XML 83 R68.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Weighted Average Remaining Lease Term And Discount (Details)
Dec. 31, 2023
Dec. 31, 2022
Leases [Abstract]    
Weighted Average Remaining Lease Term - operating leases (years) 3 years 7 months 6 days 2 years 10 months 24 days
Weighted Average Remaining Lease Term - finance leases (years) 2 years 7 months 6 days 36 years
Weighted Average Discount Rate - operating leases (in percent) 2.50% 1.60%
Weighted Average Discount Rate - finance leases (in percent) 4.40% 5.90%
XML 84 R69.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Cash paid for amounts included in the measurement of lease liabilities:      
Operating cash flows from operating leases $ 2,288 $ 3,778  
Operating cash flows from finance leases 1,055 95  
Financing cash flows from finance leases 306 531 $ 552
Lease assets obtained in exchange for new lease liabilities      
Lease assets obtained in exchange for new operating lease liabilities 2,324 898  
Lease assets obtained in exchange for new financing lease liabilities $ 240 $ 16,167  
XML 85 R70.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accumulated Other Comprehensive Loss - Narrative (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Foreign currency translation adjustments      
Accumulated Other Comprehensive Income (Loss) [Line Items]      
Amounts reclassified from accumulated other comprehensive income (loss) $ (3,906) $ 0 $ 0
XML 86 R71.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accumulated Other Comprehensive Loss - Changes In Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Accumulated Other Comprehensive Income (Loss) [Line Items]      
Balance at beginning of period $ 697,648 $ 828,493 $ 644,356
Net unrealized gains (losses) on investments in securities      
Balance at end of period 695,295 697,648 828,493
Accumulated Other Comprehensive Loss      
Accumulated Other Comprehensive Income (Loss) [Line Items]      
Balance at beginning of period (34,355) (16,817) (3,420)
Net unrealized gains (losses) on investments in securities      
Balance at end of period (28,013) (34,355) (16,817)
Foreign currency translation adjustments      
Foreign currency translation adjustments      
Other comprehensive income (loss) before reclassifications 1,459 (16,278) (13,278)
Amounts reclassified from accumulated other comprehensive income (loss) 3,906 0 0
Net unrealized gains (losses) on investments in securities      
Other comprehensive income (loss) before reclassifications 1,459 (16,278) (13,278)
Amounts reclassified from accumulated other comprehensive income (loss) 3,906 0 0
Net current-period other comprehensive income (loss) 5,365 (16,278) (13,278)
Net unrealized gains (losses) on investments in securities      
Foreign currency translation adjustments      
Other comprehensive income (loss) before reclassifications 977 (1,260) (119)
Amounts reclassified from accumulated other comprehensive income (loss) 0 0 0
Net unrealized gains (losses) on investments in securities      
Other comprehensive income (loss) before reclassifications 977 (1,260) (119)
Amounts reclassified from accumulated other comprehensive income (loss) 0 0 0
Net current-period other comprehensive income (loss) $ 977 $ (1,260) $ (119)
XML 87 R72.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Narrative (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Income Tax Contingency [Line Items]      
Provision for income taxes $ 10,732,000 $ 5,585,000 $ 6,812,000
Effective income tax rate reconciliation (in percent) 38.40% (5.70%) 17.00%
Effective income tax rate, increase (decrease) during period (in percent) (44.10%)    
Deferred tax assets related to undistributed earnings $ 0    
Undistributed earnings 3,400,000    
Operating loss carryforwards 16,200,000    
Deferred tax assets, valuation allowance 17,667,000 $ 17,562,000  
Unrecognized tax benefits $ 3,616,000 $ 3,236,000 $ 4,364,000
GERMANY      
Income Tax Contingency [Line Items]      
Operating loss carryforwards, percentage of taxable income (in percent) 60.00%    
NETHERLANDS      
Income Tax Contingency [Line Items]      
Operating loss carryforwards, percentage of taxable income (in percent) 50.00%    
XML 88 R73.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Components Of Income Before Income Taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Income Tax Disclosure [Abstract]      
Domestic $ 38,099 $ 33,731 $ 42,449
Foreign (10,147) (131,608) (2,265)
Income (loss) before income taxes $ 27,952 $ (97,877) $ 40,184
XML 89 R74.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Provisions For Income Taxes (Detail) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Current:      
Federal $ 15,717 $ 15,366 $ 5,552
State 2,418 (393) 975
Foreign 34 (99) (64)
Deferred      
Federal (8,202) (9,159) (377)
State (385) (723) (814)
Foreign 1,379 (4,641) (1,181)
Valuation Allowance (229) 5,234 2,721
Total $ 10,732 $ 5,585 $ 6,812
XML 90 R75.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Reconciliation of Federal Statutory Income Tax Rate (Detail)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Effective Income Tax Rate Reconciliation, Percent [Abstract]      
Federal tax statutory rate 21.00% 21.00% 21.00%
State tax (net of federal benefit) 3.50% (0.80%) 2.10%
Share based compensation 6.00% (2.10%) (2.30%)
Valuation allowance against deferred tax assets (2.40%) (5.00%) 8.90%
Goodwill impairment 0.00% (24.40%) 0.00%
Contingent consideration reduction 0.00% 0.00% (7.00%)
Research and development credit (3.80%) 1.20% (4.00%)
Foreign rate differential (1.60%) 2.90% (2.20%)
Tax reserves 1.90% 1.00% (1.00%)
Provision to return difference (0.20%) 0.00% (0.70%)
Unrealized foreign exchange losses 2.90% 0.00% 0.00%
Revaluation of deferred tax liability 1.10% 0.00% 0.00%
Closure of Japan branch net operating loss reversal 11.10% 0.00% 0.00%
Miscellaneous (1.10%) 0.50% 2.20%
Total 38.40% (5.70%) 17.00%
XML 91 R76.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Deferred Tax Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Deferred tax assets:    
Accrued expenses $ 2,155 $ 2,254
Section 174 expenses 13,084 8,119
Leases 1,186 4,822
Warrants and stock options 4,588 4,087
Inventories 275 198
Research and development credit 2,327 2,374
Other assets 1,094 838
Net operating loss 16,237 16,586
Less valuation allowance (17,667) (17,562)
Total deferred tax assets 23,279 21,716
Deferred tax liabilities:    
Depreciation (25,552) (29,397)
Goodwill (12,921) (10,716)
Intangible assets (2,362) (3,103)
Leases (1,186) (4,822)
Total deferred tax liabilities (42,021) (48,038)
Net deferred tax liability $ (18,742) $ (26,322)
XML 92 R77.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Reconciliation Of Unrecognized Tax Benefits (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]    
Balance at beginning of period $ 3,236 $ 4,364
Additions for tax positions of current year 632 634
Additions for tax positions of prior years 86 23
Decrease related to the expiration of statutes of limitations (338) 0
Reduction for tax positions of prior years 0 (1,785)
Balance at period end $ 3,616 $ 3,236
XML 93 R78.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting - Revenue by Geographic Areas (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Segment Reporting Information [Line Items]      
Total revenue $ 503,877 $ 488,398 $ 488,098
Operating Segments      
Segment Reporting Information [Line Items]      
Total revenue 503,877 488,398 488,098
Operating Segments | United States      
Segment Reporting Information [Line Items]      
Total revenue 396,821 387,399 384,458
Operating Segments | Europe      
Segment Reporting Information [Line Items]      
Total revenue 107,056 92,770 90,399
Operating Segments | Japan      
Segment Reporting Information [Line Items]      
Total revenue $ 0 $ 8,229 $ 13,241
XML 94 R79.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting - Income From Operation by Geographic Areas (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Segment Reporting Information [Line Items]      
Total income (loss) from operations $ 28,167 $ (97,983) $ 40,342
Operating Segments      
Segment Reporting Information [Line Items]      
Total income (loss) from operations 28,167 (97,983) 40,342
Operating Segments | United States      
Segment Reporting Information [Line Items]      
Total income (loss) from operations 94,682 93,176 98,001
Operating Segments | Europe      
Segment Reporting Information [Line Items]      
Total income (loss) from operations (12,528) (130,386) 730
Operating Segments | Corporate Unallocated and Japan      
Segment Reporting Information [Line Items]      
Total income (loss) from operations $ (53,987) $ (60,773) $ (58,389)
XML 95 R80.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting - Long-Lived Assets by Geographic Areas (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Segment Reporting Information [Line Items]      
Total long-lived assets $ 253,655 $ 257,785  
Operating Segments      
Segment Reporting Information [Line Items]      
Total long-lived assets 253,655 257,785 $ 280,346
Operating Segments | United States      
Segment Reporting Information [Line Items]      
Total long-lived assets 201,388 203,816 215,701
Operating Segments | Europe      
Segment Reporting Information [Line Items]      
Total long-lived assets 52,267 53,835 59,388
Operating Segments | Japan      
Segment Reporting Information [Line Items]      
Total long-lived assets $ 0 $ 134 $ 5,257
XML 96 R81.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting - Expenditures For Additions To Long-Lived Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Segment Reporting Information [Line Items]      
Total expenditures for additions to long-lived assets $ 28,116 $ 21,686 $ 34,209
United States      
Segment Reporting Information [Line Items]      
Total expenditures for additions to long-lived assets 24,553 17,538 26,698
Europe      
Segment Reporting Information [Line Items]      
Total expenditures for additions to long-lived assets 3,563 4,137 7,378
Japan      
Segment Reporting Information [Line Items]      
Total expenditures for additions to long-lived assets $ 0 $ 11 $ 133
XML 97 R82.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Reporting - Depreciation And Amortization (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Segment Reporting Information [Line Items]      
Total depreciation and amortization $ 37,528 $ 39,425 $ 40,488
United States      
Segment Reporting Information [Line Items]      
Total depreciation and amortization 30,667 31,666 31,642
Europe      
Segment Reporting Information [Line Items]      
Total depreciation and amortization 6,861 6,770 7,101
Japan      
Segment Reporting Information [Line Items]      
Total depreciation and amortization $ 0 $ 989 $ 1,745
EXCEL 99 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $IN4%@'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 " !*;E!8=Y"_T.X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.NU@0E&7"X@32$A, G&+'&^+:-HH,6KW]K1AZX3@ 3C&_O/Y ML^0&@\(^TG/L T5VE*Y&WW9)8=B( W-0 D/Y$TJIT0W-7=]](:G9]Q#,/AA M]@2UE&OPQ,8:-C #B[ 0A6XL*HQDN(\GO,4%'SYCFV$6@5KRU'&"JJQ Z'EB M.(YM Q? #&.*/GT7R"[$7/T3FSL@3LDQN24U#$,YK')NVJ&"MZ?'E[QNX;K$ MID.:?B6G^!AH(\Z37U=W]]L'H6M97Q>R+JKUMKI5-U))^3Z[_O"["/O>NIW[ MQ\9G0=W K[O07U!+ P04 " !*;E!8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M $IN4%@CG4X'/0@ "PQ 8 >&PO=V]R:W-H965T&UL MM9MK;^JX%H;_BL5LC6:D#>0"M.QID2B7&69Z0="]1SU'YX-)#%A-8L9Q2OOO MSW("A/0XAAR9+X6$K)?XP7;6:Z_>;!E_C=>$"/0>!E%\6UL+L?G6;,;>FH0X M;K -B>"3)>,A%G#(5\UXPPGVTZ P:#J6U6F&F$:UWDUZ;LI[-RP1 8W(E*,X M"4/,/^Y(P+:W-;NV/S&CJ[60)YJ]FPU>D3D1WS=3#D?-@XI/0Q+%E$6(D^5M MK6]_&[K7,B"]X@L:\LD2)X&8L>T?9->@MM3S M6!"G?]$VN[;5J2$OB04+=\%P!R&-LE?\O@-Q%'!ME00XNP#G4X#=*@EP=P'N MN0&M74 K)9,U)>4PQ +W;CC;(BZO!C7Y)H691D/S:21_][G@\"F%.-$;L#?" M41U]GP_1+U]^15\0C= =#0+X4>*;IH"OD!#C?H[&_PSM$J#HG70*[]%3F6XRIN:* /'Y-% UG=-+RE"!_JP_], M(OAV2_7MA=:X!]QNJN=J%9DBL .WJ .U*V]1!PKED-J:Q!YWK MA6"N!:=7J]=MI^[:*F+:P*K$#(D5B%T?B%V?.5]Q#%E2FN24CTF]UA('L7)0 M:L.JTC(D5J#5/=#J:ELXB@05']"] H(>DW!!N(J27L.R[+K;;KEM%2EM:%52 MAL0*I&PKS]BL6Z]CGDH*V,PTC$_>%1"5 ;5!F@ M(;4B0"<'Z)P#\!F_HXD/DQM=4B^EJ!FT)R1;=MWNNMV. MGOO;V@1Y3Z_O^Z .8V[W!MW#=>@I4O -/'FF ::JZ($^NC*Z2_@$ M.S<*MC[#_XSN,/_!\^"-1IZZ'^HU2^8^HZ;!E%H16VX;;'VV_QG;E,4"4N%_ MT4WY T.OV&Z[[:Z2FU'?8$JMR"UW#O8)ZY!2XP278](+7'64WDH?51G2);R" MG9L%6Y_AWS-IJZ9KF,AUCU*]2.NJ6W<[UY:2EE&K8$JM2"LW"[8^TW^F F9K MMD2V\\OB5S0G7L*AERF1Z94&+ PA>YD+YKW"D 97^P,'"4%?K ;8";E$@.9K MS-7/4Z.>PI1:<9$U-Q6.W@N 2_5IM$+SCW#! A7)$P+3V?V=8!)) C/ME[E4B[>8U12TRN643-J 4RI%:GE%L YRP*DPQ$-P#6M M&%=F'2=T[C&'1T??\P@(@8R?22KY&;4"IM2*_'(KX.@S^1V_>8B# -TE,7P< MJT>H7J=T/5P?5YG6)3R!DWL"1Y_.[VB-0L)7KVR#5%]6&5H METC_W3S]=_79^V&W:DPC''D4S&BZ+)2>&W&>KH[#HR$MUE$6+>CU2[N>/JYR M@<(E[(&;VP/WK/V%^1HR7MTX/2%3#LNH.S"E5H25NP/W+'7)M)5B!@])0*FLTA: M=24LL[5#F5KGJ'E.^\JQN^VK0QMW("[A =S< [CZC'T_>\5'6WN05"WD)NF2 M0$*K7M,^I?HT^/XP>GR>H\GCX&DV?9KUGT=#=/>"9J/Q:#9Z'(S05)H-%L5R M,4JLR=&F[,\_73OVU6^Q+$*D$4U3[ UG[Q\H/DRLG 0X]2J"(0IW+VO4$,[J M=T)"TH] .):__9H%/IA !&\1_=1*OF\E? )24\P%FDPFV4W1N%@2A.2CD/$0 MR9(HM%V35-"7&WG$;Z!YXJW_YT:W%":T!4%+2%-].((T1+;V>V/>V*^^4>B= MT#'SE1'9?VFNOL M]GEVWRDM$BNWJ?4_9>5Q?0ESYN;FS#W+G V / XSZ(,K4[N$.7-S<^:>6==U7*,TAI-*AW%"K*R@2Q]6F=@E[)B;VS%7 M;Z,^$]L5Q)4ST\N-7Y3$C%HR4VI%8KDE<_4.J@^X_ Q9B9DX(5">VAFU8*;4 M,DS-H_)R:4;3,OT8>;)<)JLT/YP]_"M /RV ;^:79_]'\("EEXU10)80:C6N M8,[@66E^=B#8)BU67S A6)B^71,,3SYY 7R^9$SL#^07'/Y!HO=?4$L#!!0 M ( $IN4%A#4G_Q.@( +X% 8 >&PO=V]R:W-H965T&ULC91M;YLP$,>_BL6DOJH"@23;4D!*FE:+E$Q1JVV:IKUPX )6_&.4J\4JMJ[GOJZP$AM5(5,#-SD%( MAK4Q9>&K2@+.71"C?A@$,Y]APKTT=FL[F<:BUI1PV$FD:L:P?%\"%4WBC;WC MPA,I2FT7_#2N< '/H+]5.VDLOU?)"0.NB.!(PB'Q%N/Y[R66/%=P+ M^H/DNDR\3Q[*X8!KJI]$\P6Z?*96+Q-4N2]J6M_PLX>R6FG!NF!#P AO1_S6 MW<-I0'0A(.P"0L?='N0H5UCC-):B0=)Z&S4[<:FZ: -'N'V49RW-+C%Q.EW4 M.=%HS=OG-?<4^]K(VDT_ZR26K41X06(>0_R_@&YX>*CQ"+<-! MQ15D(Q2-;U$8A-& 7M0G&3F]Z-HDT:_%7FEI?HG?Y_)MU2;GU6R9S%6%,T@\ M4P<*Y"MXZTIIE=1?,4, MSB$,1S](KC2ZP:RZ0S]%S0NTV>P&J&8]U>PJJHW(+OZKPPI;PCG@2E"B;I$S ME-#X')I_4E,,9.$ZAT*924>WY=6O]LUIT=;D/_>VLVVQ+ A7B,+!A :CC^;V M9-LM6D.+RE7H7FA3[VY:F@8+TCJ8_8,0^FC8 _J6G?X%4$L#!!0 ( $IN M4%B*EIRQS@8 /D= 8 >&PO=V]R:W-H965T&ULM5EM M;]LV$/XKA!?L!7!CD91$J4T,M"FZ%=C0H&FWSXQ%QT(DT2.I)-VOWU%V+%ND M: =H/[21Y"/UW/%XSW/4Q:-4]WHEA$%/==7HR\G*F/7KV4PO5J+F^ERN10._ M+*6JN8%;=3?3:R5XT0VJJQF)HG16\[*9S"^Z9]=J?B%;4Y6-N%9(MW7-U;=W MHI*/EQ,\>7[PN;Q;&?M@-K]8\SMQ(\S7];6"N]ENEJ*L1:-+V2 EEI>3M_CU M%65V0&?Q=RD>]=XULJ[<2GEO;SX6EY/((A*56!@[!8<_#^)*5)6="7#\NYUT MLGNG';A__3S[A\YY<.:6:W$EJW_*PJPN)]D$%6+)V\I\EH]_B*U#B9UO(2O= M_8\>M[;1!"U:;62]'0P(ZK+9_.5/VT#L#<#QR "R'4!.'4"W VCGZ 99Y]9[ M;OC\0LE'I*PUS&8ONMATH\&;LK'+>&,4_%K".#._DHV655EP(PKTCE>\60AT M8Z?3Z!7Z>O,>_7KV&SI#98.^K&2K>5/HBYF!-]OQL\7V+>\V;R$C;WDO%N>( MXBDB$:&>X5>G#R>'PV?@[\YILG.:=//1,:=;I41C$-<:_/2YLQD?^\?;K?5: MK_E"7$Y@[VBA'L1D_O-/.(W>^)S[3I,=N$IWKM+0[/,KKE<(%@TM[(7XMRT? M> 6^>[W>3,6ZJ>S^?YAGE.71Q>QAWQW7*DF3)-M9'>",=SCC(,Z;E53FE1&J MANQ6]\+PVTH@+1:M*DTIO' W,Z9[0' >83J ZUH1FJ0C<),=W"0(]^UB(5N( M(E2RA8"0 M@I:J#JRB7B%=3&;A]!E46%;&_-LJV@8&V'@,D9F<9YWJW+&9ZR M*(54M,\AT45]*]1F^9\W3&?G_8E, 8!>BZX65M]\04H<]QG)XFP0)(]52DCB M#U*Z"U(:#-+'Y@$R32HOKM1=/)HF;(#+9Y6PD<5C.UPLB.M:B34O"R2>@ RU MT%U\I5D)!17W6&5@#J(.L6QD'^$]DL9!O+]+63R65>4% MA]V7,IKG> CNJ-TAN)Y,<9# YI^ZG5,VAC=WI:W:FV4?CR;Q1"G)AGO(8T9A M%T4C<'M"Q&%&_%,V=R\DFNV,^U"R".=#P*X52>,]LT/ /3/B,#5^@E3EIFSN M4"5 L 9V%7:Y+DZ=?>^QHED$Q0.,]2FC ; N03#&,B:H?;Q MV&41P:,%M*&$Y&0 TV=& M6$Q'8/9T1L)T]@QS+WMZ#>;%ZW(7)#%S\'HHCM!LI+21O78QS'#/V2X'E?A( M]A.7P7"2#46#URH=8672TQPYTOAM,2\/RO(QQ!X*RX?)ZS&RM7E$W9*>YTB8 MYPZUXS&D'JK+TVPH>CQF#-9@++H]V9$PV?4BXJ4YX1(;C:(A17NLH!L;D9&D M9S\29K\>];R&6 O*BL-W/4;B>[BMCL5,L M7#.24C(B,4A/C23,]4:!!;GRIV/A>LQTZW5,D M#5/DM7K.>&WDXGZ*SJ+S*,*@/11ZX%4KIHBW9B55^1_8X&@:1=T_I&VT]!M4 M:FTIMJ/5UFAHS@I;I)X-?MR!$W5)V#E!#)DKKD(1/[;$9HF.X=&(>%P]NB**UNA,)@3\E> ME0U:\'4)A<(+TQ4#<9IF3C?OLV.4Q6/KWJL&&E8-GZ&#AT<%$EPUL&3^@VW/ M(3#(\GQ8P[QV&:$CPISV>H$>/2]NZ[;JOK)L3QI!HD-9LQ_$'H"!I?8#=X7 M*Y*YA]P^.QK3,\E PY)APQ#ZU!+LBH TA\9B*!:\=BR-1_I2VBL&>DKC M/.PK3H;/G$\;WK;:8^=MJV=[W^7L1]&_N+HK&PVJ:PD#HW,&JZ8VWQDW-T:N MNT]UM](867>7*\$!MC6 WY=2FN<;^_5O][5W_C]02P,$% @ 2FY06)?< M2,DO P [ H !@ !X;"]W;W)K,YZKJ9-J75RZKHI3R*BZ$ 7D^&0I9$8U3N7* M584$FEBGC+N!YX5N1EGN1!.[-I?11*PU9SG,)5'K+*/RUS5PL9TZOO.T<,M6 MJ38+;C0IZ H6H.^*N<296ZLD+(-<,9$3"#"33\G4\0P1<(BUD:#XLX$9<&Z4D.-G)>K4>QK'YOA)_8,-'H.YIPIF@G]C MB4ZGSL@A"2SIFNM;L?T(54 #HQ<+KNPWV9:VX=@A\5IID57.2)"QO/RECU4B M&@Y^_Q6'H'((#G7H50X]&VA)9L.ZH9I&$RFV1!IK5#,#FQOKC=&PW/R-"RWQ M*4,_'G)&3@C+ MR9=4K!7-$S5Q-9(8/3>N=KTN=PU>V?4&X@O2\\])X 6]#O?9X>Y!V]W%^.LD M!'42 JO7>T5OH3%\K$U-Q))\8#DF@5%.YD(Q6VO?K^Z5EEAQ/[I"+;7[W=KF M&%ZJ@L8P=?"<*9 ;<**W;_S0>]\5^'\2:Z6A5Z>AMTL]NN)XJ&T!X/5 8@D) MTX0+I M>$"LA. IB1_.24$EV5"^!G**Y9D(SJE4I "\M5*LY+,N^G*+40/,N_ \_QG^ M/JL6_Z#F'QS'3]1XKO,J7QVF+Y:A_N<"_N+HL6[JC&'>W$G8DLPQOG M'RIZ=%!%[[-JP8]K^/$1\(>7\_AEE0ZZZ_D0RQ:Z[_U]$7I'P!]6SY5DDR<8 M# -_/!@^ ^^R#$>C43\8O +>>(/[1X ?4=Z5[B'T'9;=]&ZC%3%]X&U.[H7&7L<.4VQ'01H#?+X40C]-3,-3-[C1'U!+ M P04 " !*;E!8VD(YGU<& !0' & 'AL+W=OBJW@M&L-BJ+*?&\:%K2O)K,KNI[MV)VQ7>JR"MV M*Y#LDCFO MD&"KZ\E;?+D@B3&H$7_G[$%V?B-#Y9[SK^;B?78]\X;>5TM>,G2.OMPMT-FKU^@5RBOT M><-WDE:9O)HJ/1KC<[ILGGQS>#(9>3(FZ .OU$:B7ZN,97T'4TWCR(4\<;DA M3H\+MKQ /GZ#B$=\8$#SYYL3P'SQ?'/L8.,?,^/7_OP1?_UD?-PR04VER$LH MU =7 >S*](Y+N:5+=CW1&95,[-ED]O-/./)^@<)T2F>+$SGKA3 XAC!P>9]] M8GM6[1@4L(-A7!N:WKB?A9Z?Q/'5=-\-A0T+DL1/DSYL <*\#JPW_/ X_- Y M_#F7RN1>C-,X.(@Z#R8)3I)@0 . Q23U_0$- !:%@1?#-*(CCY@CA$]E,)3M/!X.8 #(=!% XX0-Y(E&*80WSD$#N+L2F_:HW8HUYR)0,; M7GS**CREL\6)G/5BEQQCESCS_X&*KZR.G5XHD*0%'+S$2EP21\F@TN8 BL0A M&4P""(7C$)X#Z9%'^H-N(AD5RTU-(],U6?"MZ<\0F=0:0.!A?S!7YS;*3P@9 MD@%\!208F=#8:Q=^SUV6K-)SNJC9T$Q+BUPJ,\?W8*-IG'5'$86QE1X(%H?! MH!\M %@8=OM1GU-'S& W)\ZSA[PH4%YN:2[&LM-XZ3[>&Q*Q(1@GGC?L_$Y7 M?1:D94'8:?U_T"VMT/U.:HB$11:!^N*0C0V*4FNB :@Q+JV(P'Y 17JW>P&[!\5%MF$!G M38Y>:X%O>+Y!%8/+R-8+Y\#V"T]^HFZ9_H]F36L MD**/(],0D!!Q.EQCY@!,)\N2D L I]>"CD3K^F_U MK5(A;J5R0V6^1&=YA3)>%%3(-I3@%&GLS"CEV@G-3/%D9[]6\W2 MK!\OJ@7BU$EN(FX]U=9"'3ZX1Q);^) ()U$X?..?0\@X M\+3D&(HI$!GA."(CVP.DE5/$+:>ZM>!B!8BHB!@]-WP+@9 CK""DCI.7CHA$ MTHHI$KJW#&HQ!6ZBGOUIBJ#654;DZT4;Y.L4:R^N@E-Z6YS*6S^VK:XC;EWW M3NNX?%VAY4X(5BV_(_WF6LF"'HX2LG]W4M4[IV!8(WOKSQ]N(\T!U#G6<]V: M0!#.[^+Z%%MY1]SRSNB'7248+?+_=&VL:5[)0_?4Y8$TS;S:LX:FV8F73 4/*$ R/U4NK_HA;_?4KY8+;^D#GGBO%R_KGAM&,"0/0_Z\X M5T\7Y@''0\39_U!+ P04 " !*;E!8N80W3DX) "T30 & 'AL+W=O MQ.@7$MD=2MFP28VB*F MP%Z*9"X?%OM!D9A86UGR2'+2[J]?2E8M\V+:2L].4*#QA7P/Q9<\)A_1OGJN MZD_-FO,6?=X497,]6[?M]MUBT:1KODF:M]66E^*=AZK>)*UX6C\NFFW-DZRO MM"D6V''\Q2;)R]G-5?_:Q_KFJMJU15[RCS5J=IM-4G]YSXOJ^7KFSKZ^<)L_ MKMONA<7-U39YY'>\_67[L1;/%@>5+-_PLLFK$M7\X7KVH_N.4=I5Z$O\FO/G MYN@QZB[EOJH^=4\^9-RCHS ME.Z:MMH,E44+-GFY_YM\'CKBJ()+3E3 0P5\:04R5"!*!1R]';UM44'YV4WLN[: M6KR;BWKMS;(JFZK(LZ3E&;IKQ1\Q;-H&50_H;IW4?%T5&:^;OZ#X]UW>?D%S M],O="GW_W1OT'\\>\[)HH)F&1E"E'WPOOFL[?Y@U*6K3BZ5M$W!\0=K!CLM*JWV6_ M=\TV2?GU3#2^X?43G]W\^4^N[_S59/!>S._%NLSW=(/](/"#R+]:/!U["1DU MAA1C0&*2F^3@)K&[.7@H?+L_&"OFZY;7>95=9.<^0'#D@$\I\93^7^K%<*!8 M9"@24O%/+A;KQ8B/(\>5BS&]V)S0[A*>#/U%#_U%^VKD1']]*%/QF=N(02_Z MI7_TIDM=?091T]N_;JNB0.(SZSFILW^;NHY"S@1(L16D6 PIQH#$)/>]@_N> M=;8,GQ?[9(?RIMF)7"M>X)]YG>9B5(B94VV[SX0&B0\R5'5I^ =4BD6=>&>H M]IRWZS4O,B26V)B*O-[T2[YS\]0:9NH\#30/0I]$D:?,4\B8,:08 Q*3+ T/EH8PEIIL M# VCWP^<2)EQH;;24-8BJQ-"ZLK&>BE3>QU(3.KUZ-#KD;77^_70O-NE9R@5 MNQ"Q!>FSFDB/W6-NZNQ([Z/(44?YTAIW:G:[*&0,&9(!B4FNN,ZX07>LOMSR M[:Y.U\*7?E=^O/\]E]+LRE-SVJ!VW/5SXKE>B)69 QHV!E5C4&JRF4>TQ7VI MF48#7;W+,<&!FLWL4:=.,5-4$E!'F6.F8F[D$:5Q#*IQ/[,.UPX]_B.5; M7HJ,)C: 1=67>L0&1R'H-46X&JQ:!J#$I-]GKD+JYU8W_#JIKGCR5*=W7-R_0+:NND;(K] MJB+)_K-KVAXV&RVGAN0B,E^HSDA0A *J%H.JL?,](MLT A+73DBZ!+DK:YX4 M^7_%VN\QR3NHT4W&C@X+J_+RB0]6=>"LX<)0L?[F9N-T1#%W7>T#"Q(JK$#5 M8E U=JX_9--&E.&>91F3,J@!"D11H*[4[4$GVP*I%H.J,2@UV;X16KAV:A&7 MV86W8URCG:"PPM5I!0ZH[T54Y16@<6-0-0:E)CLZ,@O7#BV.[LKPCAV>NA]C M]E.'#2$.:434^:EC"QRJ'NE:U \][9:,H1SI6#)5%XQZN;GKAVYP(H6-O,&- M_L#[,B[DEG\)JK8"58M!U1B4FGQC>J0;V$XW7OWVC+U]DV]MZXQ$[-9]AZAW MMD$1":@:@U*31\2(2+ =D;S*71JLLPR,?775:F_YU*QP44SG/40\S,/N5OK0G1SR"S^.1L_MK;-KE.T1(6-(?+ $55N!JL6@:@Q*3?9Z!"78#DJ^A2%CG6N(G:O.D.U-F&PF M*",!56/G>T2V::0?V$X_8!DR-B$'[#NJ;Y!G+U:@:C&H&CO;(;)M(X+!]C,? M$RGRH"9_^F/7<31G0/$)J%H,JL:@U.23X",^(79\XJEN@:HQ*#79K1%M$#O:N)01F[URMB+4ENJ'>8$149@0/ ?R(@)Z-=80-56H&HQJ!J#4I,'P='W M7>Q@XM49L;U]D\>-CC>P[U-/I1N@46-0-0:E)H^(D6X0.]UX%49,=%Z!2:02 M$GO+)V>%2V+&H#$9E)KL[W%P.Y:R0V*2%/4RI.GM,Q")RO%!=@?X_3G^0D7^0\_SC[/:9&+Y2$F"L M;I[MH29G*5"L<=DE,*B@LALCUB#VDR4O L0$] )J-H*5"T&56-0:O)WNT<" M0NT$Y%L ,=6AAD=\%7W8&S#Y6]J@> 14C9WK#]FB$7M0._: A<-49PU1H'ZA MUMZBR9Y!JL6@:NQ,=\B6C=R%V@]J3 3#@YK$G(BGW?RT!YWL"B@Q 55C4&JR M?2,QH79B=H\N[3DRM[BR6Z!T@PH-=FMH]\GL=.,2[&P MV2O]1(8?>5C[$JZA'%9_-L)0AOI^&*J+QY;7Z926:3=ZJC\WC3&X;GB]- MH4TU(T$0S39Y64_FU^:[NV9^+79M5=;\KD%RM]GDS>M77HGGFPF>O'WQO7Q< MM_J+V?QZFS_R>][^OKUKU*?9(30#\1KWC1ZA"Y^O?$%[RJ="3U''_L@TX.]]0%CZ_?HG\S MYI69AUSRA:C^72[;]&TQ0L9.M MV.P+JR?8E'7W/W_95\11 1R-%"#[ L0NP$8*T'T!>FX!MB_ 3,UT5DP]9'F; MSZ\;\8P:K5;1](6I3%-:V2]KW>[W;:-^+56Y=KX0M115N+^7UK%7/H"/-BOW]OG;W M(R/WPP3](NIV+='/]9(OAP%FZN$/#LB;@Z_$&S'CQ6=$\2=$ D*!!UJ<7YP MQ;/SBV./&WIH#VKBT9%XOVUYD[=E_=B-B+(M.5C+710&1]')XDIN\X+?3%0V MD+QYXI/YG_^$H^ O4 U=,EAVH6"#VF.'VF.^Z/-?5:(LZT)L./I0"2D_0E77 MA8A-")T6G^8X)B2XGCT=UXFKFN* LH@,=9FKHY3&O6K@(SSX"+V]X,OR/VKH M=R.Q%2J_%J(NRHJCVC:H?]9?%GJP;AOQ5*I1A1Y>D0 ZTA54'>$E>](E@V47 M"C9H@>C0 I&W)V51@*CG13"O>-,I1F[_ B3)Q;CN-HS"R+ "JE*66TJ]+5(-L2KKO"XXJKAJ)"0>JO+1M!#H*W6K,PBM.E^X M(BO-93[%P! .>J((O)86Z[Q^Y%*#PBHO&_245SNN@4(E,9V05%;3EU)EJF9T M..WOX7GTQ6E)!DBFF)*0CG@\HB;L]?@/E7MUDY6;K;*H$[4V^"C$\KFL*M 0 M/FW(E6"V@=J>;0RC"NFB\+-7/N&M,E_YYO\QH][*0J*6&< MI:?;S960A-F@X TT--CC#O;SSE_5PDZWVK*46R'S2EM2$*"F_O;5S%K\CUVY MU14 6F/NZ&"I/65!*DPPMNVYLC%[/05A[Q0__ZU=\P9\\A"8F)C]X*Z(VI,2 MH#ENN>%S]^R (R^^'67 (PR3DJM^J%NE*O.'LC)(]LG0FVJVO%!-)4N3[T%. MPUY@>2^H731:=JEHP_KNR0;[T>9+48A=-\@+7C[E#Q5(,]A%$!*3V.XV *A$ MU!G-KFI* HS'^DX/--A/-+?UDQJNHAE9]V&708YONK< X S%3L8%5$0E[Q$' M/=%@/]+<-5REW>4;5W9=7HP.99= & FH[I.G"3DRB(&^R$]SQ _S]QV MZZU1PB0N9."$V X U91$C@-(%L=C'GI>(7Y>.8R0;?XZ-CR(BQ53G%![/@!D M6"UU;!^NBD7AF(\>4X@?4Y2/9L<'&=3?O8B+%5/,0FR;1M]; M= G%7KBR"@\ QZ,H< M@S[)T%I/0.0$ 1U;V^3-#][J21=)KI;5X[GOY&[- I!,693$-IU".ASA<&0X MTIZ%J)^%1H;CV1[IZ6T=0()3>U6: :J(I6.]DO:@1/V@-#2XR=N]F?>Y=.&' MT"2R=^< &4YI9/=02):08(2E:,]2U,]2!^PPB4:M59_E_;-[*>>X>>R+],N^S;M__$ZC?;<1OT;3,/A4$JY M,SO49C-WLQ$UDOJM0O>KGHG;5[2MHAB_LTICU&NYPFO17F[G?;;66.O:FYPKA<52K&LI3[%X6@M8MN5%TT6G:I:,/Z["&*^2'* M]!CS!D 34[D_X !6(O :SSW$ *J<@>Z*R%@2[R&)^2%IZ&3T!< ^RN!$69C8 MZYP%)$NQL]P#9''H;#+/CHY\;GCS:([.2F1V^;NSDX=O#\=SOYA#J=;W7_%5 MUAVR[<-T9WY_R1N5R*0"I94*&7R.514WW3':[D,KMN9@Z8-H6[$QEVN>+WFC M!>KWE1#MVP=]@\-AYOG_ %!+ P04 " !*;E!8@IRO/D<% #\"P & M 'AL+W=O](+TL1 MXK1-MTYJ-$WW8;$/M#26N*%(E:3LIE^_9RCYHC0-NB^V2,X0CET6#@DYP*Z?NV)(.5I76%#!BZ;.!+1S*-3H4>C(?#EX-" M*M.9',>YN9LD+PY&73$>C@\> MP3O81GD0\0Y^@??)9=*H'Y(3H2NFUGBK52KKO#"IF#OR9$(] 2W>*2--HJ06 MUY@D)&'PXN_3A0\.:?3/0Q+5! X?)L"E=>1+F=!)I^2]W(HZDZ=/1B^';QX) M[W ;WN%CZ+]YB/\70^RK%F5:;%;FS@8K9G+AN^*#P5GQJH)&OEIXE2KI%'GQ M;-\LY 3ABU*:NZY84U=4F+1.V,H]%\H+*5*5J0#)"VFJ)60&'<=\2NG0=\27 M'8"H@M+J![90YM^FO NK4V6RKDA@4P6XFJH@IQ(@)LA.A])Z-KV:/@=^DBL3 M;0_.1>F4"1C$$.H^6!#36,H%>T=P1+''JJG+FIA 8XRAUY/DVE3_V%M@'FF5 M!&%(.GTGI-8LBW([8>T*Q%DJD")G*+3C#M)EA+UXO])9!O-,CCT*I36X^BA9 MO8;VM$+;+7EO#H],AFUXM,XM#H#@Z(AZVS8;M:KEZTF%6@:"5YD1SZ#4]/3\ MN?!V&=82&F#79FU+1";.^OHD$0;0G3193"DR:0\]_Q;D1*R"JB6SXB>)+TBJ7C:)9+E2BX8^R11LF]@[&FE^(&,VDW MFL-9+T#'=,;'WN4P,K1Z05NK-[*:N11"[E])K 4Y(-<:(7T207+ M';.&LS-&>F-4P$)L)?5!O*T?C+B4=V+\ M*C;'<:NPD&P+*UW*D:7*H3(LGWP)-5? DZ+4TL2$9:=$6]^4?!MCE^HL"+Y0 M;)!KPR%&((VQE4D8U<1D-9M"28BE^UD%1QF&;>U2Y=&)F1MG=(W>]L1-0,4" M1<$W 3L[6V5Y!)3)MTIYM>G9%V@][ '#44L53J85SMVWRQ3^"9=TZW.>*HU:E7LNY+.J8[ M S$597JYY2IL[='_N;NB/>9X<'VKL#LY5HN3 &ABKE$M77&I#-J'#;(E[],G MK\>C5V_N=644[Y&XDLCIF6W:VWS6N[G&5MQRX@RDF,VF]Q(W"GS9DB.R:UNA M43Q@^#/:+D@Q"^D6Y2.L4Q3:?':/ST7=WR')S@W5K?1';6_]H75X0,W3]K1^T>W,ZW?Q)7J^0C%H6L)UV'_UHB-<_=:L!\&6 M\7VWL &9'3\Y6\BQ =:7UH;-@#?8/O@G_P%02P,$% @ 2FY06/"K4%QN M%@ K$4 !@ !X;"]W;W)K( MGF F!M2WG7CB V@[\4Z #>Q)Q[L?%ONA1):DBBF64D6V6OGKYUUU4:1L8P?8 M#XDEJHY7K][Q>P?[Y=ZZ3WZC=5\];MO.OSK;]/WNA\M+7V_T5OD+N],=_+*R M;JMZ^.K6EW[GM&IHTK:]O+FZ^NYRJTQW]OHE/?O@7K^T0]^:3G]PE1^V6^4. M;W1K]Z_.KL_"@U_->M/C@\O7+W=JK>]U_W'WP<&WR[A*8[:Z\\9VE=.K5V=W MUS^\>8KC:<*3[*T]A-^^;EY=7:%!.E6USVNH."?!_U6MRTN!&3\ M(6N>Q2UQ8OXYK/Z.S@YG62JOW]KVOTW3;UZ=/3^K&KU20]O_:O?_T'*>9[A> M;5M/_Z_V//;I[5E5#[ZW6YD,%&Q-Q_^J1^%#-N'YUKZZJZN M[=#UIEM7'VQK:J/]R\L>]L-9E[6L_8;7OIE9^_JF^L5V_<97/W6-;LH%+H'0 M2.U-H/;-S[^GT>JA!/_B=JO6K,U 1K]V#/GO]U[]Y]!?/;H=%5 M#Z,5[T!KX?>W=KM3W:%275,9>+S?V+8]G-M]!ZOY8>E-8Y0#.A:5\E5K/.ZR M-_W&=-5?__+\YN;JQ7NW5IWYDRG"=9:#A^-Z3[]?OZC4TC[HB^JN;8&47KLZ M[!EHP4D@ YU79#M\M5$/NEIJW56Z-:"&=#;8L3C]!1'O] 9M%HS_MK7>/\'3 MVBT?S'9:CEJ?&!G8TX%-ED<\8%&!%08[ _L.SNFN/C"5K1RU^1T,!K,83X#S MAPY,=6O^!'+78*+Y!UP,;Z^#Y1]TF +'\1H6-CUP]_19C*\:XVMXQFP(%TEL M1&%YF\O ?;IY.'FY[L^\(%)U8L[]1L$4VS;:T25>?_^B^NF/P?2'BUQ$X2@& M##4<#>40=MDIQZR!-68D$:\0?1NL16(4A #7VR5)7^M..P62B+_K79_._;$S MD6 B]FZK'6A/]>W'B_N+ZC_N[CX\ ?<%U()% -/=@:_#S:O>PK=/.J,:N: \ M^,<=2UV_47VE5BOP8+05',@ZW$QMH\[ >"WWW1JU-"U='WUWNB5>RE4-N+_B ME9#)0>,F&4,:,+.ETP^Z&V03_0CX *6I MG-W"-)"EQ H0/^4WM$&-'Y!]#ZHETN9_"8I3AQ$6J'&YD"]D M#-(&]NZ3[M6RU9G<+U@(@ AYP%QR6E=;]F7652 01YS<#:[> #RX(-D+5@QA M44]ZA[:,Z *Q6:KN$T"'G?6FCT8'=MZ8>K.@A0'WP(.M.@!_:XUV5#-LBL+[<# JK.]G0I8".[&B\.GB>%]T,=11PF_S+%@YFGH()P@EZOK2-[ M GNI!V5:''<.*G3NX1I8AAW*0&U=@\/Z:J6,J^"2!HT[1@5H--C>+5IF-B"[ MG;.@.E M:D'RX9 $?_$FF9W'NT_*"B[%AKA'J>AL=QZ^HH'4H!@-?AG [A.Q,O4@)LP' M,3O(WO=IZ:^4PF,V'%_6D;HH)-+7SBQQ@/C$X +A_C2,7(8K;0&^$[/@IJO& M#LM^-;3)8T[.<[G]8$)!%ZVIHSV10W2?6Q\(.W5MBP(ZI,M'I5,S)P*3 )\- M+/(E!!#T;U"#%/KNI>FB;/B=KE%8!*Z#P:F-JX[UN5VM9 T 0AS+(#ORXQA/0,2 B0 :=\H# M5P9X#/*@#J1JP3 0A.&9"3;AMFRH*[5V:&U(8N47N;$9T8 K1C)[C:P ;[0" ME49>9M16>@4L[0L0];A1 R*WB^I7L!,/:*Q8QIUJ=+:!1R_^8.S@P?(5&^4F M9K_)3G4!F +\$S$Q?2+^^![7 P_C3$L<=FJ/2@;;JS88X"/KA4P V8!S$6X# MY@9PQ="*&$'6K4*#^2>;^T#$+, _=B"P6V(:$0" M%K'-@/@%?#U+%I#S ,+CDQ)X1"<@3 .J&5I0'FS0GH&LPVSX'H[:U9!=.Y,SWC9A31'3@P\L<8+G1D M)9 \\%WC/6DRH-4ULPB/I5CA%>$3] ^PY(\:Y!HP%_Z48Q)@( "G/Z-MF6, M T7-RLB2.H"S<8%PGHAP!^U^6P^,!'/Y= H3%N<8"(I\5GB/]&O 84UBS(.. M(9H!(P;R@H N0Y\0B*Q1GA'-W>+9;_]>';1RA#*Z806A%"/$=,7L)9D16K:G MJ=?/>.H"==V@31X MUBTD[!6Z294HH/XL1==7Y=7=\?;H.R@^= ]X'3@5'^73,69J&J?;\(^"7^W _J!UY3(;VSK#M0:(CEPN^RLFM(HPER"4%$#0BT01]$5N+F M15P6.?F>(HML+\,@%N&Z]]%38("&FU#T!X(+9P"T%^\^!%4(-]<=FXR@4F'. M462' 2*'GRIF-G),4A*%)KVF"V*+'1CR-Y^%:0,H5^'_(C0'*3IPG .NP\'3 M+%PT'2>%"56'2( NJ*@T6R44GQMMXO2:E3C%R(33' M%!.IQS$X[O?3@"ZE9 5*K!A8M,'%U6G*(ZW8G(.U%Q?4#1SS^Q0L.T17ZA ? MV,&!W/PQJ*1XLPLN=;]'_,,+TR"/, UD!&-JD)<:/ 1I>XDAP:6 =66/MJ?@ M&8TPWBOS6CEW$/\Q$ ]ZW(RV$$1<>N,"5%%$.F'HVR=6"?X40 MT^^@2;@_&DPF( D GJ.46S:5;"V*29D H;*E/-SO0[-F84HB2]A&$&X*_8^L MI+@X,-B!&#;9BZ,$7"22P/1HF9!A"SQ,B<5C M>9Y8E?W?A'Y.:37IK(A69%U)T(RD-!/4F/[8M/<;9X?U1@ G)XDQ;J($P$&0 M+,4S0**69. *0$7U[8]OWST!]JKVX#&3^*-L3>@A[5OP*Y 97#N[!QZZZ(62C^>OAIB%_'_<07",!G4@5!NIEX1> M^E[I[:ZUAY1OAM/)X4#TT81/W26:E9BQ.-9Y<*5+.*&&2VIMMSY'!B4LL6M5 M)WFTFB2<@QA.YP9C GS-^5#DK8O=)=9*JDOD&/\)#@3&F.( IO&(%\E@88Z% M%'I\3HS"V$@FNPBN'8:&[(7L,0#-#E.Q/5K@*(]!>'/R*9)B;Z0*=B^PB)SG ML=&<'V>QAZPJDK +)Z4D>^/)=^(B"5AX"-0(=F-U\R;;E&$9K=J/#5SN%E7U MS?7U\XLKB$O;%HU)II$AG! 0R/#HR *H/,0/&SM-M4Q2AI23(KL'IDU62NY> M!(>#TJPH0"?#C&@#&EGK[1*C)B[EWGP)1VY/_#ZFGQLQ@W_M03> M7@C@3U%!B(S>2XDA/A?\'FH1,=#L=;WI;&O7AT7*%-*UH$QLS,X7)8OQ>C$> M($$+HU*2&:4-[0Y9 MCI82B;+%9U-54UA5[/_NZU) !:X#!%W"9?UH?!\@,D? N3(@*%^EX!55A$C1#\3L#P#X5BI*S;AXHT9.T+" UR:U,AK9W^7-*F(/5B? MY-5F36),.@OKQ_R(<;B/^4Q)TM%Y,CJ)1E]X"Z\SN@BJ9+5E/@$R"%.U*4TX M<[: G&'^3U<+10!D&EY M.( @L=7B%;B.V>6YE5F>4I'!89[W'2QY_)S/M\7J#$L36H\:/0<@J EUB!<< M[YTH:4P: M8?L-;!-NAR'8W#R,J2@PY5++)%S M+@)C0H$"-&/J-TR?X.HQ,52:_))S\J#3IV52MYCGIR1:T2\4,_FF"_9T:T/6 M-F@R:=P6( ;V=,Q>5HIV;)?_0JI$QV6:<7T^-!9V+2K+Y-A,54X1QQ7?SQ!7 M*D_([26["-M2.# ]/2D%1UPM&QVN5;5X6J\!.7+G2SU*V:8.F"SJGYM:!A_\ M*"N+A*L%MOPG%2J*G6+-E5 &_SYCMY\_O5F$)1)>S0*[LE:<>YA072DZ:.A! M'L9#J(E9"JV])#81X M-H4V R^LI2L*5. $3AI:L\1^;'_?_Q8X(77V(@A4^-I;RCE'X%NV*'I\3SE/D"G]Y)&(6=AZ7U&;P. MQ>?:$15@PI?6.;M'T:%5BG-.UPNF3C(5H7^&2V))N(,AJ_^B@86HG[IS>$8L M3(1FKU"WV06[()D"JN]3GTBO8T&58'L=\;EUC";0P;?AAN(.Q]U9=JS%N((4 M.:ES>#'"KO I%\E 6FA9?=!@\]K0BU=$3J4)HHW&L\L)!VUDN?LU31LWABRCXN"HY(':9! MB23'%[("-G1XVM"2@-1*'EAGQ% -)A3-E+<=Z,PAWF/,JQ=P6C\"M#5>HE(K M_H,;J(XR&ZS3WOU>,K#FWS4C)__G@O$-/ W M&OBM/'YR47VDSH=^@S4=:;29*5+ 'G,-LVRI8JL>9_4T1?FA:L=)J:-FV7'4 MFU*_N)V(V&RC+H<&NE.4#L89G#XVU#>%G;^AH$IZ!8\9Y8R)1(6)664L(TO; ML'KD%C'B'6LR;H+]4*#]/!<;'+&21#7((LPRLZ<^]K2YP2[N5)PMR"T8:TY! M_,/NL65A ;RM%06]0%.K]CZS7+A=5O@/'54^9%R9-NE "JB.[!@':I^KSFAJ M(%_$=N9%[&5>'/7*+T:\1NW*Q2++=Q0,ER!,X_'RPCG]1LZ#KY7:-;+UIB0' M3>/H".'\HQ[M$[=V4;T)',_UD7H*?+(G7]%I'M)!DF*2C@48VK>80TZY^Q9S M&1D?3QQ8VK/R(ZZ$$V[D MME(!/&3/"_YC$QJ?,G3G3'%M.A&'G%F;!\))AG,^E)K5'%P',U4PH 031?MJ M*BZ,^E@I$XOI708VR+[C7<*+!N)R\2.8<+@P-@Q357(;;ISMQ$4PTK"]MQ@8 M.8R+I*^[3!N/"C&%I2@M#R83,!NU0Q9%_#IIBY8'"?L8+:H^;U+#@U*O?2Q. M9:@BZW,X<,I*5>,B]CF>6?)7Z$IGDI.$(]GL4B(F'"S;G/:#H,]# *P"ML60 M,@V9Z4PXWA5-(=@KU49S0+D[K@7':@^^ !292EH& MJS2AXX[K$R'%(LMF(5AB#')5WSNS'#CM1/B(92GYK-FC!<(R$9*" M6:P2&3\*9I.U(>7?D\N.!@;S6Y@=I%[3$WY$750.&15,IVX-U]SD2)6F)C?1+&GQ MHL#:,#Y95)N A#)NG9BJ0BL8O[G6.\N]&.-H^5A"Y4("="=)U0*5RW:,T1"* M6[EM/R:O TJ63 &+?R]H*\WL0J.4[ZYOKEX%I_DB-K/ ME7RK1:C#-_CANH0R6)?P,+WF%\VD#94@Y^P/\54Y>1FA?!V\Q_5-VQ)//.]&8NY Z/<--%[OH>]9'?./4QY P;5*V:H=W>ZAA5(J4 M\C)@[-A'A^[*]\FX.7[4;1SZ>ZOSZKBW=ZX?^<3%\QWMX]Y)/)]>75QGXGG[ M?"R>3Y]F3[Y(/#\CG>].O"A\6;S:G!O=,$CZ*@I([0. #.\@YR]CH_]C>WJN MZ:50L5)E*Y3 C10YB]=46)I>Z_&T% )+,QAV8I&/D;=*Q\FU".O($4R^&2W9 M.GXS.&]2+EYE1ZF=>.58RRO'T\QEAAZ_9CU*_4XEC#__AC2]*,5!M&HLO7]< MO*AL.SM$U2Z*#:8)B;1L>I6YV(D%I#Z-I:WP>A2U#""R'?U[NZ6/&ZU MSG _+ZRM@]?<(/X!UI>_PM02P,$% @ 2FY06+!%%+EM!@ W \ !D M !X;"]W;W)K&ULS5=K;^,V%OTKA#OH;@&-+?%;76EW.]AXWUR/1J[84"W=T#2D\69E;"T]'NUZY!I+L@Q" M=37*TW0ZJJ72@[N;L/?>WMV8UE=*TWLK7%O7TN[?4F5VMX-L<-CXH-8;SQNC MNYM&KNF)_ _->XNG4:^E5#5IIXP6EE:W@_OL^NV$SX<#/RK:N9.U8"1+8S[Q MPS?E[2!EAZBBPK,&B;\M/5!5L2*X\6NG<]";9,'3]4'[OP)V8%E*1P^F^DF5 M?G,[F ]$22O95OZ#V?V;.CQ7K*\PE0N_8A?/3F8#4;3.F[H3A@>UTO%?_M;Q M<"(P3U\0R#N!//@=#04OWTDO[VZLV0G+IZ&-%P%JD(9S2G-0GKS%6P4Y?_>! MMJ1;NAEY*..M4=$)OHV"^0N"62X>C?8;)[[6)97/%8S@1>]*?G#E;7Y1XSLJ MAF*<)2)/\_$%?>,>VCCH&U^&)E;6U.(!OEJD .CU&_$0B"4K_G._=&'_O^<8 MB/HGY_5SN5R[1A9T.T ].+);&MQ]^44V3=]<\'[2>S^YI/U28"X*GG?KP,7' M#8&*NI%ZCX(H3*N]$RAMU%<\H'38MZ74!46R[I\>Q#2=)N(LH>XYHTX,GQEI MK-FJDISXM965\OL$"U5\>NU;J_FE-W[?*+T64I?"Z-@Y6^&E7T-Y:?L<@ M5$%N*.Z=D/#5H>82X6&GEK\8"[W"K'H,E@JSUNIW*@,E;4D%4&NRY4 M,AL4!1RMR%.9X/#6P$R)O0X;#+),Z'W,AUE6:BU#.U'L"0#4RD76>BGAC+]O^RP%$_LQ*WBHVT:VS"LT.6 MN>?E>:PSE&B@".+2QQAI Y"PJZ.KK>MS]B".3.G"$&6E/>0S-)?AN&NH4"M5 M]!Z@!$KX$?/P5-F2*@4J0P% 3RBPBM8!/VE06I!<(BB6+]H06KG'>.!#_SHE MO2]I/E1RB"(KCD[QEJ#HH !LU20>,_&J-D .EV4F+?H 0N]6^ZY%G"_+HX]%"M!B4 M:T*#=ICK0K9U$3A)C8:QGK2[?[B8"+%V=:^4@: 1 Y6!+GYY J,PSH?6T%I[ M#&],Z6?,6<(UPSD-S5++:N] ?=>KCN)G6/W<&1;Y2SCCHAPR438;= A+:_:$91CXGB3&">+I\G,H2<31 M 3!-<;;R:SY+Q8A%6DV1R-1=?MQ;?2")+9TEZ-16+/)G-4K%(P[%O)5J$ M"/=B_D;,DSQ?B&R[Y&>N?E\+!93^(X@Y?\7]^>&^=')%Q?*>QV^*YT(^1T_OOK=_M/U/GZQ M'8_'[]Y'W-$*_;6B%433X>QJ$*^XPX,W3?A^6QJ/7A*6&WQ^D^4#>+\RQA\> MV$#_07_W!U!+ P04 " !*;E!8:XOOUET$ #\"@ &0 'AL+W=O6]W7PNET%L'0(.A;$(%/\>X!HX MMT#HQM\=9C"8M(J'ZQ[]DXL=8UE3#=>2_\Y*4RV#64!*V-"6FV]R]Q-T\4PL M7B&Y=K]DYV6S24"*5AM9=\KH0/'0\'"K/XA$+:*:3.;V_(>?F1&KI: M*+DCRDHCFEVX4)TV.L>$3/XM"UD#.?I9:OR>WH,BUK&ND M[*ZB"A:103M6.BHZS"N/F9[ 3%+R10I3:7(C2BB? T3HX.!EVGMYE;Z*^!&* M$,79\>#L^#7T_YBB5S&/>_SOAL@5U:P@ @59 M)\B=8(."VDDP3?"B:0V4KEQ*@LJF K)S!8)[^@ *ZYV(MEZCFMQ8!6O" 6B" MK4,;*DI,T(A\9-Q!_6\F0VL&VYN%6>\=S),6+4MFFPGEO::IJ,'&T_*25&B% MK '$(1R>E@ZDD0:$893S/2EM4-B,OO/"Z3*M6^NQ*+'GE6UQS(W!-MCL-%3L M$6EP04'3JJ)R$6R4K+UY)0N 4OL3:X2* BS82>>\E1&Y/7UYR*21Q;WECK7/SWV2Z(XJ=&BKJ+ Y:K%7/!>P2<7V3UW[;CCMD#K3UBXS M5M-(I(X\!>V1;%Q0-USNH?>G%W%@(X)MW4GM@2I-P/8J@IT&',U]MW&_J3., MBP39U0VX3PG?XUV>A?-Y&I)D/@UGZ=3))4D6QN,,UX:=#XSU9.P GRP\.IX. M$E107K3ECD^O#15I(CU_J"_($<^G;_G,(S9DM1MAIQ=6CCAL;TP&CJ MJ8II+5OT][UCW9/N"/_ZPMFW))F&:1KCXBR)LW"8OS"9Y>$D0XO328SYO-!K,]9,0]?2A:A6T ,.R;YP_L MY8//\G">3\B[-[,T23^0;!*.T<>^J_VXERF^Q/%\]KV7$WQI\_D1C@YX_9'T M>=+>DGB4YY;6;#2=.J)'F('>VQ/7QSYQT<%$4H/:NKG+UBRFV \GP^DPVEWZ MB>9)W,^%7ZC:,N24PP95X]$4)RGE9RV_,;)Q\\U:&IR6W++"\124%<#[C<0& MUFVL@6'@7?T#4$L#!!0 ( $IN4%@?*+.X'@< /01 9 >&PO=V]R M:W-H965TX.WV:!E5;=2V5HK9N3Z:G23O'R5T7Z_X6^UW-FS,2-+EEI_H9=WJZM1 M3(!D(RM'&@0>M_*U;!I2!!B_'W2.AB-)\'Q\U/Z]MQVV+(65KW7S6[URVZM1 M.6(KN19]XS[HW8_R8$].^BK=6/^?[<+>/!VQJK=.MP=A(&AK%9[BZ\$/9P)E M_(@ /PAPCSL&N!J14'YZ Q6:\BYZW?*";6I MEXUD-]9*9R/V@]:K7=TT3*@5^]5MI;F<.1Q% K/JH/954,L?49MP]K-6;FO9 M6[62J[L*9L X .5'H*_XDQK?R&K*TB1B/.;I$_K2P?#4ZTL?T7?'RGM>8&]J M6S7:]D:R?]PLK3-(GW\^Y(=P2O;P*512+VTG*GDU0LU8:6[EZ/K;;Y(B_NX) M&[+!ANPI[=?W(W7?DH

^-E!]4;>=H-&$K7I#F%#7J%J%.C-&JFK/$&9E&^'YXEP= M?UK=L_6D[+.J'80_.N'@I#'C\S1:+!*,OOVFY G_[L[H>:MO>P.29@G/HT6Y M8!=)4D9Q7$[8Q1P3R600>>SYD^B$8D4:LPO\^^_[C\]/VHGF%,\QR^(X*I(8 M(P^B2 %B/,!XKCV_*B!2/7H$XSR$,_*)\EK#Y6I_BH' J<@H6D/#LZ<0A0L:3R*?>&.^R*8)*+5I$*6(51J-QCH2A]PXX?-I M=ERE9*Z$W?I<+ M"F9\=<@;M+Q:*VA8B8.[J"[L534\X'306Q70^:-2'\@#' MT)$KI,/4U\\:.17$CJH]LI4T(9V0,+6?F4K5FPII2*OZ$I0FCGM M-8A0GEUO4)V6\,".IA;+NH$HC,"&OL7\TJ\&;(!QPD);CGC.SR3<$5J6(]_L MF?Q:26O1K"MMJ)HA=,R.8-V8E_%TEU70KF&0':'//'>]3T6A*/7:^E9 M(5C#E'1TH2",.+BM^Q9]5_5K-(+ 'ITP3DEC@V6#'48V=WQ_9@("IK3#I6'5 MXS)"Q.D#*;Y2:#IM)70-1+.2%6Y9% \D8S$M!J>=T^8CK,G)\P)0+"XG9$'@ M*ERFG#T'J'MS9 _R7^ !.!KN(PO)A0?S:!<@*8T[B)<>[!W2[DAZ(=\)(<#1 MX5)46];!N7K%>GMR/)&EHYSQ+8,93XD!,VU"T0DR]G%J%:M_(7ID%33BS)VX MFWN"BK'32H;&$]H65:J16[I7WDKB!41_>M[,#M6B_6[H5?^[CO5W"MG;1\2> M6.3L-W^]Q-+-+9@ WOI#\_O!:!3>357U;1]B\ MN] _/?K9RW3?LK_4ZJ/D@ MZ?9.+JH%N5\Z^&!CI/1Q*M,<329.)XRGG)6\9!=9.9^P-$L8A^0+EN-_ N[]J-=N M!XIE3E9;I1N]V;,DC3A?4$.9YWS"\BB;SX?)(DI+Z"VB,BL"C Q_@YH.#J"/ M&,:Q<9[2_GR>3UBRB.:+DF;C/ .:*$V!!RUGGD W85J@3WPR MDO6F1H2MO2 M#)OF&*-G@HY9CDZ4910 7D9IX<."2T!>9F$Q+TN_R&&3[\1( M)P[$-RT5^+]#$8$.40N!BNX?\JR,/W).R/O$U^$X/_%\Q,8%C#D2&.W#!#\M MH^@[Z;_/FOTC?',?FL^-_SOGU'^:?B\V%(4(JG,"1G5Q ?AO@\ M2G?#\!:WH3:X=H/ZW83A0ZES?FT8?#S<_.]<9H[R%,?[(:WM4Q?\$Z ["0R_ M4+ZGT9PX).8YAD41T[# ,,]+&LYIF"UHB'<48$QYA@Z[=G!W&96+XE!I\F3W M0\8.)?;0!]SL[$LMKK=WQA0X8?NBY_@]02P,$ M% @ 2FY06+9YQ@JU!0 MPX !D !X;"]W;W)K&ULE5=M;]LV$/XKA%MT#:#Y178<-V] DB[8@!7KFK;[,.P#)9TM(A2I MDE0<[]?OCJ1D)953[(M-47?//?7HQFHW;CD]B4CC8FE^?BLN1E,B!!)R1P@<_Q[@!J0D(*3Q+6*..I.D MV%^WZ+?>=_0EXQ9NM/Q+%*Z\&*U&K( U;Z3[I+>_0O3GF/!R+:W_9=L@.U^, M6-Y8IZNHC PJH<(_?XQQZ"FLI@<4TJB0>M[!D&?YGCM^>6[TEAF21C1:>%>] M-I(3BI)RYPR^%:CG+F^Y,.PKEPVP#\!M8P C[NSYQ"$XB4SR"'0=@-(#0+.4 M?=#*E9;]H@HHG@),D%5'+6VI7:8_=O6] ML+G4Y*UE?U]EUAFLCG^&G Z0BV%(ZIA36_,<+D;8$A;, XPNW[R:+:=G+Q!> M=(07+Z'_G]R\"#1,\P ZN[J[8:MTFK!A ?8V"APE5/UHR;(U23YX26Z9*X'! M8UYRM0%6&Y$#;G&'[=G(@F6 O9P#MF+!<*8PCIUI+4X?7-=<%,QIANE0=@WX MDDG!,R&%V[&W* F/P@7((R:4MX1/*AL8+QZXO%JEL_3LST8[E/4)L3Z0?L;&@%D?=5%@;- =&6)O M^\$78,<1,HV0?WSGEL8X4_(P2=%Z:] V&#DLN&]/:)!1*RHAN1DV>?9,0:B. ML \#A4EI%YTY(^W H1\K$NJE &5R3A7#YQYM;;"O:33M]FY\]2#"$NHE5:P:Y-1-:[!5EDW MJGAJ >U27?AQ.Y@,2ZE_P($3IGAC*3)MPX2B>)Z9P5CTJ=D2*^=G7X\^?5IM MXM,&5+Y+D*[R$U$F5/>UKWHO&AJF@,P]"?/MGG4[D?=ZSZ09YA0[%$D*V7._ MV,_$V,;M> [=_#;Z?-2W9CMS7\9WXSWMGKDDO-KH!S#*S_/@Y!.1'/ 3X(!=]NK.^'SWM7R1#SH2&G2K/]5ZV-';]"CD=JTEGK() MU:?5QK.V^)<0A.+XI=P/8NY=P%,65!D2:$]:WAE*C!V&MV#+#X<@E\E\>=*)M?^SDV3Y;CF,--B#BV2Q2EF:)L?'TT[T M7;):S=ABFLRFRV[SLW9H^S5;K9+TA,A&I;ZMY3)9S-_A(NKNWPT=4B>]RT0% M9N.O3#06&N7"O:+;[6YE5^$RLA/&&E6GXY/C$3/AFA0>G*[] MU233#B\Z?EGBS1(,">#[M<96B ]DH+NK7OX'4$L#!!0 ( $IN4%C"G1[G M#P4 ,- 9 >&PO=V]R:W-H965TJTA(KJB:Q!X$HN544-3E4Q MU;4"FCFCBD]#W[^85I2)T?+*R3ZKY95L#&<"/BNBFZJB:GL+7&ZN1\%H)_C" MBM)8P71Y5=,"'L \UI\5SJ:]EXQ5(#23@BC(KT5M9/6=PC<&&ST8$XMD M)>5W._F078]\FQ!P2(WU0/&SACO@W#K"-'YT/D=]2&LX'.^\OW?8$!P=P_8A!V!J'+NPWDLKRGABZOE-P09;71FQTXJ,X:DV/"-N7!*%QE:&>6 MGZCZ#H:N.) '2!O%# -]-37HVBI,T\[-;>LF/.(F",DG*4RIR3N10?;4P11S MZA,+=XG=AB<]WD,Z(;/ (Z$?SD[XF_5 9\[?[(B_#V(-VN!V,MHC][ RA(J, MO/O1,+,=0"=_WZRT4;A9_CE4A39&=#B&/4"7NJ8I7(_PA&A0:Q@MW[P*+ORW M)Q!$/8+HE/>7M^JDF\-)'O1-OI9 [F154[$ES-5/XY?H4BIS;D!5KH9J1K"4U91[))6JEHH:<*K2E*#PT&#U=1]F0FXTD3DV)85JA>N[KCL3 M'(0>0;N!!:$*2(I."ZG8OY 1BJ(U9=P".$>F.M>4MQ&MI@+,(K-JAN24*;*F MO($)^2!:4FOYI: J8Z)PH3K0;U[-PR!YJX\CKO9U&Z;W&SR$.9U<GADAX'T&C+1QEN*?3@0*"=.@S'YJU9A12HAL7I4(:(\HY3K=OX MEO P@:/DA6-E0:-/(<7Y;HJLU=:TJ:484O*>*)%-G8!DCO(=3JOHINU8 \F9 MH,)51QM<<)?RQ-TVOS+ABG+4=<8'*/[Y9EAML?;"W=^-VX5=.LQQ^$80UB;> M4J^C>X?_V1HZD^2>-26;C2SPVW<0&Z/_W+/\#4$L#!!0 ( $IN4%@\5HZ, M0 , $' 9 >&PO=V]R:W-H965T1I.DTZ+E2T6H2UC5DM]."D4+@Q8(>NX^9QC5(?EE$6G18^B'WK M_$*R6O1\CQ_1_=YO#'G)&:41'2HKM *#NV5TF]VL"Q\? OX0>+ 7-OA)MEI_ M]LZOS3)*?4,HL78>@=/K'N]02@]$;7PY8D;GDC[QTCZA_QQFIUFVW.*=EG^* MQK7+J(J@P1T?I/N@#[_@<9[2X]5:VO"$PQA;4,5ZL$YWQV3R.Z'&-W\X?H>+ MA"I](2$_)N2A[[%0Z/(M=WRU,/H QD<3FC?"J"&;FA/*D_+1&=H5E.=6&T/\ M&O<(7#7P[LL@>OKB;I$XPO8127W$68\X^0LX60[OM7*MA7>JP>8I0$)-G3O+ M3YVM\U<1WV(] 9;%D*P6/G2=E 8_]RZ0Q;"17[NG \-?MUCI#9^3OYV8? MD8OGD?V]N;$]KW$9T<6P:.XQ6OWX0S9-?WJE[^+<=_$:^G]@Z/_@P)-E/"_7 MFNZ==1;T#ER+L-.2[J]0^QL@8K#;H@GDO!&*]O5@*=U>!Z[\(X??/-X59&5< MSJ?>*.*L9+ >A&P(QH9ZHNN-OD=?T4+&6)PR!EE:QL65_&T+.!.=_W@J)^6F^; #89XJWZ+50A4764IEX^FL@$_:<0E%Q>**%5"4L[BBT6_K M>N@&R1TVI UT&FK!1_6AEGBGC1/_C MO"3)UR$C@P.W<,6R MR90T1DJ"B\EED^+DAL@K5DS8MP#Z)CT&496/D^<.>G(A2QV:?1!?2T=K4&Y4 MJ//J6=]O1UG[%C[^'-YSLQ?*@L0=I::361F!&05W=)SN@\AMM2/)#&9+_R@T M/H#V=UJ[D^,+G/]ZJZ]02P,$% @ 2FY06/=91&ULA57;;N,V$/V5@;98)( WLB7?-FL; MR*5!\[!HL+MM'XH^T-+((I;DJ"1E)?WZ#BE;<8&L^V(/AW,.SPPYHU5']KNK M$3T\:V7<.JF];Z[3U!4U:N&NJ$'#.Q59+3PO[2YUC4511I!6:38>SU,MI$DV MJ^A[LIL5M5Y)@T\67*NUL"^WJ*A;)Y/DZ/@B=[4/CG2S:L0.OZ+_K7FRO$H' MEE)J-$Z2 8O5.KF97-].0WP,^%UBYTYL")ELB;Z'Q6.Y3L9!$"HL?& 0_+?' M.U0J$+&,OP^ K2+GX"UT?FV<)%*WSI ]@5J"EZ?_%\Z$.)X#E^ > [ #(HN[^H*CR7GBQ M65GJP(9H9@M&3#6B69PTX5*^>LN[DG%^\VCV:#S9EU7JF2XXT^( O>VAV0^@ MDPP^D_&U@Y]-B>5_"5+6,8C)CF)NL[.,]UA<03X903;.\C-\^9!<'OGR_TL. M[J4K%+G6(OQYLW7>\FOXZZV4>\+IVX2A0ZY=(PI<)]P"#NT>D\W[=Y/Y^-,9 MN=-![O0<^_F[. M]6]AK^J]60=Q/SCMHK.0NE.H%J (K.GY4'JT4RHV@JV51 M@^!B62S(\N6"\.!K!.YAM %1D/,@3 F&!P=/ R7_$5N%L!>J16B=-+L(<)Z# MA"U[@$9?4SDP3=FNR/="/," M#2NE4A9"L7Z+^]"K(#DK.23*\PH_?+;/)XM.IQN$RN*"A6!6%$ MGPR^D1?JA/ GF$Q'^>1C,/+1Q_D,;HZ9Q(+0UI%"5V!P7,SGV25L# M&<4+93U#"7JN^6S1&[/%$MYZZ^G)#-)H=W'2.DZ1"]&/H\$[#/.;?H:]AO=? M@L_"[J1QH+!BZ/AJ,4O ]M.U7WAJXD3;DN?Y&,V:/TAH0P#O5T3^N @'#)^X MS;]02P,$% @ 2FY06&R\ HTH @ ]P0 !D !X;"]W;W)K&ULG91+;]LP#,>_"J$!.PVQXZ0/9+&!)%VQ'8H%[1Z'80?9 MIFVA>GB27+??OI*L;JR?B+)E2VM\0/N]W6KG12.E9 *E84J"QBHEJ^EB/??Q M(> 'P]XL$KMD MIT P.8ST>?S6Z9I+)@LH:O.6OD+/$&BPG,IA\@B9/9&=YL+'06>+.3O-S"#3,%5Z;3"+]6 MN;':78K?QZH=6//C+-\H"]/2 E/B.L&@?D*2O7\WO8P_GE$Z'Y7.S]'__4C^ M _.M0=@HT5+Y @TM02JHQCCU%@?4@*K '0**'/50V_XT@,K2&\GD6+71P644 MJ.O0<@8*U4D[W,MQ=NSJU7"9W\*')^&.ZIHY,1PKEQI/KBX(Z*'-!L>J-ESM M7%G7*,%LW,N$V@>X]4HINW?\!N-;E[T"4$L#!!0 ( $IN4%CG:E0)BP, M 'H( 9 >&PO=V]R:W-H965T1#?-OQ\E.SZW: /LL ]) M1(E\^)"BR"QWUMW[!I'@42OC5TE#U)YGF2\;U,*GMD7#)[5U6A"+;IOYUJ&H MHI%669'G9YD6TB3K9=R[<>NE[4A)@S<.?*>U-6;AL*&]EZ MV8HMWB%]:6\<2]F(4DF-QDMKP&&]2BYFYY>+H!\5?I>X\Y,UA$@VUMX'X==J ME>2!$"HL*2 (_GG *U0J #&-?P;,9'09#*?K _K/,7:.92,\7EGUAZRH624? M$JBP%IVB6[O[!8=X3@->:96/W[#K=>?LL>P\63T8LZREZ7_%XY"'B<&'_!6# M8C H(N_>463Y49!8+YW=@0O:C!86,=1HS>2D"9=R1XY/)=O1^EJWRNX1X1(- MUI+@1@GCEQDQ=M#(R@'GLL+)!UR/=$A5@]_7FP\.:Z,OUZ*N,=;O(P7 M7LNY;T6)JX2?@T?W@,GZ^^]F9_E/1]@N1K:+8^C_X5Z^!0=^:Q"NK&Z%V4-X MNL0?#P(6^>SM_0_\VL9$@U8XZC??!ER^96ALYWRV0V0&!R^PP=)J#-R" MA2PE8D, LFQMR,E-1PA= M&S9.PX3UXSU-5?+ M5-&5%O?(R:ND+\.M6L.M]XGJE %[L\11#9CN&>8.'6.UK;./DJF@VL.;17K& M?4DI5CB!-_/TQX,4&?#&^WTCT%.+B.@I] OB5H]ZPI\-+C]]%-.8%;_+; M:C'V;K5_F@VAO 7?,C/K0H%P,^;JKYY&=ZR4I^E[7LZ?N*HJJ[\A(WEZ.LG( M1.HSDJ>+_S,C+_6:;#(/-+IMG'J>J7-%]J-AW!T'ZT4_3[ZJ]U/YLW#;T!H4 MUFR:I^]/$W#]I.L%LFV<+AM+/*OBLN$_!^B" I_7UM)!" [&OQOK?P%02P,$ M% @ 2FY06"4:HQ4D$ DC$ !D !X;"]W;W)K&ULW5MI;]S(T?XK#46;2 !%\3Z\M@'9\>;=(,X*EC=!$.0#9]@SPYA# M3GA(J_SZ]ZGJ)MF<0Y:U^9( PLR0[*ZNJY\ZFGK]4#=?VHV4G?AE6U;MF[-- MU^U>75^WRXW<9JU=[V2%)ZNZV68=+IOU=;MK9);SI&UY[3E.=+W-BNKL[6N^ M=]N\?5WW75E4\K81;;_=9LWC.UG6#V_.W+/AQJ=BO>GHQO7;U[ML+>]D]_/N MML'5]4@E+[:R:HNZ$HULRY8_Q8,:&_AG8MFW7;W5D\'!MJC4=_:+UH,Q M(7%.3/#T!(_Y5@LQE[_/NNSMZZ9^$ V-!C7ZP:+R;#!75&24NZ[!TP+SNK=W M7;W\*4K>"4JN)S[65;=IQ8>4]2_+U$YGO\$/7^4U6=Z_BE9-UDCM:RWV2-(KZ-UGI993$SS!:([J-Y-M9]?C;WR2>&W_?0OLP[9_J:GWU639; M\6.UA+*PE<1MF566R%J107TPN;B@Z3R<'EU:)CFQR7*^SA9%672/HJO%&KKO M1$LLB7I';+26OLQV4..R4+PUM+5:<7%W\ZD%5>BW:XIEAQ5Y\.$=T5=%!UHU M%FS4K:L%RYP]9$T.CJM<++-V(XI1&OVDVS1UO]Z('^2BZ0%3PO/9 3U;_%2) M/_;EHTC4#27>HL8T4:]$7H#AKFY:YKV^ETKGI357U3Z_^,7L4;JRVLKB8?$8I M\8R50@HXN[3%G^O!& ^RD'9B$_VA/-%C=J.H(0I*ARXJD?_7MT M4')=L+HW&P!'-_Y[;_!3MWM/H1(2$"C:/ 66S[+=N/ MS2TFU<%A-[)AA,OR"JV,FM[,C]<(LOS M@MG1\XFY=I6I3$F8T5R2IA!" $M26:0' M.HVFM9 MR28KL7](YU7=D09+V9);XC$-7F5%@Z?-%^2Q]UG9\U*9VC#TL^X;%@XR:@:J MF;GIMV'RHS'PPW97UH_0#0=1<=LW2VP-!=SBXL/=[>VE )?U0RMD6:P+VGQ2 MSVG)4KMA1@8>FX)W9]5O%Q"8%*,VMV9FGX,9\XSY>=$NZ[[JQI %AVMJMEK> M+Y5Z0:S?T=)N2$99:@?# E#7R*3I I;IFCN2K"S@$ORL5VN*7 MJRTE?R"^D@UM *Q6U(Q)N M#X!Y6&C6@'JL@I+<.X@'Q)N%*^V0L0X]D4-:< MJ5"M.U!*]@45,(A2\$D_^:J^M;.LB@:! BDB1Y0P]N8-S<1W-:Y+.UQH[2C@7($ M?]=*4Y<)NH%GI8EG>/Q,VQ,$L!CD[)#D'A"P/@8HYXCXOL.$S[W8=E*1]ZQ: MSC7HMLIWL-1.+/+*"N^@ZZ M$D7;]JS=.<\GS4FV.6G#T_8:TD(-X,HM9O;BE&U9KZMB" $STL@[\%OG H ( M%D[S,,0I'6"W60<78V>"N0AJ#5]F M9]'QO%SV\-]A@C%H+V HC&[GBBBJ7:_BID(NS@E@F.W. *W!&'VK9\T]^I@C MDQ84%Z/9AG%#RG%WRI:#PHMVE(Z"V[CM]N%F@;Q!4.ZPQU(_I]]OJ8;X+B CZPPNC+6HV2J M[',E*+'."1EG25PEL.AJPX$A+$1YH-+K?/1!?(?\PRKYE&0-6=( EPH358:D M7)F+:+(T/7C@W@KO004">MZ8=1G5R3R[:$P&.9,W:H*Y8TS*8 Y',8F[R?Y* M":/;T]!-@4>X?62."6OSU8B"6JDIVB]7JT:2E:%#\H.&=@H+5W3*88OJN3Y+ MI;Q]A\4:AH='3$6&W:NUR!.>1J\#,SM2![ #$A8*C6E!#XO*(&H\E$Z@!.,+A7&*GP% M,:Y%&DD/YV4)*R:K)JX'@N*QD"5[U;]E4P_4CXVHU#BG.$H^PU$ML=PH%JF58'!JI;[['Y!= MV>]V>FWTZ :.^'8;B2@3X^DZX=AK@ MPK<#YSOAV(F#"]=VO>_$AP%$RF(EQ06S"%?&\\CV0N-C'&B@?9#:X.5*A*&= M@E: +UXSLAV?+[V$+D,[](V5]N"*..*_O^Y'.]5LR??2IW,WLN%8YYYONRZN MO,1V@V?AQ)C$T,XF_H<\XB#.[B7;+S/@W,$&Z:[&.V:7#B'OCUG%#3Y%SA6> MEUHA//U<))$=1.(/NE$0QE;JN$++_4%SFHL++Z%"XU*$B1TGXOW86+OP0LL) MXTOA.JD-@B?6WQ<('/B^Y2>!2&,B.*SO(BT/_$ $B>W-UO_8X6SY M)+!BU[L4"5;WGKLZO#OR(8\GXM1VXFGU)+(2)Q"^3TXPK\UT"[3"%UP\LL,,=G> "Y8.0 M@"=U["AD3S57&2*$;M4-*8CK*'>SQ0_POK$HL<;QG"=-C:BACZ3;H-)@"WB M[\_/;V@4XYSQW8$LM"2>T_FE:KH?3N9'L]+>&(S6Z\;N29H MW&=UKX98]ELN,>^I?*7FBZ0B>R&[!_*:)UM#7-N7E+WN=>$T;&HXG8.E=MCZ MF?O)F@'PU0# JON@5J[X;)+.67AOD/)BV],J'TO!D_K0RDX';<[YDU_9OB_C M#Q'O6_ES)OX^R94<:Q,5RA;T%H'J8N@..#NI>CF!)WTE !IC1;: 5?8JQJ_9 MZ=6(D#]-(RWQ%R")/CG[8-2;='N<8"+D)SIT)O\:D%O] A1+1J3G;5_?*5?;.SL;0 ML]>N,.ARV,I.-D/ C#=L-Q/"YYH<_%QSP2*Y)L2>>[8_1V!XR7CCUY>1M*W' M(S^5&GZ>'Q+DX0G@/; ,&.U\;(JPC#H5$(<6OFP?O"=&'A#E6^:$-8, M&;3GH").@4TX'3GQL4J DB#P4"^>8,1WD#Q[5+NX5#V8G#B6&T5@D3'\ M.8Q@I3BQ0L@>.U0]#'P$KF-%8 ]Q(8A.\1&CAO(OJ1J!T@PVTL2*(P?5A4M5 M\G/8\$4$+081E02HC9/T6?CK)@ Y X!/0^_0^SB&OH-3@;NBK#2R8HAK)FC:QT.BNF*98^6ZT>'U@]0R[K MC >@:O/%5=7@A0:6 <0&]^1)O1D;.4(]"-8FE-Y!*: MSPW,VS_M,.<,S=^"4CFFJ,'F".$QB^200*^9[ KSF&-ZY4$AICKR.':@;^9Y MI,SC#DHV&7O]NC3 &BKSG)+:P<,.(W_1SL\*C&",!8W&SL$A4<9O4X+QK"GK M8UWK)[!W=^!IOQ)\3=>=T/?0H8_ KYM::1A1NQ$[-YK !ICGQ G& 'V#HV"S MGWN:RRTWG$!? +%\ C\W]:CG9N!1;"5>B@>N;R,]/V67]U)#ZBXNT+=YD;4/'=C M;JM'W$EW(ES0O8-..K\6A/ 6V0A$T\?1-GIL^]0HCV([";ZC2R><+D.?VI:X M?%X;_=A;U]?&>_);B1A(_PU 4:.O.O7*_'AW_(>#&_6>_31<_;?"1X30@G:6 M7&&J@UKV3+WL.%QT]8[?NE_475=O^>=&9KEL: ">K^JZ&RYH@?'?,-[^/U!+ M P04 " !*;E!8AT3I/U % !?%P &0 'AL+W=OK&4)@:<=,4*M%B09BV&81]HZ6P) MDT2-I.*DOWY'4I9?ZFIM]]6 88G4W37*E6HN M)A.9YE Q.>8-U/AER47%% [%:B(; 2PS2E4YH:X;32I6U*/9I9F[%;-+WJJR MJ.%6$-E6%1-/UU#R]=7(&VTF[HI5KO3$9';9L!5\!/5[=_Z\&[[&KD:D)00JHT L/' ]Q 66H@ MI/%/ASGJE]2*N^\;]+?&=K1EP23<\/)SD:G\:A2/2 9+UI;JCJ]_A0S#E MI33_9&UE/11.6ZEXU2DC@ZJH[9,]=G[848C=;RC03H$:WG8AP_(-4VQV*?B: M""V-:/K%F&JTD5Q1ZZ!\5 *_%JBG9N\!39*7$X58>F:2=GK75H]^0\^CY .O M52[)+W4&V3[ !$GT3.B&R34=1'P#Z9CXGD.H2_T!/+^WS#=X_J!EY,_Y0BJ! MP?_KF)$6(C@.H3?$A6Q8"E!$]$8G[X3!P&Y M:85 2H0?B)<%6Q1EH0K0.IX3QJ%]1AYYS^O5N0)1#6KYCNO&A#HT#,D]UT8/ MKQ$X8>);7EY$WA:U<= !^21R-8VI$_JTY[[FTV<,S8<=/( J>Z0R0.W),X/)UJMV3C#I9>I>%"I^ :!.QEWOT:R@?8JRX_F8TIE\KD4Q*% M)N:N2P]BKD4NR+Q"+L47NS>0NC#^X\OS=CA 0',4M#E^4 MQ_+?VP?+!.$"M$/F_ MV#\)4R9SLD37_> I^/.UZ$:OV+ B,Y6/59JU3M"T;+-M9:UP64SORAR.1U+S M8F=3]C8@/\&_.A;-.>30V)ZZTVD\H'K@MKV"93?]=VGY;F0*HM?E1%*:.;TI)G,0_@+GL*1_%#,QI'CE>-"4#;5O8MVWA M3[9M@WJGMNW4MIW:ME/;=FK;3FW;J6T[M6VGMNU_MFV3G4O/"L3*7.U*8A+- MWG_VL_WM\=Q>FF[%[=7S!R96!1X!)2Q1U1U/L9,3]CK7#A1OS!7J@BO%*_.: M \M : '\ON1<;09Z@?Y.??8O4$L#!!0 ( $IN4%@QJ Y-I , )0) 9 M >&PO=V]R:W-H965TM?W[$7"*A HDL%@O'C^^:;\?@Q MW2C]P92(%CY50II94%I;WX2AR4JLF.FI&B6-K)6NF*6F+D)3:V2Y!U4B3*)H M&%:,RV ^]7WW>CY5C15\1:%<$0DX^.6,]B[=,!#>\?^RL=.L:R8P5LE_N"Y+6?!.( 98WY,$)+$O_E]N_Q/[L9?IVUNU =C0@ MW W;2\W!%=KH!."]H"DJM4:9?8$E$II!&MW7_XW%3/M9FN R1PDG3>-I&-$ M\'\(7M#Q8>#*\:+I &X?,0=@$LP2+3</6UY7&J MX+BD-K8%TB'W;O'P?.TZ[DV@(U_1Y0_7;1F*OMPGX,GS038>#$_+>/'LS?$NR)J,12>@FP\A) MB2?_7YJNGY^B_XHZ*#LJ]^."2\;=*$X[IVOOU+$;'MR4%>K"OP?<.49QMY?F MOG?_Y%BT-^WGZ>U[Y373A5LG@6N"1KW1( #=O@':AE6UOW=7RM(M[LV2GDVH MW00:7RME=PWG8/\0F_\+4$L#!!0 ( $IN4%A&\SYPM0H .@; 9 M>&PO=V]R:W-H965TQ8@*:F'VR1$+#O^^PN M=+Y5^JM9"6'9W;JJS<5H9>WF[/34%"NQYB94&U'CFZ72:V[QJF].S48+7KI# MZ^HTGDRRTS67]>CRW*U]U)?GJK&5K,5'S4RS7G.]>R,JM;T81:-NX9.\65E: M.+T\W_ ;<2WLE\U'C;?3GDHIUZ(V4M5,B^7%Z"HZ>Y/2?K?A%RFV9O#,2).% M4E_IY7UY,9J00*(2A24*'!^WXJVH*B($,7YO:8YZEG1P^-Q1_]'I#ET6W(BW MJOI5EG9U,9J-6"F6O*GL)[7]NVCUF1*]0E7&_6=;OS=)1JQHC%7K]C D6,O: M?_*[U@Z# [/)(P?B]D#LY/:,G)3ON.67YUIMF:;=H$8/3E5W&L+)FIQR;36^ ME3AG+]_7A5H+]IG?"7-^:D&1UD^+]O0;?SI^Y'04LP^JMBO#?JA+41X2.(4H MO3QQ)\^;^$F*[T01LB0*6#R)DR?H);U^B:.7/*L?>R=-42G3:,'^<[4P5B,B M_GM,9T\Q/4Z1LN3,;'@A+D9( R/TK1A=?O]=E$U>/R%OVLN;/D7]67\\>?JX M;$.2[/-*L+=JO>'UCDF#7%S\AOQ@5C'IMUE82M9LC:B6FTJPWQHM32E=#AG& MZY)9D&B,8&K)A+$2F0&ZH*7%[XW4HB1BI;!"(UR%V[W1ZE:Z- :*#!@)$S+D MEMNS$UP;)BB,&() K!="]X'@_L>..QZP: =J:%$H3<=X/51BSQ2"OH@F88[\ MJ2HL!.S%-,RZ-T?U11;.]E_#=!OAX*+:A3O;?/R52+PMD S ;2+#8L30-HY<'XCTF'=NN M1,T*,F?K/B?M1L.W6E8[5C:"5HG.GA=V(W!@6UJ^4:KHU*='[I40( MU3?/B0'S&+8%/-,G[56W0G.\%BM>W\#06JT99\A@,PC7C3+2P3MBEG3QMGD\ MX"A0%\Y$JH^6A< N<;A-BXW2%MN(P%+6O"XDKYBQT-UIMVDT>%,$$T,RGJJQ M;L@B3]"%A4F_I:I0#LT9^S<9Y(>'!AE#'[M2C4$HF!/O)F7+"YOFTMT^2 M0NTYC)*E)Q!@*30E04=U/ O #M_.@VA*NQ(RCZ-=P%ZQ6ICI "C3@&U6D00XPXR*%8YQ2X+4]BK\1L MBL\LF*'>7KF\0C16TM-J7;%L!:8(;:S2NP=(U6;P,=PP?\HA]SS0F8C([+DZ M@G$$['IY[\,;C7:/:^&0HY-Y(6JQE/:$)>&4C2G(*S +F3$S8+Y^RG(^CU M_7>S.(I?8V]*F[O7MVAW$,S"I0-:4U+ ^@:U;'RCV6WM*>3$YQ/*,=?%RF%[ M*8#C:N,8 ;)+:1%,I'84Q@@;VM^%DK-G*>$T"G?"H'$49F2@.>F!T*3>IBWV M!@3FC,R-32#RL<]/.%\+V^BZIT7!-Z'SO9P3*D%?:I202O[AH<^)(.Y:"";L M!0]B?5_)3^*V=P(\>V!U1.H"X6IWD"QZ>(K[,LG M(.Y8[)#[.H7D$4#_U_?0FVE2:<8\!C-9\_&;!PD<4[_(<^_@"VZ,U*$F@21DAG[YT,O1AG0+J>/ M*83\66#I]D@"CZ,\R#)7M_)@FL5=N3KF%'18,0 7G6$>98?&'?B*G(.VN&B! M.^B>$,D3F,2B$GL009&ATTD030!"K>D= MV./ V%G_J-##\!FC6D\21\4Z&@6Y&E,!7H<9S _<1CTPBMN M]GU7K=B7\#H\H.9:FXI;W^>Y5KXN)88AN6AH$?ZNX2G?QD#+6M6O'!%,"D [ MR5V RS?E)RX<3OG(?;!@CE2P"N(,O]T^%0@;], M[N ;!)_^OX(/DQX1@6/2K,11)/6]^#'8I+DO8'R)6?U>-T-)!!STTQ5:17)V M+6ZX>Q&WV C" 1""$K,["N)K9-.K2GY%VKY"VM6O*&E=_G%& ]6@83TJ$($O M'7%0X=N0 UW_]HB&+M#S_8COAWJL#,9\>Z2;;2?R^'# #GPWYV'%I10Y@1B+ M1]L"8Q05%N%C@Q5"6T[9_VR.D@AJ6#S=>?2NS1)-B72S9N>&SO+.HX3SZ%QL M'P_=^,^DA[9C517NVL_UW'K$ZN!T@)M'DP%M+ZU QW;:9H>!N)05%0=?=;KF M?CB&^ Z4-'ZPZK#E%G)1\V9\%:"-'3X?W$.%[%3K4N339MY0[!T)0.B MHW/5PXNNH72!9Q4PFO);3@/1Q!U?8_9OX6CG'=X@];6OWN0&?_'3SOKQ))J' M#RKRL. /JF]3MR[\HXVE=@ZB^PTT#61XU(A[%U7) ,V_*:1=%LHE&_#.W]MCDR/7MW[+7%1(9K15=.UG&GCFUSQBNX%#W:W MP8IBZEF1VH0HJI*EL]2"5RYTW26W.;1NKXQQG094\9=GZ(UY==_> \>B@&*W M8W[@;M=3.PK^ LC?1.T[,.PO_,4#1H8.KCZ[#@.)\L]$*">?L]-CHOA W MLJ9^P3%&N^0>^V[F\3#YYKG]36M*;@=,P<)?S= E$EISNCA)T=NF[*K% [/O M&]KK-H>XG27<,NG\(!E$]:MWK2^$,N:]&_H+!(_VP1Q@G MU#/OI] N?)]EWD^]F!GH&F=@FM8:HO86R:*LM\RQ&_[3P:\O:Z%OW&],5!7A M/_]#3+_:_XQUY7^]V6_WOX%]X!I> 6"()8YB'I^.F/:_*_D7JS;NMYR%LE:M MW>-*<$ 9;<#W2Z5L]T(,^A_W+O\'4$L#!!0 ( $IN4%A48K07\@( %@& M 9 >&PO=V]R:W-H965T?3-MQ.BB7\UZU^!GY2W\; M9%<>4&KCT$=#'@(VB^)R>G%UEN)SP%>#FWBTAJ1D1?0K;=[7BV*2"*%%S0E! MR6.-UVAM A(:OW>8Q:%D2CQ>[]'?9NVB9:4B7I/]9FKN%L6K FILU&#Y$VW> MX4[/><+39&/^AUX5H(?(Y';)PL 9/S[5W2,3Y?RF8.\-9+'RP^&3:N20?.2!2^=EGJ7>S7F M5H_D3BOX2)Z["&]\C?5]@%*('-A4>S97U9.(-ZA/838]@6I2S9[ FQW4S3+> M[!&\:W+.L'Q#'$'Y&JZ%KO$M>FTPPHV)VE(< L+WRU7D()_(CX=L&(N M$R=J8FUM-&,M#<(=: PL(X>W]W74)/U,N>! M-;G,==,9W9V ::2S&8,TG!14]1I%BY5:&QIL+5IKLS;UH*S=BN*]=M6V0=QB M3'QE0D;R:B41>-=C9B[E.R6DE/@MZ$:,W6$#-DTR7AC=L^NA#Z@\ZG:'H2.CE]>5Y &.?8N&'J\^Q8$;U*!PY_)\@]02P,$% @ 2FY06"&< ZV=!@ RQ M !D !X;"]W;W)K&ULG5AK3R,W%/TK5KJJ0#)D M'IE'6$!B8:MNM731TH>JJA^<&2=Q=V::T]"@)"V^R5#\U#^[,>>G>ND:U"<;O3H;Q(/U@\]J-G?T M8'A^NA S>2O=SXL;@]5P@U*K5G96Z8X9.3T;7,0G[T:D[Q5^47)EMV1&F4RT M_D*+#_79(** 9",K1P@"?^[DI6P: D(8?_68@XU+,MR6U^C?^=R1RT18>:F; M7U7MYF>#)5NK/]EJZ";C >L6EJGV]X8$;2J"W_% M?5^'+8,R>L4@Z0T2'W=PY*.\$DZZV>G0 98VAU4/\2Y )*] Q F[UIV;6_:^JV7]%&"(>#9! M)>N@WB5[$:]D=.DFR=3CI?\U2?;[Q<0Z TK\L2O?@#;:C49M M9.#LZ__2;.H[=[8AUM8AWM0_]O![(78G> +VOPTURR2]TN M1/?P[3=E$A=O+=J,=L6DD_/9S MS,OWGSA;S353UN]76GJ^M#SIQFPEII[98J M!#^'NDHRT=7>8F./2"<8.]Z':!I="=_W>HHXK5Z:2MKCKTAZN0#(3.J9$8NY M0OWE#+"<5?"HK \++LCISYUR,+AUPDGKXWN_- A^[=7 #;:@UX<'9=+Z02 < M1NN9-@\H;]4L:R!TNCO:$1M'7=@*C^[(?XM6YJ MH'-V^>,ENQ:@4N>7Z16[,> E>2;(6_]"NY8.22V,KI>58]0F3\,)A5^)1\>[ MW7G()QZ?@[XT,;V;GB:62&)%([T0!CM"6%NUL K%V#P[HF=4"V&HBD_=[T6' MZE'K57N"-0*%/\*YTH/@&XW6 V^7;B]L>G6T(,7'F+:KO-=T*B9&!<*'JT8; M3B; 4'>(JM++$,1"-ZI2P9 (\UI[TIX5K:0V<'-M:1+8RJB)I"JR'S7XF3#? MY?%;=AMN'01ZJV:=FB(>M,G%H]^;WB^=)@9'=-9X8_$;A'3R(8:@'@? MM D$L5&[T4U#N0=?^[E MTVD[)AL%%IPT_64@KSWK=[S[C%94FDIKKXZM9I. MI9$T]B;2K0@-4P*GR X:;>UAL.^;ST_"CIH(9R[NUYHA8$L18X;BMH*1LS0$ M^G 4]C P<(L+Q@0KUXQ$?M*Z-9"F667G&(\-#>*UTAU4^OFTPIR<^P2WAT5- MKB=+2QUC=\R' .-=/$]G\K"#!=X!SGZJX6!E3]AOF(3A#L)P@Y#M!"2G6\2! MGSQZ:>$!M:)+!?TD]!.OW9\\&TQO6#K..;A#4EGP=#SVTHB/LG(]LN*HX%&6 MLW'"BR)BX\BKA;'BB9>\925/DC&+4YZ,8O:3WNZ5-RR+4EX6!:116<*X[*4( MTM>E\Z'GQ<='7GS:%/)EDN,1S\N$A)3'14X"O$?Q.L.#..%94AY"2)%=F1^R M(HW^]65VD*5\7!8PRR.4)H60(;]R?-B78#]]W["DY'%.=3D8%T " J# $9) M#]#H;G;4^*%-UP2BG;S'ITJMZ/U%K#!XYV'E <&\%P;]*Q-M4JEP5?!MV=*5 MYN_PP"-BL#QGVK,C>'(\KR\^/H_@Y7$D48PJE5X",V(ZD"3.>/%X(EG"$U0& M!2[3C&5CK_^4"#G>=X+H'N?/&91'N.7YDS!8_#A:?+C$D.& M%Z.LSW\_L8%>4%_[,<='21;:"Z.'[?J&&6Y]8.+J,/.?T9;Y5V?XUMP\W7RI M7X0/U$?U\)E_+'$N!2YHI(#] MJ<:+O5^0@\W_+\[_ 5!+ P04 " !*;E!8>O@ZFF," "'!@ &0 'AL M+W=OX&TV;MBJT'8#)W%-5W +^JY>2!/A@25G%7#% M!$<2EE/O*KA,(YOO$GXS:-76&ME)[H5XL,&/?.KYMB$H(=.6@9K'&N90EI;( MM/&WY_2&DA:XO=ZP?W.SFUGNJ8*Y*/^P7!=3[[.'QUV ($XST T@/(:T"T!Q#V@/!80-0# MG-2X&\7ID%)-DUB*%DF;;=CLPHGIT&9\QNVUWVII3IG!Z61!G]!:H05(]PKQ M#%#*5%8*U4A Y^CN-D6G)V?H!#&.?A6B493G*L;:U+8,..OKS+HZ9$^=@*!K MP76AT%>>0_Z2 )NFA\[)IO,9._+3&"7CF:@ G1KMU-DNZ3J*B:.PMKA.@@DA?HS7VYJ\S3H/_# : MDY=YZ=N\, PGSUG=''CK+UJ!7#FK4R@3#=?=.S_L#FYZY4SDU?[,N&QGBL\T MG45?4[EB7*$2EH;2'TV,JV(HEXHRAAL!5(-E6% MQ>L:*&]CQW>."SM2E,HLN$E4XP(>0?VLMT+/W(&2D0J8))PA 7GLK/SE>F'B M;< O JT\&2-3R9[S9S/99+'C&2&@D"I#P/IV@#N@U("TQI^>Z0Q;FL33\9'^ MS=:N:]EC"7><_B:9*F/GDX,RR'%#U8ZWWZ&O9V9X*:?27E';Q8:?'90V4O&J M3]8&%6'=';_TYW"2H#GG$X(^(;#>W4;6\AXKG$2"MTB8:$TS UNJS=9RA)F7 M\JB$?DITGDHV^G@S$.A)X(RP JV$P*P ?>Q*1J[2.Y@X-^UIZXX67*"%Z($S M54KTE660_9OO:K-!+SCJK8-1X#VD$Q3Z-RCP@G"$%P[EAI877N"=*_,&[5_1 MAF7D0+(&TW-5=]#I>:CY;I:RQBG$COXP)(@#.,G'#_[<^S*B/!V4IV/T9-=0 M0+ZWG]WZI]IHE?%:_7_(G>XX,,=4PHC8;!";C7)^<'9[A=PX]#VY^2 WO^K4 MGD#HKPA?V&-P65Q_](?*A"%[8(2I;QAJFL5P^K0:%== M?_D;WG7I!RP*PB2BD.M4;[+0KU-TG:^;*%[;;K/G2O&ULQ1S;DMNV]57&_K6KWZFSC_>Z'\W-7;-16NIG9J1I^61F[E1Z^VO6YVUDE2]JTK)6E,9_Q MR[ORU=D%8J0J57@$(>&?._5&515" CQ^"T#/TIFX,?\^_39F2@:Y\TV; 8,MKKF M?^5]($2VX>IB8,,B;"!"G/-!A.6/TLOKE];LA<75 T_T%5I-R"G:^3*K;?P MJX9]_OJ6N2',2MSJ=:U7NI"U%S=%89K:ZWHM/IA*%UHY\2A^>OSRW,/1"."\ M",>\YF,6 \?,%^*]J?W&B9_J4I5= .> D'QYJTP]N)POUZ@S4Q2E[I\ZN M__*G^;.+%R/8/DG8/AF#?OW!ZKK0NPJ0!,X5IG: -RIZH M4JQT+6&UK(3S\ 4U#L!^ZNF5,+#:LF$)%CX_8W9[F1]$+(NA8;'^XVIJL/4 M[&N YIJETZ66%L@]$=*)2CL\9:_]1M?B+W^Z6BPN7OQLU[+6OS-&"&?9.+B# M<_3[_(602W.G9N*FJ@ 5KVP1SXRXX";@9.TD&0,G-O).B:52M5"5!KVBN\&) MG=O/1CCU-''JZ2AQ\?I6;=".P8F/*N/<8Z27V:H^3GTS,**SJ56@?#&R,G*K M!J,?'O&"B0 S#W8,R-!8J^KBP$2K N7+7\$@,<>1H+B_J<$75/IWH-X:? #_ M@,!0F&H ?Z?B%J"N4P!8>V#V3(S=13M1:E? ,^9*E"OB*JKHFUPD;UM!A)MW MX;YC@(C5R)[;C80MIBJ5)9F:/W\A?OJMT?XP)@+/D@@\&^5:9EJ &!I<-N=M,PBN,N @J)DHQ.'.Y%V1=U >+O6 *Q5K:P$!<7?U+CP!KY]5AG6R WI M(!#8L3+ZC?1"KE;@J>DHN)"Q>)C<)E,"ZU60NTK+I:Y(C.B[517Q-(A,@^=+ MAH3,CH:HES!D& :.M.I.U4TX1-U#((1278($ \W:341!((4IP0(5OH$# .( M"AS0O*D0+[B:%2MKMK -9+HEQ9AX/4_B]7S<*$BW(10+_( ,N),57JY/QKX1 ME!C^)5J3(JXP0!J;:_XDK$%"0;#Q67FYK%1F#"8LD4"1\(!99I426XX:C!4@ MG2=LW36VV$!,-B-%B)X&@U%/Q@C]#>$%,KR4]6>(UW;&:9\< YR\T<5F0H A MVH0'6WD 9A<*?9TJ@S( ,! K%#U0(-<]#A 0M?$D(>#'Z@*E")ZW5M U1=*W M499?)99?C?+I?1\5^]C]#6!$_U,PD$!*K];&DK6'2\L[J2M<-P7#,G4@#ZS9 M%C6C,+;$95ZLI+8"I*4!-KUOS4*IP%%OT8VS>=_MK %#A)PM*M!V"D6C42O5 MTG>P83E EN5R$,R!PM/(TA#E2^7 IP4?1K*E)#Q>R@KL 5R2LA\4*>;KZ>F] M0HN@V$UZ%,_:U-/X%=V7 G-1XI<&O#(A&[8>@H-Q4=X/X>S;%O17JL,I&4Z9 M=:*W$I%TA=5+7$ !U(AD?I\D\_LO\5(.)4#!6?39W $Q3L%]&%\DA!'K7#\$'%S F89-.2-S**1HJ.7 C,*/P M60.0+T& QIA5Q;M-"D7.&7P+'9((L13:^0%!!. MK,#Z("TS;(5: 4E])SFXW\@&,Y*9^ @F[0X-/*NCE:7*#G 8AMUITSCP%IV# M_OR8MG9],DL)F'!TWL@8M6(KEZ,8441.0L2\?"]_!?9TEE&2@/4"$!BOB;'J'K2L M)*.(V4%RK(U3:!(KO8JN<*<]9ZFHQSL(2"C0PUI!3:84T8-8Y/A,V@RYX9KY MB->2;!4E!;[H[P'DCPJ4'S(+_"D/=H'+D![\G@SP$ $X'5)LL5B=&@@>;$2< M-V(AQK0ER[$@ M[5^CTF'.')2TCF*X9B4+SWE0RV*.>I@0*AQ/6^=/>>L$#:)&Q]58 M2"8AH&;_U@H)/.D'\3Q"P!I @Z8;N%+N90#AS,KSET$("8=EHROB#DJ:&]CQ M?5P](K,GN[JT[A YIJB!PH87DX"&%710,'P*H0$YW09#$CL)-:^ -ZD25=,> MQ&A^T67=#1^/#I:J,?8.V8%;\5&^'2L#%0?FN >Q ;IS%- <)UPK@^808JO; M-^+RZ<7TR<4$/ I@7LMJ^@GBT=O GS%SMVC-W6+4&OW5F'*OJZK7D(UN[2_* M1GB=*Z$BKFNP&$ZLX^^ZI@#(EF0R*$8/-Z;K@L9HC 3(#"U>)+#(JI\I)YZ) M]%!SUH.)IG/)7V*= P^A(@IH!C !TH,D7+$V@?G)NF:;%'4V[CDID&"=A:LX M,M5-\\BPBQ0ZMH(D@/U6),AW+JMV-*"]G2@@Y7(@I@?.T,&!6GB:55UTS4TD M2L-BZDANV%.1.90OZ080*'$5@23/JC68/)M<.1_CU)JL1EMJZDCE*<:$ZFDI M"\_[J4&?U24%JD2PX&CD.ZQ35*5>L;\ =Q)\7-UPZ+,:X\I >FL2 W MOS6RU>Q!@$OE]QB%,F!:Y#!8!AG!TA3(2P$NB,Q)-Y('GP7FFUWFGFI0:.61 MKTQK:>TA.*B&*'B L\+)>->;.D>#/2 AM\Z(D%0$LPV,>C&X[=K -O4GT3YB M2.XJQRQ#V\*9C_9U"\6P9(C\JK8U*8R:XB" M4KI%7@##AXW>N4ZM[!A>4F=RP'%56U38@?A0%7T((2[Q8G]2H["WL5"2:#8K M,B94Z/"1$5REW)LQAK1=JOEX9RFK6:/T5*9>3RO*Z.0P9_X[D ^G 7T: -*I M*>?YJL@53&2R?*B77254]Y!'1<5CQYUK%:KZJO6Y:!497?+[J+-+K/>4E$7, MQ+N5P*"K1]DSU<8R>N<0+F8"'MW" ZDP]PT4BH UOX84.)@I"#\Q P+2H PV M%*M1!6E%CCZL2@6%0/IC>J3PP:5<,21 =)\,3\(QJUW 3J@^ 9( M($S#VQ1L@+<#R&:5R3%Q;UM]\_'VW$=N&$3+.-2-_7HH0Z%)Z%"PWR SQ$$7 MVY;&._ V6,/:=D+V+(T9"&F>73R;B(@'680WD U;DC]:]":8-">.2^_Q(/1" MM(AL%9'[M/Z$N8X-J1T576H(:"JZ PYK8*1Y%(=,4L'N,0"H50A_N,-2)HM5AF*94RK)8 M^WL+($^?\_VV6 -DN0;S*@JLF5DM>Q0S,3CQER- O56SQ)4C!QP79$FAKC%B M#\E@JUF:.L"H6Z QL29.;J JD D10IC,.UL'7FVF@!@3P]L(IH%^&EM,:;T M9H]U' >L*PR*<2H%CHE(?D7,7PN$H M1M\Y%B1.I.L$E*QZJO>$^DV\!F=_,8>/+&=I[E NM331 ($D')S.XO8>J MI\A0K?Y+[LF+QF_+J&ZQ4$))0F?:(I5"=!TM^];$M#=J,FG9[^0*M%U&6>$SY?&3H=!9>E=FZG*&'+< GD N:[RQ-REM8MP+!7B^[>W M2J&I]%*QT>&*9(6W=:JJ0H.\.,IYVT9YUL@:VMIQ;.%15E>*K!VO![;C!O/Q M28&_4[6HU_-\R<;.-5-;@8(M_GW :5P]64Q$ !&3PZ0\>.]N.R1W;[$VUNGR MTX,\E86<#[LP2KF0-6(K/> 4FW;<[ H>+A1+. 6-2[MLS)C'B14$#Y@[Q8J6 MC(C1J(S:<<;\]_^C1P\MOL0Z!SJ5AHH-H;L00GB<000M":[#*@@H MZ@D'.3BEU35]C5.QOU%8P@+\Q])8L!TH.@2E<\_^8DS?39"J44NBVWZ 2C,V M ]RDRZKW:-TE@,->.>](59\X Q*+8KMH%PK(QW /MI"H%>I5*H=3]E*D- 5L M H4R&%U4D4/IA%';VL[:S,.35H<48LU@RQJHV/V=<<(XG2@3,Y10CIXX"9 MO.=>--&.]10/P<8G>"O>BT,?6)"E,ELGTM:#MSZU=[G:='@:3!X$#Z RG __ MS>RQ[#\!VA:2\A[ J9)[E[DP/"X;VXNM4Q&Z3=2868KM3PR M>'V2@R')T17B_8^F^4:X-A.O(\5S?:2R>;!;7SF3&&L3H=X1BO*PU%>J1.IB M(HRA9H7I;$;'D0N'%F=^Y7:D^@BW>-MNO!522QQ,Y&9 Y O1O%24M[2]:6H0 M$4^X^D,=I+;&&QM:'?IC(Y=O&3M*\ZMHICH$ MZ(9RG3D9P:,UI "=@1DJ"V()E-T+DN_TE#B2&AIC^!'<"3",#8/%L.,SL ^7 MU;0$T%WF4<4L&FDXWAD,3RU&IRX?D8\US*8.3L[CH&'74G0M#^:36)#8(8E2 M%-%KBY:'$'RSSY8^;_3B16D0DGO9^1Q'IY1_X*J%I#M/^#IQO7U1V\@@.3ODT5"CG?&WPAJ. 1Q0SN&PI'YU80@Q86A"THG=WX(<F*F5;FL.E MB=C$P"RCULA6&9NO_,J%MZ::@5DX2:%.)30PQ(27(DA258C5!(&Z+3:&WOHB>%.L2]&,OBE5-6K#VFG@^0-3NB60 MSFN7YFUZC==7PA#Y$^VB+)7Y4!9/$6 ZV,X0 K?^/+^<78DM2!2-:N'71?Q* M6_X\7\R>IB=YH@'GX*N+XD<%R?$2AX3"RX>"_EG0=O@P[T9X8W1B_%) MS8^0;TM;\ L6)48BAKJ3?>3\1E!B\(?TZDN8#>V.AH*6.E/7JFTZ80TCFD5F M6.9]22HSX "A5GLT]%@,5VG.$L-1@;AC%E)O9"A)\' U=@NYN-I9=P0W->,Y MIPZML0;'K/+9/XI,4IN5O6+Y!\'N.*&X2)6G&8^+\7U\J3%_V13C ?8O4T5O=P6K;=-(4.CO M8#38%C9"%"&QC;U6Q]O:"H7?6-.L-SBC[-/0^NEK0RGJ)L?8^ZIE*&GQ*W[Y MF%3G55T4UYYW&#FAIV9+#W&9H*?O;1[51_NJJ@^_;E2Q^84M!40VF/#P8.G[Z<3V,VG]_"#I]K#[/_B;!5MDU M_>4%>B.R]OSG"=+3]-<=;OAO&K3+^4]#O)=VC2):J15LO9@]?WK&W?SXQ9L= M_86#I?'>;.GC1DE0!%P OZ^,\?$+'I#^YL7U?P!02P,$% @ 2FY06+0L MEE/6 @ 0P8 !D !X;"]W;W)K&ULC55M;]HP M$/XKIU2J-JDC$.B+*" 5^D)5VJ%2N@_3/ICD(%8=.[.=TN[7[^Q 2CN*]H78 M=\\]]]S9/CI+I9],BFCA)1/2=(/4VKP=AB9.,6.FIG*4Y)DKG3%+6[T(3:Z1 M)3XH$V%4KQ^%&>,RZ'6\;:Q['558P26.-9@BRYA^[:-0RV[0"-:&>[Y(K3.$ MO4[.%CA!.\W'FG9AQ9+P#*7A2H+&>3.2[.Q!E?)3*DGM[E. MND'="4*!L74,C#[/.$ A'!')^+WB#*J4+G!SO6:_]+53+3-F<*#$#Y[8M!N< M!)#@G!7"WJOE$%?U'#J^6 GC?V&YPM8#B MC5;8*)@49E^67O:SZ\#\!T2H@ M\KK+1%[E.;.LU]%J"=JAB$X2DK)(7K>7UHYV, MYQC7H-DX@*@>-7?P-:MRFYZO^0G?=[U@DO]A[D8V-MD[,8NT'NXVC^NF.\EI5>:U=[+T)O=FD$/X\)\7,\(0SS=%LT[F;Z2%%:D^6,_FZ MOW<2-8Y/#3W<-T9@&MMPQS*$D8K+?HU'WZ83N)86M?06:MMH-("IY!:3LH,& MAL0"MTP6<^I@H;E<4 B=\GM4\WP;\%^VL596P8@1=&23BN6&T(G*2-('/4,E M$O*9 YC>''P6+9+_S MKROKUQYK<(+UE M>L&E 8%S"JW7C@\#T.7(*C=6Y7Y,S)2EH>.7*4UYU Y _KE2=KUQ":K_C=Y? M4$L#!!0 ( $IN4%@FZ-IQD , #T) 9 >&PO=V]R:W-H965TU*%I B"3*MB37-I XV=8!WH*DW3 ,^T!+ M9TFK1*HD'2?_?D=*5A/ =3_LRS# L([DWV$7KI5<9T M\R#0>84MUQ>R0T$K.ZE:;FBHRD!W"GGAC-HF8&$X"UI>"V^U<'.W:K60>]/4 M F\5Z'W;: EA@[FQ")P^#[C&IK% 1./+ M@.F-6UK#Y_(1_0?G._FRY1K7LOF]+DRU]%(/"MSQ?6/NY.$G'/QQ!'/9://<;.9;7W/#50LD#**M- M:%9PKCIK(E<+FY1[HVBU)CNSNL,'%'N$MQ_YMD'];A$80K5K03X@7/4([!L( M$8.-%*;2<",*+%X"!$1GY,2.G*[86<1KS"\@CGQ@(8O/X,6CC['#B[_CXT[) M%M;$55$M4)Q-!6L7853PY^56N_F_3D6@QY^U('"YUV2IWSFH'LFA#+SF\$G4ADSO#3>HX37$VD3%[#ZG/6 91 M[+-)!!^EH7"K(12O81K&?IHD)$W2E(S300I).@;,^EN+G/+39XTV5MP>0BY; M"CNIC&TWT%C2 6> *_P_Q^5,%TS'+IB>[8+K6O.RI-IS<02Y.WI[JM;/0GVW MUCLEBST=$-;N/U'F'\3?PQVVD4U1BY)"RRCSU9' KQ08-19]FL:0S8@[U1'[U^41/+O2Z)@KW<6M M(9=[8?K;;9P=WP:7_97X5;U_6&RX*FMJO09W9!I>)%0>JK^L^X&1G;L@M]+0 MF>K$BMXWJ*P"K>^D-,>!W6!\,:W^ 5!+ P04 " !*;E!8:?LV550# !; M!P &0 'AL+W=OAN91B,OO%$E M(Q;'651Q40?+N5^[T\NY:JT4-=YI,&U5+Q'?^MCIUC6W."UDG^)PI:+8!) M@1O>2OM1[?[ /IZ1P\N5-/X+N^[L* X@;XU556],#"I1=W_^U.MP9#!YSH#U M!LSS[AQYEC?<\N5JJDBR^Y)K6O_$UQ+-Y3RRY-"917D/ONK V3/@"8/WJK:E@=NZ MP.)'@(B8'NBR/=T5.XMX@_D TB0$%K/T#%YZ"#_U>.DS>+=&A]U%^X_ M5VMC-67+UU,!=W##TW"N@F:FX3DN BH1@_H1@^6K%TD6OSE#=G@@.SR'OKRG MBBQ:B: V\"OQ$%;;VZM%NNV@[4*\B[W_&:I M9(':S.!OY+I+(J 4P&I-@"X-+D1-#%1K"->$@$\Y-G8/3*Z,T?45/[ZMP8 MH,9G++DFJ6; LC"99.$H)8_C;#;4G)YH7A1H4&,Q; M+:Q "ONV:J3ZCK1H5?X JG$2&Q^9(N%)@RR<9B-X]6+"$O8&TE$X)([]]?\/ MEHQ1G-/)SRQ':1A/IR"M)4XH9,X\%X%(#N6GDW ML:KQ[7.M+#5C/RSI]4/M#M#^1BF[GS@'A_=T^2]02P,$% @ 2FY06)11 ME?X'!0 L@P !D !X;"]W;W)K&ULK5=M;]LV M$/XK!SH]30PX;?HRM%W1I"N&81\8B;:)2J)+4G&S7[\C92ONJGKY MT ^QCN3=<^]'YGRK]!>S%L+"M[IJS,5H;>WF;#8SQ5K4W$S51C1XLE2ZYA:7 M>C4S&RUXZ87J:L8(268UE\UH?N[W/NCYN6IM)1OQ08-IZYKK^TM1J>W%B([V M&Q_E:FW=QFQ^ON$K<2WLI\T'C:M9CU+*6C1&J@:T6%Z,%O3L,G'\GN$/*;;F M@ ;GR:U27]SB37DQ(LX@48G".@2.GSOQ7%25 T(SONXP1[U*)WA([]%?>M_1 MEUMNQ'-5?9:E75^,LA&48LG;RGY4V]=BYT_L\ I5&?\+VXXW92,H6F-5O1-& M"VK9=%_^;1>' X&,_$2 [028M[M3Y*U\P2V?GVNU!>VX$RJH W)?QNUT+#F\;R9B5O*P$+8X0U,+[AN#*3\YE%E4YP M5NS@+SMX]A-XRN"=:NS:P%53BO)[@!G:VAO,]@9?LJ.(+T0QA9 &P @+C^"% M?0!"CQ<^)@ _NOY"FJ)2IM4"_EK<&JNQC/X>BD.G)1K6XEKKS&QX(2Y&V#M& MZ#LQFC]]0A/R[(@/4>]#= Q]?HVM6K9HM%K"WI\A&X^B#-MXLQ90K#$HPH!L MP+HEU_I>-BO@M6H;ZY2N]D'$*>%Y[@77!H3+.6#&1'V+A;7/F@\U$@RV N/* M#8I5.!W,&8R]#M4:9#$3.$PVA8=4%5];J1%Z+.L-=]0$RE8[F[!5L1$;;!VM M15/< V:L,17W(^ 0CAV'>S1.")\::5'XVG*+03H!EH9!GE.DGC[)&&7/OJ,> M=WK5:IR[0%D^X0TD(8$Q_OP___Y[HRRO M'O)Y A$A04()4MZ()$0C3GHS'NO/D2*/^R*/'UWD+Z6+^>E;'.@#33M4^D>Q MATO_ )=WPT#Y^6BQ'7Y=Q?^)H/]MGE=:&0.+ MHFCK%@L7&=_C)3^\^\F(95O!6[GL8#X*=Z&[AG(K[]L$WG']15C?^5T\3B / M?67DA+A:\(O=5D82MT59!)1,"9!I".]5B,LQF"EA<#;W4(6QEBD))P M"QED+(-QE*43"",*#"5/(<9?.HW@6BWMEF, K2C6C:K4ZAYH&#"6NX),8S:! M.(C2M-],@C!#W"3(HJ0S(\*_'F:# 7#O&F#(F(:./T[C"= \2//,[9(X0FN" M,$1[& U2BMC.IGQ*X4;S4C2\QJ8/'5L8(5.*-/8<8TA3S&#H7:?PW%_EF#XM MNB%BUG)CD 4-1<7XI<[2B+@MFJ>X10*28[,Q_.0>YQ35=FA=E\H?"O0$8NRW M*'()8%D0)CXM.$3B+.H.XRSSAPQ]\IV,Y<30XB,-FO0-FORB!@W@96O=E;JH ME;;RGVZJ7GW#EZ810]U[5/%P]UX9*VM?WWR%I;;JR$-]HM/G'W4EJ-WEYN>] M?;CD[GC5>I?N?)C]*4Y=I<]&/2=U]C*+C5AD+IR)RQ&,DF((Q,DXSAS M9.K(*'U+VN_V#?-&]0Q_8N]<\SHJ5; Q48HFB9)KB -;="[E;6+7QK]);9;$Q M/+G&?RJ$=@QXOE3*[A=.0?]OROQ?4$L#!!0 ( $IN4%A]^I3Z$@, <' M 9 >&PO=V]R:W-H965T[%HBCRXT=1 MI.<[;9YLC>C@I9'*+H+:N>TLBFQ18\/MN=ZBHI-*FX8[VII-9+<&>=DY-3)B M<9Q%#1TBT:44C2HK- *#%:+X"J9K5)OWQE\%KBS!S+X3-9:/_G-W^4BB#TA ME%@XC\!I><9KE-(#$8WO V8PAO2.A_(>_;;+G7)9Z5#MO(B>4+\HG9^A4D)];WG)AX#.7+<(=.8KB;:-B0%SUB.P5Q(3!G5:NMO!1E5C^#A 1O9$CVW-< ML9.(-UBB;?CB7=0Z;' M(7WKS.R6%[@(J#4^(6= 54 M+&S6:,:" 5>E%Q@T>\[<0>53>NYJX'N3^GN?P]KG,#N"\Z>&P3NAP-6ZM13" MOH=_\!DE),/*AG7RJOYVS*"_U!E<9AG[.CAW6N063C)IJ/9 M?DVF87:9'4?J,'RQP/HK%4Y0K=(PS1DP%EY7) R^O\Z.O?7H8#@U:#;="+90Z%:Y?DZ-VG'*7_7# M[9=Y_XN@Y#9"69!8D6M\/KT(P/1CM]\XO>U&W5H[&IR=6-.?"HTWH/-*:[?? M^ #COV_Y$U!+ P04 " !*;E!82U\=P&4$ #K"@ &0 'AL+W=O,B]YLXF2/ M:C:1C:FX@$=%=%/73&UOH)*;:2_L[05?^;(T5N#/)BNVA"R1IM9+TS1@0U%^T_^[&K0\=@'+QC0'<&U.%N SF4=\RP MV43)#5%6&[W9A4O562,X+FQ3GHS"4XYV9O; U"L8MJB /$'6*&XX:'+Q;"6Z M/_$-QK":?K;S=]/ZH^_X"REYD,*4FGP6.>1O'?@([H"0[A'>T+,>[R ;D&'H M$1K0X1E_PT/&0^=O^(Z_>[$&;?!>&>V1.U@8PD1./G]ON-EV:_#7?*&-PEOS M]ZDJM#&BTS'L2[K2*Y;!M(=/18-:0V_VZ4,X"J[/9! =,HC.>9\YT$>D'IFO M&:]LQR[QE5X^L0I.03[K]#3D>]$^^_8%+IG*N5@24P*YE?6*B>VG#V,:)M>: MZ%(JDHZ)2YA>H^"")N-^>Q#3 ,.JE53, '(" MMJ=C2[TX# ^&%V':1U&4TC9LW0B>\16KNB:)-TY&'9,@[J,L24)R"YAFP3,, MY$J8PTIJ;GR#3+G?8,@H/5CO_ZWL61H,=+HE'PE-O&@8X:*39!30?GL4#.E/ M;:#_>QMH[-$D[B),XL AC+ -\9DVI%Z<'/MW06U-4V^8#,_T(8S1*#H:16'2 MM\(P3GZQ$^GPV(D+-$ZQBN>[$(?><#1ZVP44):G-,DJ]=)R0,R02'T@D/DLB M'1HDMQ73&G/!KBRV6$+A>*]!D _,6&1;@A^7DZ1R-LAI4GE&^OCY/2]8Q40& MMI+L#9UII+.?FHDPLP[,>@^3.R;:".*N)>P(Q)&6JS0SI+ 7;FTOW(#,WYA; MQS7;DIP7!4(KE*Q/17'Q(6.-!A>#:]V <#8B3!2JSP M0"XJOG34JO&;;]^0V1VYRX]3%ZNLE\%_W]B;VMWAN\%C*8!L@2DB%<$/MR.L MU O"H5-@!5+Q4<>42C;+DA0X#SF))F/4_05ZL!QPZN[YG0&D!K5T8Y;&XC7" MM+/(07J8Y.;M '-4;\= '$B6EBDJ*- T&"1XPU0[6K4;(U=NG%E(@\.16Y8X MC8*R"GA>2&GV&QO@,-_._@502P,$% @ 2FY06&Y@1J * P A 8 !D M !X;"]W;W)K&ULA55M;]LV$/XK!ZT8$D"()$JR MY>QZ^G)9' M;3[9%M'!ETXJNXI:Y_K;)+%UBQVW-[I'12M[;3KNR#6'Q/8&>1.2.IFP-)TE M'1)%3I3Q+8*8$%WF.A MP/(E=WR]-/H(QD<3FC>"U)!-Y(3RA_+6&5H5E.?66T/G:]Q7X*J!5Y\'T=.. M.[AZQW<2[?4R<53$AR;U"7 S K*? &8,7FOE6@NO5(/-UYC:N(7HA%\X#1^O??LEGZQP7>Q<2[N(1^F?@VL1]EK2:Q;J< MT.MCMT(03NA**UO5@*=U>AP/S X-_/-X+R,JX7,R\ M4<19F<-F$+(A&!OJB:XW^@%]10M9GL=IGD.6EG&QH$O%ZY84F!^IL9PPV1P8 MJ^)96<"][OK!$9^6F^;(#89XJ_HOLPC#V$Y%'8@;;+0A4764IEX]F\@'?:<0E%E<=57D!1SN.*I-_5]= - MDCMLJ%/0+M>"C[V(*/%.&R?^'R>N6)[&V7QQ35::DO#J&LZ?10R*6O4+8&5. M2LI@S>-Y5<*Y*Y8\Z0P=FD/H?Y;.4)>BHD" ")!0 &0 'AL+W=OAN:2B/+?5 IPKC?'X4EXS)(9W[M0:\\,VB-=X+%]H'_QN5,N M:V9PI<0/GMMB'DP"R''#:F$?U>XK[O,9.EZFA/%?V#6^21Q 5ANKRGTP*2BY M;$;VMK^'HX!)_X. >!\0>]W-05[E+;,LG6FU ^V\B>8,GZJ/)G%%WTRLJGRQ MK96ETO5F0;T2M7.@_8U2]C!Q![3=-_T#4$L#!!0 ( $IN4%C4RD7,%P@ M (T8 9 >&PO=V]R:W-H965T MS"(!%)D//;-)@&1VNFV!V3$RL[LHBGY0+#H6(DNN).?17]]S*5M68D=)LX," M@2Q2Y+V'Y#F7E\SI?5G=UG-C&GI8Y$5]-IHWS?)D/*ZG<[-(:K=GMFY2G9^6JR;/"C.IJ%XM%DGU>&GR M\OYL)$>;BJOL9MYPQ?C\=)G^9N:][[\1#N2[+6R[\+3T;"49D0Y6P*.?Z^-CCJ? MW+'_OK'^%SMX#.8ZJX,!(NL:'^3A_5$O*6#6G=0%G?KR*+\.6F2\].JO*>*6\,: MO]BAVMX EQ6\*E^;"E\S]&O.OS;E]/;X$N-*Z6.YP&+7B9VNPV_)=6[JH]-Q M S?<>#Q=F[QL3:H73$I%G\NBF=?TJ4A-^M3 &/@ZD&H#\E(-6OS93%W2TB$E ME!ZPI[M!:VM/OS3H>5*9]: GR2-(UM!%527%C;'O_[RXKIL*A/G7OM&WMKW] MMEE%)_4RF9JS$612F^K.C,Y__$$&XJ+L/Z:FVC+HVD*:]AED'OB=^U;4P,:C2:J: M#'."L*)F<6VJ;E7M4U%2I/R"2KA?&BO9_/&$_H&^+9V>=CW,"M@N5S4ZUD?6 M4FN(C9 E-Y5+AE-;VR6 5'1 TG-\7_!+X$BA^25$C:9/BV5>/AK3#HN6JVHZ MQ]!HB?DDZ7@ZYJ>G\/3Q_%8V2?[Z%,"\[\11O/;C^?P2.R+VVP4K9QCOG2E6 MMJD3>0Q-.3)4]M='NR]+4\$H5F!MM#ZASTEU:VP=CZU.H%?2CJ<"/!7Z:"?4 M 5UA(1,,PS9*X28OEY8X,.P'[ ; E!-I3;^8 EYRVS))$6XRU@$O D6.#$** MG0B-8R?6\CN,?4 0?B<(?U@0V*;2%1B)*=PKCOND2ITU$[ZT3'#H]R1?M2@O M:E"YK=XGEV'G^Y2QK,J[+,5",.63K75:,2Q+5T.7>8)) _:2EZPE*'IF4[:S M*%.3OTLU+^ODF3"NLOKV>%:!YEG1&$BM(2RS(>WZ/AV3AY\/)-W80T&[GOA MPHT$"M*5Z@-]>F!IPD>>S0P=6H@0'[X'KO)[CZ[A79ECOO.L>20O=H'EF'S? MC6'+PX_U&;A"VZ**N.B[ONYY2C.>58SS,3-Y2HS(_OUAMUTT2.[ W!M#-PB& M#:4\FEF2572'I08)9>!""@=*NU*BI")7>@/T"SKZ!7\N'K>4<^B"0QF&OX]D M@R[>'Y,WO$K6KBU-F%+WS^?,/)AJFG&4 P7?%[!/GDJL6Y?CK@8I8=V@N0U7 M#?T]*59( ZDU)TFIV/$150XH"EPOH%]X'>'8#YU82&I7#'QHD:9TJ"(GCN41 M^9$;1O0Q*:9([>P'WQ%^>$12Q"X,ON#_^8" 0&M'1Q[%(1O<^)G]*3;O*_;%MB2T(09DE"3UW0:TI;W77H3[X='.]Z3P==TZ\K MZZYG?!LD+]:"WZGHC*Q[]SV]W/A *Q?< ,P##=%&R*9")T3<#YDJFG>.':;: MEK'M$WC<3 KAZ%BB#U(#'YP1()VCD%SYRHU%VZQU(B/!H0$)FR/CD'PW],$W MY48A9.,H0)$B@M,!SD4=YZ(_QSED50TFG.>EC7R\H;52_VG&R&]*U"+%.G/C%$:_1)J@I@80PQCIB-PYD9\I2 M/$^6-KI*3AH%XE4L7>2S.('/3,:=#WWM^ +QC7<$X>\%LAO;M8=<. +9I'3# MN$.BX<5#E/84DH\7@&B!>*9X.Y$>AM.\.IU3>#PY!),V]Q#.YN-]K=:;*YW>#;HO_A5/P*F/W'8DBU:%XX M%F-SQ^ID"SZU<8/>R0T#XII/7R<32E>5M?C_/A9[G)3@Q.K*@$_",K1GY, > MBT6 M?M'(L7]A(4<=D5HO?8>R8.7H M<>^&>&&J&WL/7M.T7!5->UG7M1_SFI;C*6D)FAJT .-J*J MO?MN"TVYM/?-UV73E O[.C=):BIN@.^SLFPV!7;0_0?B_+]02P,$% @ M2FY06 H+]:AJ!0 TQ !D !X;"]W;W)K&UL M[5AI;]LX$/TKA'L@ 11;HNXT,>"D6VR!%!NDV1:+Q7Z@)=H65A*U)!4G_?4[ M0\KR$5<]OBVP0&!=,X]O.&^&9"[60OZM5IQK\EB5M;H3Z47#EOPCU[\WMQ*>)CU*7E2\5H6HB>2+R]', M.[^*T=X8?"KX6NW<$XQD+L3?^/ ^OQRY2(B7/-.(P.#RP*]Y62(0T/BGPQSU M0Z+C[OT&_9V)'6*9,\6O1?FYR/7JD:Q56E2=,S"HBMI>V6,W#SL.B?L5!]HY4,/;#F18OF6:32^D6!.)UH"& M-R94XPWDBAJ3\E%+^%J GY[>< A)D9-[-B^Y.KV8: #%3Y.L [BR /0K !XE M'T2M5XK\4N<\WP>8 )N>$MU0NJ*#B&]Y-B:^YQ#J4G\ S^]#] V>/QSBG[.Y MTA)4\->Q("U$GFDNJT$OWW'=A%"' MAB&Y%QCT\!B!$Z:^Y>5%Y%U1FPDZ()]&+M*(G="G/??%GNT^*DVCC4.\0_SK M+F$:DML, MIRE!SE'DW,RJX!+\<76!E"79O[$XJS=E44,:GA)4!/O:YA!#N!@ M;G'$O"R6QM\JV0UQ1,CRI\W\[E#R8X^$H#&;^3VN@>-1WUZ3E.Q5<\;4BBQ@ MCGZPDG]^/J]QQ(85NJT2+J86(XV3 =:]@#B;=YOB[O'PW,DGUNL+JLBWF&O8U-DC^F*U8O;0: MKF&[,=QBJ./3P%1M\@.8BY[R4F#D%%&L=Y^F^"J$%P$L:=UC1!(/;E**#S$) M@I21PW1@02]2+)?K&+@7T"RHYF-&? MDLW@2/_+YK\@F[B733PHFYGM>IBFF^TX#K%R.B:.8;S/YIP%[9/!9@:.C;#T MX=ESVS+-G@N'RPN5X5I%()-\>&>[7>QZ^%D'?]?#VRY^C_!GSY>LDR>0!"C' M'T>$CM/O!CI8BC8P%&#\:.P^QWF[">L.PSK"A(Y#\HIX /#JV]X'PP?C +Q" MX/_J6.XG.P?-BLNE.4XK8A#MF;-_VY_89_:@NC6WQ_T/3"X+V":5? &N[CB& MI43:([1]T*(QQ]:YT' (-K&PO=V]R:W-H965TE(\7GNN>.1Y]E&Z8^F1K3PN1'2S(/:VO8FBDQ>8\/,E6I1 MTI=2Z899&NHJ,JU&5GA0(Z(TCL=1P[@,%C,_=Z<7,]59P27>:3!=TS#]N$*A M-O,@"783][RJK9N(%K.65?@6[6_MG:91M&(/2<"5!8SD/ELG-:NC6^P6_ M<]R8 QM<)&NE/KK!S\4\B)T@%)A;Q\#H]8"W*(0C(AF?MIS!WJ4#'MH[]A]] M[!3+FAF\5>(]+VP]#Z8!%%BR3MA[M?D)M_&,'%^NA/%/V/1KA^, \LY8U6S! MI*#ALG^SS]L\' "F\3. = M(O>[>D5?YBEFVF&FU >U6$YLS?*@>3>*X=)OR MUFKZR@EG%\L\[YI.,(L%O+$U:KA5#6UO[?+^@/"+,@8NWK&U0#.8199<.F"4 M;^E7/7WZ#'V2PFLE;6W@!UE@<4P0D=:]X'0G>)6>97R%^15D20AIG&9G^+)] M C+/ESW#=X_5+OP6-7.E8N"/Y=I8317SYZF0>\+A:4)WBFY,RW*[O <^S_:KU.:S[.^JQ%*)>B$07ZD0+B*63/!9$X NC8\P2,R;0!EX1S0'F*S)N1N'_TS!28+ M9] D^6[1'UCQ> ,?"-P7T#'T@N386G6&@&;@F7HB1P*K7@,P"VNLN)3.M2J! MMIFK KZ'BVP89J/1P)G).)PF$V]FX3"-!T"'GHZTI$.H-3Z8",K#>6 MC>H<]1."0B^U:KZ9_6/'67@=C^&2?K_2_=Y'8B^W"?@V?!1FX]$)>8ZLD]0# M!/]".BJZ^TV/H4L"*#U)M;+4=;Q94YM'[1;0]U(INQLX M!_L_#HNO4$L#!!0 ( $IN4%A4+>G.*@< $X2 9 >&PO=V]R:W-H M965T1!D"ZW0C6S\U.W M]U&?G[8[6ZM&?M3,[+9;H;]7.9UW!WY7\L'LK1E9LFK;S_3P2W4V"T@A6!V[V\DG5-C*#&?P>>LTDD$>ZO1^X_.]MARTH8>=76?ZC*;LYF^8Q5VM7%7]M"?38H9*W?&MMN!&!IL5=/?Q>/@ASV"/'B!@ \$ MW.G="W):7@LKSD]U^\ TG08W6CA3'3644PT%Y=9JO%6@L^>_-&6[E>R3>)2& M>9_$JI9F?KJT8$T'EN7 YK)GPU]@$W+VH6WLQK!W326KYPR6T&E2C(^*7?*C M'*]EN6!1Z#,>\.@(OV@R-'+\HE<-9=?*E'5K=EJR?U^LC-6 QG\.V=QSC ]S MI'0Y,9THY=D,^6"DOI>S\Q^_"]/@IR/ZQI.^\3'NY[=(OVI72]:NV:#[2B() M)7NRQ&?76!FK2B::B@&F &%SR)*CL@Y;\FDC6:?;>^7R#Y*9Z@5;AQ5E7#94 M#"_5,_V>'=.R:[7%,6*P5HUH2B5J9JRP$KEM6;?376ND63 2",JN;;!OR.XC M? 4VA '7&F7%G+!_2:%[[#$@1VY74COT>*IA=M/N#!QDY@Y,=.%T"9_<]SV+ M3,BKI[Y:0_;[QY1KHUDWJ5LY%K9@[E\5,YA M--S"!6JM2H&0/0^2/8X3VJ C?:14<\+73&JJ,Y%%A+\*TFKE[N M0QS>%GZ8T*F(PMMS]*(<(/ R#HY>'H)\Y!GZ458P+_;3."3@ JX_R[JG7 ] MZ8),1TJ !^?@FO@<:G _@V$CJ "[+.*]$7F">^KG*+=' )5.@$K?#*AWZ[5T M#7(?3#=DW8TL6R1MK9S*A^!T7,H%:L ^AQ$SZ\&S5 IVMM5?]G##-$FVK3LH M)]6F-R@^;T'.5U 98TELGJ0ZACQVK1Y473.U[832KI#^^%W.0_X3SL9T>'R\0EM&UDF7 MMYBER #;3U35KI^,QJ,3AXSDW"#UA2XWKK54\A[S6^<$E:!4%J@GL\,%![[I M_(AYY\]*(6B4EU3LO7"1DH,*L@,Y1- :"HL!@X*1NW$(3#Y.A03!U]+N=#/Q MHBP)B'[2,U@@!W]K,(S6ZL^^QS@5Y&.Y$;"9H:@,7A(<8?< < M@G%4-!+%C1P ? 0 %)PT9'^4+V( $8'/V ]P=D:X/)+YV93YV9LS?RIU%):+ M'F\4\O>#$Y0TAY+^%0$OMHM#\"9Q]9.X;SK#V]K!];><3]A%6>H=]F3?%PUU M:53PQ-UY$K/;X?,@S.*G0V'D!VC:N1^&!7LOA=M#\4Y9[.<0]8?0B/F@.6;T M\C,B3VP,#B1YCFN09RBE]S"[U6031ZL)B_S5M.)^Q#.Z0I]_HOSIT4DAYA.H M%.7LUV^!%J;H'!G=$BCY7F+K_D"-\<+,3U,WPV1^DO)Q=#D4%![Y',V+AVBF MZ7/G[L6*@H,IH1QJN\==JZ4Z5_A1 4E3J?)"[A?*IS M:-A$'?EA@#HYN-XU3A!XSOL'E=Z'CX?)+7"28@QU$:H4>>R%#,>P%N9^%G,: MUCR>POU\?B3%\BG%\C>G&)6HLD5&_#FDV3"<&78#B%/E?!"Z.I1E1V4 MZK:>:AA!#R)--Y9;;=M>XUK;;UY%I6F@R#M* Q#/D Q MJ*H)3'!.+>A[9!PN'CNE)S_U4X%T/&JU55;T++V(4/34.L;.^:KPJ54ABVA( MW'/-X T$PGDD#=/),X?@M]S[QM]*?>?^9!@45\2O_]R?=J>?)1?]/X*GX_V? ME@]"(RJ&U7(-4C11? _H_N]%_V#;SOTQ6+76MENWW$B!R8$.X/VZ;>WX0 *F M7TCG?P%02P,$% @ 2FY06$A#U*?%! >0X !D !X;"]W;W)K&ULW5?;;N,V$/V5@3=8. ;2]0]ZQAP+FVWR*)!LMNB M*/I 2[0MK"1Z23I.^O4=4K+BBR*DQ3X5")RAQ#F<:GLJB M4A>#I=:K\]%(I4M>,G4F5KS"-W,A2Z9Q*!05OY.@UF7)Y/,E+\3F8N .M@_N\\52FP>CR7C%%OR!ZR^K.XFC M48N2Y26O5"XJD'Q^,9BZYY>QF6\G_);SC=JQP60R$^*K&7S,+@:."8@7/-4& M@>&_1W[%B\( 81C?&LQ!NZ1QW+6WZ#_:W#&7&5/\2A2_YYE>7@SB 61\SM:% MOA>;GWF33V#P4E$H^PN;>FZ8#"!=*RW*QADC*/.J_L^>FGW8<8B=5QQHXT!M MW/5"-LIKIMED+,4&I)F-:,:PJ5IO#"ZO#"D/6N+;'/WTY($O<(LUW/.5D#JO M%C#\S&8%5Z?CD49\,VN4-EB7-19]!JG@ILIXM@\PPL#:Z.@VNDO: MBWC-TS/P7 +4H5X/GM=FZUD\[\W9_CF=*2U1&W]UY5NC^=UHIE[.U8JE_&* M!:&X?.2#R?MW;NA\Z(G5;V/U^] G]_R15VL.0I3K$C5E4+O(MTI;%?&%18O*TB^,&6$?0#TDL,S9Q@$-T0#TL3+ M&995BOS4K.'"DIGF8]F25G2FN$ U.F22_Y_WI:<*@K8*@MXJ^+BSG;_N M;>>!^+NTWPO=K?W_QD 3Y?!6*'QY$.PQ+XE/PI@:PR-N%!H#-\QQMZ0,74H" M&I^BX2$A<7@*D>? E9"H(,1 0(:*29E!-:*K^1H&'DGB"-U"!]GTT B0DC@Y M;5AKM#DL7L+@)T)BXH:%RF$2(A #()0;@TSXJPY;*L)?*6U$M?KC%,SB# MJ5)HU3;2]C&8YL_EH<.]C=S3@" MISFK/R/P 2O-Z?%W_< B*GY4RP>*V5/3ZX/;PPB.U4,=%TF-K86UYQK]4#<@ MT8N DHH$HEZB+T @L3.WR]JU_,A(#2(X)6],J@($ :!M2(2Q=:*C2#"/D%$ MK2"B7D'<''(QW>5B9R);2 MD(1)VYT]$H0>^,3U(L &'AV1Z"*/7L/@OY5V7>^-?+ A&-[4MD;;L?)ZI#0=DI$#L.P,;!/-L3AN1NZ^&O.U(BX M6)G[Q"4Q'J@D\H.&N_X6@^B1.1#LD4Y\&M1]&8_93J9&.]82[X9&PO=V]R:W-H965TL&Y(8]9FNNKSL*8Y66WJY,%SV+]7BYY;K^9297%QKY5 M\ZY>*AY/JZ L[=)>;]#-8I%WQJ/JLSLU'LG"I"+G=XKH(LMB]73#4[F^Z@2= MYP\^B_G"E!]TQZ-E/.?WW'Q9WBG[KEM3IB+CN18R)XK/KCK7P26+!F5 U>)/ MP==ZYS4I4WF0\FOYYN/TJM,KSXBG/#$E(K;_5GS"T[0DV?/XMH5VZF.6@;NO MG^F_5,G;9!YBS2*J,^R0*9_%16H^R_5O?)M0O^0E,M757[+>M#VW MC9-"&YEM@^T99"+?_(\?MT+L! 2#/0%T&T!?!D1[ L)M0/B] =$V(*J4V:12 MZT;>OGE'WA"1DS\6LM!Q/M6C MKK&G5(*[R?;P-YO#TSV'#RBYE;E9:/(AG_*I#^C:7.J$Z'-"-Q0D,IZ\)V%P M1FB/A@TG-/G^<-H0SKX_/ "R">O+$U:\< ^OZ3K\_;MM1#X:GNE_FA3?$*-F M8CF.7.IEG/"KCATH-%&''YY6]\2S+:[$_I<&KTXAZ0=A_D=+K5N&0EA7LI31X=5&BB$9!7H-:[V&Z&/:$%-)3!A#@GE*7M1*7F", M:1<'Q[37+:HQ[>6( )[-_\PUZ+F92@_,]J80Z=3VFL99!AC:MH.@TA@6S9=M M9X(7H)?;%HDE)R:-8=%\.:F3DX*]\*X<[)5Y.B/\6R&J>]<9*32?%2E)Q8R3 MMW9&_&3O*':QU&M^V<5WZK$T_*/R)9*KGBI;.-F$8QN MW3E1/1$6S9?5>2**O^U"42T1*HUAT7PYG26B\-[+L;4.TX,>4.RH5@B+YO^\ MP5FA$#8KM_'COG5@.++U#QE0K0\6S5?-69\0?T\G1+4\J#2&1?/E=)8G/.F> MS@$ZM*<#A[:6\116)]SYK1)L1HY:"#[ #H"58#BTM8BG<#JA-@T7P]G<<)!_BW'DQ[,D&E M,2R:+Z0[483:/I=[&:BYR35(^L\C>^W/;#]3F2<_-&R.7U;./#](8F54O M%SR>:;60( ,D% M 9 >&PO=V]R:W-H965T!?PG<%.'XR)=9))^6@G7U=C+[""@$-N M+ /%SQ8FP+DE0AF_6TZO.]("#\=[]B_..WK)J(:)Y#_8RI1C;^B1%11TP\U< M[NZA]3.P?+GDVOV371,[Z'LDWV@CJQ:,"BHFFB]]:O-P A? D0M('HK(&X! ML3/:*'.VIM30-%%R1Y2-1C8[<+EQ:'3#A+W%A5&XRQ!GTCEL06R ?"3?J%+4 MYI1<3L%0QO45KBX74W)Y<44N"!/D@7&.N=>);_!H2^#G[3%WS3'1"\=,(>^1 M./Q HB"*S\ G;X='QW ?#7>NH\YUY/CB5UP72E9D(H51^)PP\Z8D$Y=S4.3G M;:;=^J]S=AO^_GE^6WHC7=,IB/_% MGBY%AK<**RS)'-B69AS.WF_#,G LMC5LTS#HA8F_/31R&C3L#;J8(WW]3E__ M%7T:7Z4N&$JL0;F^)7(@,N-L36TK.*>V?R+DIC<,#G_/I9\BT-_-,^W^0:'9 M)O= U9H)33@4" MZGQ"OFL;13(RL7>UETN"KRTH&X#[A91F/['EW'7O M]"]02P,$% @ 2FY06)'/T2[ P !0 !D !X;"]W;W)K&ULM5A=;]LV%/TKA%8,+;!%GY;DS#:01%W;H46#>-D>ACTP MTK4L5"(UDK9;8#]^I"3+DBUK<<&\V")USR'O$8]\?6<[RK[P-8! 7XN<\+FQ M%J*\-DT>KZ' _(J60.2=%64%%G+(4I.7#'!2@8K<="S+-PN<$6,QJ^;NV6)& M-R+/"-PSQ#=%@=FW6\CI;F[8QG[B(4O70DV8BUF)4UB">"SOF1R9+4N2%4!X M1@EBL)H;-_9U9/L*4$7\D<&.=ZZ12N6)TB]J\"&9&Y;:$>00"T6!Y=<6[B#/ M%9/FH0F MBB^F.:\^T:Z.#5P#Q1LN:-& Y0Z*C-3?^&LC1 <@$QT&. W .09X9P!N W"? M"_ :@%(J6C)IBXJ,2NT3#\CZKDO!9-W,XD3BP?8 MD M^AGMKYZ^H7= 4X;+=1:C&WF8.'H=@H->H8R@W]=TPS%) M^,P4*TXR;E6_KE9TS*]L.^D2)6'/TEB20] E,F4:;B[//Y=8998P@OD*N M_1-R+,<=V-#=\^'. #QZ/MP>R<9MGXQ;\;GG^#*.TY1!BBN#T%7[A/[Z*$/1 M!P$%_WM(]YK7&^95+Y)K7N(8YH9\4W!@6S 6/_Y@^]8O0YKI)(LTD?7T]%H] MO3'V_4D?$JP&!A50O2BWBXGEAD$P,[==*4[#O#!TIV$_+!H,LSIAO>U/VNU/ M1K?_N00F3P))T1)2^>(5@Y8;Y;CTT>LDBS21];3S6^W\%[*2KU-/G621)K*> MGD&K9_"]5JJ!_O]9Z31LT$J#86>M%+;;#R^T$OH7/9),0(*6 @L8M-8HYZ5' M02=9I(FLI^6TU7+Z0M::ZM13)UFDB:RGIVT="C+K>\W5(+M^<*=^J,J-GKN& MXL+ G4Z/[#48YWF3,_ZR.T6E?;G#WFZ8_+LRF-2E_::VUM;)%NMCZ MHA[*;7NT^ASUEW_R[\@ZMM9I2.@X)[]=IU&VZWCVD;/,3FND )96+2:.8KHA MHNXLM+-M&^NF:MX$HAY6DM*X"*3ZKVTWU0-"R M:L \42%H45VN 2? 5("\OZ)4[ =J@;;IM_@/4$L#!!0 ( $IN4%@&4@WU M 0 !H7 9 >&PO=V]R:W-H965T M$@SW'/L><^!RIP?*/O.4$ &^%'G)9U8JQ/;>MODJ)47,[^B6E/+*FK(B%G+( M-C;?,A(G%:C(;>0XOEW$66G-I]6Y)S:?TIW(LY(\,2'BT_:)R9'=LB1904J>T1(PLIY9'^$]AI$"5!%_9.3 M3XZ!2N65TL]J\)C,+$>MB.1D)11%+/_V9$'R7#')=?S;D%KMG IX>GQD_ZE* M7B;S&G.RH/F?62+2F15:("'K>)>+9WKXF30)313?BN:\^@6'.C:0,ZYV7-"B M ($ /T+ -0 T!#@70"X#U+N"/@>X(S'FPTCF[C:$+H&QVOO M,1%QEO,/,NK3"P;OWWT [T!6@M]3NN-QF?"I+>1:%*.]:N9]J.=%%^:%""QI M*5(.?BP3DO0);)E$FPDZ9O* 1ADQ6=T!%WX'D(-!2GXWSK=:UY/SZL>(_=\&Z_(S)+/"4[8GECS;[^! MOO.#3C.39-@064]/K]73&V,_WNW\JQ7F8%X9N M%/;#L#;,.0GK+7_2+G\RNOS'\I_F0;FD>9*5&UTBHQ37[KQ),FR(K">=WTKG MW\A)ODD]39)A0V0]/8-6S^!KG50#_9-['SENY,&!DW1ASB08.DD3AGP( [V3 MPG;YX>CR%[\NP#)>I5EYP46C\&MWW209-D36DRUJ98MNY*+(I)XFR; ALIZ> MT.D*+^=K?=0@3V]]&(5(U24](^GBY#LI&,1A79SOAQ#JK01/BD*!LVQ=97#G7*H1OYJ2$V):I)-FR*K2]J5S/#T1)RU%+NF05" M#T7#5Y,F+ BCDPO$J]:7ZU%_*SZUOJ8SBYE9^,ELU&V; IMKZH7>4,1PO)43_YFE?*Q'.&?M*$1=[91Y,F3%6. M%TH]V)6J<+Q6_4VDA(&Q-$;Q5V^^239LBJVO75^=!R)F@@9GLDZ9A0=BF:KYRL**[4M1= MM_9LV^#]6+4U!^!FS359RD).UI'3N ODX8W4CMAX(NJU: MDZ]4"%I4ARF)$\)4@+R^IE0&ULK57);MLP$/T5 M0@6*!&BBS7&6V@*\M&B )C 2M#T4/=#2V"+"124I*_W[#BE9=5([R"$7B1S. M>YR%?!PU2C^8$L"21\&E&0>EM=55&)J\!$'-J:I XLI*:4$M3O4Z-)4&6GB0 MX&$21<-04":#;.1M"YV-5&TYD[#0Q-1"4/UG"EPUXR .MH8[MBZM,X39J*)K MN ?[K5IHG(4]2\$$2,.4)!I6XV 27\T'SM\[?&?0F)TQ<9DLE7IPD^MB'$0N M(."06\= \;>!&7#NB#",WQUGT&_I@+OC+?MGGSOFLJ0&9HK_8(4MQ\%%0 I8 MT9K;.]5\@2Z?,\>7*V[\ES2=;Q20O#96B0Z,$0@FVS]][.JP XB'!P!)!TB> M P8' &D'2%\+&'0 7^JP3<7784XMS49:-40[;V1S U],C\;TF71MO[<:5QGB M;':+)^M:YDH .?JJC#DF"]!DIH3 IMR75 ,Y(;=4:^KZ0X[F8"GCZ'9"C%LU MH]!B&(XLS+LMI^V6R8$MXX3<*&E+0S[) HJG!"'&WR>1;).8)B\RSB$_)6G\ M@211DNX):/9Z>+('/G\]/'XAF[1O2>KYT@-\GZB63*Z-[T3;@I^3I;$:[\BO M?>5NZ0;[Z9QN7)F*YC .4!@,Z T$V?MW\3#ZN*]4;TDV?R.R)V4<]&4 M3:1E)P7CM3^XJG(R8P@\YKS&4T=66@F24Y[7G'H%4BOBO7&M\6J! [H!C>+7 M'76"LFDLE05VAQPQV9F/]_6DC6WH8W/2N\F287IYB<=KLUOM_]WBR_.+Y/RI MVWR/6YQ&@[1W:RL4[NB +WV>FI(KFIIV]O46WO)GGBE>F:?HI2WRON/IGT' M;JA>,ZPCAQ521J?G9P'1K;:V$ZLJKS9+95&[_+#$YPBT<\#UE5)V.W$;] ]< M]A=02P,$% @ 2FY06,VI7N[Q P % X !D !X;"]W;W)K&ULK5=MC^(V$/XK5GJJ]J2#O)+ %I"6S9YZ4J^W.F[;#U4_ MF,00:Y,XM1VX^_<=.R$;P% J\042>^:)G_$\X_%TQ_BKR B1Z'N1EV)F95)6 M][8MDHP46 Q914J863->8 FO?&.+BA.<:JT"T]*:3_78,Y]/62US M6I)GCD1=%)C_6)"<[6:6:^T'OM)-)M6 /9]6>$.61+Y4SQS>[ XEI04I!64E MXF0]LQ[<^]C5#MKB#TIVHO>,%)458Z_JY5,ZLQRU(I*31"H(#'];\DCR7"'! M.OYI0:WNF\JQ_[Q'_ZC) YD5%N21Y7_25&8S:VRAE*QQGL4-PQL%O'?QK'8+6 M(="1::CH.,18XOF4LQWBRAK0U(,.IO8&^K14^[Z4'&8I^,GY[Y!:G\J$%03= M_<:$>(^>"4>/K"A@4Y89Y@0-EI!L:9T3Q-9JIJHEUGOV98T66- $X3)%,&?HN![ZS$J9"?14IB0]!+ A-EV O'V %MY%Q)@D0^2[ M'Y#G>+YA08_7NWL&]_AZ=_<"&[_;;E_C^6?PGC O:;D1O;WYZV$E) ?]_6T* M=P,7F.%44;H7%4[(S(*J(PC?$FO^\T]NZ/QB"M4MP>(;@1V$,>C"&%Q"UZJA MK6IRI1I3Z!J(2$.H\KN=NY'G.5-[VX_)J=7 =?P@] [MXE,[W_>C-ZL#'J.. MQ^@BCT:^ [33Y9&D [PE',K]7IAP4 @)2H2407>@S&;8R+;Y4-A;GQ>ZXW#D M^T>$#891X$S&_OB(L%D#ZS4<.JJ8I:IFP;&#!$EJ3B4E MXM[$+;RE"&X)%M\(["".41?'Z&+R/!55SGX0B)YDR2MBE3H4A#X,F,R@OOQ' MQD0G^^N'DW!TE"ZG5D<*B@TXH^"<,L8=N?%%# MH5D;)D/0FC.9F&E/.MJ3B]HX*6RH@HW4U!"6DM,5'/XK: 4D0TG3).C)C.4I MX6;U3&ZIGEN"Q3<".XBTZ[QU7LX5Q5>E3LKR''/Q%FMC%K5PD[X4AF%XE$(& MJX$_C**C!#*8N4/58IBRQ^UUD^Y5LOD?K-RK6)U:&5F=FAE8V;UVN2!\HZ\= M O*Y+F73&':CW=7F03?T1^,+=>71;?@;3'-?^HSYAD(QS,D:()UA!(<9;ZX@ MS8MDE6[*5TQ"BZ\?,[BV$:X,8'[-F-R_J ]T%\'YOU!+ P04 " !*;E!8 M2 /E%T8$ V%@ &0 'AL+W=O<[+CX(C>$*/ MCIB<.ANEDAO7E<&&Q%A>\X0P_Z7JCS -W-DGPFBR(>DH>A+YS"Y20QH1)RAD09#5U;N'-'/5-0AKQ M!R4[>7 -C)0EYU_,S8=PZGB&$8E(H P$UA_/9$ZBR"!I'E]S4*=XITD\O-ZC MOT_%:S%++,F<1W_24&VFSL@!(5GA;:0>^>XWD@M*"08\DNE?L,MC/0<$6ZEX MG"=K!C%EV2?^EB_$00(<'$E >0)ZF= [DN#G"7XJ-&.6RKK'"L\F@N^ ,-$: MS5RD:Y-F:S64F7_C0@G]+=5Y:O8KY^&.1A' + 2?U(8(\($IS-9T&1%P*R51 M$ER!A2Z?<*N?\!4H4B[NB<(TDI7((W@#+P><.W4@/*B:LT1_,F M-\CYW&5\T!$^$(&/G*F-!.]82,(J@*O%%0K17N$=LB+>D^ :^/ M0![R&PC- M3T]'%CI^L>!^BN>W+?A?CUS_U;6XPR+\NVFE,J!>,Y#9WS MB3/[^2N1O628OL38T_,,#?WQ&$[]C3H%6$5#?U"0_\D#=IXOFZI M("&XH'&"S=5E$]D,;7# PGO!LQYQ!>%HX(^:B0X*H@,K45U1VKN8-@\A" N^ M R4PDQ'.7#/\1WN*MF'5N#<'K:3K$5?#\0@V4QX6E(<_7!]$^U)K90QKK!HK MHS6LPGY4L!]9V3\QJG0Y+!16I'%5K>GG[N..P"I*QX72<5?>->Y2$5M5=C@30/A-T96'M\T%#"$3]\6A\I$++$0&>-B.<[%[U9E_C6@\Q M$YCG'9G 8#D10/M(\"H/&[43KX=8IC!8MG=H[:0=^-BXG;LMI/H#K^S0R-ZA M?\<)9DU\['GG;N*NT*HJR_Z-8%?FA:R3P-FZ.T*KZBX' F0?"#HR+]0^&S2$ M#/QCU5E.!^BTZ>!4YT+U)E\C6@^Y.LZTG *0?0IXC6WET%;6MI JY;*CH]-^ MEO^P9>7X0QMO6TC&VSTX@8N)6*<'DQ($?,M4=E15/"T./V_3([\7S^_@S3P[ MPBQALA/5CUCH6I<@(BL-Z5T/-2N1'5)F-XHGZ3G?DBO%X_1R0W!(A G0WZ\X M5_L;\X+BJ'CV+U!+ P04 " !*;E!8#C^PXXH$ %P &0 'AL+W=O MM-)9G(!@8WMU/9,8KA> M.G=MYM)K'SI]4$ V-( X28Z3^_5= <'&8&)WU!=;B/T^K;X5JY6F&\8?142I M1,]IDHF9$4F97YFF""*:$G')FR#DE80%*$].V+-=,29P9 M\VG1=\?G4[:629S1.X[$.DT)?[FA"=O,#&R\=GR)5Y%4'>9\FI,5O:?R:W[' MX6!L4?UX!@%,!G&-'&%2 P;& 804HIFZ6@VDR1;Q0\)1=="4"G0>_0KX9RHD*(S MCTH2)^(<>K_>>^CLW3EZA^(,_1ZQM0 6,34E.*;HS:!R8E$Z81]P MOH,\MD M))"?A31L$I@PHWI:]NNT;NQ>QE](=HEL^P+9EHV['.J'>S2X1 XNX$X'W#L> M;G? _>/AN$<,IXZQ4_ Y;\7XKT_P!MU*FHJ_.]RZ*6D&W30J95V)G 1T9D!. M$I0_46/^XP_8M7[J4E@GF:>3S-=$UHC%H([%H(]]OB B0FM!0P1)'M+DMW4L M8I4R+U &VP);HD!9%"_X_J=01JEW@%.C5)*-"C*UJ3S-K:GYM"O]FQ9^VP+; MHP%V:K.&4L-:J6&O4J^KMDN"7N2I$I1D[H[[]LB93/">#L>9^6VS >S9V.H6 MPZW%<(\2XP+EE,ETWMLNZZUO[@T M#=I0?52K/NI5'4H1*#0RV(*$_\#V##63[!*^E_A4X4BT&>H8&%5JN06;^L(4M01 M73KU3>'0RN9I9?-UL34CLG,0P?V5 M$8/39TAYF4B*3+ND_$ -5''M?J#V9(#WO^-%_Y@GZZV3S=?%UM3;WNIM_]^5 M:#7"?N77CD*O)R='02>;KXNM&87MT0SWGC;F/J@K7U"N]E!8]J!ZON9!I"J[ MG,KKY/-U\765'][RL/__9A701M9?FRU M2KI%_Q GRZN3S=?%5LIK[MSTI92OBBM6 >MTG M+6X0MS3EW?!GPE=Q)E!"ET!I78Y@ KR\;BT?),N+^\0')B5+BV9$"7Q R@#> M+QF3KP]J@/K2>_XO4$L#!!0 ( $IN4%@KZ5&PO M=V]R:W-H965T+KZE,FGPUW*K,PYDD>I@G*^/QB<(E?7GFT,"A'_!7R35Y[ MC(I0;M/T>_'DW>QBX!0>\8A/12$1R']W_(I'4:$D_?A1B0YVURP,ZX\?U%^7 MP;,(I0D,S0GV+),_0N$4&R"&\C MCB[SG(L\O[7[L@P2M--[>LU%$$;Y,VG]]>8:/7WR##U! M82*'I>M<7BT_'PH90.'&<%HY^VKK+#$X>\VG+Q#%SQ%Q"-687_VZ.6F:#V7: M=KDCN]R14H\:]"ZG/]9AQF?H=9B$@I^]EQ-RIDG/W^^E(7HG>)S_HPMZ>Q57 M?Y5B';_,5\&47PSD0LUY=L<'D]]_PY[SARX%EL0:":&[A%!(??(F2W/MQ[HU M&Y5F16&YFS Z=MWSX5W===THYON[40V?W)U/+NC3Y72ZCM=1(.1'Z+,#29&NIBQ@T/##B\2[B,3S- M@Y^F:0X:[ONI6A)KQ(@==9]W3C+1J\M8RHDMM692:O"#CS?9>[0Q,-UATT/# M5MR"00J0,S[[SD68+*JHM=%9I1);:LV %9=@>IK)#_+/WDFQI-9,B@(C#).1 MD=8JNSISC&D;@G"7@NJ#FCXI!L(P!.U#:[@+/6=CI^.G9I3O> 9'%1IAF(T, MM%99U5/7S9S7\0@3U^"0XA@,4L$C2QFLC1V@E!T#5K"B%0PSQ;?R>WHQ6^YX M%BPX^KH-^GT1]&=>-#**.M<3/GP-BN(T$,6%_/@7&>-7V$&\TU0\JPT<6VK-I"CT(4=$GQYMX$L< M;'EHU(I\"$PEQJ5@;F? BGM_ZL= 'J*0AXQ/LQ2L$I$MM6;_71$1!>'B<4NA M1YN9EP)L>6C4"GDHC#PWZ5QL@HPCP:?+)(W2Q;TV/DM=ERKF8_1PJ$(J>IK- M)VJUSV-+K9F4VO[3H1M078##E)!Q>P>JBW#-84V_%,11>YM05+.]-!JQ-FWJ MAGG4IP97%6'1@[:A:'*Z)Q8>HPEO3*KO&=W*.C=J.@&N8UACG,T&]U%7.X,'/L=:Z@ MVU0Y\]BHW7O1#7,I-30U7(4*+MQ],93TRJIQ3QR/QG[;JVZGA> 1-GFE[M4N M?*]^5%'OT8;VWF#30^=S[3C*"?HY/=<8;TT1WC9TD&=LY\!"AR9#P88+P\:7 M+)CQ)(BY?H5;[=S84FN&JAC&/4WGQK7:N;&EUDR*(AP7I@]S<1]U]]%8^]!3 M-:C1<#6=>7(5=[@P=^Q5V/UNQ:9NFXIUHP@Q%5"%"V[/GH^AK(\[J>LX--;L M0!J^.3!UIV9'[#WT:%-S/85"99RCC4;E8\F6XTBYL6&C?\F5+K1FV0AAVFF,ES.JQ$EMJS:0HP&$''BMA MW6,EF!#2!G;6;6Q@(L'44)YJQVOM'2UAFD,CT@F_XZMNG..,34>!%2VP@XZ7 ML.[Q$K=]O$0SACAC0PN+J5LU.T$SHN<:OU#GCM&38(H-&,P&^CH'[S_"DGLO M[F.T*)AB#G::%@6SVJ*PI=8\):_ QSLB^/1H ^ #6QX:M0(?#X82\UHP;T#" MDGO_;N 8T.,IZ/%.LP/C644B6VK-I"@D\H[8U>G1'@-KP2KS#&N_IRM^S/@A MR!9ADJ.(SZ6\\V(D;_O9]O>!VR M%+_:V_U*<_(_4$L#!!0 ( $IN4%C;>E\>Y@( +<) 9 >&PO=V]R M:W-H965TF*>(4,BQ.V!QR]6;*>(:EZO*9*>8<<%*(,FHZEA68&2:Y$?6+9U<\ MZK.%I"2'*X[$(LLP?SH'RE8#PS:>'UR362KU S/JS_$,;D#>S:^XZIFU2T(R MR 5A.>(P'1AG]NFPI^.+@.\$5F*MC70F$\;N=>*@\C?J36KC>?G8?%[FK7"98P)#1'R21Z< (#93 %"^HO&:KSU#EXVN_ MF%%17-&JBK4,%"^$9%DE5@09RE&49M"K;(AN?Z+-Y*KMT3I9/2)L61%*$4X3] WF0)'%[G$ M^8Q,** S(4 *=(S&"[G@JI\Q+LD?7/R!CX]J* E AR.0F%!QI.+N;D;H\. ( M'2"2H]N4+83R%7U3*E3]03.NL,Y++.<5K!'$)\BU.\BQ'+=!/GR[W'DI-U6! MZBHY=96-('[V^"^'VZ MUKO"1[4X,$N\&X3>- [O4VP%NM]P3O MUN#=7>!A$WAW"]RQP\VATFJ])WA8@X>MX+=JK0<\E<";\,,M_##L!1OXK1_8 M$[]7X_=:\=62V\3=VUI:'#70O0WP[2C7=OQ_?ZV57VDN<1\1G*!*$R5 MSCKIJ@G#RV-"V9%L7NRT$R;5OETT4W6R JX#U/LI8_*YHS?O^JP6_0502P,$ M% @ 2FY06'>C_W:_! UAX !D !X;"]W;W)K&ULM5EK;^(X%/TK5G:TFI':)G$@"5U :JFJ76FKK=J9V<\N&+":!V,[ M,"/MCU\GI'%,@ENWY@OD<>_)/?9Q?&*/=SE]9FN,.?B9)AF;.&O.-Y>NR^9K MG")VD6]P)NXLZ*:(9,YT7%V[I]-Q7O"$9/B> M E:D*:*_KG&2[R:.[[Q<>""K-2\ON-/Q!JWP(^;?-O=4G+D-RH*D.&,DSP#% MRXESY5_.@J!,J"*^$[QCK6-04GG*\^?RY*_%Q/'*BG""Y[R$0.)OBV/&M1IGEDFMH]?T&\K\H+,$V)XEB?_D@5?3YS8 0N\1$7"'_+=G[@F-"SQ MYGG"JE^PJV,]!\P+QO.T3A85I"3;_Z.?=4.T$OS!D018)\"W)@1U0M5R[KZR MBM8-XF@ZIOD.T#):H)4'5=M4V8(-R<%0MF!CEXORRR+<>5WJ];Y4>*34&SR_ (%_ M!J '@Y[TV=O3H9KNBD9K6@XV+0.*( M,<@PW6)G^OMO?NC]T M)><,);B/_QXTJD#+-\IV"B,O$,V_;1/K1@U&HSAJHI2*!TW% VW%?^,M3H / M_FN)]4P*M:]:+:!I;UD"4[@/&^[#CVMS:).M)3"%;=BP#4^AS3UHV%;=(#Z4 M9C=H%,=^OS*CIMY(6^_7G*.DKZ*H\[ XAM%A2=VH,!P$H_Z:XJ:F^ VC!9J, M%BV@J7XL@2G<1PWWT<='R\@F6TM@"EO?DU.^=XKQ4J.VA0?A<.@=R+,G;.#Y M7MBO3[]E5/SWC9HZ[]6ZNF&ZNJ0-\+7S;CUR I.1HT._X&70$V-&H+D2M5EH!7SOW:L;-\/5Z="%J/7*R M]O6S]0RQM1@L[[!G>F!C$5E"4YM!>@ _LC!LM$;"F+$E-)6Q=!B^WF)4'2\^ M_<"\/, _"K(5(T5\;/8RCSO*BZ)!^=VG"K0;%L1Q"(^(5#H"7SL%JR(U M<2CB-#(>>F#CKCJ%\8#2>$ +Q@-:-1ZVT%3&TGA O?$P$^?K=D,;HM8H[0;4 MVXV[/,._0(KH,^8@+7@A^F=9B)K?->7K'V;;:A_R*><\3ZO#-48+3,L <7^9Y_SEI-S: M;+:RI_\#4$L#!!0 ( $IN4%A__1MXS 0 !P9 9 >&PO=V]R:W-H M965TA^;$'K^<37>+46^0E[,MK@%9D1\;"Y9W)D M5RB+."49CVD&&%F.K1MX/76=/*&(^!Z3/6\<@[R41TJ?\L'GQ=AR M)N(KW?]-RH+\'&].$UY\@GT9ZUA@ON6"IF6R9)#&V>$;_RH;T4B 7D\"*A/0 MJ0ENF> 6A1Z8%67=8H$G(T;W@.71$BT_*'I39,MJXBR_C3/!Y*^QS!.3+Y@] M$8$?$P)F9+YEL8@)!P,P6U,F!M\(2P'.%N".9JO#2)_P]E:>BQ/^3J8^S&[! MVS?OP!L09^#;FFZY1. C6TBZ^47M>4GMPX$:ZJ%V2^97P(7O 7*0JTF?GIZ. MVNFV;%+5*51U"A5X;B_>HVB4_![<[&3%>2,&=3 *?!4GY3UW! MARMX^BOD*_::;_"6<:'GYRE4'GH,ZU#1!T TC/;V@ MHA<8Z7W$,0/?<;(E.EZ!:_ :^6HHZO$?++ M"OT^AK6]0J-A'=&?,KE]8WVDM$X-0YZ/^NYL;7?0['=3RC:484'D(Z),3(3]*@4/-P$W79:8*0T[?*:ZN% M1O,Z)D%#C;9$W4<@353DAFX/M=KXH-GYBH>@=)O%\WB#DV,"9,0Z>[U="*V] MZZI-%3FOO^\R^O;9&Z\+H;4;4ELY,EOY<0%"JD.'PS#HS%1-%/3]T--/5=38 M)YN-_!0%0JI/=Q7(&-*F5MLX,MOX20I48K05J"$N)3U-E =[MCJHMEMDWKN: M)0BIF](P#+O.HHF"/O3[N-7.A\S.-R5RWBWCN7P,XH NY:/0AO)8V").R?- MWU$C[MG+[T)H[2[4!HN"U]?W9 +H;4;4MLZ,MOZ"7JDVK5TSNZL58,B MM^>=!JHM'9DM_20Q4BU;$2-32)M:;>GHB*6?)$;J5E7AIH8,>M:Z6[NN:][* MFG6H3 Z--U03%#7>&!V(V8U7U_G_!E\P6\G;!!*RE%G.52@7.SN\BC\,!-T4 M;[,?J1 T+0[7!"\(RP/D[TM*Q?,@?T%>_2$R^1]02P,$% @ 2FY06('H MV-FA @ %@< !D !X;"]W;W)K&ULK55=3]LP M%/TK5H8FD(!\M92R-A*T0NP!"5%@FJ8]N.E-8^'$F>VT]-_OVDE#@- AM)?$ MU[GG^)YCYWJT%O)1I0":/&4\5V,GU;HX8"N%B/'=_93MRR9:K- MA!N-"KJ$&>C[XD9BY#8L"Y9!KIC(B81D[)S[9Y.^R;<)#PS6JC4F1LELE]:[:AE3A5,!/_!%CH= M.Z<.64!"2ZYOQ?H*:CVVP%AP99]D7>=Z#HE+I456@[&"C.75FS[5/K0 ?N\= M0% #@H\"PAH06J%595;6E&H:C:18$VFRDI*!7-%VKD:BS8+.O&=7$757'!.\5-(3XFH7]( B\(.^"3 MC\.#EW 7;6J\"AJO LL7OLOW0O)ARY:DMN607%(FR0/EI1DS%5-.?@*56T,W MY-?Y7&F)Q_=WER%5!;WN"LPO?:8*&L/8P7]6@5R!$WW]XI]XW[KL^4]D+\P* M&[/"7>S1M 2S^R('LC'ZA20<5.O\40Q,-\EF/3J4HERE)L O9F4YI%>U)2]JIYP]?*=NY]B>5]1ME_9W*[H3& M$YH]=P'5G.\N/?TW6Q4,O#!X)>AM5F\X/!TT656E;JMKF1L#6]&2Y0J/28(X M[WB -++JPE6@16$;V5QH;(MVF.+%!=(DX/=$"+T-3&]LKL+H+U!+ P04 M" !*;E!8&JI#4"T$ #"%@ &0 'AL+W=OWNPVH?/. $5,"I;9)V M?_W:P$ @#FTJYR4!4J( %^+O.0+*Q5B>V/;/$Y)@?DU MW9)2_K*FK,!"GK*-S;>,X*1.*G(;.4Y@%S@KK>6\OO;(EG-:B3PKR2,#O"H* MS+[=D9SN%Q:T7BY\S#:I4!?LY7R+-^2)B$_;1R;/[ XER0I2\HR6@)'UPKJ% M-RODJH0ZXJ^,[/G!,5"E/%/Z69V\3Q:6HQB1G,1"06#YM2,KDN<*2?+XTH): MW7^JQ,/C%_1W=?&RF&?,R8KF?V>)2!=69(&$K'&5BX]T_P=I"_(57DQS7G^" M?1OK6""NN*!%FRP9%%G9?..O;2,.$J!W(@&U">A'$]PVH>ZOWH#7H&L!'^FM.(2C\]M(2FJ/[+C MELY=0P>=H'-/XFO@PBN '.1JTE<_GHZ&Z;9L3-<=U'4'U7CN=[IS!1YS+$L> M-NF?!QD.W@M2\']UI3;8GAY;[<\;OL4Q65AR W+"=L1:_OH+#)S?=(4; ANT MP>W:X$ZA#T5"7NJ_ AM&N7:1&[BPAE,WDMW2B]S(]>;V[K F39@?1FKA=QJV M7L?6FV1[&\=54>58D$1N:-F..,/-+4.RQP5E(ONOOJ!CWD '!Y3>(M>!X6Q$ M71?G.(X;Z;G['7?_ISI=$J%CZQ^Q0+X;^/Z(K"XL#"-?SS7HN :37!\D1QVI MR:QS96\(;%!@V!487G#WAR;;8 ALT(:H:T-D=O='1W*#OC\+1J+41'G0/['W M9QW7V237NRK+DZS<\)IL5FP9W1%%5TMT$NO<)3($-B@;.OUCW+F@5EMP0YTP MA39LQ8&C@6;UVN(-I.BZCNN.%*N+*3)* C\LH$S%JPNRO=. MO!*BWM"@:4.SHB47K&KF7ED)I&8WLBMZHI-09P\=#*$-"S^8OEQT_&)V_G() MJX1ZJX0,CV#0\7 E\J S5NQQ%$)!.#8']L& 44UW/V"VR4H.";NN9XS,5@A;U84IP0I@*D+^O*14O)VJ,V8VME_\#4$L#!!0 ( M $IN4%B1I;R*=@( )8& 9 >&PO=V]R:W-H965T'+@)5HU-;2=I__VN M#6%)1;,\] 5\K^\YOA_XD&RD>M E@"%/%1=Z[)7&U)>^K_,2*JH'L@:!.PNI M*FK05$M?UPIHX4 5]\/A<.17E DO39QOIM)$K@QG F:*Z%554?4\ 2XW8R_P MMHY;MBR-=?AI4M,EW(&YKV<*+;]C*5@%0C,IB(+%V+L*+K/8QKN GPPV>F=- M;"5S*1^L\;T8>T.;$'#(C66@^%K#-7!NB3"-QY;3ZXZTP-WUEOVKJQUKF5,- MUY+_8H4IQ]XGCQ2PH"MN;N7F&[3U7%B^7'+MGF33Q(X^>R1?:2.K%HP95$PT M;_K4]F$'$(Q> 80M('P)B%\!1"T@.A80MP#7:K\IQ?4AHX:FB9(;HFPTLMF% M:Z9#8_E,V+'?&86[#'$FG2G\@I1Y)E04Y.9QQ6J.FE.#5\Y-0C)5 I3:G(C"BCV M"7PLH:LCW-8Q"0\R9I /2!25R/%%_YG* M.9EQBN/8'\[OJ[DV"F_,G[[.-\QQ/[-5D4M=TQS&'LJ$!K4&+WW_+A@-O_1U M[2W)LCPSFV[R7=2O6B"P!#7DLN]-@KC*E&OJ_S M DJJKV4% E>64I748*A6OJX4T(4#E=P/>[W$+RD37I:ZN7N5I7)M.!-PKXA> MER55;[? Y7;L!=YNXH&M"F,G_"RMZ H>P3Q7]PHCOV59L!*$9E(0!,$YI)K]R3;.KR1? M:R/+!HP*2B;J-WUM]F$/$/3? 80-(/PH(&H D3-:*W.V9M30+%5R2Y3-1C8[ M<'OCT.B&"7N*CT;A*D.[$!H21ZHV^P2]:G)\W[+_@.^PSR:Q(%ER3LA5$'?/IQ>'@(]]%G:S9LS8:. M+_JGV1G3.9=ZK8#\FLRU47B=?G?YJPG[W82VQ$:ZHCF,/:PA#6H#7O;Y4Y#T MOG2Y_4]D!]ZCUGMTBCU[DH9R/,YF![J\U@0#1V"K?Y,%_2BX2?W-OHF.K.@F MB=NL W7]5EW_I+H)QW9"10X$&Q.1T%NB0".ZQ<$KH3WJ4S[MBJ)!X<">W*B@?#(Z7^7HW;_OJ=JA43 MFG!8(JYW/4 :5?>L.C"R&PO=V]R:W-H965TM(U@$'/#12<%%(^N<[738H#EQ!P*(TC4/O;PQ(X=R";QN^!B<^/5U@T3 M[A371ME99G4FNV."BI*)"MT7G%74[:U&9SD8RK@^1Q_1XSI'9^_/$V+L?Y!4&Y4R77.J= M O3SIM!&V3+Z= M;<>OT2<'+/\=\#''/>;:8]S=WV=!0O93&Z]%]+F122&Z1^ ;516S]<1A:S7! M[/H2(]5?K+YC9.MKLY#&5KIOUO8M N4"[/Q62G/HN'(?7[?L+U!+ P04 M" !*;E!8JEH'(1@# !<# &0 'AL+W=OHDIDR-GHU1RZ[HRW$",98,GP/3. MBHL8*ST5:UN=1L,C+TU^$%@ M)P_&R&2RY/S93!ZBD=,T 0&%4!D&K!];F *EADB'\2?G= J7!G@XWK-_M;GK M7)98PI33GR12FY'3=U $*YQ2] '@YP#L&^"< [1S0OA3@YP#?*I.E8G4(L,+CH> [)(RU M9C,#*Z9%Z_0),\>^4$+O$HU3X_LXH?P5 $V P8HH-*>8270=@,*$RAOT&3TM M G1]=8.N$&%H1BC5YR6'KM+>#8<;YIXFF2?OA*>6AV:HD"VHB*\GF%[+YEKU] M\AA6>B4JO;\H(#*D7*8"T*_O>AL]*(CE[RI5_3I5K9,LJ(FLI&JG4+5S]F6< MX1<2IS'"C*68HE!?7$&6J2G5$B4@$.1U0Y<*717T2@A,W50)G#EJ-:TG\Q7: MCIN-SM#='@IW-IKW"E<364FX;B%<]ZQPTY)2R]>]4*)*FHRJ*?/6 MIMT8E&V"*IM>85/*HU?DT3N;A_ZHZD\FL]>I*O2SZ/=>FSK)@IK(2JKU"]7Z M_[48]>M4M4ZRH":RDJJ#0M5!?7=J\.8NO*TV%]@$53;^T9UR#_JN&,3:]J]2 M5\N4J:R-*5:+%OG.=H9'ZQ/=.F>=[C^:K.^>8;$F.FL**TW9;/1T1"+K9;.) MXHGM[I9Z_0=A#/3^BG.UGQ@'Q1^*\5]02P,$% @ 2FY06& - MV1B1" B$4 !D !X;"]W;W)K&ULQ5Q=;]LX M%OTKA&>P: '7EBCY0]W$0!)I=PJT.T&SG7E8[ ,CT;902?10=)P,YL5@+<3F_7A@M1^4V MSPE_NJ89VUT.W,'SA<_I:BW4A?'B8D-6](Z*+YM;+K^-]RA)FM.B3%F!.%U> M#J[<]Y'O*8.JQ"\IW94'GY&ZE7O&OJHO'Y++@:,\HAF-A8(@\M\#O:%9II"D M'[\UH(-]GL.R7]-$K"\'\P%*Z))L,_&9[7ZBS0U- M%%[,LK+ZBW9-66> XFTI6-X82P_RM*C_D\J\"%1)#%!6<[Q%5IB:8^5-&OK&6\TD(UE#O! MY:^IM!.+.\'BK^^N9:@3=,-RV?Y*4C'X#OV'<$X4C>A-2 5)L_*MO/KE+D1O M?GR+?D1C5*X)IR5*"_2E2$4YE!?EYT]IEDF$\F(LI(.JFG'<.'-=.X-?<&:* M/K%"K$L4%0E-#/8W=GL76P#&,C+[\.#G\%QC*^+5=C5".!@B[&!L%Z*$EV]-(;16 MWC>$]CN9U6X@C/)Z$)3#84*>3.-P".E6! 2FT3?=TS?M3Q]9K3A=$4&[C?P$ M6=:J^I(U/6JKSBCHM'C("B,@,(V&V9Z&V5DTT$?*X[0D]QF%[$76ROL28[^3 M2=.+IDTO,O4>2'MGE_VKZU]UBKZDO2_&2V@*PN @+32 CV) 1G MD?! 2]E9AFA)4OYR3K9B]8UR<#1&N0?YM([S<1D\\CIYV53&->=EUVF5B6.- M2Y1O,O9$*2J51D&;+8_7+>7<-)?WWF2=D[T 5",W M:)U>,#_J!9"51E!H.@&M_G;MLO6F"7>SEEB66YDNY(5F3EI1PIHIDA1XB(DU MY4-4R(%*_M*8[5*Q7M,L04O&D2"/B-UGZ8K45HK#NIR90E"-WJ!-#^=4,S<( MW"Z'AG(^#N:X,[6"\DYGIY77KEU?7S72;<]&FQP2EF5**TWT,QNZUD=NU*\ZYNNN2!I)E27E7;7,[BGAVT+STG7'2= MVA/C9ARH2(="T[EH13JV*D<3%VJ!J2,W+*R 2O 3SOH64D#E-A2:3DHKM[%= M;M=91R-E6W :LU61_BZOQ8?C'WU4GXV+@/9J>I.#K=MJ#0^@RAL*3>>A5=[8 MKFZ_A8?A<[]1T[2F;/7[B7X$JMI/W!<^8_,"U*$("DTGLE7OV*[>/\LA30H2 M(3FK.#4R "K10=%"4+0("DTGHU7R>/+*,SD,*M5!T4)0M @*3:>RE?W8+OO_ MK60H34X)43M*;SZF1T+4=YUI=TDD-)3SW(GO=9=.#.6P,PF"J7EG"K?*'9]0 M[E!I'%3'-VC:;MY\U%T[!*TS@D+3B6A5/#Y'Q?\]>1QT/>#$?9V5QT$7 :#0 M="+;10!LWP/OYG'T!_I$'M-\FQNY !7TH&@A*%H$A::?]VP%O>>\E4MNL!WO==#[##]R;JF]<#0/V(H-!T4MKU ,^^'G!+>?6L1Q'3 MN@\9EZ+M(+U##XD6@J)%4&@Z'0?GVU_]@#OL"7?8(^ZP9]R_Q\* URX,>/:% M@3,%C!VE-Q_^\4Z:BX/N%-Q0S)M,@UE'OAB*N1-G]L)Y=Z^5Z9Y]P_TO9P)0 M$7["6<^2"4 %-Q2:3DHKN#V[X(:2E/9J>I-S?(C='W5/,H!6&4&AZ3RTTMZ# ME_;?J"CMGO2FRGY?;N4("O;/ALQ??#8$U*\("DWGLUTA\.Q*^K8^NZ6.L+ E M$H2OJ!BBF&RJ$Q?RTCU5 Y^,3:$8+Y+GL7"(,K:C'&5IG@HC?: + @V:?O*K MV]% %3\4FDY,J_@]N^+_"\1L-QLK,:"K PV:1DQW01*TQ@@*37\\L-7\OGV' M_",K5N_^J[;M/Q2*(?4 \&U&"H0=U_00ZK4=K_=C@J 2'A0M@D+3F6DEO/_: MY^Y]4)$/BA:"HD50:#J5K?#W[<+_3'G2H$Q?3@HW]HIZ!QE4SD.AZ4%NY;Q_ MQBY_[^-(=M#>?<#NHNTX$J@C$11:S<7XX(T3.96Y6[WJHT35LR3UVQ7V5_>O M$[FJ7J+1N7[COH_JEX*T,/4[2C[)*4%:E"BC2PGIC&92A?#ZM1_U%\$VU7LM M[ID0+*\^KBE)*%<%Y.]+QL3S%U7!_N4KBS\!4$L#!!0 ( $IN4%C/+B"- MDP0 '$< 9 >&PO=V]R:W-H965T-L M#W@1K="*@U+,,EO1C[/BN3]*KJ[&*D\N'B5;/G^]5LI%X(:E:C@)4CZ0KZ"Z M]'1XZ?:E.*;@,Z:2Q(GXHH)_/&+P^=,7\ G$&?ASP[:"9)&8V5+UL;B3O:S[ M;HGG'GM>&\*I[GE=<4ZR-566E.#I%73C[LEKV7RU)SP" M__RA(,%W25/QK^[Y5/?W]/T90OJ/6XN>?8.#\JM/6)!@V M!-;3W6MT]\;0%UTS++NZT\H,.B4KQ$F)6+Q_=POHA]-P9N^Z$FFB)K[G]Z.P M)BITPC:J1\IO2/FCI&Z8D("MU/M[1[.MEL,HP*FCP208-@36$RYHA O.[,+ MI.XFP; AL)[NDT;WB7$75HA!USE3SQF8\# (P0D:>% 3Y!^SX+1A-!UE=$?X M,Y5QM@9JO@2")%0[:8Z"G#H<3()A0V ]\<)&O/#,-@Q-ZFX2#!L"Z^D.G;9J M=(P;L8;L^L?U4#!PHBX*A M'R;1L"FTOI!MS0_]FA.353HPB/F;,MR^(ZZ'+"\H")*BS*YH5S+9A3IY,%A$@V;0NNKV"X%X/3< MSC2ZCC"*ADVA]<5OEQ)PM&+^F#/#P[6EY_O#Q:4N+(".._2F)FSB^T=F3M36 MZFB\5K]-\X2]4@I$Z=)\JPI<11/D"M8S;,)72E(YV*B M:AI>[6]5)Y+EY8[/$Y.2I>7AAI*(\B) 75\Q)M].BALTNXR+_P%02P,$% M @ 2FY06.^F:\)4!0 U2( !D !X;"]W;W)K&ULQ5K;;N,V%/P50BV*7:"Q1$JRK=0VD(1;=($&#;)H]Z'H V/1MA!=7)*V M8Z ?7^H2R5(H6MZR2!YB7DCCEY!:W7 X_1>B/R _9BMB5K^H6*W[8Q3D"47$'Q$]\)-MD)?RE&7/^<[G<&XY^8AH3)@5GW-//%T^Q7]YZ)X6%6"5S!3EE+P@(D@BQG+#H#ET1(MWRC(++)E^5&:W_'@4QK2L U@RV+JBM!K1;=(BXCI M<@1<^"- #G(5 [H;GHX4Z7AX.M14X];WQRWP/-W] ;^5K*OHU:;GJG'-MV1) MYY:4!4[9GEJ+'[Z#8^#J"T[@'-A1(71 M/@II&H)C1.-0154)!)T"*7^.[Q?.S-Z?$G ^!&M#6B5,ZA(FVA+JYP.IG@]K M.;4$"(F@8$4B!O8DWLDFB%(09G&<$[BEK'Q2*'NBO%QP,D(X'KGC3JUOHY [ M@K!3K@(+34?04Y<\K4N>:DM^H*RP6NF2EM*AE&0MQJ6];1(,&P)K<1?4W 7O M+,F!2=Y-@F%#8"W>H=-8/,>,*)_!J610Q=8W9^)OR6SS<&)UH2G-K9"THCL@ M!NMCVG6@I@ZDK>,^2J-DEX!_P%EWJ$>Z=$X81<.FT-HL-L8:NN^L1]"H-S>* MADVAM#J%1H[K^]WYJ Z$ M@=>=E.I 9]HS,1OS"PVYWS,X2".T)HTS-H76YJOQP'"@"=YGL9Q[<22.2K;& MJOOE!?G7^W8'J /]P.]V0$\@ZFN!QA-#O2ENM'F85]3#7:P1)M&P*;0VE8W7 MAM/W%FBC3MTH&C:%UB:_,>M0ZTDO$NA *:=>]XM;3YP#)]W9V1/H^$'[3SU9 M46.,T4!CK->?"J6K%A-WVJFP+]#IZH\ZT'>]GN^GJ/&X2.]Q[\G+4&^H1[JT M^XVB85-H;18;AXW0.TL/,FK,C:)A4VAM\AMCCO2OO"^0G@KIC?2\\88]@6[7 M&O;$08AZ)F;C>)'>\0[VAF=P!KS-O--#7-P._\<+9=28:C305)\1:5\IJ7Z MNJV@#/3&CMOM!76@[[L]O=#X7J3WO8U(#S.)>KB+Q<(D&C:%UJ:R\=MH\MY* M;=2A&T7#IM#:Y#<.'>E?AU^BU%.EL/JPZQ)[ KMN$O?$G;K)=E6-]45ZZSM4 M<)0N=3R9>MV*!@;BGL"W@F.?_-Z?4+8NUDUPL,QVJ2A_**^/UFLS;HH5"9WC MM_ :ERLL&IARP<<]8>LHY2"F*PGIC"92#%FYAJ+<$=FV6%7PE F1)<7FAI*0 MLCQ GE]EF7C=R2]0KV19_ M02P,$% @ 2FY06(]Z..NM! M18 !D M !X;"]W;W)K&ULM5A;;Z,X%/XK%KM:S4@M8,RU MFT1JP^SE8;355+OS[(*;H +.VF[3^?=K X$ #DDD-@_!P+GX^WQ\SL&+/66O M?$N( !]%7O*EL15B=V=9/-F2 G.3[D@IW[Q05F A;]G&XCM&<%HI%;GEV+9O M%3@KC=6B>O;(5@OZ)O*L)(\,\+>BP.S' \GI?FE X_#@6[;9"O7 6BUV>$.> MB/A[]\CDG=5:2;."E#RC)6#D96G)4":PO+R3-(BQP*L%HWO E+2TI@85F96VA)^5 M:MV?!)-O,ZDG5D^")J^W#Y*Y%*QI(<.)XVI!;L%?NVIPKU8F$S_ IY@(G.7\ MLWSW,[ WV)&^,(2GRY.IQ @]HE094]-+4D#?M:>FMU5Z^N M$L4=W^&$+ V9"3AA[\18_?(3].U?==3,:2R>R5B/-K>ES9VROFH( S*Y<8'+ M-"LW-^"9;+*RE$.9'')<)@1\RLHF0BV8CVD7HO4FT3Z.\.ED/OU#!1OY!R&?F@/YKC6B,'014,H M8S$OB.P32/P6B3^)Y,L'84G&SV/Q1][M 8RQQ"V"<(A"(^6$470"1M#"""9A MK%5DY?EY&,'8O8]\Y VP:,1"-X"#((PU8HYG>X$>3-B""<^LR2YCYZ&$8^?0 M"]UP &72U[7I929C/5JBEI;H^O1"JNNEN24:488"B" :4#86TZ6@6"/63T$] MF-#N&@)[LOQ\KUHEDMZ"^W?"9.\'#KL4/+(L(=J";\]9DF:U%L]EK4_G47\% M9RA+-V!_H!TWK),#ZSO%>A5;*_0EK+?;Z_YR?;WZO(^I[5X+FM]$KMF&4YWR\TA21,V M^#D_VP7"<><,H>]ZPX^ :<=7T_1_],ZP:Y[A9=WS$4^S;KYHO$5LT_?L[@>' M]$Y.^&IZ9[)6TVL=G><5A&VJ5R>.@^&PO=V]R M:W-H965TD.(YDL[W*?^: M;1@3Z%L<)=G%8"/$]HUM9XL-BVEFI5N6R&]6*8^ID(=\;6=;SNBR"(HCFSC. MV(YIF RFY\6Y:SX]3WGF_I MFGUBXJ_M-9='=H6R#&.69&&:(,Y6%X-+_"9P21Y0M/@6?.S9C490CR3S^5:"#JL\\L/GY ?UM,7@YF%N:L5D: M?0F78G,QF S0DJWH+A(WZ?YWI@8TRO$6:905O]%>M74&:+'+1!JK8)E!'";E M7_I-%:(10$:/!! 50%H!>/A(@*L"W&,#ABI@>&S 2 440[?+L1>%FU-!I^<\ MW2.>MY9H^8>B^D6TK%>8Y/\HGP27WX8R3DP_B73Q]?65+/42S=)8_O]EM&#P M-2J^0A^W^6&&/NY$)FBR#),U^G7.! VC[)5L]3.R4;:AG&7GMI )Y;#V0G5^ M579.'ND<$_0A3<0F0T&R9$L=P)8CJ89#'H9S18R(<[:PD(O/$'&(VY'0[/AP MTA$^/SX<=X0'QX<[AF*X%;=N@><^QFU.2Q>WEYS39,WD?!?H]AXUVUW3^^+T MY9[R)?K[O81$[P2+LW^ZZ"W['W;WGZ]Q;[(M7;"+@5S$,L;OV&#ZRT]X[/S6 M10TDV!P2+ "TT@<5B0.3>C3COEWACZS3$BRY"$*OFWEFBL/1%JN5MIQ5=JQL;0W^9J!/B:L:^S&T+XK 238'!(L +3ZN]5]?=>>#GW($F$ M!)M#@@5 8!J)DXK$R1&3*%VU5IGL#,DMNUQ="B91%,:AZ+'RE'UBTES!B76P M@!M3ZTL))%@ !*91XE>4^"=2LMMN3Z;$/UB.7;D>1T8MCLRI]B4)%"V 0M-I:HA'_-R[K1N6VQDY73,I M!3E=B!V-T/MP5>Z\[IF<:MWTF5/SRE"$,8I+C8G1DMYW7:G,2+T)AD0+H-!T M@DE-,/G?;J=5:MH2ZEK#]NPT#J W>9!H 12:3EXM_[%1F%;D*0;H;<2J=;)Q M[KOKI'NP3CIM$D"U.RA: (6FDU#+=WRZ4"-!E"T I-)Z;V&O"I9L-3E*WJ MM+DO&P\/?4YS;KUY ;4;H-!T7FK# 9L=AQ^B;OU#=>LXKH_;-(%:$*!H 12: M?BNQ-B$(M D!IVZ_D]J#NAU5XI;DZK;K'NS,#-6785"T I-9[CV+\BS^QEI'D!O\D"]"2@TG;S:FR#'>1-/E+>J%_WN)QFV+V?F9'H3 M >HS0*'I1-0^ SG!9WBBQ%5=:K.#6.V]GSFQWJ2 ^@Y0:#HIM>] S+Z#4KD; MSCKOUYJC^XHC4+0Y*%H A:;S4+L-9/3".I> 6A:@:'-0M *3:>RMBS(,0] M0.MU6GSW,TX6NRHU;?W$Q)JT)Z9Y M"+T? @;U*J#0=/IJK\(]SJMXHMQ5O3272,\G!X^*F9/I302H[P"%IA-1^P[N M";[#$^6N>_BL W8F!P\[F#/KS0JH"0&%5K)B-UYIB1E?%^\296B1[A)1OMU2 MG:W>5[HLWM*QZ^;ERTX?*%^'DJ^(K62H8WE21?#R_:'R0*3;X@69VU2(-"X^ M;AA=,IXWD-^OTE0\'.0=5&]Q3?\#4$L#!!0 ( $IN4%@MSK3:Z04 (H@ M 9 >&PO=V]R:W-H965TRQUC''Q/DZR\F>TXWU_;=KG:L9265KYGF;BRR8N4+>?["DSAC]P4H7]*4%C_N6)(?;F9H]G;B(=[N M>'7"7LSW=,L>&?]O?U^(([N-LHY3EI5QGH&";6YFM^@Z(K!J4".^QNQ0]GZ# MBLI3GC]7!_^N;V:PZA%+V(I7(:CX>F5+EB15)-&/_YN@L_:>5K^Z$5+'L57/'N^,=\<@=$09? M\HSO2O!7MF;K80!;=+_E@-\XW&%CQ(BM+$#0)X A)IH.+4]OCC7-H].;(P,; MTCX14L=S1N(]L)(7\8J+!U(_ 9W"Q@A5JK@N]W3%;F8B%Y2L>&6SQ1^_(0_^ MJ5-GRF#11,$&RCFMO"\0,W].;V:U\@%482\HSDOJ[H%DU==ZAXJE4$/3D/BY5&$&N0V0J*@Q#-^P),Z#BMU3\ MDQ*!R,8E2.B^?)^6KW3D"A$?ND3BI<5!QY6)Z7#(#6&@9Q:TS (C,[%B;UA\ MPF,*U/N'@>]!B8X&YD+D20,STL&("UT]F; E$QK)B%7LC#D4*GWP7.)XKL1( MA>FF6J3"I*DV8(1@9PJ@,9-^J^T26U^!VU=6"/\'ZGD%A,5@X#.-"_"5)B\, MW+,"/%9DM38 3IEV)XT6315MJ&_/=*'S4N\G<'B3G#:*;VO%UY7BFTKQUUKQ M:GBM\R2A10GV0OUZJ&E'6M.%L#SI@B"SLP>XSIDWGZ9#1 W5KQ244<50"GB @9V,=+O0L M)Y %T> 0#JRQ)09U5@V9O=IPD;F$%*XRO1W7"D)9"16F22J1!B8EE:$.G;M# M9GLG%ISZ74>UTCZ.%Z#&(&>O/%-&BZ:*-A2P\Y3(_[4:"1G-Z-F:31DMFBK: M4+/.K2*S73V[4$*JTR1N .7J0@-#7D"4E5<#"T-WI+I G6]%9N-Z8JF$5)/I M(QPJ.5+C15TO]&4R*@RYT!\I*'#G6+'1L?U*L=1$['=%+BS>AT1&R)!,9P^Q MV1[VL]QJ1[/MNR.N"6CDHD)$T8=<.7=K<9!X(^,-=TX/FYW>R55?$\=(1H5< M$=>7%V0=3)1'(\L0[@P;-ANV\VJ^)MA@S$,?RG-CJ<%ITD:D"S=(&T-2G=/" MYM=GDQ1]>-)W;9-&BZ:*-M2W\W#XS/=M%[!Q6.//?"N4+;X&AI!KJ;E APNL MT5S0^3A\TFNZ2RC@J1[<]95Z=JG#"4\OIF7O(\NA:8.AJ "=$3TZ6X;/?M=W M"6W4]WE*8GT7$ADA0_Z=Q<)FBZ6N>)>@KQHIA7Z@&16AY2HC08-#(;;"D4H/ M=ZX,FUW9)>M=K)HO18!05\)JW@=I@8CT<\UP^ZNSZS;W'R1)QX*2 M>5CJ8&HNC30P*9<>=;![F[0I*[;U9G<)5OE+QH][G>W9=D/]MMY&EL[?H>OH MN"W>A3GNTG^AA5AB1 )A&Q$26KY(W\5QX_MXP/-]O17\E'.>I_7/':-K5E0 M<7V3Y_SMH+I!^^\'BY]02P,$% @ 2FY06%/G"#@7 P Y H !D !X M;"]W;W)K&ULK99=;]HP%(;_BI554R>US7=(.HC4 M4E6KU&E5:;>+:1E^<<^SCNKQA_$7.$ M)'C-"14#:RYE<6G;(INC'(H+5B"JWDP9SZ%40SZS1<$1G!A13FS/<2([AYA: M:=\\>^!IGRTDP10]<" 6>0[YVS4B;#6P7&O]X!'/YE(_L--^ 6=HA.1S\<#5 MR*Y=)CA'5&!& 4?3@77E7@Y=(S 1/S%:B<8]T*F,&7O1@[O)P'(T$2(HD]H" MJLL2#1$AVDEQ_*U,K?H_M;!YOW:_-? $G %/P-&<+ >E$ M]&VIN+2[G54,UR6#MX/A!F47P'?/@.=X?H=\>+C,PRW>KJ#( M[>8-:]YP+^\]H[-SB7A^+''8@O$=9[O"[2#/"\-NXJ@FCO82/S&]$QQ)&[5 M@C#QMVC;07[L1MVTO9JVM[=I;S$U.]:1+=O[R);](+.-_.,Z_WCO;*WS?Z]A MXU;MD\C9FI]VC-L+?:][@I(:,#FH8:<;H.\LIZ2]KI-HB[8=HVE[W;2N\_^[ MZ!S8L$<15ZY-G##9WF Z@IP=O(WON'M NQ['ZK8VYCAQMUG;05WUM1M'$'W^ M^P[Y#%.A0*9*YUSTU!;%RR-5.9"L,*>2,9/JC&-NY^H8BK@.4.^GC,GU0!]T MZH-M^@]02P,$% @ 2FY06%T068S[ @ & D !D !X;"]W;W)K&ULK5;);MLP$/T50@V*%&BBS9)LUQ;@I4$#-&B0K8>B M!UH:6T0D4B5I.^W7EZ1LU8NL])"+1%(S;]Z;(3D:K!E_%AF 1"]%3L70RJ0L M^[8MD@P*+"Y9"51]F3->8*FF?&&+D@-.C5.1VY[CA':!";7B@5F[Y?& +65. M*-QR))9%@?GO,>1L/;1<:[MP1Q:9U MV/"CQ NY!/I:W7,WL&B4E!5!!&$4< MYD-KY/8G/6UO#)X(K,7.&&DE,\:>]>0Z'5J.)@0Y)%(C8/5:P03R7 ,I&K\V MF%8=4CONCK?H5T:[TC+# B8L_TY2F0VMKH52F.-E+N_8^@ML] 0:+V&Y,$^T MKFR#P$+)4DA6;)P5@X+0ZHU?-GG8<7##$P[>QL$[=.B<QD$V=E[([ ]M9U:;:<-/?Y6 M L>2T 7*S;Y)U+YI$ERA1 9%7RBKV.V%P[0HY-O(=QZN-]@@&-<&@M1Q7 MA&*:P Z]?A._X"T+\D9@>WK#6F_86I!1P;@D?["Y&]D<<7U]7;#YQ5+)QT* M;#RT%6BXD_K(]P[*J$]5LHU:VUU2"RH%$BFQ5(3;+R<*P;^09'7%P MG>!P'QT;]8)FGMV:9[>5YQ/F!,]R>&67=X\"^Y%[0.[8)@B=9G:]FEVOE=T# MDSA_A5KOZ&QU7'U=[G%K,NKV#LC9.TVF +XPO5>HP$LJJUN[7JW;^\ATM8/U ML6K[59?^!U/],]Q@OB!4*$ES!>E<1NI$\:H/5Q/)2M/*9DRJQFB&F?IU :X- MU/KUNWNM9LXB37 G&V2[=N?#102[+H5:]XDF/C_\'OLX,?RXL#X=[$C M1((?15Z*I;>3LKKT?;':D0*+"U:14OVR8;S 4C7YUA<5)WC=%!6YCX)@[A>8 MEEZV:.[=\6S!:IG3DMQQ(.JBP/SG!Y*SP]*#WN.-+W2[D_J&GRTJO"7W1'ZK M[KAJ^;W*FA:D%)25@)/-TKN"E]>H*6AZ_$/)01Q= VWE@;'ONO'7>ND%FHCD M9"6U!%9?>W)-\EPK*8[_.E&O?Z8N/+Y^5/_8F%=F'K @URS_EZ[E;NDE'EB3 M#:YS^84=/I'.4*3U5BP7S2RLU?=&,35.MW-!23^.]Y.I7JNID=DO4 M& CP'GS&LN944M5@&_!W13B6M-R"JW(-/M(2ERL"FL[@EN('FK==W]X0B6DN MWBF%;_R6Q$[-A;S9TJ6=JS&8V@VU5W%3IE6&?P;D>W?TQN%-Z M(OBL!Y\]!Q[9P-NJ^3'X#"4C<*?T1/"H!X^> Y_;P",#/('IB-NI/)%[WG// MG^..;=QS@WLV&W,[E2=RQSUW_!QW8N..#>XPC4?<3N6)W$G/G3BYKS:2<+VF MI3;ZQ/R;0SBB=^I/I$][^M1)_Y5)G(--K3*&Z!BC15V O(F3"O]4VP)I75=3 M\\^4Z-?EQ)?SR1-]P6#(S\#I[)8(H0)/30X1TAIV@6'B/0K#D0GW4Z:Z.-H% M0*>+.RU:2K#'>4WT!J"=FWR(>JLU:,Y/E!K6H!$>80*'63Q%'F(9NG/Y9%-B MQWO56'XMM5.[0S##:+Q M]NBD;4A6-:&UL MK59=;]HP%/TK5B9-G;22Q EAZT(D"IHV:9,0W=:':0\FN1"KB9W9!LJ_G^V$ M"%#(F-87XH][SKWG^(MXQ\63S $4>BX+)L=.KE1UY[HRS:$D=%;DDHS87NN2U+1DM@DG*&!*S&SL2_FT8FW@;\H+"31VUD ME"PY?S*=S]G8\4Q!4$"J# /1GRU,H2@,D2[C=\/IM"D-\+A]8/]HM6LM2R)A MRHM'FJE\[+QS4 8KLBG4@N\^0:-G:/A27DC[BW9U[,AS4+J1BI<-6%=04E9_ MR7/CPQ$ AQ< N '@$B=9LIF&]L6BMAC*S MB@]*Z%FJ<2KY MH#B6[1HQ4,&9IL0>CU0PLPFX"R-;(QZ!N($DU8AF94IGS# M%+J9@2*TD&]B5^E2#*&;-FGOZ[3X0MH9I ,4^&\1]G#0 9]>#\>G<%<;T+J M6Q>PY0OZ7?@Y64HE],[ZU:6HI@B[*^ M%R([41NT:H,^]N2ZI;Y%^JH01)GAHO;G9@]$="]W?\8 620:H9(SE4L4H8SL M99P,/#V-T>*^P.\Z,V[$1. MU,J)_D_.^5K^14S46648GHGI#AN^/Q/C'EW;YLG\2L2:,JF+66F<-QAI4T3] M#-4=Q2M[DR^YTN^";>;ZY09A O3\BG-UZ)C'H?TOD/P!4$L#!!0 ( $IN M4%B^Y?;Q8@, 'X, 9 >&PO=V]R:W-H965TV@"9:L (K&C3K]IF63A91B=1(*L[^_8Z4HSJ2 MHWF&O]A\N7MXSW/4Z;3:"?E=E0":/-455VNGU+JY=EV5E5!3=24:X+A3"%E3 MC5.Y=54C@>;6J:[

C?YTNC;TU^)/!3AV, MB6&R$>*[F7S*UXYG H(*,FT0*/X]PBU4E0'",/[>8SK]D<;QY(Y<- M57 KJK]8KLNULW!(#@5M*_U5['Z#/9^YPPOV76V\=(A6:NTJ/?.&$'- M>/=/G_8Z'#CXT2L.P=XA&#K,7G$(]P[AJ0ZSO2)]QD_8'+7&7H9].?@<439$/Y*%MF@HPH9I6Y):JDMSAE2"?>'>U M3([>IJ IJ]0[-/_VD)*W;]Z1-X1Q\D.=\/ MR&?!=:G(KSR'_"6 BV1Z1L$SHYM@$C&%[(J$_GL2>$%X)*#;T]V#(^[IZ>[^ M!)NPST]H\<)7\&PF&LIR@GD@M!8MUPHUSZH6Y3+BZQ)(C5ELI$06I3%)) MQ>B&54PS4-?'$M,=/#M^L"DWUZJA&:P=K"<*Y",XR<\_^9'WRS%1+PF67@CL MA>"S7O#9%'KRI0&)UYUO26:D+_ A4*20HB:BW['Z'KWL'79LL4W%?4R"8+%8 MN8^'6HV-PC@>&*6349ZIP;S78'ZF!@7CE&T(I[6O%D+;&U MGE"E $N(V& MYUT)@:>LI'P+ML9P?%>/"L@QIO$EZ\=&+O)B\ M.Z>+/*@G_R7W8G1I@C"8#6[6V&BQ'%:6R?C/5&?9J[.\D#I%_PR>I,YR7'AG MWD"2P/^5QSWHS&J06]OA*I*9UWC7TO2K?1/]T?:.@_4;;*Z[ M7O@'3->9?Z9RR[A"F0J$]*YBK)RRZW:[B1:-[?\V0F,W:8&PO=V]R M:W-H965T7N_872O\V)8 E#X)+ M,PA*:V?G86CR$@0U)VH&$M],E!;4XE9/0S/30 L/$CR,HZ@7"LIDD/:][5JG M?559SB1<:V(J(:A^' %7BT'0"9:&&S8MK3.$:7]&IW +]FYVK7$7MBP%$R - M4Y)HF R"8><\.W7^WN$;@X5961.7R;U2O]WFHA@$D0L(..36,5!\S&$,G#LB M#.-/PQFT1SK@ZGK)_M'GCKG<4P-CQ;^SPI:#X&U "IC0BML;M?@$33X^P%QQ MXW_)HO&- I)7QBK1@#$"P63]I ^-#BN 3F\+(&X \7- =PL@:0#)2P'=!M#U MRM2I>!TR:FG:UVI!M/-&-K?P8GHTIL^DN_9;J_$M0YQ-AWE>B8I3"P7Y8DO0 M9*P$%E#I;G8.Y%(90X[)9ZHU=3=$#C.PE'%SA-:[VXP<'AR1 \(D^5JJRE!9 MF'YH,3!''^9-$*,ZB'A+$)V87"EI2T,^R **=8(0,VK3BI=IC>*=C!GD)R3I MO"%Q%"<; AJ_'!YO@&O.KWH_2;5]DF6[8EL3=%N MJVC7LR?_6?87,E<"B]V5_Q'Y<8EP'WSF#W:#;9X> M)^^B7C^T[I'M\JAS#E=:JP ]]2/*8+R86MV.6FL[!8>^^3^SCW Z MUL/LB:8>K5=43YDTA,,$*:.3,XQ*U^.JWE@U\PW\7ED&PO=V]R M:W-H965T8DE^=Q#WLM[+X_,3/>4?>)K MC 7XDF>$SP9K(3;7CL/C-8[8UUN'GQ(5VM1/'#FTPU:X05L<.-=1W!4&)2(/U*\YP?7H'#ED=)/Q/['_7#HOG7E$'"]H]F>:B/5L M,!Z !"_1-A,?Z/X77#LT+/ABFO'R+]C76'< XBT7-*^-Y0SRE%2?Z$L=B ,# M+SQB &L#V#4(CACXM8%_JD%0&P1E9"I7RCA$2*#YE-$]8 5:LA4793!+:^E^ M2HIU?Q!,?IM*.S&_B>-MOLV0P GX3:PQ PN:RPQ:%TN[P^ =Y1Q<@L4:D17F MX(Z DRPN(BQ0FO&WTO;C0P0NWKP%;T!*P.]KNN6()'SJ"#G]8A).7$_UMIHJ M/#)5#X+WE(@U!S^1!"GF4&,> MG6[N&;SQFZ7T2S[_&Y?RCL0TQ^"B6*"WX*]WTAS<"9SSOW5K48T5Z,Z/NCC:)(LLD2DQ#IH8!R;V^2W*$(DQ0 (\XE5* M2$I6@"[!!K.4)KHX5GRCDJ]HPKMY.!F%P7CJ[ XCU(>-X3B8^"HLTK %@3\, M&YCBU;#Q:FC,G%_E_K(ELE2D6%O%0YN98Y,LLD2FQ#AL8AR>FCF8).:&<#+LY(P.UD^M MJ _KI);BSZCQ9V3TYY1M0.>;D?7<[+!)%EDB4Z(Y;J(Y?L7>/;898YMDD24R M)<:3)L83R[U[TJN<2U]VVVX=:F!>./9&G3K4LD%77X:>VPHX]Q6;=SV8I=RQ MRA;98E,#?:"4/6L=O*92%AN.7:^SGR]T.$V*13JL!PG"'.TV4:ES'7!SKH M%947#"?=$NVC9.G!45=F:7'^(4YUNA7GGE&7SF]RNBUZ=^N3;/-+1G. #E0# M?2XTV@@,>W/V)V[8C4 ?Y7:=-T%4OUO![(6ON;$9Y?G95663+;+%I@:Z5?*> M6V857%15 MM2N)RTJ_?*.3?3D[],.N--:@],NLPQU?9MBJ8V@4A9:;B'FP?0K,_M]N9ZL,,RFXPZ[ZD+#>C2@V&W M.6EAWN1(P;;*&1HEY$OVY7ID0\==/ ^)C!#5Z5;7PN 5I0XTBNBSR\DF6V2+ M30UTJZ6A64M;+J>^ZM644Q^D+2<=[&@YM2(:FG]V?LERZO^PW"NG9R&1$:(Z MW0I::!:TMC1./^CH')[DY9JOR1)S+>=;<>7[K74?5V7E+4QWEOT=L5;27#"\EI7LUDHG'JM/QZD;037E>_$B%H'EY MN<8HP:P R.^7E(JGFV* YG\4YO\!4$L#!!0 ( $IN4%CXN?0I> 0 /D5 M 9 >&PO=V]R:W-H965T@$#@;271&I+[[;2ME>UVSN=3O?"@4EB+=A9VTG:^_1G R4AH;19T3<-.#-_ MS_S"#%,/UUQ\E7, A9ZRE,F1-5=J<6;;,IY#1F2/+X#I;Z9<9$3I6S&SY4( M27*G++5=QPGLC%!FC8?YVIT8#_E2I93!G4!RF65$/%] RM%W="W]F52D(S8))RA@1,1]8Y/HMP:!QRBS\IK.76-3*I3#C_ M:FZNDY'EF(@@A5@9":(_5G ):6J4=!S?2E&KVM,X;E^_J/^6)Z^3F1 )ESS] MBR9J/K(&%DI@2I:INN?K3U FU#=Z,4]E_A>M"]O0MU"\E(IGI;..(*.L^"1/ M)8@M!QR\XN"6#NZNPVL[>*6#]UX'OW3P ?I"GD"B7] M$8*87P(=1: (3>6Q7GU\B-#1 MC\=#6^D=C9\=E^H7A;K[BCIVT0UG:B[1%4L@J0O8.M0J7O^-6QDA7:.@NV[,64Q32O(.>D096H"(@:G&2BVV MP7@K0*?G#?R==-NC.>KW0N>G)OVHU'=J^CALSCZHL@^^+_L3LZ!?=%)WJ@2* MJV.4+(6N(8.!\N1-(NU;'_E^#S?G>MGJ>6C-="16XQM6?,/6)".8@A"0Y%R) ME*"D?JY2#5@O<;1D"95*T,G2+ 13.-M+*=P[^G?K:/60 YEUI%8C=F@8C9H M9?;X;BB%3K %Q?,=9[_%M.YW*)J.Q&IH3BLTIZUH_M#E1LQK#*5<2A3K:>)9 M-^,U$4DCH-,]0#APFPBU;GLHH8[$:H2PLQFXG$-+[@2M2+HLVCA)]2A.6 R- MTY:S#RP,@G ?6&E9>[^%_6#__1:UA_N].+;F3_Q&-9GWV(S1_THD$V PI:KQ M>2FUMK/R AW*?OH-AJZW;Q@U&/I>X+_ZVL;N)C&W-;'?K^YOSF__;DRCU?/0 M :Y3M:@KM3JUS4",/V0BQIV.Q)VJ15VIU8ENIF+23E_E(_XN/^-34 M'YFDU;#UU@!5[KPS\P6[M=@:W\$T.U*KT]Q,X[A] +Z]^O+IZO[S^6WTT$BD MU?O@Y[!+M:@KM3JYS22/@P^I["YG[/[*RPZ;*[N]6 M=J)0 M](:(&642I3#5DDXOU 4FBG/&XD;Q17[R-N%*\2R_G -)0!@#_?V4<_5R8S:H M3GO'_P-02P,$% @ 2FY06+R[X]C; @ .0@ !D !X;"]W;W)K&ULK59=;YLP%/TK%JNF5EH+&$*2+D%JPJ;UH5K5C^UA MVH,#-\$JV,QVDN[?SS:$YH-F?>A+\,<]Q^=38R96J M+EU7ICF41%[P"IC>F7-1$J6G8N'*2@#)+*@L7.QYD5L2RIQX9-=N13SB2U50 M!K<"R659$O%W @5?CQW?V2S=/9G*=C1W/"(("4F48B'ZL8 I%88BTC#\- MI],>:8#;XPW[5^M=>YD1"5->_*29RL?.P$$9S,FR4'=\_0T:/SW#E_)"VE^T M;F(]!Z5+J7C9@+6"DK+Z29Z;/&P!_.@5 &X >!\0O@((&D#P5D#8 $*;F=J* MS4-"%(E'@J^1,-&:S0QL,BU:VZ?,7/N]$GJ7:IR*KUG*2T /Y!DD.D=37E:< M 5,2?9^C9G,"^O4"M!-ZFH BM)!G&O1XGZ#3DS-T@BA##SE?2L(R.7*5UF=. M<=-&RZ36@E_1XF-TPYG*)?K",LAV"5QMK'6'-^XF^"AC ND%"OQ/"'LXZ! T M?3L<=\"3M\/](VZ"]JX"RQ?\]ZY00F5:<+G4U_+K:B:5T-_/[ZZ,UXQA-Z.I M*9>R(BF,'5TT)(@5./''#W[D?>[*UGN2)>]$MI/)L,UD>(P]3G0>I:)I5\9J M9-\B3=%ZFK$N M[34PVCKOW/?\L+\GOBLLT*D=[,GOB,,XZG7+CUKYT5'YS5M\JE]?73UF=6VA M]:(RM:7+6'202-P?]O">K\.H\V%_T-^SGQR&A9X_"/=LN5M%M02QL,U)HI0O MF:HK4+O:]K\K6_;WUB>Z+]9M[(6F;JHW1"PHDZB N:;T+OHZX:)N5/5$\&ULK5==;]LX$/PK MA*XXM, E$JE/I[: Q+KB^E @:-+VF9'6ME")])&TG?OW1U**8LNT$01^L45J M9G9V*5*KZ8Z+WW(%H-!SVS Y\U9*K6]\7Y8K:*F\YFM@^LZ"BY8J/11+7ZX% MT,J2VL8G09#X+:V9ET_MW+W(IWRCFIK!O4!RT[94_'<'#=_-/.R]3'ROERME M)OQ\NJ9+> #U8WTO],@?5*JZ!29KSI" Q>+\ MMQE\K69>8!Q! Z4R$E3_;6$.36.4M(]_>U%OB&F(^]$-G*=*G8.A14T7PJ^ X)@]9JYL(6T[)U M^C4SZ_Z@A+Y;:Y[*O[*2MX >Z3-(=(7N!=_69DTETF5%!W<_%J!HW7S2L!\/ M!?KXX1/Z@&J&'E=\(RFKY-17VI'1])"8@<5BX:*1>?4 M\R]0@:"-JV =,;5$,!+A;.3[&'053L*1[6/0)(W=KI/!=7*^X%SHLY6Y?"='T<)H MY/H8B=5;E,R%G,WGDROWL][R#UT60 MAN.'WP&+X_&C5CA028;';Q5_K]EK02QMTRQ1R3=,=7W2,#LTYK>V'1W-WYF& MW3:1KS)=M_^-BF6M6\ &%EHRN$[U>T-T#70W4'QM6\HGKG2#:B]7^J,#A 'H M^PO.U<$ !^$P &0 'AL M+W=OI_G3#W?02:/-QW:.3U8\LW6V ?]V?6.;> 1 MS-?=@\*[?H62\AR$YE(0!>N;SBU]OZ!3:^!&?.-PU"^NB:6RDO*[O?F:0918)Y_%O"=JI?%K#E]0)/?R!(2*1*><>:R(M?D(Z2@6$8>#3-[(]4S.9N0 M)3- N@LPC&>_7O<-3LC"]I/2^5WA/&YP3F-R+X79:O)!I)!> O21244G/M&Y MBX.("TAZ9$#?D3B*!YX)S=]N'GO,%V\WIP$V@RHY XO8GZ9 MIW?D 50"PI"_;U?:*-Q,__BR47@;^KW9"O->[U@"-QTL(1K4 3JS7WZBX^AW M7R1_)-CB!X%=1'E817D80I^=5KC!X.IJE2L,LR^&!1:-')BMJH=9U+/9/KP, MSIM&+=I&7= 9571&03IVHX(CTQ78-W +KTN"*Q"PYL:[40M,2B^F$@U&-5YA MU]VH-XU^]N$O_/A-7,<5UW&8ZY8I<'4_);A!L!EJMR%\#,>^8$?C&L&POV[< MHPT$6PT'KPPO*$\JRI,@TC>6[8OBS#)LVDPD0-@&&[PVMM^!4A@+FWVF-1CM MBT38 4YUZ.^;,_K4(Q#3K\)&5ZY%E&>+YC7*$:,3ZZ M4T_B:UD/^^G&PZ:0+(+@%ZRN*E9706]S[(A<;&PUQQJON=V[IE!9Z3YI6MU7 M[23;ARS",^M./ F^X$BCL^R(@EA++.-,)5O"1(KK]H "=)<[SDB3>_/8@M@= M-!6?>6E97W\TKM%O\S!LY?]"=M%PTY$*):EP;8:D'!N]0O:<95[F8:PN[8V; MF%-_W;VJ,V_Q$/?B%N;QF7DN/L@,A(IFKT256H3KYAH <1^^CKL)?M!^VYN1Y^T4#]+ M*!K64%\%?G1F_#_L/>MR9<-3LF58QT@FL1/Y4SU\T^J<4Y]0JI,-CKFD=992 M-"QHEG"HVBT*J8O^BMI[A0+O$T[@@L^"82V9GX43#@F2.6=FC M=D)6?[(=$V2E4$ILB9.,.]=RQ,:E#E?R 91NJ$QC'T_ZFJ=/?=5Y!L=<\CRK M)1H6)?=<)Y!E3(#<^]=@BZBA38IO3OVJ)AK5>?G'Q7$#M[/\H6%=\D6:AJQ, M?1X'TV$]*RVZ9^0I$"4GG^[IT4F-4O_%P40.:N,.>#3JFKTPQ4=]];0Z1+IU M1R>UYW?V<,D=>)QABI.I>Z8V*'Y)!FN$Q)*&NT45ASW%C9$[=_RQDL;(W%UN M@:&JL@/P_5I*<[JQ#JHCM]G_4$L#!!0 ( $IN4%BG4;;8' 0 )P/ 9 M >&PO=V]R:W-H965TZ5)NI MEWEH"2NR8^J!'_Z$IJ#8Y"LXD_5?=&BT@8>*G52\;((U04FKXW_RTC3B+ "/ M>P+")B!\:T#4!$1UH4>RNJPY460V$?R A%'K;.:B[DT=K:NAE?F,CTKH7ZF. M4[.[JN EH"?R A*-T!Q6( 0LS0-T(R4HB4BU1)\I65!&%=6J]W-0A#+Y0>N_ M/<[1^WWAX&>[KAK1="=NNA'6^J#=?TP:EVT#J-ER[BCIF&;NSF!EX+;>D@*FGIY@$ ML0=O]NLO. E^=Y7XDY)=%!RU!4=#V6N#!.<7/&9(ZPQF==C/ M0AS'$W]_7H1#%,;C5G0!-V[AQH-PC\V4Q^EX$/"8)3E[-XZ";-PAM%49QKF; M,&X)XT'"ST!ZF&*;"6=)!\D6C3,SCEU(28N4#")])T*0JIF^>ADIGA'?FC8Z M,1.;(,ZR#J9#%&2I&S-M,=-!S+MJ#Y7B@KK;EUJO#-/ND+,U.,_<5%E+E0U2 M/>@)1D2QJ9NWA+UVNZWV+H4*O2A0Y2+-;-(H3#NH+E':,SOREC4?9/VJ-B": M1RD[[!Z>1XD%[^K]. M^K.R759^LBL\[%=ST&D+6@\H9[&V!8W".([#[I=QZ?(H[UER\)\ M>:",.>%L,QKA, ]Q%\ZE"_K'SH0N3R.JP?W9T,N?6OXA8TTHB M!BL=&%RE>IB+XU'P>*/XMCY-+;C29[/Z&PO=V]R:W-H965TATJFHKN,0; M#:8N2Z9_SE&H]2P8!D^&!5\5UAG"=%JQ%=ZBO:MN-*W"#B7G)4K#E02-RUEP M.;RX.G?^WN%/CFNS]0Q.R;U2#V[Q)9\% T<(!6;6(3#Z>\0K%,(!$8T?+6;0 MO=(%;C\_H7_RVDG+/3-XI<1?/+?%+)@$D..2U<(NU/HSMGK.'%ZFA/&_L&Y] M!P%DM;&J;(.)0UC6S+)UJ MM0;MO G-/?C<^&A2PZ4[Q5NK:9=3G$V_R$R5"-_8!@V

00[_8Z//N;%R)R5X:,4TXX@^%/N9P1$V8V_&.E@Z M"<^'_!CCP]K(;&UWC(W3L\[&M&SU 8^V:!]X6I&CIH1!'V0AS'D(HDE/O;)((X"2+(?5_XA ]=RH M\M6=\BQ4(%^!HA,9X*KB=:7-AF6.2;YL3W!6O%8G.YC^]SJO(?!/?:(.=M9&W<\\4[;%I## MG;=U"_;!+[^O6+E\NFV/V)Y^^WNM@VM>W:UN/\KI8L!6YUN9&SOIZ*+EDYH2 MG<3@-WV$W\;"-?1EQD$&(/9SCEO\1N880^BN5&01[?-86$4/F<$S*'#H3-.3 MQ0R9J;@;+F3XQL!8;A601_;#]';B2']YVC[2AIE>2]N+R1UG7NJ'FPM$"Q:% MC/(L@*F($HB$GT!"Y"A@'@5Q$@9)["=6(=NN))L;*^EP1ZC%!E@)? 5DM_?@ M1[F&/\F]O?5M%&=#:&8SO1$$[[^ "FN_D3K\^-/95@.CJ$ ZS#\+7(0,ELOG4_!=7Y/;L#E";AL"TJ M8(N8FWWY&0@&;G>*2-_^]SNNG=ZNJ+O5!5G53 MW_'RRQU>-;?HJ@_%ZI%7*HG*6A^O12A)&4L8]"*4093Y'B14VFP)#S@+(A]G M)%T\["6QN=PR<"6_S53;UV*\6?<+O\U7^DB/X*6.]U,[^$K?P_7 3;41<2;WO'8G MKH?#>LOB7(!AUM![7E6<;TX^WZN3T$_\OHF:T?_ZPLO[11I[D:>BA'G@2U,F MIC[,>))!CS.$,XZ1-&ALW$]FWNTG=Q=OTHU;GE1WP841R$">(">@EB$"4TAH2$_Y M612&U.ANY.PTFQOM[J91H6T Q+=6"8@;+<"M]L,PY8<1R@_SJ#U7BH99L5Q* M(E;1H,TFP9"29S]Y\T_G.-UULO^FB@=99F/P,![\_.']. D]X)6!.:A^]B#!' 8=MOU7& MG6TBLFWFS=2+8^+Y%&9>(&W+5(20Q,R'R"W5X*K2JUKLW98K)CAJFVV8QM;Z,;-K@C.;*CM!7 M3=)>-6G:E7HK^4AWD6T!#OB]4M MU.?WK!4F]B)XF MYL83OWWX^&[7":=%UHE'GQTN6ASKG<.PGRD$@I9G8'!53>1$ M+],6#>E7]: VR)G'!YYE\%NUD_G$'XI2Q0':>LY/O#ZCS[85$6QD',!06SI3";07,K0)@']5 MK#1#K?%2A<'[BR!. ^2G&$9>FD(4H ABD:@:'C01H>]+B]GN-']Z'>;&6*TF M@&]5.1(JOKVP0[?ZO% VL N^'T-S:MY?Q=B6VN5QWYO([C>[']5!2/?VAM(. M'([O*;W@6+YT[K(+-/AS9#F[?(BG,]>J0MTMC;[= MG8+6;!%Q -C(1+_!:B/B")ZD,S XXLA3O4S*8V=4W>>:BPLM? MRV+]\*'0<;>2E]4U:^2CFY6?ROSFK\NOJT6W,LH81&#'D/2 MM(Z8@)FD$.B'?I3(WZ$$696W&BK(W!CEW?T#SLOFHL_.-:#N,*80X#_Q UX! MLJ[R%:]L3[N'#I?A,?@$@S#V^7BK M ZJ(0D32Q_IP;8Z'$%E";@1Z7+3T : MK%H=R*0^#@_0+T34U5Z:' M\T=>G1NY[8@(7G.UG<]7S69/26Q8\^043.?/WR]$:&3FZ0<'?%7B.CII[P%B MT G[L?8F.UGO46;W1+WOL6&VSQLAU#W>1[Z)U?DD&_[$E"%)TE! +T4Q1(0@F(9>#.5^2O TID*PS,8JM]Y&[&FH[ZQ\**31R%4 ^39NO'7S4()P M%"0>3(G<%2.6!#"-(A^J8Z:88 \S8177W=O;W%A\(RQ@ZJ9$M1'7UH76A["I M(\T1;J.[TSK(].62W1LE(WC5##!QYEOKZVMB#YN!VH=^-I.7QK,XK^NW7+:( ME^K6Z5K5K7_V\(*%*&-1A&'@!]+$Q%A '"$*<1H03!%*4I^X-C'/R#0W-FJ% MU1=+JDYB4!JGU7#,!N[$=>@&ZR-5OLOO9"5: CWA&;A.8EF9P<: M0CC$\#-M>AA//T^PN7.#I]W$5*_7?!-SBSG''A$>% D-5>)>#V818C#->!1R MRD1(K0C9IO.Y,>]>5EE+\\\*=C-B'0O,D1GT9);>3H.G*W6J1+C<5N?L"KS- M*RHY]+\X+L%O\02LSFDRMM* 5%W3RZE@/)31G:WTO1@D/M/2. M_/06. WRVYNT/YD?WT+97;^^S6L3ER,ZC-)J*XT$&:<49S%,1)1"1%6IR$ $ M,/:C*(Q%C%F&G):*M)5P?G:!/@C;"1I^@8(R)X?3S)1XT4$:F2)'"^*=31&8 M3LKWYRCJ<@Y>9\5;SG8T(&9CO>2^1R)?=O^EO%_5S":GPO&WYT; M2DJ@Q(3^LSG]I0U3X*>K>IOB91"_<3%48X=PG$7):<*$?CR&17(<;W*Z8(Y> ME9[%<_0_>='%:'T2R'*Y#^;73/Y7,L:70F4>>I\_:7SA>!6_DKY&I8J M<=-2Z0"P5L+2:K,8&4-[;!R\Q[:T&JFOP([<5Z"37 &M,V1IX<%U/]!#[[O; M0.;V"KQ1SR]Q*]X&DA,7Y:V:&!RMCV]O2]ZD;;\1G_@C7ZWYUG439)B'&0YA MB'T!$8YCB$D4RO%@S".>'Q+/ZL+KN0[G1F3/Y571]JW$9LZ=8:";T95+*$?F MJ M1'!(D;P2-NV#X_NZF#GHW4OY(<+O9>^ZJ5FX.'W9\TNK(X:TDN$7 O#2* M<0(E!6F?F(!9%&4P3.3E MT[:>S8![._TMSHVB=F^L,"DZ6!4U*!OA02?]L$L]9Z U\!6-@NK8_J/=*T * M4'7[\-,>H([K"0T#Z^)K0F>Z>9';0V:JG[I49/CV0,<4O>-LO>0WXM>B8-_R MY?*+\ETON @3(0B!,?4)1(PBF/)4R/U;D/$@$E&2V#FACO!CZTRI8\N\=QHJY,1L%9(\)3SI6$ W'3C;.C!F-/HC>T+N3Q*66G=EC[: MT;N)QM'?1*>ZOGHZ@[AEVV%ZZ3AF8WG_'''-MO [BW.V[GAHV>FVNL?OJ[Q^ M7:BDPXLLC +*>08C:;U"E$KC-O,2#@6-* Y2C+# =F6F#_J8VY*P+3.C9 1? M&RDM7=''L#0C\0L1&OU4RPZ< 06A3ZKOK #T80\3%WP^J>)A@>?3CUX2R]/< MR&XJ1&\W6XBC$(4$PXCC"*(LQ9!01" /,L:#$*=1;+5_[>EK;I-^R!7U/BC- MYKHC@$:>\UWD32/GN/7@#1!Q&DUSO*<7")SI5?EXC$S_*P/I87O9O"WULTFR M$&.*!449#%",(0HS C,<15"20B PCB,>6N6V.-W5W,BA%6]X8>H>5 V)P@E6 M8_/$;NGI#K,Q$D^<1\,51YSN:%J*.*OP 4.3(2R$2H22+.(TA#KB0[9(HXLF0RO;]WTXS5NAP8^MV*>3!0PN;F^&D^,:]VZPT?);70$1X;O"ES?JU*>(YPQ7HR\ZY/(X0*]S'GEQ0">/-6\O.5A)/VQ M;+OX7,M=Z4=[;N=&MANI0:7$O@(/N 2/^F1*I49BQ7*)RPH\\+))DV29)3LIP=$/M,9OFV M"[;2+2^BB*BPZP0BG_B2FKB F*89I&F0)3Y7Z=VLMK!'^I@]#_V+]Q?/\[=T M= 7PNKXKROP?\AG?N_(\_?]M\K;_"?*J4G755#+%8EU7M?R+.BOJ'@"X4G<7 M7G.J8_'^[W_V8^]_AOX54-^Q?NOHKX(K(%]^: RCI>$MM+ZA'<)TU@,V-:W] MT0S0.ST$8]'8,Q1&X:RFAQKJB[7^E+L37W' MRR_2PFOSHGTH5H^\DDRY5T_X5]FTKINUB2OX) V,MT6I6EW@ !'DH13&0F#) M?5Q99#&!(4>,,!PBS[.[A38O_>9&N9WL<%/:7(O?U(G;B5 Z;Z#\*;XN,^:= MF=0S8GT'86\-1F ')*!1 K6$:9NZBP.O.)CG'4,],OX:4CZT;2[L\1 MAS?NT#J+VAM9S('WT'9""7E=7:_8SDGA;QRK\'=VL_JD:AV5TG27#T@QR^Z? M4LF\:BY5DR!"G&4"!FE$(0H$@:G/"20D3#/YH6>6I2Z<23:W%7[+D%=@([W> M[.S*/^S&N[OA-%N87V201EY2'8V/_14]UUBZNMKG3*YIKP2ZAO/@*J'S#@86 MCL/E2K97=:ZOU_ER+1>/14C\@(4)@0GR)"&C2!4B8 SR*,+8CTA N572M1/] MS(U>6[&<.,I/06M&C@X &_MTL95PNYN\ JV4#@NJ]U:9JRO=?F-J4_OKD!31KJYUO<_N/KL^#TS^(+ M<1G;VSL($JO$82>4'Y0=;+^MR5* G5!B-\_7J4;UL2SDNE,_J5P#M5S\ MU?[O06W\&@,[B3*&$<40X3"%B* 88H9C2&B&?<32!/EL6':O_HYG-[E;::]T MZHM:&]H;B2_-^W5F# R]CR,@._IAT"6@7I BS PAYSG#SG3[0DG$S, XG57, M\/UA1-6E+)/MOEO5\N/)99O-5F;_W\V5D@5F/A(BBF%*XA B$0M($D5;?ARF M(2=1@*@-8UE+,#?J:MSD6UG/U61P- YFK#4JNB/3UR:9H>*M WROCOVHO80V MZF6TP9 ZXCO[_B$UI,U^TUF87'6)2* M-(8!R:2QEF4)S&B20HY$YD_3.[AF5.IJR$9FSP MM#/!YADZ8@O.8'-IO'B)8SV\B,EC$#?0]ZB]H[G,;&O36[0GP3KO_;T4IY'GKP%$[CP]Y_ 8Y!4^ MVN!DKN$^=7;]P[W/71AU\V[UL*ZK]UR:M6&;RCCP"4QEE D9.JWPR!*3GE8EO ;2QA#?;VS9-#?2%3V-,@CB#F'D((D8( MS$3J0QQ&./$R'C*2+AYXF1?L9:Q9PT-YLL TU&&&Z<)%DF$.0QXA!Y?@@Q3RD,4(0%"T,_XUX[ MW&]6[$\SV)VL$P\U;^ZMS7"<(R^+ D_NY:-8[N41B0(H1Y9!3P1IRK(L\'DT MR?4<%V,\R:%-.[XWN^/[AXZ[;HY)NVR_=:%_? 4:/79?F-,'8'B&_9+#.K)E MY. .S.:6R[.OHM%T!I=7S@W"2U\_.2G?G^,"R3EXG5T!.=O1,&-125&L])42 M<2+%TJMB5>>KM>RQK:0JQ=AFX)&,1,L]FQ(V:C7N5%O)VFE3?-\1UX[(C6#W(PNG0,Y,BEV M0FH(-__8%7D$_Z$52(Z8S:S/2?G+"H9]EK)[>:"?4:4M:5+$O%ZK:VD?M9M% M.S7U[VZZ\B*\I+DT9Q3^Z)S!W09C^0/>"NP,D6*UNF@$R&IJ-%-&%7[VK>\OKOC2Z;C B5?FPD)--*#1OQ-FJ3FD9_*'ZN M-O?6_4^[>1\*S\'F?'!#=@S*>-X=#7]^NB?%%WD02.=&3T=PM5/.Q>!,%'DQ1G]C2GBI*X]417R MG6;6R[]L)_MA2Y-,XI,*=)/S] /#S);?/_\JS:!RI3UKMWQ%\!-5&7#OCPAAW,YMB##1'GON_?P9;F4$G-%!2@ZW8(^RH;+%R9#88 M=SNIM6 +QKZ18/V^?83FAV+UD1'']>*NO%M-ZC9?+IX\X9Q97\\\T,S>> MD>)"=3?]@_S_+CO<\S.Y5GZ@%+"^PG\.U'[:<8SGR$SC%DJK2$]#D 8%?9YK M>[+X3T,E=T-!35\99M3(UJD:WYI?WY;\F6>2A!EC*!.5CNCI0=7,S/%#5KCTT6'TU;*$>R0\V XLCQZ M.IK4UCBO\+YU8?#&2%&AU9G( YU*LGJW:GPB>WDF.X_(QS*G?)%X2/@BY= 3 MS(,H"B7EI)+,$<,!XB@-_-C.SSN=['/C,"VY2IS[K4ONC-OU?.,C?E!R.\E9 M-N4W8N@YGN?(C^US-HA*JTS#TAH$5'&GSFU]D(.YPP%H("8,6G,_>E.%LSF4 M?%Z!;NZ'Q#H$;@01!J;'["JH;4M@X9H?"^]H?_6\0M8FEHKA6,[Y)(",QZE< M!8,(9EY 8!;$@2IA&I/(J@Z"([GFMM:9%ZR3(T^Y647@40?6;!%[@>$:>8$: M9:3LLX.ZQ=55-E%'4DV;?=0ME ?92ATW_S(7XWK7G<-,^PL2LR -10@3@N0V MB),(XC0(8!*E"(>$1WY@Y7F96/ZY+0\;L[7; =WJTB%,T8Y0-US=53F<^DMQ MM!EZN?&?P8;(X7[H:$V:^=SE&3B.,[GI8RO]O+9'XPR-ZUM"0\48>/C ZV9= M5UG!%B%C-$X2!'%(,[G980QB/XAA2 ,L6S7&>>(Q<@E+ 0A9!G#$&$F ]3DJ;0SZ(P0GZ&.$X7<@Q) M87Q6,Q2[W5[^-.BEQ.,J*38)58U53]6L"!ADF1_*+7<01MCJTL/P[VZ*HRV7 MR!F>9 W%8^S#*PE%NPO]\7TO%/;G5<=4=G5$]:SM:4^ECJEU61F:;2 6HV# MO-%7VVP/NRIU65.5.D#IXS"OTN6@NLJ[=($DT^9ENARR@[Q-#IH\+&UO[L(NY&=Q-X1K:" >66WGM M*/ (EF;,=AE"(Q/6CG C)&<^K;HC6CG2P:1L<5K!?1+H>?+"K(ZO\XI*@WXM M/PO+4Z:^)F;TC>X4>=X1=)3S(1-$7&<[4V?OE6+$+*XS!E"$;4D\8]]RE,6<*A\#CWD8>8ER%+ M,]^DW[F9]/+#BJR->2. C0UWU["-;Z3KO'I:Y"NP$?I*)6$C7 >X7S7FN!3< MJ35N@Y0[R]NHUZFM;!LHCEC45J\/)**BY/GMJEFNZ=.7$J\J26\Z-\N*Z7\N MFR/HIBZ,J@*DBP M&/8"EB0>C#,:0(24NP_USMJ63+:X)$RY+@I\!^;]5KH.R7 KA8Z5<2N'I-4N+H85E<4 M.5B.:4GS4K@.:/3B!NTO*KZZ4P>2["/GY:]EL7YXN]I.1L-+BCU-S(WO6E&! MDA5H8:_ VZ*H5T5]VLUGA5D_@3F$:V1ZZD,*?'5*/X:@#+IOV-?N9'<-#93; MO6=H\OB B5Y\YDOM[?Y-FFER?_A!CK[Q%#_V\NPF=W'_@%=/H!,5M+("):S% M[#X*E,&\OA2CL6?T('CL9G$?!,/F[]$6IYNY?0H]F[.]#PX\+>!5Q7D;6+NZ MU;NK:KO2I"&-.,((ADE$(5)A)BFC"&:A%X5"^&DFK"JZ]7B&=Y9- / MJ.'Q@3.8QCY*T()>@8VHC8.E MYR5G/2>=[_,5?U?S^VJ1IF'*PC2$28IBB-(D@L3S/?G/+.1A$&=^:%5RRJ;S MN;%*)SOH#1R04TAI +0*EO>6K(;&C)'& GQD?G**]8 ZM?:@.:M;:]'UQ'5L M[4$YK&L[H(V+PRFN5TRG=[PKEO+]ZHV4H7[:'+_RB+*4IUP26Z#"W(K3V,^F)-*_G_ %S+/C@*HW\(#(VK$8 =V\S: MP[01=)33<%MTW =U]'?[4J$>1F#T!("8O7]!BNU/_$%^;G?JJL=!5MH%SE 4 MX#2&&*$0HC"4^SB!,4R].$ AYWZ0X,6*WV*YN?QBF5F[KV.C.90U<^B@^_'F MTU9D7<:CS:^MM1F0"KL7>3-.<@/DE*FN=X0]FN_:<5IK$VQS ./(HX%CQ*K:+Q_SS6S^>+ MK9V+[9L_A473"'8%KNNZS,FZ5B6O52C.1UR.E0=B,EMF+M:+O;TRFH7RB=,E MKJIQ(%X4A P%,&"AM&"( M+BX<""B\!$<\3D-B=\'G8HGFQCQ-=M8*E!O%Y,JL/@J *5W?KY?*N&I*@P"5 M.U#2%%]5*CG+!3<$+Q_7R/=#$F<)I E52T6"8)8)!OV$H%3:I3$+V0#+=)KA MG=YR_;..HS2$?A@2B"(OD-LJC\*$D"!*8ASC-++RP T696[[Y$X3997M MZJ*3DW;: *4.:/6Q]-\-'S1#_]XD0S'V(8+U*("O6IEQ;J5(^ M >90C=@ (,-RQ"8M#2/,;<(WY<@XEIZ[,8 W6;QY]5K^I:ISNL !PD&,8AAZ M&56UW3G$.(RA2/T@XQX*4F)4P=B!+',S3#NY['CRDL$P(\R)(!Z9.9_E?FP< MMEM5P%:7;L._K5B@G =GQ\::(!V@ZH@I+Y%D4LIT -D^=[IH%E(4X_2P"IZ^'GS.*;8X=0^^M2EGK@WN%Q)@JBD MD=7E5L_I]8J]SI=KM;MZ[M')! F],"/0BT0BS9T 0T*P#R,1Q1'V X_+3@:Y MX:SDF-O\W_7^=(JH+4BS;[D"6AD=Z=ZJ,]0%9S=:MOZWT<9@0N>;$?P3^=X& MX>G<\68GQ0MYW09!==KE-JRY85SZJJCJ&_%K43!]*8*7CSF5&]5BR1;('-G1YNJNY,:*25$W'DLM5JR=ZWA91,TIS M@]/(K-5!I,74[-0)"I2D[@CI/!J..*>GHTEIY;S"^\QA\,8EOB6YT6KV8KYH;->S43MP1M5V2 M+6^&GX;7QA=T(6C3>'IL\1KHP>G!PJE_YE@_+^!]Z5'WN&^E[P4[BG@HEV3Q MG_@!KS[S6W6BT12\7W@A20,O%3#(1*8N&Q%54RJ"*4.9ER9^%)DEWCS1_MSH M0$MH-NM/(=8_UQW@,/(,U\*!5CKPM9'/D E/8<(*NE;_U%Z_,;%YUM%X&&TS M\E0M3J(H@1;]+Y=SX!D<&N93#VDZ\^7_-*6=>FT2(CLCRH)PS?="H HIOA/P)6^MZYTW*HD68 MI2'%40"S,!00)0)!XK$4,N+Y<1;2#%/?AM?/=SDWMNXD;@[H*RFS3M#Q4!:2 MK-5]<76C_D%/?.4 :N_"X8=H5K?EN43]??\\HT8?/1 ME^?&*!LA02?E7\W3-!^'IY\0G" S\OP_! 5\52(Z2K3>J_Z@%,W'6YPL17.O M0KLIFOL?=+EU;,([K]?U75&J0/G?5[+%G6C/CW+ -Q&?'\N<\D_*YGE=W.-\ MM? B&H@08[F#3)6ED2:0I#&%/L$9S5C$26"5CW4$&6=()%I.H 4%6E+PM9'5 MT@L_QHA>LH&<;)S&I[4!0^1H-^@$Q%$WA9=).(.]H1.(S;:(;KH:&B"QD]NC M.45I:O'L%[+RHB 3J2#0UUFU<1Q"0C,"XSB)8Y\$R+?+B63:\=RH^9G<;1:4 M-B>*;2"%(?)F;#L&GB-3Z',H&YFO)BD,9@N6LQ@,PVXGCLBP ^,P/L/R_6%, M]48(3NL;\>8[U?6$/DFK]V;U"E=WZO]5!KE'N6-=U=4G7M62)&M)LO(7UROV M_ <[3TIAEVN6KVY?Y]5#4>&E+D^D0]$JVL3G<[8-SU]@@KR$Q![$<99"Q F# M&?-"R!(:),)'*.)6%6%?7J6YL6N#B'(0\183("7EH/E[!8H5H%)A[9#3?^%; MU>WH]^6Q-R3VEQ=T1DO&]OOHX *#_5=*!VO])]@1]4KL$6A?41].WL_?/[& M!A[0X=,4C&NCE+<0[5SE\':UZ,U!HTO5T!OJ>6*EG)-F <*S?5?T- M]KF60E?/XVE\Y,?(2Y4?#ZO*84RNRR'G,"01SC*1$10;KH:GJX"NL[#TQG6=?GNZ M\*ZS&CR+\CK_]$"/?7Z[TLD>5_4UI2JIJXHB4#NO?+<6().;DR3R."19I%): MIQ2F(4YA)$(<<9;RD DK)[Q1MW.CS,_K^WM'BDBM3H5&[673D;:FTV$ MU-]X?GLG"?7Z4:Y8M_R9=WR1,2I-/^Y#[!$.D2X^A,,,IBE#L? Q"FCL-&;5 MJ?AS(\U-*I\K\*T5&^)&;L"[4[ '?0JFPEM9L5SBLE(1KTTV+M>AKFZ_E4O. M,N?P!8S-[0;ALM4%6<"N0 <$:)$ ST]6)PRL'64,IPJ]=2O\# Y@QQX8Z_#= M<:08MJ"^Q7FIZVJ]6SVLZ^H]?^1+O]V;TH@% 8TH%%F"VCMJ(HYA&B O$K'/ M";&ZO-K3U]R6*BT;\.T6G#XLS58'1PB-3.5*RJ9>GG)Q*T&O0 O8>>>(-=L: M8.*(&OMZFI3'#%3>)QV35^PC;7_CN%J7_(/\&$SC:W=>F=ND5C*9A]'NZMX_ M>R]0>^29VDH%>C6WBI(]HN>@V-C==B:+B#TB_&X<[+%?#UM57W/!RU(G@FZB MW3_P>D$I3E7&!TA0S.1FTO-@1B4N"0I$B*(X$3%=U"K)G-ER>JP3JRFWZ6J\ M#[#)F<=:24&-OP^Z\'(43[,E]5*41IZAG7@Z\T,CX*;\DN+S=H^T7!;?\,KE M)J8/%T?KZ=$N)EU(^Y3<7T%[GQU& [_A\N][H']QNI0;41VXX;^D V MHPA'T(V]EF^AVJT0U KJCA@,T'#$#WT]34H3!BKOLX7)*_;V]ENI0;'BGS@M MY%;_Z=V*V9C>Q]^>V^RWL\)/('+>(+\&XSMI/+;EW>P)2FC,6AP)#$/('((S%,:<)AXK$T8"'F M$K1%D];DCRP]CL9'[(K0/!2&>YRVZ-,^OJ. \)O\Y5*7-K]X*$_\4<_ MNI0EB9\A#BD)*$24$TB"+(74PUD0I2AAU&_1?;,R+%,\'-NNBY=!EJOL"@XP M-3,;AZ T\IIR=J9:6X/[2CHR_3;-3FKG[2NS;]0=_'[8 G&B%-B[%2TYKK@* MBETO572$RH[P47ZG97/,(Y_]6%1Y$].?$A[@,/#EXB*I$V'LJZB#1!6;CU.< M,,_G5G%6+H2:V\)TS5@CF(XN5,ZEAT[4)@&+U*+)DF5'!$X&T(Q$IAZ6D0GH M9%5$?1E"JP0V*C6)7+12[2&^?F6CESL6YL;XS0R@JV0YY(^#0#8C&>%4).0DWY2Q4%4#Q-E_A% MZT/-\9U(*V@&'1Z?;WVR/E,U?FKCFQH>U"O:^$6T2P$><+Y4SX6U1 M_BK?K1=!R@2-8U6F, A4_8T $D(C&(=8>$'JL8"[O8#GI&<>15Q(WHS/_161S9;W1=/>^ MNM9V!@O(^:%XZ;6C1\(_Q[)Q'F)G*X9!5P,\%JKEWU>L7#[=;N/=K^]K8T_% MJ0;FQL4Z9?KR246G?+:\D-(/E(%+P@5&8[LB=,6ZHR"!ZWN5],>1#^(<%L-\ M#R=;G<[G<$ZQ9[Z&LP_;367&\\6;59W73Y_O\7+YR[K*5URN];$GDC3S,60) M(JJPBH IP2DD:22R*$B\U"S-T8GVYS;'&Q&!EA%T0IK-\5,(]L]N![B,?69L M!8GQ5#ZC>,\DEF\VDUC^93N)3[4WR?0]HTPW<<\]-O%63:?/E;RL N>:2VLZ M;:VBLAIDU@F&QL&OQGYCP_JR+3>* "U!F"K0I-A1>6/?."Z9L>N-E= *0*4 M)@ZSEUV$I*O$9L.$F#;GV45 ':1#NZPU^VWU>_DE+#_>%2O>'-DLL AB)GP! M_4Q0B,*0PS2+$61>%L9)G&01-SH'.=;XW-A+RP>T@.VIJ?EN^@"X\UOI2^ 8 MF7= .^J"QR;;/I]38W3N??&:8F=)=(7O-F_^^6[79R:M/G/+\ M41VG+@3.DL0C2)DB",K]+H*9EW#(* M$D*"8D72QXK?2:C*\0F_2K=%WFS7? M[6[G([IW6QE!N1'2SBHQ0MO,!G&&X#0S?W.]]<=.8%7-$VP0_70>46OCP@8B M1Z:$49>3&@XV(.R;"5;OVA^;=7EG;L2;LE0;N&VXX/M\Q=_5_/Z8 MR>J]P/[7^BNKUNK' I;6^H!$-$T8]Z),T@XBJ6TAJ M31:9Q\(0$18DOJ5[P*CCN9G4\C-+K1T"9A ;NP"< S?^IE\G!-(R7X&-U%>@ M+@#AX"/.6;?)EY([W>1;8>5N6V_6[=0;>2LPCFS=[=X?QD@W]1TOCU2<5IDH M\%+EH?B/8JGJ4?Z*\]7[HJIN5CM'\&5>*2_J6OE2FQ";#[R^$5_P]T6<<80B M&D,?*P;S8@I)(C?^@2"1$'$0".'9,-A8@LZ-\532X_5&)W KM:G CW(9JGCU MDZK+FZ\>>54WE_I4I.3 ?+&C#;P9K\YA.$?FX9M7[Z[ :T[J9XEJ-\'+4!0E M_(R7DJ*W2H-6:Z#4!C\JQ7^ZDJ0MG^7@FOV?=3/R5P +^3&J/$'NZ'OL(7%$ M]Z.).>GR,#;8^\O)Z/U=6'?GEZ>V[(#ZO-^6_+_7?$6?=%H*@6.$O"B#*0\X M1)&ZNT5B_4\OXJG'/1H,JK]SNL^Y+0H[A.#P M(CWG,7%=K*>GQY@I/%>PQ>'6CM=O68GYO5'Z1J;:I\'PD6A#Z!TGP- M((K5QAO3#,:4>1D/21;AQ,IL/=?CW*CF?;&Z;8H2%)OBU4OMT5VVPMN;FF=1 M-[0976(YMO&W >]P&[X5V*'Q9HJ-*ROL;'_3FE.FZA_81<8O#CUWV^S67BUQ M5>4BY^R7IU?%JBXQK==X^1NNE9GUI&*1=-Z[;?X&$5,?J5AT'"811%QNI%.L MHE*S,/0BFG'F65D^EP@S-Y[:T05LE5$QBCOJ@$Z?_L!#]R-G>K8WS7B,?N9G M/12CIGAT :NS<\(+1)GX_/!RT [/%1VT.?"B +WC;+WD[9UQLA\[^DD*5N8J M^.US+7N[7K&]G_R^RNOJFM;YHQ1O;W;[F$8L$QP2@:GD99) DGB!M!0YCS.! M ^X;5:N90MBY\?;1"/)M(.\5V*H&M&XZ-^S!#Y7&5Z!3V?):P9C?AAGSSV7$ M1UX91AGL4=>.*0;&U96",46=]DK!!* ?7"F8HL^+2Y^]7O,OQ1]YL=0RW8C_ M*.[Y*Q694SZ]Q]\L;I[;MCNW96._3!A@:Z[.LSJK F;=AQV(/Y9(L7N'J M[NVR^/:>5Q7GUZ32!O]"T"00 >4P]>4?*$4JA7O"(*)AX',4QE@85?/IZ6-N MQ*6D! \X9SI;&KYOPF#S%5VN511@OM)UNNYWCB?DG#IPN/[5C,+ZL.]G*D>( MCDQ(&DPEX15H9 1?.RD-S\'Z$&(%U:EM]808&ZEGG4V(V.6T; ! P[[J04VP MOOR?)MF^5R?A4@/9.\HT>728;^(U?R@YS9O/#"=!$- P@R%FOJ1$',,T5/=" MB4BBS/="9G?@M-OXW+AP5S:[+?LSR,RVV$.!&)G"C# 84,;^4%EGY>MWFIZX M;/VA4H?EZH\\,VQ:/KM:KK9[==ZLR-LX<,/%=$"+,_I"MV*"K@"9R3)K_3CQ]BL+X(U\634%%JL6W8YZ!XV1&2B/"/E&FP$X! MT#*7*MFK= #/E;C2OVCTT,==6I$KE?V8.@T NPQ11XPW4(A)R? RH/9Y\L+6 MAE%HXXTX$;K6A53LG4N3-/,B'#/(4<@A4C&MV%/^5Y1Y%/NA-,N8C44V0(:Y M66J-"BHY^>E8S=TKDYU6=CPZ9+#,2'3D(1B908>B/^KQ_P60.J+0(1),RI\7 M0+1/GI<55DOWJQ5_>+?>).7*B:")Y($0Y;X$,6>I\S)#*8HIE1DJ<^Q M45ZJ_8;GQG&-;&:,=0!2/PU=HOK8UID6"WQM!'/ #Z=T[9OT\IV="2__M9WL M!\U-,H-/*=%-RY._'W _.:[-'#SBNMTFY]4P-?-JONL& E1S!)C+N8<( MAAD7&8Q(Y",_C6B*S$^!>SJ:VUS4T@$IGL5191^.!B>ZCM 9>[JV4C;I@L$& MI_,3V/+#,S_@=03<1*>\&P";C-LZP!*HR)VO]]Q-]CU34'I/?OO>G^[XUT"+ M9V? )L\//''"U=WUBJG_J++HCWBI0N4_%LN0E(0R0B.3.C84P MBSF&/HKEWE-$,Y<:>.8U!N+:K^PK=RVVW&S! W/-USC>/(++N! M4/]E1^0KT @-OK;_'65K9067JX,^HSZG/>*S@>'@<,_JY6&D]/N*Y2K0F:QK MSM[@%'R_';U>4VJG.6XS'FU(#1(F!<12!,B(!(\AIE(0Y@&(J:8 M"9PD5LQDWO7E*CL =EGJP$MV'MU/I8%6].ZDK3XF9>/TD2K7A?W.%\M$I%EF/L" M,C_U( H2"K,H0S"(8H]%(0LRV82AB^=D+W,CHE90OGVY[,C716O5V?TOF'[>])Z7Q6'WDIVDPQ%E>A MCKPZMUFL151GQ*(H[W4RSU96^QM-QX#JG\0.,!IY^@Z'Q^KN40\(@ZX7'6MO MLAM$/\Q^EGXIV759[B22N[W5^0\M9FM/$W.;M5*T4@?[;),\FL_3 M/JC.SU='*(T\;[^46">W?'8%?+=T[B& 3B>T 4J#)G9?NY--< /E=B>ZR>-# MHU-PQ5\55;T?@4)9RBE5WH(T:B+X2)!@2,*,Q%G B><;'?NQE_T/^ZJU)#* [22 M@Z1<5]0G"8F3&,:A0!"%?@ QSGR8A"D.PR0,&$67UAC:Z<_H>Y^TN-".<)<6 M%=K%U8P5+L?J1 9( XCNLXK[^K^[&$'T]ZB/:G@P5W:TT\.F]%=N/OU MBKW>WD9IJXVVGV@2BI!G 88>23%$4<@A8=(\8)0Q'$:AGR*K0L@&?W85^GQ*&XMB'(DPT#460("^" M62;2P$=^'$56H0SV(LR-E3:B KR1U8Z1!@R#&4&-"^[(?*4*/.D(K$Y\E2CY M1Z6!W.'\!+:P;[48)?W"!2W9G[F\6U6RD_)+R71< MF&Q4]DL_%/4U*Q[T1>3.D6AX F/2^3G?98*[Y[]F/_\L D[$E,H_($,A@4B$&//S1PHJ[JG.7+MO.]R8+]5@JH>&5=M[G(N\L"DBXT MK31!8 OJ)\)/HQC&?J F.$EA1B(.$T9%G+(TC:C5<: 3J69'#%(IV&D%BM;B MXZU20'T,@.(E76]3^.NGY>^^\?SV3OT%/_(2WW)0*34K4*SKJI;[.K7/^U'5 M'-<__LF2<9Q\ H9,-?7 CLUP._KL!DR^>3:J.SJI4=W,#C3AN_P!/PRWG[\9=]^U%=(!4E(8"I4P#..,DC4K6014>)A) 1' M5D65=D1@>XU/2C/'%=LG M@Q-/75+*X O^SJM/G/+\4=V'6-# 9S2+(A@&JLROAS.8X2"5,Q<3$?IR*D?( MOHC!7B]SF\!M.NM:20G*C9A#JA;LXVDVF2]&:?2#[R[?MP1H*^$5>+4N2Z,@$"F'H1@G[@\33SXI1SJ]S;8PL\-TYZKJ_R;>UJK#/L=SI?@8W6K;-+ M^[]:O55"Z4[S)F-_HSOXJK0'K?J6)LOHGX\9;\[IHQB9@F?S/0R(')]FD)R% MG8\L[L0QZ]. ?QCP/E&_PY:_S6G\;]LBM-7FA_^1\U)%ZS^U.S(N@L23&U>8 M9')!0U'HP53]+0I\'/DB3A-J5:_2JO>Y+4S;.!JPD50'0'ZX_F/@!MAN-,R6 MAM$P'IGG+X/7FIP'P>2(:>WZGI0V!\&RSX'#&K$C-,;SQ3LJRFO)HG*DK^N: M5\VIUMLEOEVD7A"'01C!B'GJ,C%.8(:R1%TK9DD2<^1S(T=;UBUTP:3"K]*%;GWL^OP1)*,XIB#%&"&40TRR F M40*I\!,>8<&C.+*Q88QZG1LQM$+K]10_$]O.8#&#W,Q0<0[DR)RQB^%SB4>\ M?6P%DB/SQ*S/2> ZI*.F7]I$XJ:MF3.H745YU_+8NJ6J1I M[ =)QB%E7BJ-$![ C'$LL?=90N,X"IE5,&-_=W-CGTY:/75X)^H5N%7"6AX9 M]N-L>(3H#+VQCQ1;0:]T0I0FA?&;+7Z_]N)G?\AH!(NK0\?^SJ8]A#12_.!0 MTNRM@;9-4;!O^7+Y/E_Q=S6_KQ8T#/TTYCZDU,\@"@2')%.'"U&>.ZIH^QOQ>\6OJXK7-T2Y>]4MJ3??Z9V*:7I;E">*8RY00+ ( MY-3W0\(A"L, 8HX\2$*Y=_$(Y1Q;W8"]0):YD826#F"E1@6*5A$5G,A;58"0 M._P5_P:*3>G9I7YGV:IDG>GDDI$T/-V;9GS&/KA36L!"0*D'T(J FYT!>K,[ M0'MU@;=E@1V>QET.JJN#M@LDF?8,[7+(#H[''#3Y,OD);K;WHO[67IVZ;FY. M?>+WS='=JV*E$[JL\?(++^^#!0]8Z@><02)H E$:(9CZ(H-AE& BLH"@()PR M=<$ '>9&^%U6@YUK:E>;NVRPN\M6=NH NM4'2/GN]26')X[+07<<)OY^S):+ MF7\5(R\S+I,GW.Q^5!T6H 4#;- .W A<=\$BM<,)8SR;DP1(,_53J&"X;( M=::&2T094B!&9X^2XND\!,8U87;?FMMR=*3*R5]MZL \0Z2?[B\#8V06/H*# ML_P,IQ4?6,#E65,3UFPYIL+S,BU'GQA:F44:V/R$+:VK-5(5><:9M+SEH^V5 M^S0-FAS8@5QWB:%-'%;!5IM$O3V_N'Y;%$R\7 MGH=QR!,&D61&B!(/P8Q3'_H\P[&/O"@)K")(C'N>F['S3$RUI^*MH):U*XR1 M-V.^4? U:F4$KM#[?;4YY&U=I=04.T'YS#FW[>ABVR+DJDV'<[[35,VSA M."BJ8=W ,.[ZO>(WXDU5Y_?2Z*D6-":)]BLF(8G5T3"%*T(: \^,Y89#LK(5**.5U0&J$ZTJR8]\Q/XVOYW ME$)[Q^%PQ ][C4]* L<5.RAW?_PI>Z?(1UY<:^_*\NDCSK4?QZ)@[O&WYS9C M/[ZY 9V80,FYYZBUK')] K+SWI/+T1IY*E\&E)5#I1^+08Z5$TU.YF#I5VG7 MT7+FR4L<+F_SE2I2KK-LO93V@^*=8J5S5(E-KHLV*KW=0^R5@TY8%N&8$D@$P1!)S&'* MY1_4RT*F:FM'Q*IRU06RS(UE.E64+;Q51OUKF\1EK.J^?WN9+_F&M M+ZC10.!8>"D4G*00I2F")(@9I ') C\)DQ0;)8X]UOC<>+&1#R@!02.A^47@ M ^#Z2>Q2.$9F)0LDK&[ZGE)YT/W>@\8FN]5[2HW=N[PGGQGAC+J-5ZE>K_FU MD#/EOS@NW^:/?($C@;W(BZ&0TQ>B*"$01WX((Q:G,4LP#A+/?B]E*<7^FBN ]1@H1<#;OJO5;L^DSP$YQ9GT M21GF,VB;<9P[#$E]459N^(\[2."8I5Z75 M,H@H$C"-,(8L#7! HS ,4RO[RE: N1&/*N*]WD@-;J6P%?AQ*>7EU4^@6(%\ MHXBNBU!MZJY8%DVR'2@SAAH3_I$YZ_KFU;LKL*, 4**"'Y6P/UV!UYS4.Q62 MY)./.%\JKP$410D_8Y6I^2/6JX;[U"Q#<755^T=!V!J;' MW''XOVM#?%NGU +%*<6IBH4.J ^13V.Y[936%TFB!/, "3^UNLS7T]?<&+ 3 M3Y%=8W059)G?ZE-I2Y+K0]B,SQSA-C)U/3O.NP(;!%M)'2:R/ ^'J[25/3U- MFZ3RO,H'*2D-7AE&&4T]-5Y^+D3]3:XULG7Y'>1R$=*!G.U2C=* 82PI@ZR'0L]E$NR>"7W(NN2 MWXC_Q ]X]\JA:1'W"2^#$4GJ?2Q@@,L> ^C)"'4XH(#J+4A'-Z^I@; MP[12JI-F+2<@K:!F/-.'9C^K.,)H; [9A^<79_"P@NIR:]HF'!NF9YV-N/W4 M\98*K:W/D;=1"[H(+\NKAZ+"2Y7)+5>JH%4I7 _EGE1-F4 Y;,?BRK7&YH% M\0.*8Q3!F'I,&FN4PHQ@!@5-0]]G."+ID$NP+F0SFB73WXG]Q-F:ZAAEEQFCX/2IDFZXKE30T7PVEF#TXV.A/="CE=)*=3"6Q4:MA,*]56==6O M;/1R>&W$(4!\#P:" M$(ABH6[>(@H3E"$N"$VXV<6V@Y;G9K=VI0B4=.#=:_,(K>=X]3/=12B,[>DW M!, J,.NHLH.BLIZW-%E(UE$%=N.QCC\P\)SPOBCK_!]MW:J]36JUH")%*& " M14\,2C"67,*&;2K+O93= =:;=[ /G!YEL?3).%U/+,KQ]T MPQ,^9U"./('YVQF;PV-O?Y\QY=+ MY0?#JR>UJLL%/(X@2J(4HE#NL5+EH>(L\T2:8IPQ:A=]O=O\W)BCC3K6(H)6 M1ML([&?PG5_D+P-E9 ZPPF- '/8QM2^(Q'[6W,2QV,=4.8S&/OK4N/'8*MSQ MBP25+W!*XT@D&<1!QB%*.8JX4$:UCKK42TP=='^ W<<#UMO]9!EL?P#,TT/JPH6$DUWF:K^E_ MK_/&8Z'_*EONRM[&DM'2 $'BH1@BY@<02RJ#%$=AE)&,LTC8D-K9'N=&8IW M8$?B*]#)/+#8[7G23 -$0)#(-$VL1>Q"'Q$PP3/Z,4BPRI0-$5KU]\ MR#;GA/7_MP?,;-T9?^Z,O!CI8/H6Z ,=KH"ZYE (=?!W!78U489VHXO#^T$7 M8>GJWM P(::]3W014 ?WC"YK;=C2]T8(3E6]U4V:AT^X5A)(!*2-K_N7/U29 M,J7YS^4/>;4@B4 ^B0CTJ4?DZJ=*G@F*8>I%!'M)%*/$*M'-$"'FMNRI(WG9 M'B\?;6\6#1H",U8<&]BQO9&=^+N9:90&X+D*5_H76RU4258N97!)BI= Z8@2 M!XDP*2%> M(^'5[4EN,ZT>\W)4I)PHE'4VDYXEBY5$,D68_&,(S"4! _I3%- MG-2*WG0Y-Z+K+7M\03E8 _#-2,\MI"-3G ,TW962/@!H['+2VP[G45+Z #C MLM*';PZ^XYC7_+VD/;9_SBNMP$6,0@_%40!#+J3EE3(.4^8%T!.ASS'RO5"@ M15W4>&E&/_W=65'/IM/Q)HL4R?H^8Q^:9GSB#J.1N:01%&I)#Z,W]![2Z:K:K+,-W]NTUV& MJ?R8HC""U L\B%!*(<8)@9Z/4>IAGG)L5:[>5H"YV332JI2R+I\ 9L6#RF2 MMV4,'IZI8\<_U@-CQDACPCTR1TG1P4Z-B.?"3U,<82AZCKC,NOM)V6TH./M\ M-[@=^R(-GWA5RYVA:OLU5U6$\Y7>'+Z6/S0MU=#7QOS(:B,K>"8L4-*:5VKH MQ:V?B%Q"-C+A#$3+JER#"12#BC;T-CQ9Z083]78+.!@]/_0&(I.J#K M1+6]R7<25C.+Q U8(U/!!J<=*4=(KW<>"V=WXTYV-/&-MW,*']YC._O&@$P+ MOQ8%^R;;;6-#V.MUJ8P/?0/NW?T#SDOMJ2FJ:A&**$ICQB'%1&Z "!$P%;&J MJ>M%R(NP[WE&D;&6_'68/O5LV]Y^[^\[N5W'.6:^5B:X\,>?41/ZGU91'[(?;B)%7%TE/) M^"IM!,M22".4!5[":(RM@O4L^IX;Z[>'Z;42T2DR@Y(0^D)+* M7S4.]%9DBS.&$W 9'"]-L3W.;^4VJ8BT>^*H$M(SB/ VIF<7C!*B1)[X%1O9A5>?T=Q51 M=;*?:8.ISJE[$$=U]@7G<9<[52YV$_$LL)?Y,4HCB*+0A\BC'B20:^\6-" M3PDPESC1,P!9Q(Z>:VF"3$/?BH47(KN0['V^N86V MT%R466BGF6&4MJUMW_CUFYO6&Q__:_F?JL[I]8J]E3_/;U?/Z]LOB!<*+G $ M:11GTMCS$20)%A"GC/(L"P,<6F4=NE">N5%>ITZ3-U2?@K6Y#+9G8E>@TTK? MR(;2^59E+V=03=/AN[:M;> MH_ZY_OO'DMZ47ZKRC>SB7ANPO_'ZKF#;>6OH7C=I:W;464NA5'D'*F>IM&(^ M?P);V4$CO+G#W0C-\]YWUT".37,&&$I"TS?YK^%%F4 M8<_C F*!I8$3J*B&T,M@E(8Q"GQ$/)4SQB)-[4$7?G+@!F=S;^:F?-T6MKT1[PO9 M@SH7;$X#][.)\"R.>$QC.=_5N5SJ^P=SO;ZG82Y4T#YH94*;>1"%ZXP1=J7 M2_!TM;L9(L*T^YH+0#K8T5S2UC"6_)O<#]VI6(A'2;^W_,/ZGO#R1GR^P_+3 MOEG758U73$[]U_ER+1^34M&FSK5.W7=-JKK$M%[$*6M#R/R5\7]?;'2QSI-Q^^J:LW_7_+>M,EM'%L;_"N,F(EYJR*$#BX@ M"=[W4WJKZ_NZ;(-WG&LV]2O6%5ROO=;3WZE)4I=3?:P!8>#4$*KU)% M+[2)A\V6N]I48D_KUS;Q8)PYP$W=_VWU4:60I$FK^5;VD;/FEOA>RKL5O"@X M"Y8,TQ GB $_A + $&* PY@#QK-89&E($#5R;3'I?'XF=$=0KSQ(.JY.JA;^ M>JN'*U0=KP#[ZJD=N=6-4A?F>PV81U=1-<'+[5+MXW[8%K5Z>AU%QP9361EUS;WRJXVEZQVQ MO6&<*/;*Y@!8#\6R(MPK16;9!/9ZH);57LS6#<;SY1^<[@JY\WW_DWY7>^3/ M&"OY:LT_\H<#[5QMY[<_N51]F M1M1U%/7L(2O8.)[/K9N>DK*R6+AWD-.>93((A24CXWH_D]H+@^J>+OW#+]B\ M6:UMB+NU2H0MC8O\F:NBMXW#WA*EE,09CD&6< 2@D L]IB0%A'!!48Q9BK#1 M%L]-3GV';X#.Z:5? MOP0SN+_3@DCO*DZOJ9&FT"&-6G5[I_HM^'?9M>SF$)GYF9=?Q#W^N:0LH"P) M..!QF $80ML''BV;#;#WJ>UY,9!N''^7?IB(D&,,<)R% .(L!=@7 4 A1F', MXY@@H[I)>MW.C>':I%AUW1!I9I0'V3V\%WX\R_4-@3&Y60)V0DYK\7W;XGN0 MV[LKRR(GN[(Z$B\WTOJKZH'\62MDT-64"".IC!%D80Q:8$-;5GN;&44ZQ@I%CNFEE/+J!<\ B@UA8(H[K_4S*%8/JGM+#\ LW,@(OGG/* M+V\B/V_6SY4[9G57MJW.>[N?JTC]SYOR'[S\MJ\S5/MMRA6J^95Z+EA2' @? MQ7(+* ($8,H90 F)091A@G&<0L2-?!RF%7^>W%6?G>'ZHGS7+176/4_S^$_U M,U^HP%)5$DS%\1<'Y:JP E78S32J8.)OD"&USNY[\;H'?G*3VRK=NE8H+>5O M556_TCLHNFA+QZGO24=9!Y0_Z1C97D>F$?YU%J=)!^;JBC>M%..6T:_%AG+. MJBQT;19VV4-U(/$A7^,US=A%0K?,E_^E$*B(GYXE)HXF/7T-3<7L^-[NZ-$2<99/*[BBTD0IS0)09*J (P, M!@ 1RD'&4(1%PE.>Q,MG7I"-0:(4&PAW^_PWQUC/#+.$FV/6U+Q,7ERYB[&: M5&4(+GN)5:[V-'5RE2&5+R18&7SEUD"P._JO75YP=KWXX)N7W_$_-T55@;6* M*E@F/ A"'X8@C:)0F5<"9(B'(/8Y20D6.I M\F=42K6UABN]# LRWS:B>B0WV3BY/G)T/D0W1&O= *WUX*PQLKQ2+-8-L%T/ MO;JE43-B?BI69/G^)R]HON55@:-OZ@3\_L>FV:K1$,8LBZ6I1V"DSM^@\L_) ME#W-TBR S,=:E>J'.IH;G5;2]=;\-,.QG^ELHN/ZGKN1LBF'M<=I>$ML!AC; MT"K?35US>PK@CGJ< ,"G"L#JQLDK%8"/MLX4=%&IB5L]7;%Q(/^K&'GP_4G( M5E>+ED>UGY^9 \ 2\C@)0A8"S 67VVD_!9F/?1!AQHF@*HBB_\&]R\_[M6-TAA&ECOGW0H7G_)M M>9)L2+,@]-4&YC:_&D$])>G"JV35+_I\':;^*6<-( MT!N"<786;_K^F&/W/[Y^;0X[(?1I&D<$!!2' ,(P QFF*4AYG*84DS0*M$Z M3MJ=&^GL8Z2J2C/>DVSWNRJ@^B2?,CDV/@"G,R?': M-G]]RM<\6*9^'-$0(Q# @$O"X9)PTC0!$4V(R!"F*--RI>CM97;T4PGJ-2(N MVA\\):SW96UP[G =V.%#""MPN::GL4@9'5(,(C'JQ.)ZJY,=7PPJUCW+&'YX MA&UQ%[U3AOS'-55_M>[I@G%"0@IH!N7>)Y:[(&EE""!\C!%+(R(0U[8R+O4P MMPD?O:NV,POEH][N;WM7G"S,YT!I/5.ALTM,9/<5/SV0TWQI')Q_7S[*13?%R4C%^&0<^DOLC ?R,2B+)4@BR(,0@ M#9'@?@S#*#7*]W.MH[E1R%Y.,[*XBJ,>3=A QS%![$5<>$U.6*>Y88<0L40/ M5[N9E!B&E#VEA,'G1^5N-TA1JHZ_&(=2P=DTH+ MXZ<3&.M\!)W?6DU'J ^1O6R$&GU.G8Q0'X8+N0@-7AY'1G7" OZ)8SF9FU9? MVJP&[W;\'QP7]W)\^-*G:0!#D@(6$ %@))"DID3N&X,XP1Q'28B-TD9K]SPW M4I+?N\2,>_1!UN,?)] YYJ!&9J\2>K$G'6GGE!N/<.\KSMG"4Y)[E>CVJ,@8 M+4MTI-_OI)1D#,_ZP+B4@F[/(BV98%IN4R M1 P&D":2GQ*YGR))!DA,$L (3<-('7!1(Y(:(/OZYC.-WS- M5>7ZD%#A$Q8"P=4&.":^M"U% GB4X##S_2S 1F?U _W-C1H;.0V-Q0%,-0U# M>TBY-@)K2;U&U,KZ:X3U?FG$O>XD8F[MZ0%CR[(;Z&U:*TY/]3.+3?.UD?F' M6TK:-$E6[IYQOE*7BA\VQ1^X>[?XCI-R246,TBCV01I1"& H8D!@0D$69I% M(8FACY9K_J#83X]4#"70FCI9/76Z_3)B@>!\U9@N*1S;BY M0?@LS;/['WSUS'_?K,OOVR4/61)$4-I1<98 &/AR"TJ"$'"D"K2QC MB5'W7 M5("Y&5;R.PKMWB><06[G6N$6(.=SNV#%P?Q6R":Z8CCK?E8W#=? ,;UPN-J. MS8KBG?.(-R]GF] J>4=3O>S+KMR6>,WR]?[P7>7V>);6Y@,_3A^U6:WD MZJI>7!+N\P1&%%#F!RI@AH%,\!"$/*0"Q^!GO#8L*O^T=DA>?$N'B_6N9X:&.0/!R 67@O%E>^.DXN; MUQM)IT7>G2HP@QKQ4PR07HGY2209MZ*^V6WSM8H_.\2VW_W,M\LXR'R?APA$ MB3I1%8*"C$<()!&F449%EJ7$9-F[TL_\LS0XR/=GU>KS0]ESW_8%.\V.U**W>J. M4I5:(PS'@< ,8( C#TJ]P5%/B:Q1PMCRGC?J>UH-Z#"QGGM2C&AG';U^>I"E52MM*?4_>XJ)X:8RH[5) M2!(80Y"FDTHBN/=F4UXZP>>/4( MR@YHCMGH@)>2TGNKA9CJ:E$R&%3YE#HTW1CKR->Z"?Y2XY,I5 M4([6JBZ'=.XF@3 /$)2E&@'+F.3>F MC5NKK%TO(+0]R>3+$YH&*8* $I$ F$H3B/ X!*'@/DTBY/N^T2YNA RSH[%. MN:[>*EV&]M&8X=&\:W +NNO+ FV\G21IM@"B]4)H^A*\4ODS8XBN%STS;VJD M$S'>?F_3KB(!$\()\'GL XA@##*22@YD*$L24=4W,_(7WC<]-RY3DAGZ!1]@ MTB.?<7 >VAX6E_=,X7.W'+/GQB;:4?9/)495%U[M1&( M))6S+8( MPY@EH0E1C)!A;B32J&!&&*.P#WD21DQN#E$(E6>PPCZ03!TF-$%RGQC'T?*9 M%V0S$_2[LKC#OZH)YA53C8(>I3M&UC'=-])[BKB\5G[OAU3 :S6H,MC6.GBM M$NI\S-YR< .$EI:*,1),NHS< -'I$G-+4Z_C2/QA4PB>ESOYQ?^XKDN$+#&! M" OA@RCFTH[EDB5BC23-OM:9C^_?QY.YIZ?CK=LS$#-QQ[TDX;^5 MOVT/Q+8=:ONZ,J^KTD3GO00AN<_+%5]2/R,QSQB@'"$ 21 #0A$&)!&ISUDL M"-2*#KG4^-SV&I50ZHP^"'\AO[9!J9II@B^BU\^LMV+BF!)-X3"JD')-[U&% M4RC4UNF50KCYC7M;UXWJ;RR?O"U:E!<[Y]FNQH7=L\R0MF \K_*!; MWG6PH;G-S49@[[[ U:ZH%;MR(U"RG MDM]2I5AMG$95C!UN?;+*L=J*=BO(ZK\T_GKP;LW47^__M5$5 M?SPD0%KBF$0^25.09)0"&"81R C-0(A$$J$(TS1.3&\/M7J>&^M4EVQJ8E#U M S_(;G[CJ(>\_H6D=3RGN*]44%8_=,26^R4I>%U!UCN(;O=*TP@MBS>>>OU. M?B%J!,>E^U*S!F[S4MTGM90_M+]KO,J^\2TOGJOJ5C%JJ]S"NU!LP;X#K2W$+3O7WBS6JSC>V@+SFE.N MM?;--ZMW#P_E^Z)0QUJ?-^4_>/F.J\)M^5H=MK?NGYK[59VV9D>G#P]%=;?@ M27B>D\;*J M5^,9KSP^L:>#VKR6+Q_7V[*HJBUOJ_)6]]_QNKE:^[Q92_.HY.PD4\UOLNGR MG5R%]GO>9HCF"V?JMNY/TI"5\JI8>#_:K&NX29SUH'3QF+(6A#IA>JY.F)3G M!=NL5KC8>E+>V@MC*B<,FU^YS(^#V&<^H"FC &(2@2SD/N"4,XI3EH11V'SE MWJ\U,SC/03'S+URKGKNOV_LJ8=7_?[]K>@; '$2=D;5AP:6H!L;K(-/4S2PE M-@>'HST\%]('5A!Y"J/..?L,G)$R_95.G?P]W)P2!:\X]R(=LM<6'J M &Y_-3(JANEB"S,BO$X>AX.<#H.9>O&P&M!TN:=7"&KJ5?ER8%/_*^;'NA^D M!ILU_\;I1LZ7EW<[?K]I3I2_B/=KL9'?IFH2/I:ZI[L&3<[MR*41W6ME]YBT M^\K-/I')1G@=!1;>W:-*_*5_SFN"]O!QKR.@'?.*98R-SGI'(#;JR->DG\E. M?DZ&=NI%1)ZFUJ4:LKXHT25H]UAC#M9QF+2+G>GE4@-5)Z4LQF M:S5X(FR$%MO0ROJLK-8I4#OJT.&)2+TSQ54Z.L7 V^YW;N')OLHBIVHG6GVR MJ+Z&O'XK[^QGUYNR_G;^4#GNZ0IOM[G(.?O+[?RMB6K-U^KABI(#^5]%RT.O M3T+#FCJTM*O[N.,"P*1;(]-PKW-;)W,BF*'*L@XV1G; F[JL[&5AYEE5MA>X MT45E^ULUC^-ZORXET+$]-2L!LTIO?"N&7\M\V&_O/,CL8?;/W;8"V\-2_5<05NJW+<@*#NW=TX7)Q?UNTAD8+9O)H[ M5]?:75RGZ8DOW\Z5.K]MN_#,.%ZKJLVJS>$R%%F80I("P6-):I2$,)?#%\<]A2NST.\PP,5Y&5AXY>-U;R M3.'!Z,?S-T:NS'C-FIL]G*725$89X B' +(H 22!0M("Y7XD_!1"HZS>AZ;G M-N^59(;K\0$FS05YE/*N5V1U96D_0.A<5UN+\J'A:5?E,X7.EN7S)\SFW[8H ME]_4S5E58SB2MB^7TP[X@9!;5X$YP+Y?3-2OM"9C?)?AYEX MW-8DD_"B^.W\N_SAN*7O0[[&:YJKTEZM]T;UK1)A) <.^P %854E&0&$@@RP MR)*BCN=%!$5;%7.'!4MUFZ/9S@DW,')/"6+A&>!7T M8W\&5AB?V*>A7[]RE8.#YT8Z!N$G-DF_67T13[Z"J;K=, QX':4A D+$, MP%0:ZED6,I"B!-(D@M)*B(P.S'HZFQLM',NJ+I[:ZA]UH4=#6Z$79\VC-$OH MN3Y,&PW<&)_)043L>41>[VIJ?\=!I2]X,PZ_,R* X^WGM[]C^CU7^1P^Y,6V MI+NR#>!("8JR% .&0@Q@%ON2.R@&6< 00=*@P%2K^/A /W.C#2FIMQ?5(!"A M!\E^=K"(CV-B.(+&^Z65\]RW&XO4/HX=,;UOO-P5:^.D M(%? ZB<*.S@YYH6Q$!GE].A'853ZCBM-3I:IHU^E;E*.@2=MYF"M?KN]VY7? M-T7^/YS]=2U;[ 2G?Y5#OWW_DQ2>&Q&U22\ZDBZ:>,[N[VQ7J;7_ M?= SC68XRHYI="#U0%NK=M&.-O);$]2M9'QQ*;:G0X*1'J W#*809OCG6T MZK15<^.77;DM<961?$EBEE"2I8!'& &(! 48!P2(C',DHBCV?:U")WK=SX9?4V/[%SEHZJYRY: M6F^-J,?&_GF_^6BBEH_..,*IUUI<[I::?U*'95'&WATK+WP=[Y: M_9_UYL?Z#XZWFS5G'[?;'2^6B$6"98$/$D$S &/! <(1 HR$)/4IBS)AZ)E] MI:>Y,4*SQ"EIP7\K<;U67J\6V-0^N(:PKFE@ ;=IK((1D(VP!P;@N,$4N-;R MQ%; @(+G!L#0"[?E-&C2,NVK S0IN=_P-1=YN8PCN7F *K]!2B& $&8 $TA M& 8<"NQ#"NF8_ ;]WV0AY*Z-;R&7J^'2.G>9$[%@_7UZW:4)A?EUY2V=:EYE'; MTUX]7E+K[(+PXD,35PG^E*_YQY(_;IG>;M;;S2IG%1%6 M#-?L:K)0D!1G$! *5>:+E &L#,@D0"F/$R2$K^6NW-?)W CG2,[:+C#<(?9" MVL\KMH!RS"*C,#)*:#<$P@WY[:XV/5FZNR'ENMGO!I\=9X-\XZ5LA+/WN%#Q MW=L[2G>/NZJHUSLN$N MYT8%K<0>;T0VLS0T,-:S,NPBYY@;]J"UTGJ_=.3U&H$MWI_HHV/)PM#H<%+K M0A^ 4\O"X$US=ZTFUVEE36NZ:'5>F1L7-*+]A[[;55?__GE^@^J.)W,CE;6= MP15-1_E*==N9S#_J@O!=GZA+'X];H)4/95Y79+M;,VD%E'*"\C7-^7;TW:-1 MFS/Z%G;DKO:J1Y*[OJ$@MS6ZB43/J+5 \RPVN6'5 ,Q:J'K:7:R=6]8M>XRJ/'TV&UKE;'Q@Y1-L86BA;_GY?>WNVVY>>3% M::ZK!,9^'+ 8()]D "*NJH^E JC:"R$F D?8J/JK6?=S8X8V 6DAA^1AG:L# M!=,-K1'ZNIM;5Y@ZW^C6<*J)XK6B>S^D[%XKO-M<9..0L[8)-NI\X@WQ&&#. M-\>C6ID\ ',@X M-XJ\E$YBU"VCB_'4X]-7'B7'I#MF@*9,\3$$X>NG\[@JX0S<.ZQ ;#%-QV!7 MXXN/T$WQM"EJ44I<\K!4&ZX' .4A=)V#3A*">60 M^EH;5\W^9D?";6V-CLP+KY):PNPUDGM*=/.R)'VX]Q.L S1=DZ4%($<5+-& MYZ:Z)7WM3UZ^1$/92U5,=%X;F5^[JAC:%$;9'Q&G&"82"F&(C[]^+OD;8S> X9H:VNF^+CXN#\UX, M;"7(OMC'M&FQ^]0\2X;=^_"XZ?[;9L-^Y*O5W9I]7)=RE'.RXG5'[4?U7G6) MXQAF009!$,4!@ PG@/ 82KLBPXP)04*S1-C:/<^-%EKIS A!'V@]DG "GV/B M: 6K[N$.4N_+A;>?+[SFY,OI"9@Q@I9H1[_?2:G(&(Y3>C)O8&05O51?F1,&>4C"G3XYVDGK:K)7[R!?1YG^XQS_K%6N_O##(LBP4 M <@XE+.<^$+N@0,..(D1\9,HR/1*^AKU.K>)OT]N4N*?S798TY?1#&P].K . MH6.&.,BKLMCNL52986J97;F>Z:-DS^5,H\^I7!M79G>F-S8V]%[UC3'Z9M]6%R)?B:[%YSJ7Z2\Q2F@91!(2?517\)$<2 M"(' 41HFDBA%H%5%>:BCN3%AW&M?F6YWM-SAU>KE*\[9W[87:G\9IP$W M:W5NC'",_;OWC7RL_I!P08@M[/'&[QGF#/-P)J!YG&QT$X*M; ML*O)X@_&0="-21C9PFVIBJ75U#&6-*Y7EEF,8!1& :SM^:4M1O=OQ)14,!B*) M09QE*8 ^1""#<0*0_+6?L"06(ER6BK_UZ&^H0R,S;]^MNTE8&Q=B5ZJHYL=\ MG3_N'KV5DMY[:J0VS'HVA+@>P=G$T3&/-:)ZE:R+/9.]++QRXQ%>&7(64YUI M F,KR=E0=].F-]-4_BRQF>Y[XUCF,R_?XNWW:B?*.'OS\MZ&'Q[>Q6F0D"8BS&W#N1?5 MPWM9S:AGQ##HD9%;4])[K?@J2^TO2@,O7__J'6 _:.'DCG$\B):H M;(0 DY+;>(!.Z>Z&ED:;67DIF?69GQER=X^;HLS_ISK<:'PQ/LN][_T/OGKF MOV_6Y??MDB64BI@A$,9,6HV< Q+[/L#4)Q%! M >:^49J1R]W,C0 /)@I5=HQ8;7YLZV08F_TGU9;5T%Z\ K(>_=T.G6-:.Z#6 M;$R_#NWGC1FK'P-+3'2EDTD9IE_14^88>/I6UZ_N==';S;;\L"G.RP@JJE>V;%Q6)?N*,Q#+(H(@%2%DF+3-?Q 1FH$D"X1(*$$L M-:O3]!I:S(W/+I8(.:BZ\)0F:I>F5!GK=#;EMT2/,6<_]HX)V6C8)W)W>X61 ML.XL-Z4.K^1J]PK#=-U1[S6$&9_:5B4]D"W565@ZZ0*7&!,!LP"" %(?P"!- M0,:B$ @21"*-2"("HZHW?9W-;06J9?6V2MB%M^DDKOPEE[^NQ+^>.-T<:X$Q M1AA#D.(@4V:$ %F22H,"(1]"%''.Z%):3?F&_5'BHIP6\=..W>'^AC_D:Y4 MW2-X55T:N<&;J:\P2GU >$0 Y#0&1&08!'X8IV&FA MR=P#K6?YV(+.L8'2L,(?-2O4DBZ\CJQV(()&\OJZ=^[_U9 MBZN9RE(+/+:A.V5.5@;C9" >]?HZ8-Y.NB:@U*2KWJB8-)#_56RJU<8D;&JB M3\XG]PVCR^C-(8^C!)0!JI4E@J8P12)G,6)51E4F/$+$^$%:GFQL^M4O4= MP.->+15)^(B+_^9E=72RW2M@9O#9&4D]RW#R\7&\*AP/S4&CA=?1J2ZMHK2J M8S])Z1V467A[18'8%$"I:L_NM(JW)0/5CDR36K)683PU>>TV;AX-]I5O&IM# M,]!K_\+LB/+]%_UXK(/:_=0U6F/7U//^R[#=:10-=:;EJ$"G0RN3Q3"="=X- M3SK_<,3V\=-F_2"_P8\?I2SK,G_FZNPV](.P^0I10F@*$P8"3$+EJ! !#&$$ MTC@*$<,00ZYEQ^AT-K=9I\0%]U)>;R]P?:6C1#;8$0UAK+&=M(B00>@;[28LH3K2?_+B6IM-C'5#ZQ M5>U-M)\N-5W[G-:37 /^+I?VF)FB] M^\VA-J;;;VIJ<[3?U'W'AC](P;_S]5;VH=)]/_)/F^UI6ADL0I%%, $TP!& M&>- Q7^"D' ^HX2D-;G&]&!X0O0VB M0YC=WR9T\*P%]GY1(O\ZH7.#-F).W!*&>W]%AP)M:/I= ?2;,<_5<[=CN1SM M3XW_P!*)(((XP-*.Y C E%& D" @#?R,^F&0BE"+Q"ZT/3N"JL7S6OGT$_"< M@M9/-#="X9A$M%$PRJIS1=]1B71.VYHL=\X5);KI1NAO4;J>B?3+1^M)/D-@IYM81U:QV1@!=4QJ2/T4;*7)D*CSZE3 M0NC#<"']@\'+(R_@E!6R6=^M667/?]ULRX*7>5$Y(38]=XI]'PQQPC*8(NX# MD24I@.K4"L6LYL9R22SJ]!-*<&\ON<4@1%.P;,4E:O<[;:BB*1QGT8O& M#8RLDG,X@:VZO'*6=-C4P)1E212D@*8! 3#T&2"$$>"+(,EP&$(_,F(H4P'F M1E1#1]@G1ZZCMYS& Z5'LCM#8 M=D:FT<%Y\3>\VC5I)G[G6-F"[,OZF_)K*B0=O\';?/O7]89L>?&L3MD_KI]V MI?Q8XI*O\NJ8[\U+]?K;%=YNWVT><;Y>XB0)(^$3@&#L \A)**DSB@&# 48D MA6' C/)&N!)T=A2KY/,J ;T_:Q$-R=/9D.J1[!P&RC49FXR1>5(>QP#:2M?C M2LQI$_DX!OLLQ8_K_FX.6_Z*BR]%97&S2M"OO(ZU7E+H8QB%&4 4(P#]5')[ M "'P*OE:GW,CY^,@YB=<>,]*W"K2DVU6*UQLE?-3'?4Y/NCS MZA#H,;!E8-T[;71"0*7 JJ1)+;)7R>Q)H>O04"?!H$,0V8\)O=KC:X6&#D'0 M$R$Z^.I-%[]O-^NRR,E.<9ZZ"O@=_U39HN_6ZQU>=3_G&J&)[IZ[$E<78@NO';=:I:,GMA5=MEHMO$8OZY?3 M-D"V>W5]DT2O<;%M \(KU]Y6FK98_V"?_3KB221H$H @\AF A(4 9P$! O( M\E!D'!OY!/?V-C>ZO9:V7R?Y]0BL-??KMA!T3(>W@&>GY(&C).']?;U^L8.A MU-]Z+XTCD_="<'4=U)Q\WN.?WZ2I>;P9KHY)[]@_=]NRSJ8*4QS[/!,@INK6 M)H4)("2#@ 0P#+$?A0DSVJB.$6)NU/-[OJ5<;E#7?+,S=*@9-09ZW.,:6<>4 MM!>_O7Y19:64!MZQ"HOFRJ:CA0/#[!8P+5'9*!$F9;A;0#HEOIO:LEKVY>/Z MF6^/[\Z7U(^P_#^2IA7* *0P!DA0!N(@D]OB*(%IXIN4F=+OVHC[)B@XI.8X+^[2@YC;HBZ7.IY# M,9<>0#2+N/2U<&LDJ6I[+0?ZY>VN*.1/)Q&+"184^=* $XF DL2X )E 9 V M7,9"G]"4&YERNAW/S7QKY5;9:_:2+[Q&]K%1HP/@ZS&7"T@=\U8_FA.%BNJA M93U&=*#;5PH.U0/C>E2HYOLCV>IB!NE.ONDW+^?9J'_@@GUYJH[8.ODSOVU6 MJP^;0GVX9"1,4^HCD(0A!= /8T#\" *>R#]C/\$(&@6!N!%S=DRH;IV\1F1# MXG,SCIHT^>JCXYI4.[4&CLO+'W14]N'%F@1*ET4[JD<)@+T_E;I>HZ]-)G8Z M(+9XVXV0T[*\4Z#/U@2WO9FM('2S6Y?%R_+=^R4.PC0,8@+22*B"@YP"I!)N MTB3C*?2S(/:ULAL?FIP;,__V_MOO=Y__H4-O+P1V/N%-2(; M.FH,P*UGY]@#T?4374'>&*C/RK. MUL_<>AW&?I:PAJ!C*H^O.&]Q$#<8F3./$CQD&+(8,0%^-$DD%B F# MD6!!"JG1U::;D9GB:O->]>$,9SV+SPUZC@E>WW5C(C^-/KR<>F=<['@&/AE] M@.AY8O2V,"(#N8Z_QS>N(H*:TI/ON.!%P9E\( MRLVK'PD@,LP)(3X3B&FG*[QGR%<= MF]D0:'< OZCB*\T JA?V"@[SK..1-$C._EHC.E$F]\E'UBS+NPOT>U/"6^UP MNOSQ+G Z2C;OI(.1.G^LO58&F.$QBD,58 M $A$ G , Q"CB*-0($G3^B5_K8DU-\*Y>OBVN'3GY[%*F_96T/Q SO(8C]XB M.1ZY5]L?'?3R#HI=NGWT:NT\J5YS1_DJ WCSSLCQ0$ZT+5*CT#/=5)6K_45\ M.^/P0V4@T,:QN#-]^4]U?R0;(G4BWE^K"J7[PXW>)X_+:]'#UVFSA]=622WK M SIBIS6FM]?>9MV D,8>ZY;6QVVP/AV,VR6,&([D7@H@XD, Y=(M%VT1@3"! M"1-1EL4!,ME4==J>YT9JM&7?14W/FA^)A>.U[),& ,8F^P55+9GIW98G-]Z+.5'4@L$XZY'3S$;/,>E9B&=0 M>C\ MSO^GDDM:L]O-*F>UD&O6G*\VEP9U=IDE:9S$K_L:@!LG=#;%F_:HWU'X)[=";CJ MQ]P?O]IA5XO1]\U*OO*M7/]M^Y7SXK=BLWLZT(.F=[YFTG74> .N91/2PMT^,(J$8Y\NOV,9E;OZ'272=_ MTU?'69JGYZ(?UY+AGG#.6F^4]_7Y>ELFK\[+O_0YQHQ3# *N\I3&T (UL3*ZHG5%<>I^X.2NKV7V%;&R<:\@MW(@=&S M$QV"/0V+7;H.S-=>"WXC?H5]DUNPTL">H7<;@I;,N9%"3&JTW0;4J6EV8VO. MZN+]SA\)+Y9!&+$P#7S@9RF2V^P0 <)Q!%(1H2B,&8ZHT39;N^>Y66Q#]=A4 MC2[K->^:0="C0"?0.F:]NR]O/WIW99V=O$K"56Y429 J*UDS" M. FT MT,^IS;!.](ZNU%O;6Z8P_D>@:"92 =,\%(#,=77QQ&Q78AQ9X>7Z@NK^&&X.:);HRZGI2WAH#RBF!C6ICQ#9FM7K_D].=V&]@[0&>YH^Q#1V.); 2.?Y,8%RZJR6Y#_3#8:"+2G5K M(6VVT>\/:;/6VX0A;;81.@YIL]ZZLTM/=8E7];FD?AA#G$IK)V!IG4@D(ZDJ M8(MQ$*0TPRKCH-5[SWWGD-@ M%6P75Z1GJ$UW2WKH>FX7I6>@C+@K/6]CQ!;D;B?I]>-:KKF/M8>O7G'HWG?G M-#V4B%Y'1N-2VOTH&5AU-M":R$@[0\V2:34$0:^E=/7EZ0R?(?F/[)C!A\U/ M!3]OUM]V*Q[X) [N"FD:;9XD/WQ8X0?=,\'K+7\JF2V=$ Z#,NI\L*?9R4X'AU7KG@UJ/#UN_]') MAECO=Y2KYX;R[?8;WW+9W/>[-7O'G_EJ4UU +-,(^W&$.$@22@'D/@ CTMAHN@75,,T26_URI0W7=V5+"WXQ@+GJ5=AW'WD^X\QH)SNOL8WEI'A@M*G3DJ7'K&45&#OZX+CE?Y M_TB[9U/P_&']_B?]KLQ/=43!MVT*=9*@@/I) %#"$( )8P"+U =<3G>"$A(0 M/6\KRW+-C10.4JNK$"6V-%]JN;U5);CE'/B:PZ=S"?DJ@^+Z%E([WWUGY!K= MO%8YK];.51D#S2&T7,3 _E#.KH2!C2&U7[_ #/B;JQ=H=O?:235OPM3]'R#U_NT M9=?[>]E>$WH201)CZ#,015"5.0]B0,(D597Z H)#%ON6/.X/?<[-OJO\ECY5 M[BSW\O>Y\DZJ=MDC(WYT8-?<'=H%TS%]W("C/7_ZIR']_PY!-I. M\Q=>'5FX%1J#7H-7C%!N N=[@-2(J0[Y.#.7$ M%!E"PE85SVO=3%NS!T(O#\5"%Z#@D6.GGSD M7CL[MK'<_QXYLL<.A[5,V:,%&+?._8Z+_^951J0_.-T55?V(KYM53E^6$$6( M9"0&,,,)@$(0D-% >:I#FD240N8;N:9?[VIN*\E!4F^[%]5L9>G!56\IL(.6 M8^[N '60>Q3PW" MS7NZFAL]5/)YE8!&8<1]:.HX5MC"R/516B.G5PGJ== :SE!A"IM11+4E^*;R M3VAA?*I@K'8;7EG#^&@KT8<^,@,1S'TM3!F5K*')2:2QSALC"QCU!.TU#@-O MJZJO].5>#N\6TZ:^1O6O5;W-9/_<;\.;73QRH/X'M[+;UCCR-$8ZYF),Q@Y MQXO)8#SS8N^3U6KJ=52M;-..LMY!VX5'*GV5WY?%VD=N1\16"21'4DY;"#"^[_]O_A^X#WAPGM6TBX\O"N_;XK*>3.(_87O5_^O M;\&W_]O+M]N=RBFCZI-T[A;">)&&P2*+T^JC,%D@A!8PC)L7/;Q5.6O><5H9 M"O_/_Q4D_O^.@H6GIEH3^'3AHW#AR9>?:L?"E6&1U[.AUELC;AE Q^3>C-T? M]=C]K1ZPC]6(V&/D:_I;HM*SYB?EP&O*G9+7U>?&L\W6N M[NG55[H]Y"(A2Q-?9$"(. #0CZ2%&H414'EV_="'5*1&]PT#_-\ MI2XXI"WU!^[>OG^0 OR#XV*[SRJ^Y"GC M24@PR&!53"#* ,$^ 1%A OEQDD9^8I2'RY9D4'-._<:T0)&U4=3CME<9&\^_D)XMFQ)7VG@3$:Q#Q/O2M3N8YP6R/BZV$8=;DFC:; MF&TXSU*-6>_@%6J^&WHE6^EK1KSQQ49Q\+S+C*5]"F[,]@E 6$AH $G "8!0*@($- <)]&*)2V'$8FEMQI!W,SR"KY MJ@?,K*XSX/0(\!8X''-9)5J5#<1F68,AQ2UQRUGSD]+$->5.9_S5Y\9-WF^\ MS.M:3BK"ZX\GQ2'%)S44DC6:",2 )4$HLA2(0+F,9"D$)(T%H%&0XC!-<0H# MD_FLT>?YP7)HL?'LHQ0!]&'(, Y#1! (8 MPQ20R \ BT1*8!:&H3 ZH=;J=6YD]$GNZ1[ZD_O> +$>WU@'SC'C5/)ZC<#5 MONI(9$>UW(Q0LD0[>GU.2CQ&,)Q2C]G+(^JUJ1B>[=O59LOO-[^OGW*57..D M HQNV;;AIN;&);7(7B6SR@9ZGS]6E=E___SU8R?!RW;A57H8%'73@+6?:AP@ MZIAD=,$T*6QD5OQ-'ZYQ-> TVI^N%)R^LD<5X0Q>&^G<4_D3E=5!BV0L92:M M[O'/YL+M#5]SD9?+D/B^2%6AF2C, .0) UGH4T"%"%)*$2,T-O+XT>EU;O13 M26OH3Z.%KIX58QTSQP33R%N?_%963"5RE0.O$=K[I1'[5XN^."8PV7+0T>IS M6J\=$QC.7'F,7AYY&5\E?&YZ6I(DBAB%#(C05]& S $THCZ7#RS+ M38E7FA?JW=:-B&3?A\.31]5'XR->-K7F#._ C\#3O,<>"XEK0Z1)[]Y(9O&" M^)+"MBYYC]J>]J+VDEIGEZT7'[HAQN3CNFR2G]5-?^;E,I*/)WX:@"P5&,"8 M!8 0S $*PQ@G#*,H,?*"N=;1W R!.F @WPO:3.&%M^9C0CLN0:MYO6P!,- =MO(,ZCA('WPRKY9(S8R1YE>HS M-T!VK1#-+4V.3(Y"OW.V6_$O0LJ0KSEKNE175]O.,5Q=8S:,"2(^D]NDB*I\ M*3$'A(L81%F6(D$##",CWC3J?6Y,V0I?1TE5XGN-_-5-[?;",:;AG;?9Z.@1 MJ3/,'5.G7;C-4[2,@8/R@%=C^)Z^].:7ED] MO;J]NIME>Q&]@C\U4JH9)VHUO)72P]N057.K;GAPU(]^$D+DDRP#?BHX@%": MY82&,4A% 5)60S-Z)U>;'UE,3[AA[JX#KK1C6 M8'2\0C1R>I6@"^_P56YEM;<::$%BB?W[^YJ4[;74/F5WO9=N9_-/.2;Y*B]? MVFB@DQMT'@1Q#&,$ DB)-%XI!(AP"B".LC D&8L3K6Q>(_J>)]?L9\I>^H6Z M@2=<3IB<'8*NQC/.T)"8\X]%H*=EHP&,G;@YW "@ ^X:ZOG5F$P3DCY>TVUB MK./Y,U_O^ >IA3H*4-O^O^?E][>[;;EYY(7A29IF:S.:2HW$M374RNS]D$)[ MK=1.#L<,D;+F"ZW7Z\3^T$90G/M$F[T^PC5QM?JX9OESSG9XU08)Z?HB7GAW M;DNVE-'K"&G@7'@)F'ZFL(&)ZUO[8S@L1E -*3_.&?!2@]-Y__6H<^3NU_?< MR//EW=/3J@J&P*NW&Q_!F9X?JR)ON;)L7U,79\9=^%4(GM* M9J\CM!.[P1 H6Z?$FKU.>SYL!L79R;#AZS=X&'W>K#?U[=KZH;Z':W-049)@ MC.,,Q &. 20H!8AQ!B)$4\8"CCA)C?V,KG8W-TJJ/6A^X;5TOS;E]L8Z&UU' M68^#[&'GF'IJV+J2[I.Z-L):=#K60\6F%]+USJ;W11I4_*)'TO!;9F3">+Y\ MOR[EWO]#ON+%6USRATWQLDQH@@4+0A &80(@(P)DB", ,82)3PG!0NO._$K[ MZ/*'P_R^UMXD M$WI F78&#SUF?FX@:> KWWSFF[OGA\HQ7N4_OGLL=<\.KKT_MWFIJ@Y^??_% M^RS_?_4]5K*@" 8[+&#YN=KH)XGOA&SYAL(&3I\+GYAO/IMHNP_YEN*52EGZ?LU4/MPE0T%(<)0 "GT*8$HY(&E @(@3 M%F(21I!KG5_U=3*W:=5&?]>"UKF WZN:%=HQ]+V0#F]);0#E>$:.PLAH>SH$ MPJ@]ZM5&)]NH#JG5W:T./CNR/,5FPW[D*Y6J_C2T[N P?7"T4L?7@=H64)+Y M )(X (2'RMA-19SY#*;,R/?-K/NYD4,K?945XDJ$J&$9"[/AT+.?W8'LF%B. M\#U#MA.GX2B5V#C@;-7!,.M\VK(8HX YJY(QKI6QNW;9QC?^)+^;W_&6LW>[ M(E\_?.5%OF%_5(6JEC *:,2$#P(<9)+<8 @(1 $0"4W\,,N$('$;M'%OLJ$? MZEEKRAV';]Q/0&\'F:O0C6X)*N^7?-W4][I^_31V''1/!:S .M5)@0*M(ZU7 MB^O5\BZ\6F*;YP>ZZ%@[4QCL<.)S!ET SL\>M-^\-5;VO1!U@;M]P.XW.;F_ M<:5COLJK4^$35_>08B+M+ J"#"$ I<$%,$80($1Q$D5A!F,C)X);A)F;/=8- M[=QKTPV15PIYQQJ-#:0=,72:O#;1@+AFO!%CX31XP0:NUN-P1XCR2F&YXT&[ M'J5[0YOCF/>OZT(V_K!6-4YE;TUX\'89$D8I5K&B,0H!S&(&2,(@X*F/8")$ M&F*C,N%7^ID;7W;%]$HY)TDCJ!DI7D,U01C%/$B!K]*%0X@C@",? BA8#(G\ M'XO8\JE>5TM]JG.X3?X%45O(5+B>U#OEXKFT\R8BV!'9@)S5B* OF] M%:'Z\OH"8 (98 F,81)#']&X@?G]6C/:W!K(;8^30%QWZ?&U)63U%FP+6#E> MBX_FN5I[WPS-<^/5=0 $2POGM5XF71,'5#U=[H8>-WV M^%3^,/)S?1^A5N_^:3E29<=3<%!;(^>>$_U&^?*T;4SFNG,B=-=3Y_0CLSGQ M5*S(\HY6EY]JI[Y9Y:I0P:=\S3^6_'&[A(RE&4;$-WCVV5 MP$EP.^IQAOAIDY\N*#4CJJ+3KT63<[6Z-JKOA^YVY?=-H39\2Q[$ M"*KDT (&$8 "$8 Q(R!*TCBC892BD)D09']W5HF[\/!>U/$WR .( MZ_&@/1Q=;QSW$/Y10UC+ZAV$M<=C>J!8XJJ!SB;E(SW%3SE'\ZUQO*)S-W)4 MV&;_'-\NLY2&:0(CP#.1 !@0'Q"6^H"QA)%4 H1"8L(ZMP@S-TZJZSBIVXY? MUKRL^8RG2O@1=GM;8.SZNJB%^Y%,AFA1T; M^%IBQ9M$F90S;8!VRJA6VASIE*/H^XWR]^F&9-X5A?P&5Y%(;UX.CS191ZNR MAN__M?WFJ#,W?9!/E]N.Z]B#Z.\\?OI><-6&@ MU8?*C_L#SHN_X=6.+R'U42(M0T!0IL+[0P8PDB8CI"A2GHF$IV8IC.:BV=Q6 M@DI"SA;>CT9R@)O8W ?UB<<4"0DIO?>LQ*\L5K99K7"Q55>-M?5JZOXXE\'0 M]4::B[PS6L<::+P*FX57H^-UX&GB!TH)D-<@M/!J MC%19V]9/M,5I'T9>/5*%VG@**Z\"RZ+7U-S&WY8+UFSTFM:?:S9J7W,.FYV MHQ.*YR7_)$V9L]B&N\=-4>;_4RG6'%.I>*X/\MDE)BF!6 T$''$:1ACT]SB(\28VT(M9R\R3AX^!GZ]-=$]J(X7L%H!4&EP%E>UJ,[2 M:;7&=+19U'&=2A.K"<5O0-)>;O$Q0DR=9OP&H"YD'+^EM1'>&149?RTV;$?+ M-G=PB&@*4R9 D"880,83D-&$ 1JG)(F2%&*]!*< D[ M#9>+&Q%Q3$$U&*UXPVF7]6 Q\*RX$9Z)/"J^\2?97%T\J4+LJ9'X+Y9\*7I@ MZ/6AN/3>=+X3/5(?^4ST/3?Q,5%CA4I.S9L+R-847;(TX;&/(1!0VGN09#'( MH(^ \/TTCM,LBW$Z)N[4OJA:,V3Z0-5*TENN%%V,JN/SE1L'Z=_FI&1_%M+1 M]' @,H.#CN&!>.TCBQX)_ST.'X8AMG:,H-'5N(7CS2Y?L7S]T%@JDO(1R5 M&(Y4!5Q?Y0*7^_[8%W$2A<@G@5$8[W'S2X@-5%@^U58K,>M MG_?T2F'I5U6^'G5^_15['J!?=N6VQ&O%2LO$#PG#D( ,J>#G0/Z!8!R )"!1 MDOD(2NZXU06TT]_W5/T NJZ[B"7GK-8G7BMO+QNUU]0B^_:LO09SQ#6%HDD:HP!",.4)@A M$)( BCCU*8;QS:6)+W0\-\Z1W['40K7A2Q!K7Q%:!\[]I:!&G>'Z$E!VZKBJ M< ]6+DL*7^KV]>L)]X"A54RX[_UQC'1?8*:<,*L#]B8R>MQE'67'Q+4'^""C]V,GMY'$F]:VRR>_RS=FZ0/[2_:WP;CDZ'UZQ-SG+Y^/CM9ELN M4^[CA$6J= 1)E8>6#T@"4R"@G\5I%*1Q@$PXS860BJ#?M1'/ M[P5PQR)2\KK8^%,CN[K;/]2MQ7O!S6C?8"STR-P-PHXI6H%;E1[_V@'W%R6Y MEZ]_]?;">W?#,!M3KCEBEHC4H.-)Z=$ %S;?* M+/^X+HM\O M92=A?4Z'Q:;3FQM!I_=]YF&S$3UQ*!]VY:[@%Z)13FHJT)"& MF<]BD&682N-;9("D, $Q(Y%RUDEBWVP%LBC335"ON4=9[6/<^E!= M":@UJ^#?9>/[;# ?-@7/']9UIC_ZHECOUSMRW5$9!QF/ M,0O2-,B041GW5]%B;BM.HZQ'&VV]\J"@A_<:&IX'O!TPJ@N%#AS> 8^%][E.UR8Q67@-*EX7%N6H M4@/C),OKJPZMI47P=728=+5\U6$Z759?5Y@1@?J->!+50Z;<-R^_\_]S6O(;MU!>S MFW>:O'@'+3READ&L^XA1Z5^N)L#:\4*C#;/)?L<*\@9)"-R.P$0Y"J2 NQ4N M/'8HQRU7Z;PS/INC\7DXC(^D+6PKD\%X+'L3'8QH=KH\".-U/DJ3<$,SYM6K MWA?5@JB2>C[SXJ5J5[>4U:5WY\;_4L;-FF]VV]5+?;A_>BG02J]?^.HB9/T$ M;P,MQPRN#53#X!9,^2%41A72NMC@9%6U^M3IEMCJ?6Z$H=@D8<8/7)FEQ0,O M/^]4^.U;_*2:_B+>\'S]\!X7:\ZD3?LWOE67VI\V/WCQ*7_,2VDVAB(51 "< MIBF 6> ^#0$,(0^]PD6F/G:9N.MTLR-1 [ZJ+6TK#1:>+361OV**'T\7BE4 M;9J?:Y46WDHIY:V45@9VSLW#J6%O3CE(CKFK,SY?U(F$4L:KM5EXC3[JDTHC MKU;)DSIY?VN'J5++^S3U,!D8IU,.UU2FZG?>G1\JB[-2\3#'O'6EHLY,4P5G MY>Y>59M5CV'YCX)SH+PT5+MB4SQ6T1U-45K&Y<)6Q;S*E4V])TVN)[Q^^5_; MHZ?S^D.1K_&J\OBH9/O.+S6IA%$?8;5XJO"2_"F7VL@6:5WO1@K,'Y]6F^IN MUY:=;>MKT6MUW]S)=#:X+3R.+')KC8X,:6\"QNXW=_1?N[S@U3G6Q[7ZZE(G&6#'6N1RO09R+[*AK[C+=^J MZ5IGZL/5E5DU2?.#_(91[H/CH'.F#QFE=+_:W,C08J:;U[N=579XE2 M9N_WSU\_JI+7VURBUE,4UA2^X6LF>\@Y9H)!T+P_K3I%ZX,SZMYIH.G);J#T M5.S>16F^,3*\1-6'5(OA%U$G0\KQZNMFFU<&2NO,B5#JTY3Y@ HLMRZ!W#-B M(1#P@S@*,PY%&AIE)M+I=&X

  • Y"2BHI?9:L75\*,U<2DU'6'ZP(28 M\82J//I$ $C3#&1Q%H/(1YB1-*84QEI=^Z ?8-7U:T@+CW" M'_+UNKID%,TMX>W@IF&0I2( *FK!5IJJT^: M+4O;HERJ3<]FE;/JH.ZC7 "W=S_S[3) B 8XA2!+>*IR&1& B"IS$/,8)EG@ M8[U[F)L5?"2E5XDI[30IJ*;5VP-F_S2W Y'C:3X"'>TI/@Q WQ27;W>F MM_S786KW-#S)U!Y6K)W:&D^.LSC;&@!P#" M& &$12B-T$3:HE'"XU#+Y[*_F[E-\7T5CGPOIMD2?@W-P.II%)^; = E77T,*HNS!5P]6RDVP%S3*"M M@ OO(**G9+1G(O5C8,E,NM+)I*92OZ*GYM+ TY92"JN,.'6D9IO.>XF$W'M2 MGX",0@A@'#*0A1D#41HS[!-,,#4Z6]3HR9^XI*J)X%> MC[$M?YL=T_?%O,A[B;V[031O3VY\'1]7N8HO]/BZJ8>O0S"82;CGU7$KP#>^ M+8N2(2RB!)C6I\7>QE;BQ_$+(N M2F5&*9>!U".1F^%Q3!NGR#CP-NF%P!(S7.YC4B[H5?-T]O<_/"+(\7T5/<-Y MU5SKX_]5#O47(7DF7S\TM;[C*(8A87(32'TJ;0U5(A0%*4APXN,@H:$D .U8 M1LU.Y\8&K71M=))*6?NX69??=7/6&B'>SQ.N<'1]J-Y(W)!&*[.GA%YX>X ' M2I^/!]4@.- !N!/& &Y.OJML5_WKQ_>H_XQ7MJ!Z&N6U)^+S:[ MA^]5W%W?<-F*MC/$N3>H3K>MZ6+G#+4["I$S???66WUVK*U_D:6!*$ M240S0* J'!2F&4 I"N4?01@3[E,AM-8(ZY+-;2'IYCG5R:R][4VM/9@\PO&P M:][UOL9@.E[-)A['&^IF6\+<>I7M6^5ZI9K[GINI'Y47=8P"MH <#VV M=0.C8SK5J\_[(=]2O*K+]/Z.2VG7EB]._$[-,718M_=*QZ]>N;NN'OZ[SLG)5R03-<);% "4H A!S+HF*Q !G21IB&J5<,+/SRY,> MYL9'>P$]):&1Q\]U%'4/+V_ QOG!I0DL(PXMKZAN[<#RM/V)#RNOJ'=^4'GM MP1&'E%W:4)4/]XLA\T,8R1$')"((P#B2DQIF\@^:) G":8:Y?F+>:[W,;6*W MR^1*">I1*>E_&)R47<52X[S1!D+3VA!*2N,PGX'OW/]+WKLUQXUK::)_!6]= M%2'T\ +>^DUENVH\QV4[;'EWS*F'#%QE[DXQ-2339?6O/P#(S&3>2( )4MQS M.KJ[9(D$UOI ? 6UL77Y+'A#\A^9[ 8? M'GT@NU:QY$_\STWY9HVKZJ,;)YP7*U^>P3@+0D@CE<$$)0*2A >0^8QA MS\-!X >6IS*;_A?(F+VUA+0.0"L!E!;@KT8/R^V2[2@9'^6FPGYZ+G8,^Y@S MW!CPW!WDK'J?^S0W!IH+1[I1S;BMG*0<'\=7G%C%7A*%611!CU$.$44,8L(H MY)F'$ N"S,=6-Q?3B+DX6IVU]M&-0VQ&MJ\_1F0":N.72C MD(LH*N0&:-.J08YZF[F,^.\X+W7A6+GN;9]VQ66?.6T\H)_\59J(-/*1@#3, M$N6J36$:9#%,14PYRX(D(LDL9<0'15W:(K,3#JQS(3EJUA+AP^-J>/>]B-&: M^C+\]A+A2MVF#CCH*'P']M^ TGD!)<*-A^6U2X0/"_JO42+<&'!G)<+->W1[ MD+G_@?.UNL*7J^!7O.9?.54WG#FO+A3*T^Y?\KU2F9O>\N:_>T,E15@-$H,< M\10B[F401V$ @Y#':81(E'$KC_WI15[:VJ,VM-M"BKC._UNRSZ,\OU;@E[7< MH_#J5QT=>D@&K>H:5'O-W1QY''X,MQU_7F>(ISX*O7FO4O&2&AS4N0-[5:'8 ME% I>P?^D ._/QYA(3^]SKFG.1+AG[-69'4_(!,?A1P*O(ACD?L!,#TB3=#S MN"6LV.GG;B&:81 $Y3_R2LG5!M>6+E"\02#I'(4B08#Y%OY>5GUNW2 MSBW?_OWKOX-'506S:':HC]J./_9X8HB]&9N[1W1B8O[V%302ZXW^7F;0%?KT M&#%!-+0=;HZXU+#366G1#HA3AK-\>V1QN5+5 Z]?5*Q>+7MZMZM>\=O+@VQ1 M>])Z7AIF0B 8LB223.6K':[O0<*SF$4H]'R[P F#/I=&4Q\VQ6/K'?)PY!LR MREG9!'0SBG(,Y<3\-!I%^T)RYKBX*B5GT..\Q>3,(3@K)V?QZEC::7/#Z(!A M;=>NWE?5EK.5H'X:)2*!01P+B (N8.JC *:E$WIQ05V$[/* ;:O#6R-G* 1U"6G#('AC$JN=C0S M@PPI?$X<@V^,]"K>W7&]+YZW=?6!_^#KH-W,8QIF?I;&DB:$/#XE608SP4-( M61)X(?>)W*18>1!?[VMIC*%E X&E[V\/EF:TX BAB7GA<$5_!QI![T +V!0% MQX8Q<>6JV]/3O&ZYPRJ?N> :O&+'$(SGJW=%G=%X,F1>ES79"_L:#...1JD_(O,S(7W:@GZ4Q0R,JV,D*&F%!*ZT9 M80Q!VT\6#@&;F"A&8F5,$89(]-0=DRTTS"!_.!#"4+NSD(&A2SQ\_>@Z8MGQ_U)?*N:,-)/I,9Y MH:)+W_VDWY7?MA3F*(/0RW[.!@EEF&0!%$@HZI4DG'(O@6% ":$$9X%GY/)\ MHQQ+HV M95NE FQ:/93#,F\U 7*>@X+_W>8461]2,UEDS+AAW/JY=L;1F)AI MM1+PDX!2C?:2;J<(>%^ G2HJ!+/)Q'%(@C8NB\D-8V*1YV2>L9DI$\H-8^0H M8\KM%@?-C7:2/O*]?E^<%[G\LEFO9?\J[&@E/)XF MPD=0>+X\1J XAEDJ&&1AFD8!8VF8"IMCA&7_2UNY=N*#7W8*_*K6K:X._P8: M+BY_=3'A_J_ ?_)$1.90^_%P<@[@Q"PTC!WXRZE)UPJ@GJLEV4[+,90=J,6L]5F(Q$K1 M'6W8O33BY']/Z6:K8@X>E6\NET*/?0B:G#@=H#3Q/0P+406YU\'4,UTN+T F:-# MZP &O2?2:^_.=]P^YR48AAPEDO0R M'Q*$/"BB&$>1"'!$0O.*:^<=+(WP&A%M:GY= ,V UVZ$8F).:Z0#K7C#+G5F ML-B4/;L-GIEXK U(E#16M4@I"_; )V19E^PZ$/TUR"Z\-V.]L>M2']<6ZWG. MWE?P;3OJS<5@DW7@=_F[:A4)E&&>I3!,,(8HS")(HEA %L8LYO)_H]#84_!J M+TNCLIV@NXO21E2@937W$KP.:C_+.8-JZFOG,2A9^0<.HC#*._!ZJ[/Y!@XJ MUO4,''YXI%\@KRK.]TQ\;#[OE'3Y*(^&#W_S]0_^IRZ6NN)13#,1R9U-RB.( M6(!A1E("A8^X'[(D0YE1U89;!5D:;VY[I>P[>*B^WZ0R[X*LQ\ MAGB$)/EA!!'E!*:9LFHQ1"FFL:"IHR(-ATZ71GF=J@"XK0JPU<*VZ5[S HS) M^&J$OQD'ND9U8K[KK;EP!QJ9@1)ZCB(+YQ!-7EFAT^5"RBF<@V!>0^'"NZ[\ M$.XI+;><=;:EO*DY86WMS)X1RG?CJ[&:*)N>D".E-$H_7" M,,I5X;RUV5P3KBK2=46X_M"T]BQE(OA=?AXK@GR>^')+)/Q$)1LD")+8XS!( MHPQQ+AB+^11VK)T 2^,!^?4DT]BO]I"[M5N- 7*)]BJEP_P&JU/T9C94[;M? MI('J%)RQAJFS=NPW'@\ENR_+]P5[R.NU$2&=O[4TJM%"F>\I3B 8WE",UWYB M?G@H,5.LT"EAHA+QJ/R5;(O7H!\8J]W$90Q&;25.FIIM'W%9A>XFXLH3-Q00 M^VVXVLQOI]5F/C4%9CYMZZJ6!U0YP/_)5<0*9_<_)$,\\G<_>4GSBG\N<\I7 MA!,:15X&8UWV/,4J;2B-8) E02"2#"JYW['?B[U0SB1C7 6]W LU).6ZS99KW&906D M]$V*P3'URF;XC!C),I2&&/HI556B P(S@0@,XM1+&*&<^$'[&;TKV+_X1[33 M8.9/B.O__M_Y_6":A@Q%'@PSGD%$0P[34/Z3^U@0&A/Y"ZM8M05^.W/L97;? MS:?N=_,/7JF"=\I:N:]^)_?]ZM=W8*<=:-4#._W YW^YC\CL1+? 3V/BC9Z# MO_#B?$-QL0KCC-V[W+VOD$!AA-,, M^G&D:L,S*EO_913 ML,#K-]NJWCS)V3B4@S$+_<#W_0QFH(0BV+JL8!Y-AQR@RQ+ M(YI6E:;BV4X9L-?F]G29MXR;&4'--!H3L]B(@9@TK:8#5!T1X"V2S,J2#B [ MI5(738[CVX,+P2?QA=,UKJITJW3]LU5B>\QL_IJ(8L4,7][ C49B#,"',B>"AZ3EQY8MSZ^"2^X$E*,L',Z@[9=;NT M2;N7NHV9LUM-#:$V6V+= SCQC-\+#%N)SX+DIBC>; >3HS7:L--9%VX[($Y7 M<\NW1R1B.CADRF/R&UR6+Z+)?5E]YO(+E/T]RK/" _ZI+!WO"[IYXJLXHID0 M3$ _3#*( A+!+*8QS$(4A;$7I'Y@%!DW5H"ET=/!=5F>K2I NTK<*7^$5@UU MBJX;14"N-=&."^T#ANX*HT>MG]_F&(N)F:[C0:Z&X??<_\Z)\>Z_PIK__=47ZK&[#MS7\UIMWY M\F/=H/51_JQ;VK'/K_5&):0O.7ZS87SEI3$AGJ^,W4BY;<813/TT@'*Q\8,( M^]SSC"I-G3:\M'5$R:;OF8"2SCQOUA%8_31_"P13&XC,M+?*AW5)U5$IL(X: MFBWKU27QNXFN+OY];.';>\;D<%:?-U6-U_]O_JR_IC0A":$D@YC+71XB>H&KXEG[5BH M1I2][4/BAJJW%YN=N>AMGVKG-6][G[:;_E59KSZ7&[:E]:?R*R]_Y)1K&R(L\FAJE('\6@=+F_*MC-K_O!5SR$)J!F3_ M/'4VDWHP>?&69;?X5)% M<*EMN78+//@JB)CBC,<"1@QG$'G,AQF3FVGLIQF/&$,AMPK?O]K3TB;W1UZW M)WWPBSJ^_*JL 6!W(ZE$M[,H7X?8S(CL!+BI%_961@V5EG(B3X]!,!Q9AZ_W M,ZM!>%#=4QOP\ OC>.);47*Z>2SR_^9,'MM_XP47>5U]X8J05!#"%UYMU^K$ MKWSA/N#G2I[O[Y^?USE51_RO-:ZWM?S5!V6CT0:E:A5%F*(@17+70$.Y:T > M3*,LALA/21#[G#+*5P5_5+;L!W.BF4!4HYF6-3/M3.#I9MTN31,HV\N:>J-- M:/SGSTNP-[#<%> MP\;[6.NH1O.@)6C55+_]8##&UKP[X2@X8NPI))R5ZR>$^'25F+(KN_5%UXHI M7U8?/ZPR.:)1Z'&8I'$*$0E\B ,L#Y%A0L,8)9%@1A5=#DTN;F?Y[N%_OOOR MX?[CVZ]F[-M!IY\LQ^D\,;>9J&M,1.<:]EAQVH<;VFC_<6",3E.S3/!ST7?S M\<)?1N>OE><5-2]U3-V'3>.E^W;SA/-BE46887EJ@V$D)Q6*Y6XK#?T(AD$6 M)EZ01-SL2L2HMZ5-NO8HMY<6[,0%?S4"V]?"[8':;$_C#,")9_ -V(U)"#N, MB;MLKSU]S9W*=5CM"WE:#5X:4V)2.PK=%]V$KTTNMM.0S8CY(5,QF@F.((I8 M)A=K$< X$!&*,0F(A5>/::]+HY;6(4[9.CN2WX%&=ILBBZ:P]]/+9&!.3#/] M.-J$4=X K4U!RPD@GLG91@JX7>,2L*-HK;46_M^JUF-6CT0G4[LKGQI;W/JK M8IHV-F.93$O]CNMFVKY\:QVZ)G>F*IA&$:(X$@B&) X@\JDD\S#*H& 1SGSD M1V%B%&S5T\?2J/NTNEJ;*/:&"G0'./M)VA%($U/R"'QNJ#UWAH"#RG.'-E^I M[MR94M>KSIT_:G\QWQ:K/,2_-(TA"I$',S].8!C[OL!^ M$J>IT5ZMMY>E3?"NA)8GO7XT^V>W,XPFGM]V\%A=T0^J?\,]_?6V9[NL'U2O M>V,__/"8/=HW1<;WZ"]NV/$'_F1?ZT?6I#G!-U M4L AAG*J,KDUB.36("4!9)'/ R%0DJ3,]-APU/+2UO96.//#P3%.PP>"T=I/ MO(2V__,"X^]O/I5H7ZI?/!] GB8"(RXTZ$0&6* FY1?>C,(N1S?5M7V=+FYL[69OE M?"?H'2BXX5[-".& $.2GH40X2T*5(,^3!Z"00YX2C#(2>*DG3T&;&J]G1GC? MY;\ZPI12CR/YY8HLDXM)1F)(4H_"..(4"\%\GI#5#UZ2S=Q?<;?3">]=U$B" M]:9XA&M=?'I,;I)>A/N7(=>H3;PR[<24!S,E:%/HX?!M?NSY-JT=#TP@<>1W MT-O5K&X')DJ?>AT8O>,RN;S^;76_K;]O2N6J^*V0+>IL94WF>R5(=93C_HLZ M07W8_,W+YB?EG[B*99>>\ ,8Q%D"5=P*Q#X5T M#E14U86%@M7Y.*>S2UE\M MF3J+'Y?!J.XDETG!@4[CWKB53UA7Q=&'8$:12QG>B2EV,"U_H]?=:?4AEX4^)HSCQ+=:=FX6:6F+BS$% M[=2Q7$MN'T/#%6/6D5G*NK#39-(R!^Z@=<7XMPLT+Z\[ _",O=VU;)]M6->_ M>O>SI$V9/,-LP\=O+8T.#2O-#6'1SUFWP3 Q]VC!G%?WE3_S/3?E&5030:4M"A%*29![T2(P@ M"I(8II$\<+,TH;[(D@Q[5HF'+?I>VB1N1(=:]@O)<\D+T/(#K8!5TI@Q V.V M?YD([HG)PBG2UAN3$9@YVH'8]#SK5F,$)*=[BC%-C/&@.\F2(?D^JNL2T7G$LLC3C 4P$]2 2$8,IH>IJ*!,!]CP4)4;&0\M^ET9K M*BG.L6/+WL)W[L?2I,K1?_R^6.Q3Y3] MZR-M?;LXVD_B#:Z^_[[>_%WM)T#J41QAFL$XE-2/$(V4\P6%-"0\2PA*D6=G MQ>OI;&FD?XC[W@B@I 5:7&O2,0+:T-3F"+ZIC6CCD;,WD1E XLKXU=?5O&8M M Z7/#%8F[XRCD#9X<_S@,A2JXB7$F(,J0/ ^G00*S%!'A(9%Y9A%7EYM? M&DW"V7U99T?S^:3Q66?P9<5.Y^R5IT8:C!^> M'O\LGG-5V/)PQV-C.[[4P.*FHS:B/N1/*MS@SX^?WX-#(4]+H_)%O SMR[=" M-8NI^3)*CG.7&D$RWA1]L=5YK=)]BIT9J'L?'K?\_K'9L+_S]5J>#D[-1H=1 MM5QLK-I]DUL?7,_-HMVO?(+E:A1JCE8SN[YG7>Q&P7*Z%HYK9.2&]@?. MU\J@]_NF_(K7_"NGVU+G)'G+2?TGKMM_'0Q%- EQG,:0Q%0Y>&,!,QJ%,(UB M@1(:"$:M??](\$Y.QF,;6?D=?BFY/EC\69;JF#DEX<2%Q76<9=_ MX+Q0=0)^X_*#4Z&;*W4W%)$@@T$2(HB$2" A&8%1)H__(J0!HN&(Q.86(AC- MQ_D3ENM2BYL"B$830%M50*UT66/S/ ICAL6,^ERC/-.N3\K6EJNX ZT*8*<# MZ"AQ!X@67Z5+<'@;;@^:J]MPBY[GO0VWA^3L-GQ$$R/C3QM'SZJM'/RPD4W^ M9UY_5]>W*@OXIKSLX[=*>)1*;LN@QSB%*.8!)'*[!T6"41#Z*4>,[JC.C.7& MBC*"\B9FN\^RH>]23%UY0=^&5^!OI0E?,T6!.GO$AJSSQS$5&48/F1D-3CH, M,P41-BK6,2;P3K+%[QUO;&<>E;+K@D M;%58H3FTL+ T^,F M_4=>JSOES^7F1\XX^^WE6Z5<&'_/"UQ0239M (0\CZYB%LLM.$HA"TBH+&4< M9E3$T(\CCOR09HE=L@GSKJW(88;4$\JID"KGB&VEYWLQ%;>T+]\:U#^%>R%!_?#,%O3CCUBCJC(HN-9ZD%/* M&M'"2"L7SLM_X/6VO5;XDV-UI\ ^%5^4=:V472DOO.IP&4PYRW#,8QC[6$5^6 JPM/V.DA]H!>YV-VX['8!.W]=JH9U++;G- M>G ,#5X30CXQS]FA/6F@ZE@479G!;+N?UQ8V$IPS@]C8=L:QX1=>X[S@;.>) MW";\XZ$7,A:%D% O@BBE&22)'\O_1Q,4!#SCQ"K:[7(W2V.VG91@)Z8=>5W! MTHRB;D=H8B(Z \=A3D4S$!SQR)5.9F6+?D5/.6'@Z1'180\22_[VLZ0370%3 M-BZ?Y.T'BY#GI?)[@#R*8XA$0F&:A#&,B!=PN?]1E:^,X\'Z>EK:_ _?@IV@ M%J%&O5CV3WZG"$T\_SO@@%]V4OXZ3 *6@%E$8[D";J;XJR_\63:GK+4Z\_85 M/)_+C4IV["KWM0E&O6%7O0W,%VAEHL=1:)71"R-\K-D_'S8?52;JS4>^42;U MWPM[/^N^1I9&BE+8;57K^Z-Z Z34\/.[3^"C_+_NA0+X?;.IBTUMXW[="V4_ M<3I%<6+BM 1P"L]L$Z3&>6?WMCR?A[:)@D=>VD8OC#M2=8K;W1=,IPAJ0\15 M-M'Z994$'@]]02%7=:I01E*81MB')/:Y)P]8?N;%-M;QH0Z79A-O$P4?I-9^ MW-U8^G_369IMDZ$- F]V$G,)Y\34\N$$PW?]J%F?QTRA<'0R&^QNUC.:J?*G MIS7C]V[((TP<991L?Z-LAFT:L__D^>/WFK/['[S$^P>:5_P5B04/<>K#R(\I M1$G((?&]$,8D90GEG) TM,XS_$K*+&VCU$E$6 M)EEH%O4V"#X9FO2E)!.O([HL+!NG-AY&)G\G1GD-\>+ MF>(V4;S88/>O&B]F"LY0O)AQ.^/X33L5-M?4'Z6B.H2C7J7,HUF6)3"(60:1 M1T-Y1 @Q1%$694D88/DWFR/"Q5X6MW?7/L"Z]I'L[FF4-_!E.,UHZ6:0)N:> M!I^=$_!!1'<$TXN (Q:YW,>L5-&KYBD?]#]L?_GQF?/RCW*S?=86O*\'@]V7 MNKA_JDVO/P::6=K<5N("+2]H+)<=B<$77F_+0BV;6]/2RB9(#M]^. 1QXKGO M #^KVPY#9$;==PRU/=N-AZ&2W3L/TU=SD\TIHQ=*Z3\?2$G.*]J52EX%<9!EF+FP<3S"41^X,,T\&*( GEJ8FF2HM@J MNFARB9=&9$I&**20(&^EU(6]750OC!; HSOCCKHJ_.&BI5#I M? <.;L2@H_<=4)H#I3K8Z0Z^]'T3CBJ=33!.DY8[30"_6>&S*3IV M7OOC"W_"N7*T;$_,N"T]GV^8O\J\B'*6RGU!RAA$G"%( J$6I2CV>$K".+8Z MWHZ48VEKR]G%PK>*B^T:?,@%!WM%]'75"\>E[6W5V-$R6TMF&(.)5XC^0B%W MG1'HZ@$:16:I&&("Y/350WJE6$HE$1.H+*J*WCD0OYJ]?"4]$(DH$])@G M-^IQ&*IKC !R/TXQC4D2TLB&(B_VLC0";"HIN*@/?!E4,R:[&:J)>>IJ#0IW M'-0+@2.&N=S'K/S1J^8I._0_/-+Z+[]OK'RK/W"YA?NBEO]/0J[ZFG16.(R] M+ EBF.$$0R0\#Q+,!&343WA&$*&1U6&]M[>E<<%>6+!6THZ[#>B%U_!6P!5H M4]\.[/'2@JI3J105;@24PC9[&(<7!2:@N+HPZ.UKWHL#$[7/+A",7AKI'4&I MLOG*QC]OUCGM)G"-11+P#,F]0Y:&$ 4BA80&DD%20CCWHY2G5A'WU[M:&G,< M) 4[4Y$%PEC>0C(K#L6ET:2S32@[WX'9,N."AP-R(FRQ+MX6O* MZ8">^J1BB?$$85OCL!MUKVG9U6S7G.,@Z-YZCFQA!%&5I;)TWQ=X_7*4HL:4 MDJZ\OSCR*LV5_4#_OGNIQI1_ALON,CK%0X\0OR00B\3"42A,G@* MAF$6IS@CD2<"FMJ<5P;Z6QHCM'+:G4Z&,#4[HCA$:F(^:"7=)ZY725%;8<$O MK;C7#<76QQ5#8!R=689ZF_7@8JCZZ>G%]+69W:/:.)5=8$KUOKVZT4Y<[XNZ MS(LJI_K"?)4E:1PDB0>#$,?JXH7 5.6LQT$82)>QOE[\!>\\:=:@&>4B,& MZK6=I6Q$_M?PEQHQ",Y:X_?6AK;=TEA)Z/Y M"?8$D>%SZW@P)F;-AQ(S[1UD@X?5Z?2RZJ/.I"=-S782O:Q"]_QYY0F[N<9X MOGI7U'G]?UQ]_( M74HN >+7?4Y-D1I>;&\':>JKZQY\P%]*V DJLY\C<7-9]DZ3KU*3_5RE:P79 M+SPY(GGRU^^>%V)1/ MC17FF9=U&XE0;T"E87Q2RKA*>'P-GMXDQVY 1Q,U9#M= M[I25ESK-2W(SKJY"%D;+,6]8PZUPG84^W-R@RS2MY\9<J;1T!5/7 MD%37=E6_^K2MJQH7REAWDKIN'^8E#Q':Z7*+UP^\?/)702!2GV46KE3+T>UI:T"NQ2N'57N0*-NDY^Y55CM?=2O+R3D/$1J M=I1MPFC'!L\N9[QN2ORZ] _L7^ABL_>3//IX#;]/!=;4R6-?<_PG327[*HHM M(+'L:PZH69K95Y5PW+YCO\WAU6>(,DC3QH9]& 0T8RAC&5C[&/9TM;5*K*EXT?U[++U@>UFE7E/4JC6E(?)]!GL21I(XD@6E$ IA2DF0T]C!*C<(3^CI9&F7L MY 0'04$CJ;G/R%5 ^YG"%4P3,\0(A*Q\1H8@&.4T M;^1SR5E=/A6CW$:.7E[:S#WRBE"2))>LF7VABE$3[55Y"XP;7ZM,69/:RO*'3N:'WMP=&6LU*E M.7K+F_^^+]J$)O)L_Z*JJL@UG<1Q1$-(,\0@BF(57^=32"BBH9\E*(Q\2UM: M?X]+F^P[\_:1G!+SMI?U7!9'L@/P\ .<8H9P:. M.S/=0']S&^[,U+]@RC-\<:QQ[^EI4^@2=:?%ZU8H"01/!(=IJ.J^99)A,$YC MF$0^S=)4THH0=K:]JWTMC5$:44&E9+T#>"_G^,*F?4";FOBYA4\C][5! MKA$4'"1U:=<;A,.96>]Z3S-;]095/C?J#;_BIHSDH:+;<7VW5>P+3F@42 81 M&40B(9!P+*#G4RIPY D>B=4/7I*-<>)$PZYMID57@ FM6ZK88=4I=HB/BAU6 MV';S8CP*/B'ROWBMQ.]\ M]A,A;[:,3H'GU#;QX1*ITY5$'<)GHE*H5[M]U1*H0V ,E3X=?'_<6OP!%^RW M;;Y6!I[JOF#OGY[+S0]MXZG:4!X>1HF?$0)%%LBE6,0<9LA'DO\SC^$PQES$ M-OP_W.72F'\GK?8O7*O_EW=DMN,D \#-V,@MC!/SD!+V#NS%U4!V!1Z..;-F M(W-\'/&008>S,I Y *?<8_'FV$P0G[=DG=/?UQM"DVK(-XL?6E<4F;VZ"1$&@1;9,^=+'KYXJ;$9F8%FS &)'?X8+2 M-V1VZ+8VP"?^"\ M^(W+C:7R(%R%6[T,SG\KW\TN@,=M8#6"YP,V!T@6C?ECSS=2>HFK":VV:A]R3/*U%N%/CE4$-_M4?%%BE:I@7L$^;J0D M[3]5U:SJ0U[P]S5_JE9)Z >,,@:CF*@25WX("4$AE,>_(&2I8(%9UH])I%L: M<1^L@7=M44I]J.EH"'8J NV(V&JEG^JJJWJ:@VVLZ 9OI/U#FAIFY#AG;R3%-HR1L?1#!SN;]999:S^Z4PQ M?W'D*9?]=T$P7V0N[:'C0J_E(+\R!EGO[U\JU0UXGT1 MP7N5AZ/9[NTF#(L0)B0*(?40DGLH&D"Y<:(P\WV&,E^PT NM#KT3"+FTK51' M1Q6T7^ZTU+F&\B;<\Q>5:>A7]6?U2ZJ#8EN-58Z 0T8BO%?W/RS/TE-\#H9' MZU<>Y(DI]V1\]PH"J>$NL=$O'W;CJP.>/W?&]A>EJ_P.?@6'LJH'?:>IC3CA M@+@ZCD\AXKRG\PE!/CNL3]G7B*"G];IUJN_XU.^N_TQCGWK:6!S#K]?@0A2! M16VU7L3Z6=8E6%,SY16<'%Z/FJ(Q+BJJK^'Y@J,,U#N*D3)Y?M0DE[0C:67S M]&P]M4_>7.*$/EG6NVEFK.;U*4A&L_D&?&:8PSW0N)_*5Z 8.X%/FYMSVEY1 MY62R7GMJ?/#QV[RBIB;0J^\MZ1OLAM4J(9MDKJ[MD8-0W!1:>]SB[*&U%Q6Z M%%I[^<&Q(7L_>$,9HZINZKB>13= M]4?MUYM.]CQU"/W!RQ==WO>I-MT:7F]A:7/X.*7GDXH\--\6]@ UO#J[P6CB M>=P1$NRD!#:86:W2PY",6JI[FIUMO1Y6K;MH&SP]JH#*R$*'ZDZC?GE?5'6I M$^M4G^KOO'SXCHLV#>=G7NI:$Q*&-]]5:ZN$Q&D2>&D348NH\I9-< 1]CACG M(?.YV0W#W((OC9\Z @*J);0/T9U]\/O);\E#.C&=.D@FW>@/.@ C0"HI;*' M5-/=[Z:!8:'?BE4)GD5^,Z]3W0?K=5C^GM-'Y.V^^ MH;SS#6T.W]#FN2D9)'NOP"\JGR__B9^>E:/IL_Q[O7EJ\@:H6H?;(J_UDW):/:O9*#(T7SRS%D_:7:43THS MS=__#15))I'T]TTI>%XKD]E)EO,_9..URLVT]^-:!0E+HP!Y4$2>!U%,$20, M4>A1GM&0^IE'C#*D+4NMI6W76MFY7*C_;F6'N"WA\*BD!TS511+*@?.'4D#O MYMAFO<9EI:BQ8?,QE49>?2QLJHR\NK#_O]P4=@"Z4&)$@Z33Y &#)!+CJHLL M9MQ=5A9Y?:7FKRKR^CI?,84N3+IQ>X:W7/"RY.P!_^SX77_@N#JY_E]AQ!D/ M? IQHL(74\9A*@2%+!4("1]1GWJK@C^JK?^#^>IN+( 1CV8-CYZ),1VG*DEM M[V+,03=;Z-QB.%>X82.S+N'8D?H.M'*;.499+P[66#GB;_-^9Z58:SA.6="^ M@=N(:E^11=5A*BK^&R^XR.N5[T743ZB F:%@8<)MG(T M'^AO:<>!_70:41%I"%H[$G( V%S4TRDBVPH+?FG%O7XN<X \ XYIEKO;T* MNPRH?HU3AEX;<3/5H:LFX*Q9OU>(Q&$DO "FH< 0!3&%:>Q[T/<%BI% F;HL M,[U%NM+)TCC#9NO2"Y[!+8P#2.;P MZ#6'7WMW/M/U@/1'9N:A9TVV9R^K.(DY\Y,44B\F$-$P@FDJ MMTXA]N-$A&$J8F:36/-B+U9L-UL63=&("M8Z9_OZL&.US#%P$5YPW6.^B#3XVJV ;T9K8D7F%:^AB#O]F?> M%X=Y$/H0<)7/X&(?\^8EZ%/S++] [\,37;15UTQ_YP:^]\5G7N8;=F+H>_>3 MES2O^. 8,4D\3J_4'"NP-,YZHSZ) M]?KBY1EO!0?/2O)Y;LU\2M8P$U8-7 5=NFR2Y5^:8"X<.VU P-H M-&:\[YIH'.>ZV7(M_K+NL"8:'.O;JJGDN+'*_6D19RZWV)R'&.+04Z5TN(#$ MXP%,0A3R.,P8Y>/*W2^\1'9KJ[REX/VX>M@N )J8S0]VW'D*80]!XJ[RUN5N MYBZXU:OLA3I;_<^/S') M;3+R8)ID"'I^%/H4L2!EV(8;#/I<&DVT(LM=K):Y2=?7N-S21F* M?QV'&*" MOAF=.,9T8F;9P;F['E)H-OY..W-G*[/+]&C& #E+D#;-9Z&6'QP4,,_S;X![/_NX1W/J MVR@;()W5!K>#:53M (/F9RLF8*YJM[J Q5NC+VWRFG_(?Z@;\%I^%3E9[]*C M/FW*.O]O?79K.>Y_N-Q"Y;N[D1&23'WK)Y1!2/*F-]E>B_G^!K0?2O5?E4?LXU:E"OPDFE+FS5]7 <9!+#B!@3)@(,Q2 MB'V!89A2CCF/DL@WL5/K#C2*J9%L5'.WL+@%V=&:X4BH69<# MMT">,KWCUD?$);P30MF/?O#]]=D7N1W?969OLIOH7.R5_$&E;*^W9?$VEV^5 M7 *HHVX8EE(*'&MU!P[C]:"J9>CQZJBF4U#1 MOCNXZ4;.(JSC%49PIC"05C+EXB:74)4RZC"; .'UWYP7?VB0H9UW_*=JLXI$%QR+UZ#2NJ_ ME?%5K7;EM.1.W> Z[K,R;9)QJO? M[R,35ZFF''\\O7$SKOJ:+\[&,3I'<3FNVQZ339-^YVR[YG*WL255SG)%>3 7UID(Q^ZD6#:Y&1T#.I,BZ/U9VF9@] "E?[D M@28-S9CUST*OXW1]-B_:9RQ_7\@V>7FHC_/!HDS&]9<7Q :MD%?J+GUP72]C M&)-1F;A[FITM$_>P:MU,W 9/C[$K;%75T"]Z\RV;_5;D=5M6*/-13"*20DJ] M"*(@""#!H0])%(>8AFF(?"-'M?YNEK9+: 2U.2E>!=#DU.X"EJG/X5I&L!<2 M*"F'JS+9(&5S2G:!V/QYDEL0RSV(*C6QL\/?$";]Q[FK;\]X0!O2X/C(-?CT MS,XC[:U=IU;"^Z(NWSJ?@Y[C1>3)]9T5%[;QV-0SG\-CPY3N)WY;QAW.'(=.AQ1^:/J=+_4O2]T M0GC5NY2M^:,^NJZ$\-,@81P2CV8092JI.F$$,H1C2C!F@5F5FQMD6-K:<619 M:>3L[&([:MQIVFF?:&Q:AOO:6T;,<&68=ASFM!PZ&P)[(A\/HBN*'B'!O.0[ M'J(S6KVAJ9&$J0J^-#X6;[>2AQ\;I[G&]^(RRZ_2+"6,>QZ, C^&*!0IQ $G M,/9($HHP8@FW(TQ[&99&F%*VI\W.-0WDK2-4<MT]I=ZYYV=WD/ M?=C7R".4D!]4)S&-0ZX=CZ6^B#TO-2NW?*V#I;%D(R,X" F4 ME.:QRA=![.U$Q\5I[/;.GO.][%#YMSZW2W-I3/3VO-R^<[RH&G]HVQMLK' R?F?EBWD&9F+ Z MRH#6&-4:..Y/O.K?YNNMC@UIW*_WH7G7;1X.@_;<8>XN$>2M LV=,M(1@!>2 M2[IJ>1QOFX0#_+XI>?Y8'#VQBPBHY29\A9D0690@2#D)("+,@QG'! KB)YAY M28:%59RU"Z&6QMVMO#I09Q]0HP2U(VHGXV5&U7./PM06'^/XO-U0G3[756PX M2,^:IEWB[8BHG8@T*U6[!/&4K)VV/5LJO;\WJR"DB.$X5J[1DI\#EL(LB0,8 MAIC[S*/(LI;D*"F61LCR8X\F3Z,GP3&N%==)=07@__8AMCW(U6%-DD@$CB!A(4,IG[J<3_#"0ZM+C&F%'9I MW*$E4Z;QX\)R M-ZD8W^!G=?OS2?S&Y<[S'2X+SNX+]@^5"ZQXU (T1!,1$B4X8]!/F*^,>P', M@B"&?I2A-* "Q0(9YSVX59JE+2DGJ=RT1G> -MJH7Q&E#^!:(7V1_J-1:;?F MK'OI9H+A[%\W9A^DB1>&SOA\$J!1IDU?>P=:?=1?M$:@40E(G< _=L/4K W] MJ\($PV21 F+.X9HI4\3#=]Z='VH'IE0\S#%0-"F(#68:P+7.<\B5%XL 6/ZC MY!RJL'C5KH[ 4HD7G_7A&S NR5M[>JH4A?(]E3@1%R__5AT]G3=_%'F!USK$ M?I?*\4*32ACU)ZS]STI.\^=<:B-;;%,F2H&Y=KU1T+K*@N'JL^A-EG%S)_/E MU'"%QU'J#6>-CCMJOME4]2?Q%:]YU::.2;(@XE&@*M]CE<\819!X'H%4F:@% M#8*()#;GP[,>EK8"*P'5W"OY#U[T9#LPQ,_L6'43*A,O>3M M'3#>8FL3S17 M=7=T##EO?]:SPU7U3C?\UQ^\K2:%/#X0N:JH!?:-7AX>)<'(GW2VL[,BY&^^ MJQ_?%XVI[Y.X\LJ'')-\G=_H7A/UXT&5<:4MIOX:S/AN@6,\,8ONBV-T M5)8GAL/8'JEPY%@K'].*JT^C45U]%M=>O0-[_=V7T9AIO!S7V9A:ZE9@0_Q""E(O(YRCR(,\(@"F*D4E0( MR#(O\K!//1$*VU+1@[TN;=W9"PZZDJMT,7O9[>M$#V/?OTY,ANC$+&\ IN,( ML5%(W50X>KB7V>M'&RM^J8RT^QXVQ-SVH3X'HY"?XG=!JX[B'5L4)= 0'?^U$=WJXM\7+V:G?N..9S0&V M@)S;":Q;L-]$W6]9+D=6YTY)F><3'F4PHT@>\+,L@20C83'D?$V MJ=/NTBBG%VF2PBA!/D0HY3!-X@0&F'A^C"CBGI&U_6H/2YMT M.R%;CV,@Q01*3OLCQS&0YL>+T?#,=)0P1F;4D>&B]C<=#XY;G/TH<%&A2]O^ MRP_:.T1K'T]:;_%Z_?(9Y^P?U4=>M^%TM@EA3-I:V@P^=A!NA0=*>O"C^G<@ M%6CC4LW]J(T@[9_A4Z YPR[=",@)N8(7&.+?AL;$T_Q2WCC*2NS!W(KO2CZC>90U\^A,R@EW M!@?UE+/L7C_MYHH[BMF9_IV-JMG%P*R#-)-9L#,P79WNP%XK/4;'*3)VFLF? ME&YW^I&]>NYN%EP#[NC>P9E8L]Y*N ;S],[">?O3)8_[N"D89UOY&%GS-@7( M^Z=GG)=*@ ^;JN+5"N$$QR*)(<:"0,1Q #.6^5#X,0N#+*)QZ#R!G(E@2]M9 M_K'9L+_SM1R)O:#NT\<9C9@9B[_&.$S,XN9IY(X4 ZUF=^"@&VB4>Z54/W^7:=/^#E_B1'\7/KJ* M)R) %/JJZ!_RD>1ZZGDP)G&":9S)A2"=L[:LH=Q+6PIVE6;Y0?P[\'>K ,2- M!H=26,\ZGGZZK GNOQ.S%6:!HS_Q N2R+NV[[L>STQ^T )PD8UA.G5K+,5M( MU5I3J1>0B6&RH7!=T=:V^]%)5U6X\ 4>6"KU;L=A>W"KB/2"C7 MMC *.50Y&&"6I@BF//#])/0\YF66V58MNE_:.G7&*CN9FTTSU"':RH][K?1K M2BZVX>26"Y/E,)FM+].!/_$RT0H.M.07R/UH&"8X@HP#SET&5IO.YTZ].@*8 M"SE7Q[1R.P'N8XKDD81NRU(;ZCG'B(<>)%CX$&5!"DG&0NASQ$08"B^)1S/> MA?Z61G$?-L4CE!T]'7-9U\]^/)-=PMN>NFY$<5ZNV@NK;2BMN-,P4P\N$U#1 MI=Y>C7MZ5.\CF[[7QE9H?2,;*?'Z?<'XS_^'OZP$"=+(8Q1R*L^R*H$5)#X- MY88JY0CY'!N&P%_M86D,T@@)6BF!%A-(.6VKM)X"V4\43N"9VMQJB\R(2JU7 MM+^A5.MIBS/7:KVBT'FQUFL/CK0@\D=U0/O"G]754_'XOM"9EII(Y(*_K_E3 MM0JPG,)<&?U8G$ 4D@R2 'MREB.1L2BB-#"*?K'I=&G3O949[(4&':G!7TIN MH 6_[O@9* 0HB(E\)4^ '$(8TI0PECPAOA:636 M^T+]B)3P*L<>RZOG3277WHT SZT"V@F%#SJAW#(D9C3E$.%YB$JC^HL2^5<% M[EL-;E-U0^*[$[_Q]9G"S<<.,$>T9=CIK,1E!\0I=5F^/=*1"3A'LT#H5=RGFS;A>WIU))FR'1UUVT>RW& M&WDMO1W-H# SGC%>#%=^[L!3.V]#ZT@08_AA MYZ5&_RCEUF>5)90QGF 8\H! A'T!4\X3* *,61#@)"6QHZJBNL.E,806RED% MT093XYL=9TA-?[5SO2YH=0?Z0719_O,(F>DK?3;=+:6HYY'R%O4[C]\;1R1O M\_56N;=^Y71;GB1HBW$6D32&@@831 M./VJ,S]K90;57FC+K&P] )OQB1O8)F:2G9#@(*4\B+0P%D!N=G.J*X3DQ6.E M_%D:#\A)TK - ^:(8'HZFI5:AA4^)16#-\;1R=Y+OCW-_,8++O)ZQ9F/,4<8 M)DDBN42%C&+*,H@3WPLC@07&D0V77.EG:43RN=S\R"MEZ%"E?/,F)J7&/VU] M3J[!BA"+XH1),#/AM=Z,7,*:8)\P$B D<5_5FQJOYX-UW]MTL#ZH/MP@:,;! M#G"9F( [\4ZMC."75LKKGIK6U#J @R->O=;+K*0ZH.HIHPX]?KMOWQ?E1_A) M?*N:W=^*Q")-LIC"&*L;>A]SB&,O@"+T@I2D./+M[NI[^EH:K?Y^Y,F']69X MO!/?*;#&QSP7<$U_PNLZ[VE!X49 *6ISRKL#6,@A ]WX]WN3/ 0W>?9= 6P" MK[[3GE[-H^^*RGW>?-=>&1D/KHND;;OP!O7'L+&T+B*BQ[L;]Z 9U/USR*9C5\?D/5<=)A3BL-]56?F.' MI%B49%',!88")00B1 .(/1[#D&=I3#"+PXA:[5;Z>EL:KRAA@986_"F)7IMRP&PCJ2.DXY9@>)J:]+;U[R;$Q.US[8G1B^-S0;Z MOF ZM[Q5(M#VI:7->?/,^N?Z]T_FFU2?>.)>2/AYI^("\A\YV^*UHZS[5Q&X M(=WGKJ69,WV>*'">Y//T@7&+\Z?Z.R^5MTG)O\N=[3Z?B7*3^\AK57_WYV=U MZML4]W5=YF1;J[CMA\UGK'>M<1+* P )(451((\&:0PS0A)(JQ9T!^)>U\C"U6_UO'4"S_<&,PS(Q M$6E-P)$JNYQ0C8/OG4XROE%U[7_>@58IT-4*U!O0Z.5NK^$(8$>[D5NEF76_ MX@BZTQV-JV;'7K]7^/&Q5($#LH-/XDM3B/M!=['?W L_$CSV0HAHXD,4O+7@9/TX%03B(!-RIY4(2 A#T)-LQ]-4C@NQVFGU=;8T$MO+ M:NM9TX.G&1FY0FEB[MF+V3%*3V23-D'$F;=-3U^S2#+QR7UA8RV^$R-(E-. A3V\#VN%[+ M,WAI0!P:NT9"Y\JZ9=O]O.:LD>";,KGC>R-?ROP+ICU MOF#_"S_CHLT7\B=_(KQXAE1H5VW M2R/ O>"@([E.SZ%E-^,W2^3[66TZ/"?FL@$H02OW7XW@A@=L2VA96TU7VV!> M >*C_J>#>I>N284LT#WLVP[L;=:&ZH#_O]^^:HS#K5DKU+MZ ?#E_^I%P+*U M6:A_G(8[PA_Y]@B:UZWM$S]]*_+=!,A0PA!.$KFC#6.(HI1#$GD1% $-4R]$ M*(J-DIGT]K(T$K>EZJOH&3"S"TPF)N*&;@^IW)208 3M7H7)@F5=P#43J5Z" MS1%G#J'02Y%77YZ/$8?D/R+ P8==%+5_L_G*UYQ*;FW=-1T4M[_>YM((;Z V MN_HS+E[ 3IV=2^LM)>][ .]GS2FQGGQ'.PKF"2KOC@%PE*>=54>S.>*-4;_K MIS?J??MLW/=RE6)JI=)YB5*2I"'! :0Q32 B.($9SA*8DDRD(DQ]#P>F6;B/ M6EX:&^V% THZ\YS;QW#UL\A-($Q,$X;Z6V76OJCKJ(S:QRW-EDG[H@+=#-J7 M'QAW#_#GIN O?^+ROWC]^[9@U<[$%P3Z:7W(4QZY32G^47]5T^H3)[ MJ[#$ID)E56V?FA*4)U[=#'N$J](!"0LCB'A (4Y"!),TB+PD"Q*26#EH3"CK MTIA^IZIR&N\I7KO3&&B5P4YGG3+_#NS5!AV]Q_K"NO\\S+:?"QGTB1>LZ<9[ MTEB#&0;'N4NO>TE?R0%X,LBONPM/U^6XU>L-KK[?%TS]1Q6:^('7:I=R7[_! M9?DBUTH=.[]B+/:]*!,PPAF#*",1)")!$".$L>\%'-MY&1OUNK0514FK'0BH M^H$?Y+9;$,P0-Z-VYSA.?86P@U#_T!'Y#N :[*1N$FFXXU@KE!RQI5F?L_*> M%0RG#&;W\C@N:AFQ>MC<4]F'Y,EME1>\JG@3V*IE:/["5E$49@GF#*;44W5J MY$\Z\($+G,28A8QG=$21+1L9C";6_*6V]-S:JKV/TSG_H$'F7\<<7 M87(62JD-I/H.:]@Z0=Y5;=O;A)FWYJT3X,YJX;II=209ZX(A%U(9'TK?(29" MG/HP3D4(D< "X@A3Z"6"<11&#-MMQP9[7!JE-F4H5/E M]Y7(W2V.2-[RLX_TH..*+*YW,2A+] MBIXRP\#3(^]A2V6@K5^4 TI]7S!UX?NLK._?*BZVZP^YX*M,1'Z4T02&A%.( M(B^%F @$61(D&6'R[!=:;3@,^EP:4>Q$OM.^(,]-Z8"M%A>LI;S:JCTF,90) M_H9W>&Y1G?KJ;@^HEEZSES",YNY2Q> M=1'GKG.?NPMQO]CJW1_N'K_JR.K3>K:[_MJ"@_XI[H\^\*5;ODZUQ_+F^^J1M#[XBT7 MO"PYDP\U1[.#F^YZO?E;U<-CZC 4_]*$BM M:E.ZE6]I+'?PO,<[$0%^Q'E1U?+0U:BC"I&/*I[K>FS--E^O.&(3$^A>,]"I MXJU].XZUNP.-?NJR8Z>A?K;1L1MNL=-R G>$B<;!5;5.Q]+-6]MS&FC/*H%. MU,WM-F6!;=BNDC M$RQ;#I09JT\'_\2D?5)9?>;4RN-@FZ"^^M+2*H\#IJ\*^V0IE7>=Z8:^;];L M_=-SN?G1U ;>)9F)11B'.("I2)1=D&"81E$":GKZ51VUY4 MD'=DM:.L/FC-^,D18!.3T0&KKI@3W!L8P.&(9/IZFI51#%0^I0^35T;6"SQL MQSH%W%<9B5B:2)J(O8! E,4>)+[\9Y#(/W@ABB-*]M%;YE5:+_=F]-V?Q&G- M5(/UZ&B[;D6VK&=S!6(SNK@!L;DREU%=@%5[W>$J/0]B,'%SB-C%-M*)JP [PM=). ML*\PA<95\HVA[N;-H&&H_%D:#-/WQO'*R<'GXU:U^4F\S==;^5N=>:/ZM*VK M6GXDLFNY"<$H0HS ,%(F>M]'$),DA'& 4B_* A;$O@W-6/:_--9IY=1N"Y46 MUM+>8HL_2;"'.1,P\'V5$CB,8,8(@LRG410R/\0>7=7FN[\I\9]A/[C#'X*_ M6T4@;FTSS7" S4'X^4;);*F8$/N)5XXS0U@C^SZ/5 4Z\JS] M5T8UOK1%IE4"[+10<8-[/=2<.]7$W*5E'/C]]#8+[E,;_FTAG\#GY28,1WG MC.MQ-G^8FP#I>L?$ M)KXOMW:9W%H'/(*8"0]ZG*:"A3A-B%7BTL$>E\9S!X&U,RMH108[F<%?2FK# M!,KFN)MMUIRB.3%[W0JD]7[,&!Q'.[#A_F;=1&S(J.QDBR-I)J+_L:C#FQ:-92S%F\5T=DN"OYWZXZQS]BSOZKHR^'@ M>!0-J6V.L9F:\I0.<".@U*)QE0.?.H/SKCLX1UX=^_N1Z[MF>SJ\%5!7-#E: MCGGI\U:XSFCUY@9OS(+66FBK?21TDL01I@F'61!+.O6R#*9IR" +0M_S<>SA MU,JA[6I/2Z/+0P:;73WAD;G*SB UXS8G0$W,70>,=D).$DD^"(7K7&)G_;Q. MTK!KZE[-#G;UA=M]7_=,\ZU@;;XQSB0K\:JZ?U+_6OEAXA&$..2)QR"*/7D* MQ%$*0R$2>7;%S.=H1(Y>*R'&.'_,LO6JJI%YQ.S&P(Q:W$/Z*DZM>]'O0%=X MT$@/&O&G<6HU1FT"G];AOE_-I=48ECZ/5O-&QMJS'K=K-?-;VI1'5\NEN:>% M!'VP^:I$+@B$-/N5NA@"&($Q["./7\, Q)S+W8SDYKUO'2MO:M MW+;F6$.433G$/7:3$XH6&:CI '9"@[^EU& GMN/+I+%@.:,;PVYGYAX[,,Z) MR/)]1_4]KJ:/6#'/XQX)0IA@E5XXC3#,4G7%Y\<\HC$A2(2[DX,9,YEW/N+$ M,#$[[2I"Z7Q4S^=I9[37XT:G+:!-[MU18=(6XV/&:(XQ?[T"$B>9:>Z.4]-, M6#YB$+"IBD=<[_AU2T<, C)8.&*XA3&9:K[R-:>2"=JL%/=/M7E:FO-WE[8] M4BDX&NUS:E#](K.L>P+S8[2TL,^L.@VVVF7 +X<2,T$%/YY62 MZ+7RWH%&XJ8 K$$QC1"V(\S%"=&;AC7.E@:4^QD!(V0H)'2C"6N@MA/#"Z@F9@+ M+%$QGOY#JO><..2KS627/QSF^-4&9YG60^KL9O+@[E<&/XS+_4?3D*8/I*_F^\*J6+5'C]1[G9/LLW=.7PHLZ+;=Z'S,RNE'2V2WIL[Z@22)'Y H"F$2IG+W%9(89DG,8(QY'*%4>'&4 MMA_(N\+096O9G\=.C5?Y.+AR^/H7^"S,MEE+'>BIW4:D(G= C_*[[N >5 7- M(^H;./GE\1M[#, .!*!1T&]V<>@X_KO;7;W&\#G:6X&T\IXU06F4%VUOP[-YTYJHU_6J-7K>88J MG1?^VRV_%W(*_F^.R]_S'WP5A9%/8A+ C(48HDQD*@]+XPTM')"?5^8@(\!5R,T6[\F G)AGKF<$D&1#N/:8DRU'>4. M=MS2;'Y@%Q7H.H!=?F!D6>%==-FN/EH4\"#S,ACBC$'$,(,$80%YB(( >0C[ MU"H7X4G[2UO1_L3T>U[P\D5;HO8!JY;E>T\P-%O ;D!FXGFYEVP"=^TK6KLJ M5GO2^KS%9B^K=E8L]LIC8T,W_KFMZET$Z67_;GTI2$XO#K^HK[W*:_Z5ES]R MRIL+096G^;'0K:C"M'P5$QY[J2=@DN$8HD!XD @1P="/,TY%R!.$[*(_IA5X M:0RCXW.@5@;0KI]"FZ//-HQDXN$VM)PM:!"GM@M\?O_F[K(3R>'F7=]PE#K% MJ4IZ^F93U:"CD\MHEWF =Q8P,[&X,\?=C.3/W:+4$ZSUGYLOKV=<6C ME"811="+(@%1YOLPY8Q SR,$Q4F,X\AHD3@TN30:_R;QDG/_:XUKT[2J'7SZ M676/[Q_>O05?'^X?WGV]G<#.=>PYDK4/-PS3_N- +IVF9IG^YZ+O M)NB%OXRT2>*\U%.QS2'PU%Q%TFU9YL5C>ZP(&?;E7.*09"25.S'D04Q""OT@ M3N1$"R.,K7*AF72ZM&FH9 9::.6&T(IJ:8PTP=K0!ND8P:E-CY? F^",9P.+ M*].B29?S6A0M0#@S)-J\>_LMR/LVS6^[L?U4'(H:A)S'"8U]F"'!(4(T@UDH MV2>E@6#RA]2R-(59MTMCG4/2<.WI)M:;OZLFIZ!HK?FZZH2EKX+A$-A?A[@! M=MY[D)W,^].5/"%/4"W"#J8)[CUZ.GVU"X]A(/IN.@S>'EGA024,[%3U_B@U MDPRHTONE. CC!*>01TR>-Y(L@(2F&0Q2AN1_$T\PJT#BZUTMCHIT%L7UIGB$ MLKNG\85N>M U8QPWF$W,,@U<'2GOP$%.A^4>!K%P5>_A>D?S%GP85/BLXL/P M&S/G+E"&^/KE?5'5I1FF&O_73MW@7*]E!:3./9S.$D!,)J"]3[C@?ZVY2?V)N7ZGN4-;YU5U1SEI'[DFN D(RG"848LY#B +?@R1"$?0]@OT@">+( M2VUBG$P[MIJOLT5!B6VM,G4_Y47^M'UJR]L^MU+;;5N-1\!L5SD%KA,302/R M'3@8=/O>/>D^S$B$*,>K%DL6PG272J->E[2R^Z1U> M)7)YI'D^" PV>XE'%:X:@-Z,I9P#.C%%M?*J&]I68M 1&1QDOG->+M(**K<% MJP;Z?(UJ568P7"E59?CRR,PZ&WU TO8O>10J-X_R ]SMTGTNB/R?"/(8<8@2 ME:U=9SLA69*A*/5"YML04E]G2^.AKJS*WO+<2FN9@*0/7C/2<07:Q%QSBM=. MT E\0DP0<94SHZ^K>7-<&"A]EI/"Y)UQO/&^H)LG_H!_OM'I*1YY05\^Y 5_ M7_.G:L6\B/I)&/U_U5U9;^,XMGZ?7Z'';B <:*$DZCX,D%K10'J:1(> 9 M$XD6*(Z8Y'Q?HU*)EMK[7*+WD*5WQO']UR8LM4C3+%%V2$HR22<8IP CQ2G2 M.(E1D1&8:I5_T.QO:H1R^H1!)^#5"G%-MPUW./KVW1@$H;D/AQXPKAPY+O0V MKC>'GNH'+AV:CPTDF,]MH%P]"Q$2*%)5[G)* 80AEI2"$,A%AF(*A?P5FQP, M'_0PS1/@:C,/UB&#IIY>!T :,H4-/*-QP^=+F-@3P;[>KJ?^IOWK3/9]]4Y. M[X,O#GZZ71!Q"53,J3$(YS>,\!T@4!)"0 MYF$2A7F(8UN?\S/]3LV"Z,NFB@$N"UYE:Y\73QUV,'#ZAZYHP]C_/O M'9Y2[*"1NSE1W4CNQ^E< RH/7N?G>KV:V[D&%.?\SG4>-R.JE^6NQLF#]9C^\?^75XQ*_/)7T.W^4GSQ@,N:H; M33W,7F=XV7 -MDF MU;K/]H<.[PW=XW;HEHVB?Q^^=+E"MUW+5&O- A7)7\TB-;C]458M5RATRYBS M]BPC)?BC>HO;BI%MXNKU>[:=?(BFD$"8@%CNIU7 )P.8)RD@.8P+GA4IIZ%1 M#,/E/J>V6JU%#C8R&P8':*"L9V([QL[S$G, 6R]KKEQ,-)81<[]V?8!<>9QK M]#BN+[@^! =>V@:/7J$$4.OBW>55^L3;OS=9]S__19^4._EWO.*?A>!T-4,L M%G&$$(C3* %0R#\DG0D0B2R'(D%9!D.3\\%QQ9_:X>,WO@I^86NY?PW*+L%5 MN6BCX(\5?AFQTHOYZZ%'NM,==,_\[:[:2XO"-B7:+QT0O_8KP71@! J-H(5C M(C5?K(=Q"E5?S(7__U/WQ7I@G%9^L9?";AF53*PDN%]6;R7C[,/[CUK%0+6' M8;+#6[HJWYJ@ZLU=,(GSA,*\ #E-(@!#=?N>)SF(BCR+:08SP8QR19F+,#6K M?B-J@#>RFBU7%L.@M^3X!=?SLJ',A&8)Z,171Q*_* VDI?!KL(5]JX67ZWM[ M$!V1MH4 HQ*O/4#[Y#F@):LXS'M>?>.5<21F_[&IL9&*2+S_?!=\^WQG%(ZY M \5Y=AF(@F_:V +@/BKSF,ZV<9D[;8T9F7E,B;W8S*-?L:\#L'I7X=K50MHX MGRH5OS#C<4(X$0F@48RE&1'G /.4 4$+@9B 41$ATVH ![U,;6ZNTSILI Q^ MMG(:NNL=1U3/(AB,D^?9:PZ15:& DQ X+!=PV,?H10-.JGFL=,#I+SLLA_5Q MG0F,I!"F*** P2(%D*488,@PX$66I$*0)$Z,;@/.=38U&EB+M9OBT3[?VEF< M]5C!%7J>R>%TA:N/KO.NZ2#BLWC5QVOD7M-16JLTU?XS%H4SV?\]5(J/;O\J M:^U*F?V'IC;KM[GV52* ?OJ:_S&HF+D#RV4SW1H1SS/Y-!AR"R]%=62Q'U7? MKMCE3DOC5;<\IL!..0823HH\2C($28RA;]^%XW1[LUZ!,77-J.[ '_U19?5S&F M\M_EZB->+M]%M6SJ-W_G-9=M/\U4$>4PAA 4:@RAE(4QB(:!9 M4@K#_J>V6G1R-5?IC+_Q>=766Z2-#F8KA.E8Z-&^1X0]1./WLI^T\:F M-^('._(W[@V-!NZ(V1(Z1VQKVONH%&H)S3XOVC9C1W8?7NMRP>M:LBB1VVA% MP2I)1\F:\+AJ\2#IN&X%ZO*7MA41ZM_J^I6SVP53/RA/WAF,!:6JD&9.5#EY MPA-0)'$(4 YY1(H8"6Q43\6A;%,CR1T]@M56D9L=V]J,+%V.I1Z17FF$/)-L MIU704^LFV!VRA_Z0;7)EKY4+6NV:%;#3SQT%>P#=$3V[E&Q4ZO8 Z3ZM^^C" MRN'@JY1F77KK$Z_ILFR23V_=]_5]$"ZT-#7.5;?R7V]O[X.US$%/:",_A4L( M:KDN. 1O!&^&4[@YCGTPP\;6Z^%2\V,Z0FBJNN<;H?N4HPWP-A=*)0FL;X7. M1!;'+)?F'BUH!B 5"4"1H*HL3"%_9Y308M#F]W3?D^,7ONJE,YE7IJD936"W MW.>Z ?,:>]Q>OJ1*669]V3WN;B\#YFMG>Z;GZ^YJ+T-R<4>KT80=<^W5S/CV MJIS'[D1SCEC?O:[JE33)9;\?<%W2&9&[4AB%!#!$((!1PN16%0M 4,8HARQ) M"J-<+$:]3XV]&J&:NYRF:%1M>)5CACP5*8G5@I%G40A@$8> 8,1 %&(L4")2 MN:+,9$NDNCKV?2E\HP\.ZWRU@Q%46PW&&B.])<8;[IX7F8,J5:WDZFJKE3WH M"7\3-.*[6V>L4'.TTICU/>I:8P7+_FICUXC9>L-X.?N\6&W=C#9QQG^N\.JU MGA4L$YPF*4 Q(LJW. 98I 6 &0_C-"&11$=G:;G4T=16D5;6SA>N%R[?BJO' M5Q?1/4]-+C'SS$*V<&D3CBX69[;2LHF65N0/6S:YV/ HQ*&K7L<1VM\?F-6S MS4VLK-N9NA/)8Q@#BA%6!9\20 3C *$XQY1 C BVRNNY[<.(!$8(KE^GS/Y% M;8%_;4O)K_?%U<(VO60.A)HO?Q%^_+WY?!YAK;-PV5]"JD%OO%)I#- MKW :V9/])NBDES\I^9O;WHT&7LXD3:!S?RZIU?NUSB9-H#ES/FG4S*#2>]L\ M"@DL8BE!!D(6I0!R+"W$-)=[1<$(9I!@%!GY#^YW,+4]HC*U>5M1O!+=P;ZT M7C1C4$[BJ,=$0]#Q3#6=:%Y22)S2VVVINRNE?SBEW(D"=D-3-^P3QZ8438\^ M9BQ)0DP0574S,Z#V)G):8_E/A@J:Y#&+1-Q9)0_Z^[]S?5K8(0^C57I@W4*Z MD@NI=:3I6'Q=GKM;MC8PSN'AV)HXVM553(=S2I^R$\X^8QVH M7J[X[^6;:GTE7X.2S-O4[_67ID9V/Y/NNF3%9N%KH@QRQ$""FOU/2$"1Q@5( M0HK"C*BR$D9E>H<(,S5CH]4%-,H$6VTV?@7?]BLC=#57;H(O94TE;_TOQ\O@ M#RSU'E+?:M Z_':6,/FF?>N,&(VH?F#H787NF\ORMBA_8-!.Q+Z/[Q-VT+% MSR]+_B1;E+VW2X)\->^$\G+I)BY+0H2%0( 4&0$0H0@0A",0A2F,,YRE,#-B M9HT^IT; =ZLGO@QV!-\]E[T)%LIQ3BB[T+26\>41T*-.Q[AZ9LBS8'YKP922 M2Y95TUM2Y657"/FVM&'XQH@*"S2LB7>QRY(+(V!(=UD?4?M6.K^V5% M.6?U%REV$T>@:K:OG2)^+&0[LE?Y;LCN;Q>L^?C#?FBN.@BK-XE@FX#;N\;O MN)Z).$P%*1"($$:2YU(!2(XY0#PI&(IQFA70A.>\2CLUANR4;6_SRK6Z!VD6 MFO_E;:31BU+.C"S]O@!Z-#N98?5,T)V>-\%OO=%L];PYGF=A&_;>3R/>JB8- M7+ZDI?R^.[X>92@<,;U?64==(T:!?7]U&:=3\V"T^[>7I@20;LA9]_W)$3A^ M#]YJE01%5,OG9KIORXWH1Y9MX#A/IK9(^.:\F0(X!C@CG28RA8$9AV[H= M3XT&MCY\O).X\>-K\F$_57,6E,\OR^JM]5MV.??I@!,:1@P2SY^U8[);2)>]=V,TP98F(B@SD M6'(4I#$"N,@*@"@4,4SS-$R)"5OM=S U5NI2_P358B]#?T7FY:--L,T=D0.!\V/2@*GE-N?[">_9QD;I^Z!C]QSJ6O+[J[K M>.W!S5UN2HL(1[P 493E*FM !E":"L 8B0L1BR2-A0D-#!=I:L317K;3G?OA MG8@QPPBQX6.F1S/CCH1G8M+P>-A>TGNYC'<'IZMXMN$"C1O^Y@S @V@Y=RU; MGO[0)\Y>Y_Q.?*L6;]+(X*QW9M]<_/Q8E*MZ7>?PO3F6WNY5H$0SI%$$!,PR M "/( &8A SF)6 [3B":)4;#*,'&FQK^=-FIR;_3IWXFLKWT;E;JBH>^&IT[# M!E#SA&JT8?%]FF4U(NO[*C];4C?8NCHL&R;,N =K3H [.(1STZK+4.>O5<7^ M7<[G*N?KGE?K_K]GL"A80B !'$:2D+.4@J(0"4A$R*-HVC-I%G I'5 M%O#IQ5K;-.R,<-^_5:OOG%:/B_(_G-T^5Z\+:8?_6"PWGQU[Z,>"E77K7LW9 M9[Q7Z,1].'PNDZ--9;^5C;O M&EQ[+1QKB#16S]%$&5#0\\"=^+#*VX?]*F]K]^);QDKU YYOO4FW*3\H3L*$ M)C$H6$A5PA0,"BPX((2E!"VAFZ%[7GJ&BZ2?H=7\ZQJ*H/F M^RAK>!W/M<9R=3PZ]EXN(T89'I?5/+W).GY!3]^P'ZWIZ;U3\T@3N:X]5@NN MULDWOGS_],H?*MG#OU[QO!0E;:1LKEX^\ 47ZK#O>:4;E6+3]M26@K4.0:=$ MP%Z;@.%]/;I+RTZ5SLS6#W*Q&HGSZ\ 8@^"9VKWA;Q17,P1$JQ@:'8TG+JO69P.-;]OMM'\O M%ZH:>E,I>(8AXQC%&2BR% &8APQ@'BG?68XQ+G*(/]W#'%'6V_=IH>=;=T M3*G]S@U9O9C@#S/-$W6.V(&?QL M!769V>DR'*XR.IWI:=Q,3I=5/LC@I/&([8TU6?W)J4IF6/+Z]@V7 M[I4[\8&HED I8'HC;# 2NE>Y?O#U?@=[$5JO+I0VL#F[[C3H>N1[2G-0#B\8 M+=HXQ6O]\9;&TS__\;?N$_D'P37_Q]_^"U!+ P04 " !+;E!8?]?LJ'JR M U@ @ %0 '!R;&(M,C R,S$R,S%?<')E+GAM;-R]69=;.9(F^%Z_(B;G M=2P#^U*GJOIHS5:W(J0C153VS L/%H.+G7123=(5H?KU8R!]7^AT$M5KDZ?SDW__R^V]O MP?WEO_W'O_S+O_U? /_KY:?W/[U>I+-3G*]_>K7$L,;\TQ_3]9>?UE_PI[\O MEO^8?@L_?9R%=5DL3P'^8_/77BV^?E].3[ZL?Q),J(L?N_BORW_5DA7%M ") M@8$JT8$W20$:EB5Z'KCB_\_)OZ)+NNALP%KDH+P/X'P,(+5(24N?I9&;C\ZF M\W_\:_U'#"O\B=B;KS:__?>_?%FOO_[KSS__\<_-?+'UU-[_M!^BS_^7_]\OYS^H*G :;SU3K, M4UU@-?W7U>8/WR]26&^D_BA=/SWX$_5WOIUAA=_]F6)Y=__\G4YB[2FD%QL5_R_MW_QYZN%ORYQ16C9,/J>_N#\ M[]=5#B "_USC/..6LXLE9HMTXX=F5:Z+R[])'\79YD\G&:>3S5=?Q-5Z&=)Z M$E243#M.$N,>%%H%T:0(D7FM,(K(7;G)3Q;>?Z<,_5SG4 M7VP$LA'&G>6V@CF,[HM]]QO]["1R]-'P!)AM L6%!>^\!"-O84D?@O1E.LL7?[LL%Z-)#<5BU$[E]^(JX++I>8WV^U\B!S&\[69$YQ\Y,M-/YB/C\+LT_X=;%< M3YAA0DM,X ,QH7+)X!)CP+4OFBQID,8VT?SU5?="@.@? 0=+LA,D?,3E=)'? MS/-K.GDG3&T%" M]0N))A+MQ$3\M@SSU;3*_MS,D3MMB0<)R2$)I20!CGL%CADK4S9%R]3&5;BU M\EZHT/VBHHE$1T;%F_EZNO[^=CK#7\].(RXG2?B<#'<@HJR'GG6$:$0*HG*. M+B;C8SX*#;=7W L%IE\4'"7!+K3_"4^F50CS]:_A%">*+%=QWH&-=-PI0^8L M(N>@*=8NUB@1/#9 P,U5]T*![1T%1TBR"R2\FZ?%DDS81O"?2?[X:G$V7R^_ MOUIDG!0?T AM@#$4=-@5#UYE.'&]XZ2=G+N S6_A MSW>9Q#X',6PZ91S*0EKRE&"VCH,K&A"H*YD,#@-RS M]'XI*]8[.HX5:D_(>$6__+#\;?''?.)$(023*)(7A2R@LN"1"]"N""T\':>Q MA>&XL_!^J.@XD]E"H#UA8G,V?EA^7"Z^3><))]$S6S!'R+%H4#%E\#Y)$.B- M2DI'D5M$)_>OOA\Z.LYR-A-M3Q#YN%BMP^S_FW[=^$Y,\FA$5."+"Z $R2=$ M'8%IS"%P7TP^+OO]\-K[P:/CQ&DYS'BJZD55>[\EG'[\LYA(UT>ZR@R C><#(B9&"RK)XE/IOK[B?^CM.8AXEPI'5_]LRU%JDS]]/XV(V M\9R($R$#'4IDMFS4$+F24"RBS"Z7J(YS &XLMY_B.\Y;'BZ\3C;]FS_3ES _ MP4W"U46AL\\5IHRDX$4&EU4 9ZO_:I@*WC?9^-=7W0\#'>YP+N7'X_ M<'2?A6PAW"Y0\I^+V1DI8+FYL%NN)E*D0';-@E!,@%(\0$@Q0!%66Q>\2+$% M.FXMNU^Y5/?9QV.$V04:SNLZMM?V]1@D)9RM)APU1;1> _,UVBW!0K L00NB=+BHNO^U??#1O.#BC*=A"POC"@V IE2,8T*8:X=_']<-%Q M>K*58$?&Q[M4EB_.\I1^XL5ZC:NM#M[.PLG$N1*3X1P\4YI./:G 6RF@U%<& M@3G/\;AW1@^OO1\Z.LY>-A)K)P7:;Z?SS^O3]9OE?5(Z@ ML^:@+,DF*.O &4].40I>FC:EV@_3L!]8.LYX-A9S%R?.YR\XFUW80V0E.TU M5Z:6#]H4"/P9(6N'6M.IZ9QIX7A<6W,_4'2< CU2C%V X.-9G$W3V]DBK"=T M_IFDZ3C4JE[>BDS1%"-A.&-,<%H)SXX[3>XLN1\$ND]T'BK$+A! T#VM]<2+ M](_/7TALJP]GZ_JJO-[P3'C(/&C)(8J:G&.\WNV0&YV3]YH1FJ,Z[C'@XS3L M]S*P^[1G,S%WXG"LKLK1,;_\_JE2@O.$O^&?ZY?TP_^8<,:+U9*!%R* "J9Z M40Q!9.9+<5DR=5P]Q=ZD[ >ACK.CPPB]#_-#;"W#[-T\XY__$[]/BM%>&,P0 M,9']C!;!6\ONAY#NDZ/'"+,3NW+U7/8M_#]$=)P=;2'0KC"Q?5J_90*%LR(;#3F$ M7!_+,@B24X2>K;8LF.1MFWX5=Y;>#Q<=9TO;"'5D9+P@#O*&BQIZ&^^#=49" M2O7QBG2"?.ZHP1N'DDF-Y?9#0,=YT<.%UTSK__;S'>&]IS\XN+/4 M)I'W;E[[@VT^=I/@_9I,W?E&FWY3NTD[LO54Y6)R>X4K@)B8$"TC6$@-BGOZ M530%C"HF!I^1A?*85':N<-06WN9>WTZ7I^_RQ*!322,';@T#I7V!$ O]U@GI M;$[*EN-*:FXL-T[OJ7;*NK&;#Y;CV#9\2_BFM"B?6:)506]!&$&J3S."\HF!%<&%* MU,[8XPIC;BTX3K>I02%PD"R[/<]?+>:KQ6R:-WF.,*L]+C]_05RO#CG8'_Y8 MJXZ2>Q%[Y%%_MH*3$+Y.-D\PJ_?VH;R=SFFQ*7GQBVTKH4LPR>0HT#?D"P99 M:N.Q!+YD 8%G;DH@3SZ('1NJA%7<:/Q\T>VNPMEZ=?$G5]OK*70=:C,NUGBQ M6I%8+[E$AR&:P,'3+T 1NL$YVC))!LX$G7@J["JY/(3+FQ2,XT<,AH0+L]) MW",>,#>I/R\0O&1"D$OD=:*H%D4$Y0L#'\E?LMHHDXRQCN]ZYG4X9FX1,BYT MCM'LO2 Y1LP=8.556'UY,<_U7V_^S]GT6YC5;/N+]:NP7'Z?SD_^,\S.<$+^ MLXBRYD8,(Z:R3."$L""5M<%DQ[/+,YN@#,Y[%7>'/(<#:00U]N<42V0%3FDC$\42 M1NV*H@XZVG;0,TZ0-1R,FLF^ QR]FW\CJA?+[\3"A#DE>'TL$:+>W!)J"(DC M9,:$SH:C2+L*! _!S?7UQ^GS.QQ.#I9M![CXN,2O89K?_/D5YRND,_C#^@LN M;\AHHD+D*M@,,9&U5#&%6NC(:MHI6Z>\#,T/JSW(&J?B+ 3@,@=?DI(J[;K@/\SZW$/(."V%AS1# MQTJ[ \CP#>C0'2_=P M:"S68=;HJ%I\Q>7Z^\=9J",XQR!9QAPX.,DS6(DV M2VOD8^[ SZF%Z>HBHFB1[F@F] ]ORM\4B_S&=S28A(?%-A!9=* 9DRH%+ MP@'3(=!)*HO8V>SC$+!M1"J8.?/% M2LG )*% 65_ (;E:/$7K.68MW:X7V8> XB%:>@B0FH"DB; [ ,U]":5?%_-T MT8M UPZ7&0&=T[5OKJL-D )X\K8P,?+*>>LT\6Z*>HB-F@"HH> [@-$'.DI# M;7/R'L,*/]59EA_*[ZOMOICPE%/,@H'(BHY4)WPUI"2V&)WW6DN]LR7$009H M%T$]Q$=MK% SL7> H>W%+][+"M.:@KPZ>,S6H]A% R''4/OT29E%8+BS>< A M"-I!3@_!4Q/\M!)Y!^BYEE.Z9D9M"::8+,%G54 IYR"6E$!:E[ACBI?4VA^^ MEY!QQK8,Y?<<)>8.L+*E?U)XT1J3)X)KQW=)OZ+#5@'#&(H3))BRZY'PX3F8 M<2:S#%8P\21!=I!N>3\-<3K;>%P4]V_>L7Y9S$CHJYH#6'^_2DB)5'RR"$'7 M-V?$)3AI+6B460?FE=2[QK,< I!]:1LW#3-XN=8@*NK \ESCZW;V,V49,P8- M7F($%34#[[FH#> 8S[4QH&GMXCQ,S;AE.,-H_V&(':.*#D!U<9O_,7RO\>3E ME1K+J+QQ0/$BN?\)+03AB1]%?^!4X%:TME[W4](-F([2\P,E%$<(O0/HO#G] M.EM\1_R$LUKR?5=6$ZV"5?0/T,X1&YP5"$4D,)S'6&SPQ;9VDAXE:MS#;R! MM55%!]BB';(\N\'(Q=7_M3^:Y%0")JN@1$V"\IY$9D( 6V)"X3@FTSI"VXNP M<:\SAC-:C572 [PPJ23,=+V\#QL7ID;H#U1:D=O)H-T2C:W6+OH M&?=&9" X-5- !V"ZYR0OTEDZL"645!OL8;&U96N!(KR0,L24.2 M#Y<29&=,6Q7]ZM# M,/8(2=VXY\-AK*52.L#8[0#VVF[A5L6>^H!G9!M5= "JZPD15J3)M0=RP#J11W/Z52$WDKS*G(5"KT)K M(_743-1S^.G/A84-5)%!\;GX\6Z&Y:V/0)889FCH$-9YMI86]"^8!35&L^+",F( MX%JCZ1XRQFX3TT;#=Q\H'B7N#A!SK2?[14N)>J!Z"]92&*HD2<;3GP&WS#-M M5$RN]0.SVS2,7:,R"%:.$G0'0'F1\Z9,)\P^ABE% *_"URF=A=?8FB@A GH3 M@0Y@#2H; <&3^Z^M=EE'Z;1I_2KZ<:K&#?T' E-C970 KT^X#M,YYC=A.9_. M3U8O4CH[/=O<:%/4.4W3]20DIYT7"+2\H0TC,OB@.&CE.;>9Y,E;6Z;'J1HW MZA\(7HV5T0&\KG&P"37KL*(E?L'Y:OH-M^F,]XM536)\*+^%/R,^6'GNI-/Q:FD&LV=K/_QQHXDON)ZF,+O)QI&] MB&]^>>#&Q#O8>,XNQ;XDQ@AQD$40M55U!*=#!"]3B"HP#+EUEXYGZ5(\FRW^ MJ,)^NUB^7IS%=3F;W6T>=U%I(;1%E!R)_^Q!%4,66J4(++JH2TH%=>LG#$\B M<.SD56,Z[;#+%V?K+XOE]+\P3Y1+,69/ M+JC7M:I5.O#.64#!'?V;E2!;-^#>3='82;)G!=E1ZN@47.]6JS/B)%N7'1G@ M.NF";#/7#(+/IKXGRL)9ZV3SSNX/4S-V:FP$4!V@ADX!=7TT+Q/6HU;U#JM> M:=$)3^S8 LB%EH;$%V/K,H9'2!H[^34"M Y52 ?XNG8M\> !GR0ZQJ,!26*C M [Y*JD0'0L4B-!>1\=:/(_8@:^S$V, X:ZV8OK!VYYS74CB1:N$K;L9+T09R MI0@P2B1-#H#DN?7IN(.<<0MKGA-;1RFB1TR='_-*>OI?ZX!S+D$Y+2!&+R!( MKP,W'(,8'$]/<+4&R[H^/Y8.4$"/.+I^IB?)I1FD'R,!N?K#%KZ'U&'JN*'&!]X*<[5HMQSI7IL$O^QS[?/Y#^)H4;I_.VG M+U>^A*&U7G/2/"0I'2BC/3E(%/%IKHU#[H-DK9/7#Y!R? W.-YR?X56++Q;0 M!64D%)LJ:RS4R9P>8HXV*PN=WRVN.4+*'9QBY_2_)6'1 MEMRP\/?I^LNKL]6:9+4DD 7C^MERL5A^7 MBS(EB21%--9Q#:K40FR*2YU*]>&0\8K)K#.V1LNUY<>]>FD*CT.%VD&IU>4; M_?-A4U<"<39$GJ,!A]Z"8BY \$&!2)Z14$PJ8;"F";>)&=>4#.$,M9%[!P;E M,\YF]3R=YVV#_BN6)LX)H9$.4JUM!H6&46#I$++Q5F5=8O;-G_,]2,VX/DXC M==^N]&PC^PY0](G40034R;^OR3+/%IO!0A?,)%:8"[@Z1BQ B M@'62=D=2!1PA !*/3H02>&2MB\\?(6E<;V@82+740@^@.A]S]>[T:Y@NZ^ZH M3S(F*FH1'1J(M>^62JC)<40%.6K/;6&AJ-:GW/V4C%MV,A"$CI?YB,BIV>/) MJ]EB=;;$#^5_A*]A_O)L-9TCL9 Q)\U"AIQK*8.EH]HE2^ /DGL1+"OIUK7' MW5STCN^/6RC2%@RMQ-B!#;DCF(GPFHBN;6.CH*!1" (UTQ*$)1PKAP3EUH\[ M[Q Q;K7',);C.$GW%)E?/?^;D'DS@CE%LN"U8),LH!=8ASX'Y1R%:/S2_ MAXQQ?95!H_$#9=T#7.JST5\7\\5-5BY\+2-"BC:5VI,C@=+HP06=*_B5UE'H MU'S.Z6Z*QO56!@%1.PUT<%)=[82+NY3I_(R8.M\JB_GJ)9;%$J^-&G_S)PF1 M-#>=A^7W=R3933>S>@NSV.0IWLV)/%RM)U@$,Y8KD%:3E).3$.@@AY!\9((' MPV-K, [(SKBNUA!([D7W'9C52Q;/M_%+BFEKFM\9-'0^%/!2U]B52?I5I A$ M925+3DSDUE5+#Y RKO,V'/R.DWD'%O177%]S)PCR.45GP5ER(I3*&2+6IL>^ M!"E,BKFTKI:Y0<"X5;=#P.1P^79@5RXZS%R4FU]*)-LH9$!%8:PQ)!&7P3&; M@/Q/;EC@A>76\>!#M(Q;7#L$9)I(O0/3,:RN(@Y@"G:LL M._"**6!D-C5G167;.H/] "GC7JP]"W(.$7H'V/D[UFG7F%]\HQ#@!'\].XVX M_%#NU)"?L_=ZNDK;A.TF%KB4I#%)Z. 3"(^6SF;N(<1,+AQC+K%8>Q2U-E%M M*!_W6< 09^$(&OV!<+PU\#8+$W0J)-#ZGCDI,@'1D&=IC$"IA<3FW?">1."X M)^T8"#H0Q$]79[]8/1?G/<]W!/?610;;;EWI^V_+,%\1BU6#\[SYW6RKS_R_ MSU;K*N7+;JJI<$3O+3 LK%:W:0AT5H"V,E?//#"5&T-R&$[&]0>: ^Z^"[9Q MM=_Q'OA]OL0PJVT&_OMB5@^/OX7IO(KFP_PSIK/EMF_GET MD2_EH!A%HE%D,BZ,@XH.(62=:N/T$(H,A;/6AGDH7L;U,\;:!\^*@ YVP@XY M3Y++J$4F@7(;2;XDZ9@\@X 8 U=6)]7:%]Y!SK@5,T/CL94>?HB6P-=?X&_\ M]9M=H&^P>$>CZB!"SDXQR#($4#5J=\[6ZLY2&WW) MHG3K>["]"#N^%?[Y(K_5WK(3Y8F/3?UJT8J)." M;EK\-L+"W6[X!\N[@R/NDOJM1*JE7R&:W[BZPDZ!.L'2 IA\"S=%B[P!#MWAXO3@EMW"213$A\/HV,"90 MSF>(%CE@S,6B$4(U;W%R+R&=8.9X1=^^]SM:ZAU YUJWJ%^PIBHGU8/3A6M M$R4H*XN7V?O5-(D:N+SA>L0_WY#I RAW Y(&I;.?,B)!* M=-93&%EL;5?FP-EH@#E3K _.)=^ZS<1.@D8N,F@.GW;2[P!*MR>PG7.1C,_6 M6P8B1K+$H4X[%B("8OO_+Y1]AF2>\Y,R]-H#%D\.".W?DSR% MQ$X"M0,1)R6#JZ0!].[O\6BZ2]86!%99X44AR*S) L_DI6CD885\W]WVTEY;K1@?AG1F0V=J<4==NU*$VPR M_20X%835B9O6O>$/',8Y9+^X9\/4D1KH"TG;[O;7KZ:W^^3BR07FZD*2_[A1 MY83%Q#!R![(P3XS2KTA4&I*3J'TQ(C0?G7( F:-W2WA>+ ZHPPX.U@=8W$R. MV?RW#U\W[Z/?_(G+-"5F)\G55OVB0.U34RLX SCBBZ 5BS(Z$,N#V,.G$#EZ M+X:Q(=I(?_T"]'P232)A;H=)K";!>I>YY:!U'?90'!T3V9/#@8(K%B-GS?N[ M[DW+Y&0WD MDV$X9&N%L6%XG+8Z0.%5N>_JM\4#%R6;O19O>R:?<,LUGG=[WPKD$Z;%R7SS ME8UL)LXR)EQR-3->DQ!90"Q)DWB4,T;8DD1K] [-T^B=(IX-]5VAHX/=LI'T M)_QZMDQ?*L=W3Z1)YLPZJR0P&S0HEP)$:P6@4"8QP74N@[BS.ZD:O5'%\]KI M=AIZ.N;\%G-S/*G7.K\]"_2V>RD7%TQD")A= )4M@C?T#\:R,<:+B+'U%?"C M1(W^*KP+X#U=/_W@[F83(<5=%%YM&GIXLM?,D'?#/0CM \LB)(^M'X(]O4G3 MH*\0GPU0APO^X(/R&R[CXAE>(EX\?MCNCMM"O7I'7.<$N9 A*EY=Z> @<,XA M:V&E9JA,;-[Y]VBJ]T/H/\5US3.KN /_;Z 'EM$*::UT()(B*? JA>@<JUT(J3^T2_3=2/6=?:10@1P]9Z4$SU46-EEF M?6^/<_D_1;5 *Z5TX8+O+*?1RI10>_3%.@1-,3I18I#U47MV*6M>4K+M(79D MD=,_115 ,[4<69OR9IZ'JG%RTJ8L

    <06.96T0#86O@Q2>/+W& MB?_SW-H?KH*F0'JNW@*OPNK+V]GBC]5-+HYK*7#UT6$["3Q ?/L& I<+7?IN M26-4P3- 6X?*E4*VIDX:R$J3AY0%MN]BLXN>!OG)^LV/R\6W*4GNY???5TB. MZ^7 FA<497W;^HZ7/<.P%$3!**)"0Q)(9MNMUG!G:0/*K%SK*\FG4]E)-?FQ M"+HGJSFDNCKPZV_F;8.*9&F-)%FES2,/!,=):EEP5TJ05OG6.],F3]%]!W@YL9=>[THGZ?I#&^P]-OBR=(,R5MG-!@LY%1$ENL;(PU!H[$A M<.ES:R]_"#[&39@\,XI'!T('F^$UTLIINE$Q_7J&YZG2%Z>+Y7KZ7]O2:*.4 M-'5@6#:,A(P4BSM>BT$^=(UKU*P2$SRQ6=.(5C:>U:'_ZD8C![V1T$&ZBK ]"]/E_VH>E?/"$Z M%R*8' NH[#GM(8Y0N$G<>QLY;QW8/4+2N"][NH-A2P5V@,<7*2TWQOQB@*>G M -"C"R!T3J 8>@@!8QTGG% HRWEJ71QTFX9Q'^ITA[BC5-0!Q"ZFF)/9CM/Y M1H_;89LG)..:6R,A+L_5NPSTIQO9O_I2?_EN3A[&V2:#3\-<3J;KK_S MB91HE. "@D)'[@<*B):DI+- );/DK/F,\6=B;=R'0MUMB!X!U<$^^]MBD?^8 MSF;O3K^&Z7+31:)F4(H3)7 2+3)G:L5J!G*9&!1A#%F13))NW9CL?DK&?6?4 M'8H;J*N+"^J'JZ(N:C^V8Y3K[;OE&B-R"3Q8)(]=.XC9:L@B,7*0LE3>-\;B M$\@;]TE0=P =2K']E,6_GJZ^+E9A]K?EXNSKKXMUG86T'0..^7(*>&6T,OQA M_O?E=(VO%W_,)T;D$ACW@ DUJ.0+>&\B"$.Q9U1%I.;]00^E==Q70]V!^EE4 MWH,S<%5W%V;XH9!\B;OU]X^SL&T#_+4J99)YBK$8!D9R"B529A 9A:S,%&F2 M#E(TC_;VHVS<-T?=P78 =?9CAC?%I/=([N+2^O(>>R)S9D%&!=FZ&N_Z!#$: M$J8F7K5DC*?6W1SV)F[D5TW=0788K79@6N_6A%UR>?Z:^JK(PLG(6/#@HB3. MA%7@+.=@'*8B51(X>"X\F,2=\-(*)UN7>^Y#5V^-$]M@XE'H':F@8P_W@6#W;OZ- MA+Y8TI:=%!TQH$Y 0J*M&B2Q([@!94UP)26F1.L>"SL)ZJV;XC,![5"5=(JP MCTO\&J;YXI;N_,KDQ7S;F_O%:H7KU4186XA-"5Y6/J.S$$U24!2+W,2<:5L- M#KU]*.VMJ^(S8;*Y$CL%:[W9.[MVE8RKC^'[QM9[88SUI4!()$4E6:% 3GN0 M-A>C'8E3/6_5*BU_[;1,;,6/*USXZQ M9.>CA1!L NFR$KPX^O_T7*9P3YI[ZZCXO/9Q",5V .3]"\@GW#/D,11(.5&D M5O,1WI4(.B4=@HB28VO([D_=N#[E\S\F&4)IS68X-X=C#>=6#PC218W26]KM M4F50M4K6*R2&2XK*^.A\:5U;^G0J.YGN\TQ/YEJIJP/[2/[)18_1VDIWB3?N MJ.@DN+JFDIYE461MKUMK9(/.X$L4D#-M,RD23[[U@Z;]J>ORL5TSG"R>16E= MQ-O$2D+,J[[>!%N2IN&S-5Z9[_ESQA1@N>A $9M*P=(2TX#!J$RM)8 MRT+AK5^Q/X6^+GW%9[.%K1373Z7%'18WT=E6H)O_, E6>RD-([?7UD9UB.1L MBSI--R5# 2+WNO5SS$>)&C?=.#8*CU)1Q]![\2U,9S6C]7:QK);_JC_<:XSK M271HK'&:#'ZJW>F,!Q]L !U\\D698$WK4I\GDCAN/G)L6#947Z?>XB,<9MIO MD><,Q7,&BK':4\[3,: M)LNU\7YXW[$!0@?+0X[N23948 ]^Y37^?@GKOV)H2/^S9C M1"@_CZH[P/?^,IY$Z72)2H 3(=#.+1)\3@Y*8H%;[1QQ.%HB<]P'%\^,U(&4 MUF]^_>UT'N;I?D%*\KRY3%C?A-AMKZJH8@"IH^*\2(:F=;7OTZD<-Z1_[OQZ M*W5U8!^O'PIUAAWQ13[.MOGL[_-<8\1$@JUYLWF^OUE*3>JNZ,=F9[5-[?5) MH),B<_*"9T#OR%_?[%/I'%B6R2F*5HC2/.X?DJ$NL_C-T+C#7Q@7&CWLDW,? MZ1/.-AF,Q6_AS[]/UU^^;!O25S_I_DY")7@5H\C LN!T#@H)0:0:%"#Y3D)S MIEO/)CB4UBZO" 9#]W,HM(\*RU_BD1,F2XQ:D8 Z4<.1% MT>$(7IIL:]D._?E ('V8JBZO"8:&8R,E=0&\K:SP?:WC^KB7 MYL0R@]E) 3'69J?:*7""&,7,M<48D9MGRD$=BLGG3OP/A=DG,L,?YI79^O^U-.M;F&U=8Y+C-)&1WA0IS//-/[CVDYUL-7,))EBA/ !M ZUQ-*;VLLX@;&Q"./)0K'F$^.> ME<-Q?:7!-E;',.G@%'M6 ^.,$CI%3PYG#;V91 @D$E"JF&*9I5]WM86&.)D& M<^SZW$!#0N3(H6HDL.7ZQ]M$0FJN,JMSYJ2BHSID"%HSX($\GU,3:!<5D M<#)R"A)UC#8G%9M?A>Y)VKBE)8,!=PC%=! \O)O3MVB_?0S3.M]Z@L%SY%D" MM[NK[5J%!?E MX@G338+W&Z][YQMMINGN)JW1\-P/RY,P/Y]+=C6^=SNS[.,UVC^4\S1QF%U- M]KW*2C/IN32UJWF@2,%S2];#&8C.9"%3$*IYG[ FA!_=D/<8(JK#.%NL2,>_ MD3)?SNJ%>)(VL2 #\$V?$5H1HHD"C,PY,RNC$:T??+?F8=RS\_GQ?*>=[YB8 MZ-;.?CX[/0W+[XOR>7HRGY9IJJ_FMPV;*);Z2$)*]3KN .N[YY?;V.1#V&AD MJ>\NOX.!?!>1X@!728DU !6]^W[4?9R -1VZ#D3N397BG=FJI/^ WG9WB( M+;KXJVV,S;V$-+(FY]^NY2EUOE<%2"T5?76V6I.3O[P$32'4%.L#!%=SP$8: MTJAT8#CJR$DG(K>.Q?1=%34$HQ1S&S MBJU;C.Y+V[BV9@@,W38\@VBI6]-SHZG_1UR>U\K6JNV# M,=GVL4H^Y+<".S M]28LYW3RU*4VBUQB3%NK(Z.3QXG@00GAP7')(*7HM"S"&=^Z/\Q#M!Q=S'3K MNU<8)]8*5Z6.S$4Z7KE@X!RA7;/B@@Y(@4#K.]L'B1G7]#3!P9VRGR:"[]:X MO*./S$^F<7;>+^IBKF(X[SUZB(5Y])MMS,S32&]D:RX6H;C]]OI78?HE\ 3* MX-$P0)[HD(L\UD;#M<^1M<9X85"V;@3]) );#4W=N=C5CC%"(LG 0S&2CF/K MZ21F/@*/2FFE@N)Q%'%T8K^&P]9#TU,'T%NWENYMF"[_,\S.\!<,E;WM8Y@# MS-O]'VICT_8@LI$ANUSI2N%760$*^Y5TV0'SLCY:%18\4QRXXL$)C-:FUAGG M7?0<_4#KGF]?H=NCH /<"A!&A%K'E, 5HT$+[A.O,ZQ#:ZNTDZ!QC5 S7-QY MBM5,"=V:F%_"\A^XKOUDKK7>.<#"W/N=-@;F<1(;V9=K/?=JOZCS9KCK[U?+ M7J**N1B=K'6XIE:_Y%+',1@'T@?NE3.*8VMKLS]UQQ):K! M8^#[%[C/A5>Y/GLHCL(#10*(Q8 OJ8 QP6I.&ZO(UC/7GT+?N+:H+7[N>?4[ MC)ZZM4T74Q&_'Y8]NOC+K=)$]Q+3T,W9?/V^"%V*Y.B, E:SA.0XF]H\Q4)& MRYG*CB%K;71VD-/"D;GUZ2O8,JF\,IOD*C&H"LO@0Q @F<_$;F#"M:[ZWD7/ M^*Y-"TSG+\W.21%<]]W&F5H'B6QD66I7O$] "HF M,*F%!)124J"<+ 2A&<7AN5"D7 +GK0_R^RDYUI[<_.HU[SQ*.NFT@7KBT0D8 M+$3:)V ]8\IX@:YY#_T'2!G7BC30_VT#TD+DW=J.-V08%M\17^(K:VGVUSR/8"RW!91"@(SN8!B,0.%U)&PD*PK M6COFF[_YW9^\HX,D6F>[RN9.\.."/GNYW+D>[KWS0!^<)+E 2IG.4X<1H@P! MI.5*)B^CL*T+? ZE=5P[-136[H11SZ');JW;IC7>W4Z6!]BW![[4J!1Z#S); M^4>7JMZT#[Q<[+S1Y2O"QVI3L1$K.1?MMBZAF,G=9GGCB%-XK>BD W*4/42F M.+=1!,5;CW,\CN*C_:U]5W]Y??5KF0F1D4>F 5G=NSH@..<=".FSB4$:PUM' MLT>2/++_]GSXO./G/:.JN[68FYZ/!WF YW^SC46\CXQ&%G#[Z:M'Y%@'5A0. MUB0/RH0(=?P \*SI=.4ZQMSZN>M-"HZU4._KM#B\WK+S&B:1 A\C=0+OHUO9Z%SWCVI8C-'_;5C03>@\7(U+O\5-3,0%V4UP MR9;ZG%V *\I MH65[)VSJO6+J-T4C?L\O#F(F@B^V_/D14IGIV>; W03@-2# M=8E?:E3R;5/I?LA1\_A'VYQ"3R2^V7NBD_,U+UO?7"M?K$UP(B>KDF5]>.8@ MT)^1HV&U9KQ63[!M\@:8+:8V MUD\04B#.4Y">.>Y3\Z;,3R!O[-=#;1"SRR-NJ9]NK=6UOAR'7<)>_?56U[ / M$-3L(O;\^_>DG:+0WK$@041;^[P;1>=/T6 $-U8Q)[1LO>-VD-.LSM$IT!*N"[>^<'Z9G[(O8-IAXL.G-L1KHUGR\GZ[/ M+SS(3<-^TYP7I^QWX.<%(KR5FH(R$/-S*CZ M&D)!5.AXU%+*]DU2GT+@\5'429C]$M858[=7NX(Y3ZQHYP1D1^[\9H1[(.Z! M^R*\2B@":WT/O1=AHU^&#(2DNR%7:RUU:XP^XTF5Z"?\NEA6)@^Z];C]C4;W M'3M):V2>;B]RU;PC:B,\TW44*)UA=+" U\A U,LT50)CS<<1/T3+T0U>;GWW MOI.5\\2EUPFR10H ,B:(Y(Z#$B;YPE+(N;5OLP=9([>%;(&-.XU=&BNC7\NR M5^>FX1M1C=*0:JS&5!&3(CP:2"K6^W@1P2O+@3%!_X70I)K/_AFN,=6-9FZ; MCW^_ECZW+ 15V_HFP>CTS8KV8%%T^G++3>9H4^L;F5WT=-N$ZBF(N-.WNY4" M.KB_N)&5W0:96XYN\Q4Y%J:]]:1OW3F,P MD V@F X ]WN=O?EFM9Z>AC6N)HY" BZB!&&*HS.=90@I2<@E%NUM?337>G+! M30K&'84Z$'B.$'('$#D??7![[,YMW*LI]E*BX82JW?F.R%V'C#J@:"%SM5=(!SB[?XMTVNW2>%SK#(PA9 IE= MJ<$[ITAF*GA1-.5!H(8(,HI@/ [>CY=O&?SDTQIXTD@N#@+2N@ M"A<00V0UM>M%"$&QYLTR]B9N+\CY'PQRPZBF;\S=_OTY@T%)GU,ND*VISQZ* M@.!Y+<-R&)R+#FWKEKU/)G*_/"K[YP%A UUU ,9WIU_#=+D9P;>\F-/XH;Q? MS$_>3[]AOL[:]0QR],E0V*RU(&>T) KH]@A)=2BHRIM&Y6^30*]T/BCW8! M,*"6.L#@]OG&]M7&;59,S$S6:#S$FD8DFT]>;NT &HQD2A;KF[<'V$'.?NCZ MT6X(6LF_ RA=EL;>"<^U,,JH HSG6B62 SCG$*Q*K##/A?.#%28?!*(?[5:@ MB>0[0-#5P^3K3Y<_?#WO+T%LDHSI^-]T3SGW1%E2+D?'(6FMJ]PXN)P36-HT MRBNAI&Y]<7D F?OA[D>[.QA:7QU \D7^ALOU=$6BV[R=OW/<&S2FWJT56?LG M62W!:2>!<]IH@G/K66OX/4+2?E#[T6X26NJA UA](JT0 ?4N]S7YE[/%)LWX MYL^ZB2ZN131#+,PJ"#IE4%(F"$P%B#98YE.1L;2&UAYD[0>O'^UJH;4^.H#8 MV\42IR?S5V>T]IRVRI)L,(EI\ZYRGC>_G6V?6=[>2[S&T#IKL*9VO!4RUG;9 M&HI2OJ2<;7:M:Q[J!A44]V^$O@UK,^6N"@O MS\CSH%#]MUJV<-!K@ >^U&CLXAYD-JKN;S-077FSZ3!*OC^&&I@:"DR%!U,4 M-T*8Y'SK7&83P@^U=Q4/D\_I"^:S&7XHG\_B:IJG85E?[%5=70_967)&*-#U MY; RCKP,@P*43FAX2;0[XF-8VWNU<9\%/#^4+HS:,.KHUHJ=I[ /-UXW/]!T MFO6 IFK?><1>&4WGD:\WZ[6:(WAPAB$$%X445@LE6E\\/_],ZSQ#WCL/CB+.VC# M7>(!I$^;X6L.8O .G/0A%%MX]*W[O@TUD_W*=[R]PLNP(AL\SZ^GL[,UYEM[ M@@ECD=Q2\-PF4%&KNB?(&LM:26J2*,VG0A](:J?SW)^"H3O75<^@M&X-V>T1 MZ;<+^PZW9GM^N8U).X2-4>:_!_K?Z%J[S\\Z M__UJ,UTL>\W=E$'KI U$)VG#U/$RCC8N<.8BFF!B]JT]LQWD_$B3W9^"FH?- MVW$:Z2 N&+E[70^7>.FYO/>K7ZM6JJ^1T3R90U+L59+:8IQM "-6%R62: ; M#G1[DSEN<# &&(?18$<@7>QB\>U9SRZ*YPC6H:%@ MR1<(]0;/.">-#5:&YFT]6M(_;O>&YX?UL^N\6[_R;9@N_S/,SO 7#%7,VWDB M!SN3NS[7:(KCO@0WHZN.;GX]G8CG$LX?YA_JKT%EA1RU4CK6I-*[XTTDM=6=8%,OO,! HL( M,BBK:2,R;9J7FCR1QG'=QV;HN5-B,J2JNK56]W6[.-Q8[?A:&UNU+[D-)UJO MMBULZ[S0\Q?0Z^]7BU]"SQF5"7D14B+4*=2V3OA <$5S(U)2,0XQX'H_ZEK, MI[WVU6]A.JM"?[M8?@ZSVZ=X\2DE:QEHY^D4KX.7?:9M8FQ.V1KA,;?N?_04 M^L9NPSX(HNZ;;CN(PCH(,ZZ)\-7Y\ K,+[]?7.Z<;5I!5\Z_OP[KV[SZG!V7 M*D 2FP<@/(!G,8&TZ(HW0>3<.N5^#+WC1L?/!-9G4VBWI_!%GXUPK<7&X:?P MCJ^U.87W);?1*?Q@%Y*K 9'>")-M!I[KA40I9,&*1M!%&K0V)<9;#S5YE*C! MFN)<83]X,M%,*2B">%?&)PA%)Z @FLA%ZU1JW;KK<:K&/5_;8F7O?CB'Z:1; M>W396.IP(W3[$ZTF)^T@K*'3OUGCGE19R%P5BY; XS@H:2WXD#3P9%)(/BF! M@W4T&_+*ZG*1[0N+]>W*%:\Q!^?!2A8HU-6U3KXPX(*.5Z4,Q^:51?O2-KX[ MWP(K#]\6--1,M^;F_DGIA]N>G=\;+Y3+,3\X+Z6>;KV\*^>Y_T+TA M_>7&"[BU';FV1O/H("A=VRT*"5$E>-@P M]PJK#C(TUQZ2W)'('V&9-\9SVQ5A55/N6^"L5F>GVS^['>(':626!D3MN$PG M7JTT4T,FT8X+[^_^1.7:;K"C\MIPD_UR+S6P] [*;,QH%A]JN-Y M B^" N>\\E$[E77K)-?P7(T[BZ/G+?*\@.EO"\7;$OF$)/9I(KULQ/!BGF_] MR>_SZ?HA@#O&AGG:6I1=W'+IO*GM< .K@X8U_<,%1/#2$?^)CMT\W)8X MA.)Q!Z%T ?K!%=T5K.^/E=ZH4$#H-8W(@?-*+=>"!C+4<$NLC_4Q;*]2VXSHA<:A\ M;?W9$TF9Y8#E_DQG^A)*XZ;UVP H>'DVZW3_"*EL].S3?"RZ2!Q8\![ M;91SN#^][Z?;N-H',=*LM=[)^"Z[S,HB1;VLY(F<*&60$!FC@2!2 M%B;1L:=;OVG<04[;PII+^5[U5;IM6&6.R)2 ^@2/CO=(QWM(-;KTW@83+0NM M Y(GDCAVJ[PVR-E=J=)63]W:LLO!+\=D >Y^I%7Q\D[BFI4OGZ]R3TEJ=#HJ M;@KDR!+I6(OZ2LM/&ZKQ] M_.UV ]K:G+V%8FH_/H^9$DCUWLW 99NXJ=A]9C!P'D M3<.\F-?T\ 7KQ.YY:XR7.,E8+UFN]J6G\AG^81I,4\4(5U5OU^[?_,QU0 ) MG(N55UZ@GT[ON-F/X<$ZL :[0NOK&1ZCP^FM*WC^/E_2MCN9UP(W M8O7\J%A]6LQFY.'4F]S;E[->62N$!Y\%VVP_\G!L IE#9$%KGUCKUSN'4SMN MD=;P(!U4>]U&UI_QI-89?,*OM8O;_.2(UWGW?ZG1N[P]R&P4:-]>ZNJ%.7)F M"5+@C'&@)+/@2YW[Q -3+GOG7/,)K _0,N:\#&545HGOKHZ5(YMF+R"#: M.GQ!.V%2^W&-/^B\C"98:CD@XRG*&_LZ;&OR*YM7*=3;_-V^1.&XD>X@IFY %8UMW3;YI#RM'717 MY%^^R/3K3?WFHC(]NY_I3WAR-YS7Y.=&*2.H7.@?*M"V8RB@:$;"4-88O=\D MO68DC1O/MK>%X^AJ;(2^1EHV32\F%5[O\_PHGS'742*AME^J'5M9'5-.+$#) M/B;N=?0J[87)(X@8-V!MC\+GTD>_L>K9Z6E8?E^4SU,*T\LTU6Y==Z8 O\9U MF,X."V&?M$"CR/9PIAH%O#L&*;M4T!0I(2M#'EUP]=DRN77:\.2MXSKEU@FJ MAZDYKK;NSFF"!<>//1JJ] M64770)(C'FVKY7JR>5G\XL_I:F(+PZ)2[2=>K^NBT."]K^6A142#% W;O2ZS MZ*O7P$V_NP+VC07'@4,[O2V.%6(/FO\%3R,N)\*XJ'EBP&P(H+BO4X-< .LL MCSD5)MA>,^KVT?UVR7&T?X2R;JO[ ,F-K/!?IO/IZ=GI.>&Z4'28@@>6&+G? MOLCZ)-H"ESHASXRQ_=I$/Z+R&XN.K/1#5+9H(;^Q%1_^O$:X\AP5I@ &B69% MGC9XHQ"$8DYGRWG8KV'"8XJ_ON@X&<%FBC]8?AVD]AYLZ/OR^V_TB8TA9%$D M5;0#*[.B.,Q9B"5*T"%9+A0/,;>^Q]B#K'% T]Q!&$H1/6.K,O1Z<1JF\XE& MZ; ^_^:BAMLE9PA(?(6H*883@HP'R$0D%7I %;UVM_@ IXUYY#HVD M%O+O $8OSTB*Y%6>4V],;=1$^"]:6=H$,I G2MC5*Q1+@6X:!", M9%P[+7@Q[NDWES5LWO#2[.C:+U.CII&?EHN8X2UAY< MP0!"!AE$9HCBEJOS4&760TMTA(-#-+=H+L:QP7#7CKZ?SO'=&D]K=BM+Z4*" M&*K?SI,$+VT!%I(36 )/R>X%AQV+C./<-C]"FLJR@Y/D00_M]Q66L]G[:<%) M9B9%YR5$(#K;XM% M_F,ZFY%G'J;+RDMM!3.Q(11;*/JC8YFX4/7:CF0#'"7JD&-DH75;Q/LIZ>I: MJPV*&HB\ ^"\G=(YBYL:^W>DD?G)E$SVIICYVF8(4G.KR63;Z!6HVFT[D$T' M8:/6B#J+YI9I'[JZ"I?:@*JY.CJ V'UM&S]A=18O?O<;+D\G)"/)B\P@I2'' MT6(&YS."]!J=*T49W;J)T7Z4=>52M8'9 "KI &@O\CA#I&7FL.P0ISSTJ3;/4/8BM%E3U*'#!_ MPH33;YM>%N=SP"<2N>,^%+"NFM%:+>!DE!!R<5)QVA.\]6C(AZD9.[W8'B>W MK5 C371QH&VD=>G&79NI]"'.IB<;M9%+9V2,6D(LRM?[8$NG--EN%Y70(F-1 MLG4HMQ=AX]8$/0?2VNNGVX>:EZQN_A5OO]H__A!\[,M-S\0GL?',1Z3T3@;) M,ZA$OI?*NM[JYPP^1>^-]4&'UM-SGNF(?#U=A9.3)9Z>1YT_^KCHJ>=9A=- MQ=P=4,[OMUF1D2D=0(9IKQK\)T-ES,*/5CK="9$# M!-R!VWV91#UO^'%1$!>XY*9.6C1&&E!*>(C:*!#>>5UG8V%I7>;Z "D]0>80 M'2_:"[P#W'PF%6PJ*%^>K:9S7*TNV-GN*CJ-?2W/Q"Q4'9E6QU99VEK<98HT M&!.B>:_)702-&YXU/Z/:*Z$'1&UIOZCWS=:4I"Q85Z=D<<,A"&; J2!*]J)H MV7RDP'4"1FZ\V4ZQMR%SL)3'+DVK%75U;#Q)YD(<%Z:3>1LX!I"L#B^N5S=1 M1P59A\BX)P9O/^AYH##MP26Z:,-ZB,X6S04X-@RV=98WZ6U9$.M M<^"CY5"4,EX&X^3M/D\["U6?KOJA&Z,>J_ICA3:VTO]'^!KFMS#K.1J_(C1=:!0_" V_3^\OI6%\ZX5A&D M#"2;XHD5K3P8Y16+O@ZZ;'W7]!A-XT)G,$>SJ2HZ@-8C.<=W\S0[JZ_%:ND: M_5\=J#")+!>5D(/)R(A%P2!DPR#Z(DN,O*!M78MS )E=9N,.Q,G#C>,'45KO M]U$WA;NX$.[QUU&/?+CI;=13F'CFRR@K4U;11TB.8*EDBN"$#V"EBE;%I"W[ M9[R,HCT1:"\8,"@%^8')0C2"?I5=D3(RH<0SG:(_T&744[#RI,NHIVACY#N& MC\M%/DOK#\O/N/PV3>!0%$ ?E5&%YU1:7%D^ M2,!XMPK'Z_0N0(X4\-CA_;OY_ZY#(!?S7Q:;)@T?J_MP2K^^Z-NI XF!(60C M#&V:2'*J@UJB2CK11F)9[Y??>62AT4%QK!X7 PEU;("\^O75+X'$5PO/WDZ7 MJW4ZNTAJF"+HO*W7ML8@!;->@O?% KKB11#:Q!3VPL;#:XS7"74 6#02Y=B( M^(UTB:\_+J>;TOZW%CUTTC45ROT3BM0I1.!*.L>!")&=-I/J8$0G;^XV4 MV;7*.*F>@5#13)QCX^+S%T3"\SK,SHGWLB"7R,&+^A+#A@(1T4%BUJ3B(_=R MOYEJM[\\SKNZ@?1_E-C&UOF']1=<7@CEG/Z4I$V)"2C9DBTSUH$S.H'@A\_%Q'L0-I/ECA==!-O?1K&.0+B +#K1*Q(_-!3R9-,*V8#*+S 6V M[B/0Y*)@G(J40X+50531 ;0.R3E;=-HG'<&3Q0059!WC1PY5+0MCPA>?S#/G M$7_ BX(GX:3!1<%3E-;M1<&ON-[./:VM/#[B\M7B]'0Q__R%5-+B">=3/M_F MTN!@AAI=';P)RQHGU:4WBUX]1BA.."X8:)$H>*[]H'Q&#=(Y:TQP2=X>6GE\ M*_,':#FZ[0"Y_'DZ.ZNR_(SI;#E=3W'UYL^Z23!O-U%MY'N^4^^0<5J?5T]T M<10FV@*<_,,ZC\M"*!$!9>VVP)ETLG7%9Q/"QS6#3?!UI[G!LROT1S2(G],7 MS&4].,T*28W+G*,QSK;N0/0P->-690Z" MK$:B[R#%0@9XN7GK$F;7/([5B_5Z.8WD:M1!X(O-G]$NP?PQ?*\__(*BO_G) MMH?_)!MK=# :#%-8>RRY>E5A -/P2;CE&E]Y!]/]=@)F#;X68RJS [@^X") M/W>)[UCZB981/=EVX$$SDJYSX))2@-$6U(E%GEOWB7PBB6.GI@:XX[KZCIX3NDM#LP9?=R-F&LZ&Q\ B\5,8&V0&2A#K4LWB0O<_M. M /<2,F(G]Z%4?GM^X]'R[Q!$YS*:Y.@82])"DM6@IN @:)U!T_^8R(V)H?GP MS_M)&;&9^TA .D0'W>9T+QK7TT&]J5VXU6A\=96KO/C)(W*VAR_6)B?;B-E& M.=>+->H,M5N$O)ZNTFRQ.KMVPEH5F?'.0%)!@"(X@WQ.5LCFW/C ?(&7<$',X MM-QI:M% $QT"5$0G<$=X5J'.$MAVD=&*B=I)R+5V+NX0,7(C MK@'\T./DW!%0/BUFL[>+Y1]AF2>8!'<"$S"LT]ULICA.N N).,#R\C*4#,; MKY'11^1[H&(?@,FA4NX(*!-6LI-D\\ 97J=LU:9SR3I@K [;0B.,&"HGU ]=KH_W-2[S0NG_G$V)@M=GR^T\$5KBUC12P9 7 M8>H^L9G"MQ0@:L&@H#-!1:X2[O>X>_\UQSUF6L%D2$%W9$](1#@]F6]''J7O MORW#?#7;*.MOY,EM."M:H'3D;$FA"B@5$6+RY(ISQFG+I%QDZWNG_:D;U_D= MRB8UUDI'>)L$]?^S]V5-3B5)NK_([\2^/%)54!8NW6SE)6H;&*()5 MP5I.\HG.%A]!%YT3UREPT;K_N(OB(T:36581#+F"U1U$<)9"#JYLS6DD(4WK M]L)G4'SN(OT 5@Q78+@W8 U".D]%F(W$G-\_8R[Q0ZZY #-RE5XSWWBOFZ7KG:5UT0 M&9$#L1D58\([U7H5[D^)&A=.352_!9SVU\/8)8D7\K?_>Q&7KV>I_F>322=9 M&%6*A4C.(<6IEJRM)M:3%C$H25\2VTW]?^BG]X>( [0W;RG*#@Z9^SE5EH15 MPC HI8ZKXS& 5[H DY:CL2R@:CUGY42*$H?<28?)N0.@7-K1K_.O<3I;Z:(N M&9Y>B%F"EI>B3I ;."4-Q;$[1II23:3VV8A?Z^O"A M]X3"([=3<[UT@+G-.[;EI_GFR+YD%I=O\?Q=^34LOUQF82<\^92,MR"X(^N4 M+M*!CAX2=]Y98B"PUIC;A;X^$N!M,#>87CK W /^PDOZW?D/BG>1M':^?+U< M7F!^MZC_K??"[>?GZZ_6_!M/*G/0(2I0S#%P=$$ USHS+;+C^@CQW1Z4]Y$[ M;WLV'E&7'2%XBQOA06G4W,Y&'!,LBBF.#KS/$91;1U =4ZWS7@W) M[R.W?_1[OJE6.P#T=5'#HA&!XC-K,8.*A2(UH^M:7UXLTI_IBAFS3-1\..TP M4-I+GAWA8%-JKS,1PA)_P_5_)^3(TMDL([!2G_;%+"D\"P%XX4%Z+V.)0]4F M'J9H*\R8T\), ]EW@*15N:W.7%O@%Z1#]#M>SZMZJ,P>5AL?Z B]471_D?_G M8GF^VB:,A?Y-'7=*K'ID5D)2-#$$Z#2&DPKP(#)LW(S]- MT580=*A:6 MRW7!0"FZ(ISCH#DCK[J^=@DA%+ ^%2U3E.[NPIR&72-[$-Q'7KP]\A[O+1E: MJQU<^X^SMKS)VWI?GM4J,B6@8"SDT=0=%:$X8)RIQ'S2MGE#P0[D]=*I,CAH MYL?18-_@O&;L;?AZ6:OG!9$%(]./2F>(+"MGHGL;.LBSW:4=0O"P\$Q'UQ3'>#O[;PF*+[A.;[XO,#U!-?+;9)Y#:ZB"X-[+Y&*3'J1FWJ'U,G#722 ?86J^:P,7'>3G_B^1\1W27 MRRF-TB8R!BSK2$SQ3$SE -(4%C1+B7R6QC#;BK!QR]/'1%Q[/8W=>GK)R7LZ MJ!C(*:5 M<#LXG#XM0L8JCJMV6IMU\8J!(7)!\6(@F#H_1&"R7#/I5.OK[BX-XY9^CWGD M'"3]#M!SN8IPY0N2?I9?IM\N6!N1,@'84\I HD**=H(%A(I92X5&T+F\\ M0&C7F.-=#(BO.J*X ]UD\(Z;"XL>49'J$^&U4P.G:C.)XA9)1FYLA0_ M;P,D^JDW0$1_N@;0K0_LI1?^6%FO_:7= T0VR [6>A9M!/)0L,:;$KPR$K0- M,DC%N'-;90:V VXL/?-PAWJN3B!8*,%'@I63KDLA)>6\P:^58+!'^F^)L?.LZET$SQ>\NO R?SY_?@\LU5SXB1RGFN)!@5 MR($FA-.)J)$PKE)(*KJ@9&.O#S"9Y^7]0A0>1<6Q9* MAB0,V1LW&3P%>2 \"ZH4GK-LW:3X,YK&K5<,AX;MJV:[JZ9OJ+U(Z>+KQ:HD M<[/W;:*2C5+1.6^PO@8K*M9=*0R"I8"2(<6!]H@=!H]0.6[(U0,<6ZAO=X#Z M-4!G^+E^\*=CX/0MGD^D%]HP8\!DLW)C/+DQ)$UK,19O32G8NM;Q-$7C7LL] MX&]7M8RX*_#GW/RYQ')Q]F9:MA[C MNPU=X]9(.@#FW]OL/_R[V\X6PXY]?&GGWF< M=P&[L3[**P"ZC:WW=%-;PPCVOC@(4COPP7&554ITG)[R*X G3/-1[5P)QVEC M4T8#S-4*?,@)HI"JEN&3#XPK/&:X_5-Z3^D-P"ZXV^&X;:O3OGV$![A\2V?( MI[_P[#O^,9^=?UE.D'N'-2WK7=UORH4 7X2L>[]T-E9C:C[\]#"*NVU_;8RL M'>+YQFH^.5#_-X;%I[_F$XE%,LL3%&0%5-$10J$_9N=]2MR)T+P-9"]"N^VL M[0G"^RCU-)%+4,1)U,FHJ!)($TW==T4W'28*,:12@L=0C&_]W&!/4KOMTNT. MO3LK]B3Q^VI^L9BXD+VIN]9YG+@?5'HDZ]8#=%PK37Y\UC[)7B6=,DX#SIDH[FP1>/Q2@\_);?;!NF>8+R_ M@OO&8I0"DA-1ZU0$AB,&:ML690>;B-4C(G=54[,B M;>OJPZLP7?PCG%W@'QAJ@G'UNI,8#[,T#6>7#XE77\HOSJ^^^]WLQ0=,%XNZ M_N^7L)PN#RA&M":A36UB4,$T*E5IU@GAYA7RC4!EA%$AGR3D5P9)SJNB7 M;%@)=$1*;#T4_"EZ#CXS+W_VYDJ8Y3?3$*=GT_,I7BGBW>Q*^/0-;^>SQ2U= M;'89H"HFU"*E2'4_G-=DMT&"0*$$'0X\Q=:-JSW[=G%.7Y[3W782ACU7F_'2"> /@]K39^PX>N\ _W5#Q^;YC3?1 MFIIW+H;H55*4NKK*U$75Y+RC9LB;3_JX^O1.,#8J&NX^F-Y/-1V ZH_Y#'^L M!S*]NICEJ]E+EB>K7 "M"T6?AA$#/"7(3EOA6C? /$S)R#75'L'60&4= M ._&77'UV_\[Q041]>7'&_R.9ZN+PW.A-6,,N*QE8A,=>&;(_7'(DY;HK6I> M/]V*LJZ .;YKV4J'/2'S5@+E'G\;2R:W)N?B!.3:?*-RM61N#80H2R'05<^VBD4W#)RQB)8Q(&$3 E$I'RD>PD!B@\HY99ZR0'2V3? M)V?DQK=1P;6/1GH"UR\_;HCMU0+_]Z)N!%KY%#*CL?4AEY2U3:0H40>=)$"L M.\.SX#H/YI@]3E8G8.LE;&BBO9X ^1!#&]L5)F6&F4-,I;[#+[59%#T(X9S+ M=?7\W9FI@T0*=\CJQ&]K!84M@H-#]-(IU)97%GMYGB?-./D%()DB\U3DDP:F M(VCO."_(C,'!TB9/T-4)V%J!89M(]!#-](2V VZ,-]=OK95AKK[[0U7'KLM@ M(=J8(2DN;63"23-PI>TP!D;N,N_K]CXZ(CHPATWWWOUVDJMN$F:5+%QQ\+GF M *2RX I*R(59(8TS-K0^>7]*5"?'[O$!$7%/M=0#'6GCQFL%)4C(&)8D=0>S0M4,WG">?BAE-$:5VOL0A*L9;$3?R)+FVH'B@,MQ> M0QU [\7W,#VKE\FK^>(C'[]ITDV.L(?O;&W7=$[0XF/;/"%H+H!&SP9>S[[C>J'[ZA"C>[7>J><_KC_]"MY9,\>= MC11<)U\3Y0D(%AY80.Y3=*S( 5[\/43*N,AJKO+[+_H.EG\',/JT M"+,E?7)- GS$Q?=IH@#_77F N^4G^I'+A[^T2=6JY*6K2TNL#(4<5XJ5'!8' MR&VAO[*,N=;>7DOZ1Q]X=3B@[J\B&T>['2#[SX\?27E867\_KZFM%,X^7L0\ M_3Y=U@U:F^P_$UPJGC,X+LGK5EE"E'2WZ.BT]4XARZVS@]M1-BX:QT/.?' U M=@#.7^>+;_,%\77[FKKT#A#XY\??Y]]Q,5O=,Y^1Q'4W#W5I62H:D2,':TP&Q1.'J#W]SH82 M1$2D>ZGY ;D=;>-F=+K!Y2"J[ "BOX39/S]-OY*Y?9LOIU>;PKE-5G%%#I$2 M"53*&H(D0\M9"F.U9?Y\OS M52%^0FSP>;>XJXTCAO+# B7GY3XFNJN@^T\ M/^'O>MW5:A';G[,%AK/*\.]TQ_R"9;X@X_][HG1,@CL'T9HZZ[*^FZB>LN&Z M1*$BLN:;HIH0WLT.Z7%1/("6^S]V'V7Z#?WIFNG,F<_UK09CA6XU[3VXJ$N= M(YB+3BKD>.2S>#O"NUEAVBFT]]=R/_O[MNX_"45Y7_NLF4!.EY*J(S!1@Y"! M_N-%]*KUIHJF_4&#A5SCX;2)KKK=6_50U\(?X7SSN_D]:=^60>,&C]T_>+@6 MCP.%D+( M_7_3\R_3V;O9>N? )==UPA;QJRTDRS0YXB*2C)6"4&S(J6AI0NNQ!8=1?!H8 M/A!6>X*Y@8Y/"-&KK0/$[*?;;U=:6R/A*\1%T\ M6=$LI?3)N\)5Z]&V/R6J73O!HQ^UKH-G61_TL0PH8@:E(IWU)DO 2!;F74J> M#]=)\#1MXSJK;7'S> M!0_UT6R*& (+0$ MABI+[Z,0H?68RBW(ZJ5'H"4>YL,JIV>\588VS66>$T>6?!17&[15-A:"#8$D MJ+7W!K7BK6?,;$%6IZ?;OE#8%FI[ZJ4#J+TA=^9RLKJ((5DZ^1,+%E2*#"*7 M!1+/1+@VP;K6)]CUIW<*G'T5.V\BY0[P\;RMZ^_DG?\?3WV:\.4 M-=Q'I1!*J./$A"H0B36@&$98G7/QS>>P;478N!F3H5'57C<= .Y*2%414L;MKAD:/BWDWP&,WF!8XI?Y M67[H )6U<5YXR#'1C>VUK:S4$3*N!.F(T= ZF? $.>,N41_<46JDAPX@]>M\ M]2 H5=6\GI'@/I.NKGA1Q#",&U%2ML&V'I+\%#WCKC0? M_HQJI(D.4/6HK-Y#LU M;B)J/]7T#+95(_?$11F#S@ST:I1C5!3*,J_ V!QRX)YISX\%M!5%G281]M3_ MMO#:71D=0.O&JX#?D(A(ZQV"]/LS7"ELECV=9B?:P'44!??S+N11?M[B^81,E,E(L#>>*)#Y54@9+K MSO(0B#>&EJ)L*3E3"5FRC1F\^?F=^FQ[Z?_^A,P]Y=SMH[+ZMF1&X/IQP+ER M[V>T.4.>)JWAJZWUA]P?-4^1>J< *':#(H#!=-"N:SKS!C.$> M->,&6H-CYS#I]Q,S73%477-TCGOE-& B>U#DX8.++D*2$I4P&%ELW=9^\_/' MC8D&A\RN$NXV^-F,7YM]?A?/II]7/^^0M^M/_;@V;LK6!#?R6.JK@P=0Y)SB MZ*T &6.AR#=Q")9',)IK9XIU5K9^1?TP)0=7;J<%T_]N#;GQ=8$-SHO:D,'SI9ADZ/]@.?3]8K/AZ"%W(JL-11!GJJ2 MWH$73$+,BHN1GF&^IX.KC-KLF30FQ*,,A)5/3U,P# M^>QU,(WT(B5M+&M===V)P''/IJ%0]?@+E-8ZZR#?C-_(:Y];&^1/B>KE"4IS0,R'U$[O<+ML MRV%,21;K9K4Z1\!*10+C%C"39Z 8/UPBY_KR1 [P#-38_2'P='!2OY@NT2,FUT>^I@X3.8=@.:^WW?M]KVY:C'1QJ".0H-. MBH-2/-:G"IDVVNI'^C].J?S=AHO5GUNU8[" MW].O%U]?S&87X>SF%Y?O<7&9[Z'?IMK^IK)"5A@"&B%JVX"#(+6C$SL5(53T MI7GAM0'98V="FX/I8;@>3;/]@/F&4&\Q^,N/#7^+"<,2O-((B0D2+%IB+*<$ M(AJ2K8I9-M_CLC5Q8^]P.1(P&VNIVW3^Q_-Y^NJ#5P!\5VY^^ =<]6[7K2K+CU\(W;&2]S[\6#W)NS$J303#50:=>2'_ MLE:7G%*@A2W)"G(3=?/KZ2"*VU4%5I]Q3VDO2&>SS^N'B[_\N/Z>#1TO_@J+ MO'&7LK1:LMJ5H3S%;N0S1:8%6;TC1]K)Y)N_7&A&_,CW^_$P^WB!X9CJ[^#Z MKU?)V_!U/41'!1L4+QQL4>DUBH%\L8UF76"3+K0_"VQ2,W(.^MR8?@<0> M8AT1%-7UFKR9SS[3C_KZ>E9#(W)Y*B]T$HO+J4G<,1>$A^*-J@V-$B)W ;S+ MD4YQGN7=V53W/;IM/J@/).RCP/E TNS@N%B?F)<#W%1RS#(=07)+AV8*"%[: M ,(G)@/*9$3K1HM;!/22D1OS\ME?(QW :7_!7;,]RW=LM60F7'8.<-5E)R4' MCZ& +5HKKICES7=^#,''R*L4]H?573=];!V/?:&^_/C^_=4H)L]*IH,^HG%U MXF!=K$?A3A*AZ$0L!:.VNCNO?^;(#OCHRIT?+ND.#L++A/0J^_3N6Q7BY4[[ M4HP-M8C#:EFYD _BO4,(*F#2MC A6F^#?Y28D>_;7K#65FD=H.\#+L\7TW2. M><7*AHF .FJ?$Y0B#9D0.:DN9P,D,LVM<4FGUK6#!PD9>7=K;Z@[7%D=(.X] M+LI\\3505+02WN4(L,!8T +KR$LE0/G,(?B(8((42FMFHVF>S7J8E)$WL?:& MNA8*&Q%WR\7YY$.5W(T[=7_(]P.72FPQ$9;$1K-*6[G.&X,B3A)A"H)"H.*:V M"F+>>/J=< QX]"8;-#IL M5TW]BC(2M]'9?,6\NO (?GIT?C8R?CFJE?$%:&YM 4<,I*;=1H<$QFX MUSRPD(+)K7V7PZGN9>'\F"G4(^O^E-&^7E_]>C7$=Z65=^=?O9^0O3N=YPFQ0)8H"/MM<3P&D8X3'6N/02L>"KOD"VV/QUGGBK3%F M6YG,D #JQ;#BS^42[\GE[V_3Q7K\YIIQ09>E":A !@R@,B,1^*(A"L5+TO6M M2/.]>:V([SQ/> 33.#H$>L'^/G*O/63U(=0K4N4?8?%//'^_F"9R"HB-Z>SS M;^$<)R*B8I%%*,70_5Z*(Z>48A%E630\)H^Y]1*1(?GI/*?9Z>71&BBC5P9O M%A#>7RS2%^*X)NTN.=H2-,\];IP;@9=Z-/#\?R^"#IP5PJ[:^7RPO,OUU<6_VZ\/&PEB;< M%>.(/2#+-R3Y.O'1:0V9*\D3TTZ$YEU'NY,Y[G:AL0$^L%I[0.Z^$B91K+[P M_W#Z^B "MK!:PHAP&YB7R0L*(1_5L9A/^/0;0%PBD;P:;\\?)O"IFF M2[RJ@'RJ4[M?U[D!L^4TU?GR.&%:(&J.4$H]&- 8\'7]:O)%D#@4-[[Y@-,C M\+5=18W]QVJ.@YQ>K&F?E,1&)N\NSI?G89;I/+GCFW[ VA))?[^:R1'2^44X M^X2+KV(BK4,JUY, M[X#CZ(:([IQ!J$H.P3+(FB42!#FXGG-.X:!WV3"7T703]_R,F>W,Z%F7ND?' M2"_&<(2A4.(=*9)-!G9H+3I+Y^+>P.-]L9 MTG,KZG>&D@[LY:K# 1??IYO'7/?T\G8^^X[+>EI4&2Q7D>3-K]>Q7F_GY_^- MYQ\PS3_/IO_"/ DA,V8=W=29S@PEZ^-K9A($'J(JDB>E6WV=N@5_8^5U"Z3GZ_"=+&YH!TKJ%5P0/*H2ZR2 6=\[:J. MUJA8+).#-"L,P,MV]O.L^Q/&1LC8/<.;ECH*X=Z53V'Q&<_79>1?P[?JG;XK MOR!%=2_#8D9'R.RRFO9F_A!<^M 2.TX M-]:(NT-!FB+VFI+M$/OV]>^GEW_6W[>?>;_5I0\["WYW= M/N;C'FX^^B_@XBR=NS2UT4W.I0%PO4*381-7@K M.; D#+.6U::7QMC=?4CQ"4S(WPD$3PXIWD4C'AI2O!.LCC&D>!<=CQVDW9AANB1.5E,Y-I.< MG%&"IU+(W'/-CD@&/E;KQR!]%D%'9K<*OQ[_C,YGJ0RN_'E[38P-J!NSF'DL MS"?+("D9*>@T#**MC_.#X9XYSR*FK0"TX]3KTYI$O#=@]I1T!S?KZQF%FOB1 M%+>2VIN;B]F#,G"RFJE].SCMH8,. %7C M>++.<'8U&+E@*C(6"2:B 554@%BL@^QX8L%%?Z_,.N.T*T(&W>^V7! :Z^5#J#6H.IMB["( M@8)A0X)5RFMPL5:]BTS&JJARV&K?PS%>G+W9:3+W"2R-."3D/++N.T#[B[/5 M]V!^F/6-)4^\4A@ED^"US,15S02:6"!'R[/PUMF[*;7#BUI;4=9Y)KZ\,GNQ7%Y\7:>RF_?!_/RCAFR"V9'1/CI@HJR!L.502GVJY&1- M#W,#&%1,MD3G?>MI_,^E T8JZQC3#C@=#W2+24?^4F0@,OECZ#@ZUMR%^$\' MS(Z8':X#9A?U]["W:I6=]87D9@4#1*1[QM>)$TQ$NL\2LU+E'-E6SXF:KCD[ M@4Z7G93]X)JS723? UPNE_D5QIWS&6*J9#O/(7"FR?<1-E-TR)/;*NMX6FO. M=E+6(VO.=I'\NLAKW"K58[%DH22%D+("E1>]8D(!RE;ZT/TFBZYT7MB3Z"= M8A]/X7"-= "G03J@7!1%,!4@8R09.#*I*&P"&:1&PV2.;I#)>\^X)W8G6!VC M)W87'7> \UO[8-9-F9OS/_MBN*";7CI>0)DZEY9+"=PI:V(2.8;!IIW<):;S MI.O@.'ELSL)!2NL ?8\M77>&">=)+B:RNEL7)?B0&7#MC/'!6K&=T[X#]AXA MY1GVX1Z"O!8*ZP!W#,C@DW=@A(\\:T\1=S>+7Y]=R?40 MM_3(NC]EM%]-$+E1_?DP7?[SU0+KE#@D_)Q_J#L),]TQ7AM%]EY;^Y.*X+U M$$4*"B(=FM+-,H-MF>KK&A?4;S/"206B=/YYC7\TASR<5E M8X$G7=LO:[N2%!P8BT8;[Y+1;@CC&82;SOVE(UC-^"#IQ5Q:G1^7DOC'_(Q^ MS-GT_,?J!+&\:!WH_B]TX9.FN*YISCJFU+C K#_X+D[ M*]H;,J=L0YM7ZJMM=5=KA^YTQJV^6#>S7TEOHFR6VM(];:TI))Y,X2G6[:J. M"1%8L6R8E=''8_'D]TB/8E]'@-.)M=.N)?(BG=/I0OMPS]^R+;9+1CJ MHU66.:-T#!&,EC6%YAEXR1((JY3+Q10EGMFPN .M]L8NGP_SL[-7\T7]XD0; MC722."BL,%#&U+:++"$:*;PMW*30VUG_,"@8]T0PKK MP:F3'$10PA9(P2I0WM8D/?TQR"P+.8J.EVXJ)(\Q<:))X(;(',Y8]H#)WG;R M;>5J?3P/B_,NK.6V"_C[8KY<3FRR,@MKH!1#:O&*9"#H#'.<%RS6U(<"G=G+ M VR<: *X7XLY%"H]W"W557Z]7%Y@_NUB<;7[>MU!<', T7$5K%=:MY[C.P ;)YIY[??\/Q0J MS\=H7O[];;I8_9MK27"4GA4KP5OF0/$8P:O@07N!*L48.-$TZG] M&LVA4'D^1G,_X%(B^:CK^%1?ET$I69=!E=I^XP(:EFO@U9G)[!>7][=FKU^# M.0PF!\;E+V>Y-UNY4Y6Y]%??+Z8)J\[*1F>Q9!^*2L =TW2HB *N3@E57EA? MF$LR#-*\=50NQXWIGT=J> A ]1#:'T="DRB5+:%NTW4Q@\I:TFD42QW\;:0O MW@ELOJ#G.*P]FQ3S( @?QR!W@MOI)*4??56Q36/";0%E$HE+60#Y"'4PMM,0 M% 8(5DAO3/5@^EGOLC-[SR:)W85-C@2[4[@=?R::2^ZWDTX,20EN'"!/57=U M59 5'!(O.B3M"\:C=W(VY?#9)-Q/PBZ' ]]S,,T'\K)/RD=AU"BC!"UK4&V$ MA:B$ 8,V8S)61WGTYPJ->7PVN?^3,,\A ?@<#/2!'/"3\DG"JL1] .>PC@W/ M :+U A1:XZ22-MJCIW(:\_ALZ@PG8:!# O 4#+11+,X,HG6. PJ30 G4X$*Q M8+(K12,ZTWR71T^IGU.H8G1ACB/ [9G4/5[D/*V_"6?7N?;K!+I),B,7$N1J M[:SS$8(LKKH11MDZ-3ZW?BDP*$/C!I$G7,UH!Y-G<'MM#HTZCF93,)5H6"J> M F#G BB; @1G)12I1.+,,*>[>8_^&!.G78QH"-#F_2B'H.5YF9 M Y.Z@%(1H;[%!"9*"4RF8%QO=;XM63OMFL))F%8S9)W8*]J;G=4WW-SFSVE_ M\CE#OJO=A<4^'MB*A"Z$Z$#J.K$G

    ^TQ_5%(G"C$2:YU.>BZ[:++T=*)H M#SK7FGM2@D3'$&R(7&'B7(O6JX7_LXMF5\P.MXMF%_5WZQJMW[R\N#C_,E], M_X7Y3SJ1%C=.L3J4E>1P.U5RM;(C2HKG"F>@K;2U U.#KX\B38X^1ZN29L=Y M"W(0&\]E7\Y.@-S*O3D>.D[;0.X+8#/$.'+/BF012!*>3JHL:OC$0-@ZASC; MH.QQ6AT.8J/'U'(C8JP; MV3UPB8P;'H.08D](77U(CTF/;B"UGRHZA!2AX](XO/2\NDM0_&KW5*@3UDH" M+,E&*77FZ/<%U?7']-@'V ^L]E1'MY[B3H/](B-!QN1 ."&)XY1(D$$#,OJS M84*QW$T5YLU.>QE.8%U8^T!I,-UWB_8]SY$W\[]PL?[=].OT?)(51^$E>=XA MDB-NM &'$B$[$;13SJDC39-HPT^/ONEPV!PR,#H$*,_-:/[\]NV6+#@KN61- MIU9& 8HS"S&8 KRX&!A:%>UQ6LW:\-.C]WV:1G,(4+HUFD.F W#!N$TL0"EU M5D$Q) I98Q9OH!:Z1'?__K?+8JMUV$L_5RE^B,]M)EBO9*'?!=+ 2T!J0S M*HIH2'R#&%,7W)_HHZ&&5MB%&G8"82_F>X1VPHRB8Q#07%(-$&4"A%. ,HU,_9*E#$ERRUK6\Y])"+046XS#4UPX,5+(( M,7(/CAOO%3,9V^?G_M-"O2-FAVNAWD7]'3A(:\KIFU<]A"XD(J.FU*/)580) MHN(&A)(E*9OIDFE=NKQ%P'-I6]X)!/-6&ND 3OL+[IKM6:YNT=OP];)#QYJ0 M0I$#\ ]*E,ZUI MWY5'M^GY"LEX^O\"UH8Z6H.K.B( @4>M0A V"M[Z^'R0D,Y;-@;'Q[RULCI MW'M5&S9B5#F*B*!EXA2T*F(#/;%AHF"(26J3&F/N$5(Z[WDX M-NI:**P#W#7(JPB-20E90+.2R-)8!,=<'>YLE&(^%^6[6:_TYKDUAA[BBAY9 M]Z>,]K>7"ZA?_N_%]/S'ZQE=.1 F!SD"P(8DHC= A=C.W<%?F3M2VA@5W*Q,<%&FGLZUB;_'"1UBFY6!.[(6^?!SC,WPP-P]JPOPG53XI5< MG+/!&NY 9ETGW84,OCYR))6Z8(6*KOTTGR/Q=J(=Y,_$_@[ V?C[/5>/=X>3 MS8V\SZ]?ZD^;))F]4"D -W6NL=0*8A$67$R6HQ5!BSONZ",OLX](](GVAA_% MOKH&T+.^WS:+-VXC1@0GFL09N4[1 1R?M9.[O?@FD8[CX*,$E^LNG^08!.\D/+*98 M3B?+NR/S)WJ#_UN=!$/B^5D[ K>S[%N?,2\@I MA&[6Q;5F_D3K0?]6!\&0>!Y[-N\1RP$_%YQ@R!$UA86&CE'%,(&/Y%49*Z-Q M4ES)R0_:_O?(5L24LA%D!ODA:W-;E@@ MNJ+ N^R$43R;>#KA?N.<7W_EMW\KVQ\(Q4WK=ZW'UKQ!$M/RX\6W;VJ M*T']>K&H8IXP$83SW *R*.M050=>9@041@B%)J7FPZV>IFC< M#Q8'60)OK% M%7F,:<.0R@5U*0:LKBYMR>01)BDA6X7.BQAY\U'L/R5JW*K"".C:4Q_] FPB M3;(.782B@ZHMNP9"<9S.WVBDI%]<:NTP/D+*N GL$<"TD^SWA]"< I,F$'HU MG=7HYA$!Z<2C2#Y"$L&#DA2V.BGJ#.1HBF1H8FP]:.=)@L:]^1JZY>W$WL$Q M=).9NZY@("D4+\CW"TAVYCP#I\DS-"4SDI'*(L@!$=250]Y0Z4_ Z1 -= :F M>PZ@=Z$P+0NXXASQDG$SS"^7P'5,7/C6_M)3](Q['!T'3@?IH%<\W7#YF/&! MKGH#/*_*L<%5QNH*>8Z6B^PQ^F- JA<'_,BHVE,3O0)K$AT*&3QY?MXP4-QP M"E$#0DK:8LB8% YYWW7B>!\91#M)O9G3/4Q59?5K'?M]<.WDWD]J62%YFLQA MZB#,EFR(2XA60]9!JO3HT%.FZ+I;)F6";TP9 MO% "K,U.$KN6Z];]J_>IZ*K:L8N6GP[*=Q;PV V5-P^W2OR53)2)Z(HGTJW@ M=#4J!YY9#UY[5V12YEZ![)'FQL<^H:O >A\$M)-?9Z[%G7#NQ=?YXGSZKY5J M)J4(HT.6Y#%%"NTRJ]<>Q7 MT<_%Y7G=[3E;XD3K8FP,]8UYC>ZD"!!],"!3(6>< ^HX@#I$ M\AV Z!]A,:UCEZ_OW%B*SC9G*%F0.ZX* ^=#!B-*+BQ%7U+K9MU[1(P;13?T M:0X3;P?XN":<&R55\AY,79^HDK,0"B>O+(2HL@E6V=;.[FYX&"P@;HB'_<39 M>=3[1SB_6$S/I[BH,.4++:5%*MLI@" M29,G9P13S+>>IK8+?5W%YKL@8[N">0.E=''%422 C[0$W.#O+1GLI[_P[#O^ M,9^=?UE.Z+:V63L&W%D+*NH$+K$(!4TB#U(HVSS]LR^M/38SMD#/O>OU"*H\ M(VMW)+''ML@1 ;J/ MXDX-EP0TG- ME(O3LE9[B,&$ H+@%#U;%Z2W/&K=>F_OSD3VV%0Y-C9W5MZ) MH?/5_&(Q413AH39T%UBZ&E1D#KS7",E(B^B#B&;,8[/2V&./YLC8W%EUIP;- MZ7><2)>B,0I!,LR@. 8(R9B:JQ8YH"NQM!ZDMRN-XSY^[Q.:NZKNA*#YHM!G M7C$9LE564G3I-?G2RGD'+GH/$KD7,C'!=.L"Q%Z$COM*NSN0[J_$$T)JM4!= M,GK(7!E03&>()CH@:?*2@HU"C75X;H5'^V^#QYU4U<&+C"?Y^G.6I\LTOYB= M8W[Y=Z)O??&U_FEBBC#62@LI%E_709&=B9P@,)%DL,$;W;H58"]"MP*G>][@ M;*+$?E8M//82RC+)N$P*0@X:E)$4U=&_!E;J4$N4/I?6]_!%9GR,9KW#ZC<'*NG[I#*S4 * MZ11J3R;YN=+,*V,!K<;Z IV#+U66B0NC1%V JHX N'[K-$-A99MG *T4=P+ MO$SN^\2+\39J36ZN<% Z$+X;Z'NLGWU&NJ_#M3"G5'^'_!KF,XN MZVITH'PETG[;'&T'/T7;Y\-:ROY@9H=YA$8'@TZA:/"V3E?D*D.(+)$$L[>1 M'!;IVS?.#O<([:=2YA/F6 Y29F!ZE216ND[-%I"C34XZ74(>=FKKSVGLZC': M+@AYNE3>6#F=Q6I;<,CL*M: M^B' &U Q'<#N2;.ZO$0^D%O^'A>)!#^I;%EM%24X$:3W$';>HF782DK.AOM>T$+(WH#E*QD+6:M#) MQ(V =ZR)%0.=>8J5_#\LNKL_E?0ZW'>N+G#[4::UN6!AH'&853 M7AL03DI0K#8X:H(D]SJ*[)/%YG6W-A'":JK4I>S6G<)73$FOO1&VCG,1"E1] M?A:K!11T'HNI,Y;MS[#QQ,_ORH'?18&WYOPUD%T']]7M^_@R539A26K-%0>K M/$E%UX%BQM6%X(X9*3%E/>P2JTM*1ISAUT+!3WH_>TF[ \P\-#9NP\N[V75& ME&)55V+28)1Q9%E1 (FFYML3Y]EXJ=60;8&/4S;B&+\!,#6 -CK#V/O%=):F MW\+9E<%XYI4@JP!=) G-.0\Q, O"\JR$MZCH023E2G2 M2N>W\H'VIZ&K?-/>?M*1=-#!F;4-IX\]CU),&V2^6JG-H +C$.N"' I"M4?+ MT&/KO/L!Y([HE1T+3O-Q='LB,'ZX!IY90.FY(D9KHCCXNI7')KHI?%0H2I;- M@^&]B1W1">P8PH?KM=MDV(N4+KY>G-5VG'?G7W#QZ_PK_>PO.%M.O^.;^7+Y M-BRJ^7[' S)BNW](F[38@V(S^FQ] 9XMJ\O*.$7V MZ$"K8F(TSKCF&Q)VH6_<=%PKS-P][0;34 Y*@&W>>T*F&AA%%6NH= M0.>&P7U:A-GR;*V8_#\7R_,JM3_P:\3%1(DH70X%4JHK\U!HB(4S0D!B*%DP MWK9NNMB.LG'!U0 "CU^$K?31%\J>.M;)C<;79*W+"=<8PJK6"99=:1PWWW>TBW)0U74 S0^8SL)R.2W3M%+>*Q+UBWF:;G87 MO\?%=)[?4@!>/H6_7YR?+Z;QXKQ*]=/\_4I3$\.XP" 4<%ESK98+\$(8L(%S M[7WMMVL]D/]@HD_"R]L34W<3*4=5\.DF5'Y=9966KV<__RBH0Z\@J>C1D'>O!2R@/-&@-**568,E)R9 MRE'J(EL/3G@N.9N=<+!3SF87I72 L(=#1^&],+8X0&[Y9NJ71[I$3I=P"=+0SN,DT067*:>^"&J?H$K:Z;];QF#1BO'68\ MM&[JVYJX'C,W.P%A]^MP#ZWT!;>G4E*:!2>R\.1%\$QFZ34XDRWX'+/T2G'7 MO&38,$4X6*)F4*"UTD=?**-@_,_9 L/9]%^UX>$[KOGZG017'8D-?R$+GNOS M6E4S "@R&NOH[XPN%U>2JB"3B8!Q6@R M-'2)'-E(3"KA-<$GY=)ZDLLS3E,?$AL,JKH.H/GQ?)[^^65^1NI:K@V;+)D< MX5PM.2$95[*&W(B2P!H4*3D7VR^"O4_%282>>VK]7OAYD KV!M&W58::8J+% M>9M'9(](ZM5\@=//LW5>//U8^18AK50Y>]C3N,R:OY\O5E]X('E^O4U 2@K. ML@!#7@B0N$W=41(@6(:&"6U8\PKR*(R>Q'G;QB#Z!U('!_>[-/T%"TGD;AUJ M^63-R3%EO*.CA+G:.LQ+ :^MK:W#0D;O=8K-5\SO1>G(.[[[A^!=HQD>#QV@ M_O"BJ_"<%66)88RK\!7I3.(%M(DR^V S,ZW#N^-4U8=;)WYRMG!K'5?CYE.Z\*U&@D@'5\J>%V=669>0& BN"JBZ)='' M.D6V1"N4RJ;]UM7GY$B-A;F@3EQ]^&V;IH_0^@ YU2'9]^NU" M(G89,N70H/>M@X9GZC-U OOC0N)0!VE0WVCU+/+G?NE$N!0TA@C<59,O,4"L MORO"<1^YL#X?R_'9DN1QA_9UX=4,H=P.ME(\D#'V)0F34$!R9)1*:@9!.0_: M1>Y2%AEUZR-ZSZ3]8#N>QD[:[Z*" Y/V+V)SXS1+JQ0_-Y9T^0 M<^A)<_6C?YW/ZDR35:)G551ETAJK+8?"&*N3@ 0X5;?$9^FBD9FGU/HEU:/$ MC!OBM$+#W2.FC>Q'C+"7B_/KELO?6M)CPP4_WV5ATU^4N7). M9 /!:F*B* N>60M1RI0TEVE+!^=G<'F,@''@TE"Q\]92'A$JJT'=BQ^3WUY. MM-!@XQ&R5QRE*D:$UMV23Q(T M;NJQK6?17@,]P>GEW]]PML1?<(9E6J>;>A,I; 64LH *)I)5< G9V>0$YN)D MZ^>>CY#2GW.ZI[(?@]$!DN\ 0"]+P71^E58B?NK6D+6T+DA@UR]B)S)ZR3,K MP.NB254$)Z.S#+*U(MMD5++-IR5M35U_)U4;F VDG[V1]QT7<=YBE/7VC-VM M&_UVL:"O?_J"Z^+.Q&A,1E"PD.L".:4C Q=] L,PL\Q$B.9._N:1R=;-2!JW M"Z,]&$=46 ='Y&^;CR6.KT;(OIV??\ T_SRKCWO6"YC?E?K#\$#ZZ0!YUU/MZ\RBL%C\*//%7V&126 J%F<= W*D%"B9R7<7 M09 -E8B:N#.N]7R@QZG9"EGF])#52/YCKV)YG(W-RL7P&5?=&C5AL9;FQ.>2 M#BF!\440@Q!0\HRB. =G<2M6V:V(&LKQ+G3 M0=Q0&ND 9#?]4&)KD\M:3KSR07KB0&I=6?_UNEO]QK>T:^K7?^Z$0&XGY9,#$?5P\61X_75PM>[!ZB;(GCB' MD1O! 8NMX9"2$#2GZ(C":AX\*F<[0.J&VDX*,.,#=1_MG29.7_Y- B;-3F=A M\6/E"KV=TU=GYT0:?6VDR22JTSF8/ MR$XGU9WQD3Z(_IL]2AG0F7V_F'^?+JM,R-CO.7<'.K _^>'-G=9=F#F"HRJT ME"C10[%\M4H@0)0B0]:(RBLI%;:>V36@HWH_(KC7,?*0J5W/CHA6Q\ 8B.BK M-%0$9Y4&%-$H95T@RVHLC0-)[M=AW059=T_'8^JQ V=@\WIV'TYMR*QXH\![ MKD'EU28=60"#4<&4+(-O7:W;G]IQP7I44-T%]'$TW ^67R$I,YS=;]@K7 =7 MYQ(*S9&"2JD@"&4HJ$0=%9.I-'_^]1.21D;ED9#Q,"";J*D?U*U>O+R8Y3?T M#QY@*HN039UNGD,H)# CP9LZS[4X'NCOO%"M%XQO1=BXP?RX"&RHLGYPN$E* MW&>'EUP4&@%9,D=W2$2(IA8PL [<%\9*W;KEX2CWSZM5!3!ZB[+)'N M(T;E>*S3AT :G4&5[,$Q+X 55H+'X+EI[4 >0.[()^6('N2Q=-P1G#?.R6-/ M/WS)*2OB1>=H0(5 1LKHDO Q&VV8-NT]R>TH&]>A/!I0'@%H0ZUUA,5;;LIC MO&6;G'$.@05#O$FO()*C K9XIYE/!7WK$1Z[T#?NX3DV+IMKL"-T;AR91VTN M*Q4H9@,>ZH*R1/R%1$XT6LY+8EH$UGH$V7:4C>M\CHW(AEKK (O7[Y0PS6=I M>C9=B6R]IO;U;)LV/I%2EDXD<$;H^JC"@=/:@LL\2A6*\'JPKIF]J1XY@!K1 M)3VRQGO"^!U332YPS'6*2I*J#E6($$104*3*/'&I11P,N'NH"C0?H MYA2JX;>-;5XV_G9U;RX(O3]NO1=M4B+?YQ.;U\T/9OL(Q?0LG/'.2B@%ZVQ; M+-5[3."U)-AY=#*TSNX-6$S?_@7RYDNW570E%6>-]5(@I%(7[R7D$ H7Y%-S MRXS6B=G6<7HCTOLMKN^"M/UG'+33:P=W]\-LW^'M_,EC9<*=-L61UV]ES3D' M+^3%QF/ ;2O(#Z?[$X'[PRD17$Y\",J;VJP3 M;)WR)2V$;!"\S4PRQ"AEZXOL$'I'7JA\(@!OHNT30?;;>77U+NC;XAEN H*/ M7TB=OX0EYAJFT-^LH]7Y\GPBH^:.V1J!UC'N+AB(7":0-DJ;=8Z)R1'POAL7 M(R]W/A$K&! 9)V(;N^1GI"HZ9FV!N[B:_,? .BO9QQ^:R*%.?_DK438] M7WX@8!"Y7R8B?E "F@1^44TWF,(/9G M=(\[M^A4H-Y4^R=T@%\- *JC#YD0Q!)&BC>D &6*@1"-A2#0QYAL"*SUZMQ] MZ!QW>-*I(/H@[9Z"9WWUTOO3_ .>7RQFE_::\')>WH0%Q:5D&ERHS0EUPY=S M=72%]#';2#SS=E[U%@1M5RIBSQ&[H^GU%+!:B7 ,_*M'/E6C!( C.4E#UZ%BS*,9+8 M#Q*['<+_[2N:AROZ1!"]6L[](O_/Q?*\)N27D\A\%%EY*-%(DJP@?XM1"!Q* MM>6B$F\^KFW1A,E#;_5@.[B9.+M"UW MQ;H20=MHZTLP#3X'A(PR.U&'0PPV7W$+\L9ML!\#;VTTU2,('WB.RZ/B*=9) ME(FLB215($INH% EKU7THK63?&MGET/U@,_ N@.U$P_;Y'NQVJ-;ZND1O'M-2IU]KL,HUE9_^:6)*MR$.B:Y-I>! M0LS@I Y0 D<7T*-KOL=J;V*[/$6/@]76JNS21]R.W[M_GF"V*@@>($7G04FG M(0A']U44-J(TAHL!0^;]B.ZROC^0KD7.Z>SSB\6B/H=;MZ7KC)*\ M> F62[M92>><@6B93S$P#+SU<,RMB>NRA'<-7P>;,YB#-KO9$. M' 8!*A(W(:=,$2$/UI$(G1L*?0_1TV6=;BC ':R0@S'6+$A_6%H342)';>G8 M%HJ8R=I!P(@0 C+.#/=R,'3M@:N1>FG:!]\-M-$:6D?;8/&NU.?G:?YY5A^@ MTS=<-EVT>6JRXX<-O+=B-V:/\/0D&BV2\'7C3@H4?\2Z6C=6L*E@"Y=!,M[8 MX =\>K*EL%_^G(65<'/:%EWE[Y>V-P6^X MF,[K]LS%^9!(I(-@L>HH_H#+B[-:O7]%2MHLZGZ_HH&^^_UFT,%R4ECD19%' MY"(J4%8B'1-" &,F1$\1YT-"H]^C^6&NWQ.WBP=X]LAB MD4F"$;: \H("T* R&/0RZ"10E#"F.3Q"][AAWO,QAA:PZ-<4/EQ.J[[-])OP M;8GORHMOW\ZF*<0S7&]NHK]Z,_TZ/=\,:$ 1DT]!0\+,@4+Q HXN3A"J3@JV MH7A^),LXA(UQ$[NG:"A' TT_B>-'&X 0&;_6#*#24%#7_4P)>R=[;#)2]3;0>1-#'O?K=2,.?$S M?>GJE%_T5=VX_?=%W^C5M1:WO^KZLN%7WRIYXK;HA$SXT"'"Y+\G+2Q0UGM_ M#@]IQ"NUO1I+7A4D,*D'L976 F0(8IS#(F,T5"F[X1 MTXR;#0RB._OF;&ZR(L9OZV9SX=X7JA>5:I?Q8:.7ZY._*QN!DD*61!&+6'L/ M*%'9%#'LU>MDAGJB:_=VCFAT>/;(6S4UX'13]Y/3G;;VT3L8% MPB6".BO=YQX!Q!$$G&(%:$E1I@T51'I=>318@^[&CZ-#H3CM59$1 ">0)'HX MWK?=..O?]5+HY@)1:5$I(;#_%@"Y)RD9-Q(HB#'EIA0Y#)WH.3"5E%1F#,=U M>, 3T)OV_6LW__L[LN^7T^XJ13G.&65 88D!TL9=%ZLAT-@BQDQ&-0FM/;T3 MBELF^EZ?KO#&L#@Y@;#5X=^W.LNW.OT :H3PW0&64N&9B#9BU MI$#37!"4*\;AT93/(>&1ORAAJ)\*6FS2?^-7?+6GLT0IHS0&%"&'A;!>F2AR M(/-"854:H['QXORY[+CE]4"43X0L'8>@RX?Z:#^*K9]^H]DS5JS:/^;_5YMN; MZ_6F7NKFP^J^MN/>>ENWI98+0H4T6'.@(53N50L#;+ G 2NI5J@D=OVAE7'$ M-)-P9@+JRK,>YGF)&ZV;-[H1]8YVSET9NVL3=T@\/+TR9Y5LR'#S5,Q&+WCN MZEG)64$U1T#I,@,(6CO+N+MK@6>R$"S+! M] 7U*U3,!34:(>U5>,090)J"[ ME8<"3B"2C!$MT<_J60C="5$]&T)6'Z1Z-HAPC^K9 /23TY]MV$5)65)1%NY:$1LJ097;-=@PN<@+ M 86V3DCN=9O1JZF>#>'4IWHV!. $HH%#Q1S!BHSE.0:&2&.W#BO<>R,&Y'F1 M,V1#]I*'/@CVE/Y$LA:<8YMA&.C760%M+5I-W-EZ5[ M.EF:0H2^A/255<_&?+K"W68KC &E@;+0'*,P*$]2&!T(64(B^1 MQ*&[T5],]6P0L;W5LR$HQ\Z@'R[^Z#S#FB(";&!A5Z$1!8Q8LZHHT0X0R!#; MU9677#T;Q)E?]6P(@+'5H*L05"HCU.EFIC@J1S%E&4%8 7#(+$3+68U,Y M MJZ;%ID&6*2>*F"]Y IU=I&*\@\ *?C51Q)UDNM-,H4T-JY^2ISIYT(! 6E MA=T,#&:TF,?9>&4EN$G.;&BF$M"^AQCP+JWOWJ6X*"A#7$ .3%':#<19:3<0 M$H S:WBAG42.0U\EU#&-)#R:@%P?"KY' O^"2F0?:_MO=6/M=7M+W9SE,=^A MYBF-C5KHW&4Q0_.LT/:+BTJMK,4C)1#4'1@7F2DQHE)F\A67Q71&!"72[M&< M&(",U(#F$@(BL,P-P;D(_@+FZRF+#=&=$&6Q(60E5]9H,Q^T*')HN/4J$.+. MORT *TD.>&$PR@F'./=JUO]!RF*#"#]>%AN"?G+ZM.?H<>XP":#.3"Y!4Y*Q M-/0;52^F+#:(V/Y#90-0CIT:/US5P1DN2L@E* RWG_:2&<"L$07&0$8P@3K; M?YWV)9?%!G'F5Q8; F!L->BJ\&AJR@RYJTJRD@!4N(Y+ICC(H,32'8_#^Z\L MOLRRV&CJIX(6F_2.\HR0I8*TP, P=R9.8^E>P[-8X()#8QTI(K$7YVD7ND93 M/A&R=!R"_MPYU09;: A0VKW%E6,-1*[L+YE@!80$$XY4"S/ @T>=2,Q_$BJD$8TNI)"$8V M#W>9L&U"A!=VJ9I 4'*CG/9C=TJR -08&PV7!E(2XNK>IV/&22>&9W\2E@GL M^]].+PK,K&3,[7.5J( E+_(\XZX"XJYPT-I^$7/72XORK,P8+7JU(FI",:G"]A@O=#:FTM&^ M)]F-^\S&L\2&.UZ@A+O?*,^TL1]47@"N[#Z35#,HK'.&"Z_FK>%*Z#.]M*+K MZ;K1K7S!B0JF@W/G'M]J*UK>O9ASLE(G2_?'_VE_&S#;Z#'*//G%H341RB.R$RBD/(BIT(.ICTP!8S[*:.C2L9&9D!1AD%6!LB M(,9(^VVX'R>C.(AVKXSB$ YB*U)/^%1"4&O$,+&'89A)#0O( E18T@_HSB< M_4E8)K#O?SN]P(P0HJPW!E$!W2UJ=MD:$Y 18V*&S,96 ]CU- M9-C_7NB.C,9%QH3(,U4 +&#I:G/M'6H49)PJHY4AD(<^H>4SK[3BZ>G:4,], M30JMBSL?*2W5W0 G[AGL\VKI,FO56B[J]76SEW?O2A!V?OF&KRS:26EMK]_ SI_S6_5D[O;LY MVF&L_K@6V$]\J;?Q7^"OQAQ3G'36Y^ST=.OD'DDN[_^XCW5!LUF7&:G>/=;S M#)_19F(Q^8S.V::6?WZ^:EMU[?0_;[[I9@!Y/?^[#YGXQ9-Y'+\XY-X#\46O M-TTEVR.$=J9=U$ZV0-UC^/!/7C+_7A#'9?]4-ZV+M)*Z7>UZ%OX/C>*C >5K MT( C,,?1 >LM7=PM9=EZ28\AY%B/[K#$ %/\?755.:'GUG/[Q?[EGT&F^5QJ ME CF*!?W&N6%2,0@=F=^>O.M5H'YVI,9)=LQCJUN-!+AZM0.NVF6*_5^P2^# M,+4K,4I.XY%(D3]L_[WX_S"6L # MHJ-$4Z.(Z\(J1]6*GJIE+7VWZX*43M MB8H;E/5C7A\#(/966BP>YW4\P>.QB;H$1F/H .:U'P )U'L?TTG]FV9,YFU7 M=MQ@V6L7]8(2G*SO7:#N7M5^3\.;6H;[5^4AB9)>E\>)RX'3+? M,>U\%.H$U*&=V\G58U_%E^KRVV9]=O+E;!:U.#Y>W#O>OJ-Z>$,?VX'I^GK8 M+[I;8?AHX%ZPCQJPV3Z6H^.!/5Q2H.[K2C6+V\LS+:^;:E/I] M7W<8G[4^2%*@[-W?C3QM*AE@?SV*\B(G@=+:L\6GP,BO]@NP>T=$>U$7M\;F!T[\ M$_7=7:7OFC;Q/5,[['/I05IACTQZ8ANL(_6+EO6-;FX_FV=C/5.&47KO-<"$ M+;N5>C_,]"QSI\!H";(A_#S=K'VP1#:RKJ-N>U+5?0,F9YN[Y$7CJQ?WV@N$ M'[H.,(MWXDO*SPK SPK (&X^U:M/N@Y!RJZD>!6S/JSK(PM/Z+NBKE1NN!',OE48#2^0!^JC?_T@]?:AVJ']EG M@&@MD0$^ED=AB\SP>RNT7NG[E88HB!X0&:TUM[?2KK5= MI[NR0K:N]51C.V2<:,7N0 S[@)@@[7]4]:*%^;/Y9[W4;^YN3/K(_ST'][V# MQ2N:5-M)C=+C!HP7JD^I#KXXIJ6 M2E@SMN"K[80_+*_GK=4PP6W?ZR?W&T3NO''1_Z$?6W!F=[K M\R D6L%U M/=^3^ZF,7A/[6\GI3W>@WUDQZ#L#3HY28/27'L:Y[%AZ_R<=. MZ5,0.O9EQ3O4.Y"4 R#\[%7\GE^:G_V)/_L3AW&C_N^\;N/QJ=MC5U*T-JJ^ MW=&YV-@$+!8/TPJS-?;%Q?NL=\)=^ZP]]C5AFKL :_*>>"HG6I-:WX[H6&AL MIW8[VS!)M^?2XGVVI\7QJ=4OWM1G>J'=K==;'9IK,'OMN/1X)G _-O7UU8?U^CH@HWURHW7G MCK6CQS&*;5&_N4M@U,-$0['8)S=:7^Y8ZWH)17R&3N3&1N*+VU->J4!$=8F,UE@[GJ\>9&('RBY2M#-TLPIE&@_)C-8O M.Y*X(]C$=COO,\,G-Y?!;.-!H?%:7<=ZF4?@28B]=F9/+$1($KMDQ^M3#5L9/1 M=K6AV!TX5+R&TY%TCX,R=MBX9V;^6+U=&Y MNS%0)L?_)[WYL)+U,E .W6N >"VKP;@^#%MR##]+,L_%=,] 7HPGE3L: 6-D MYCO,CUOY-OD5AG3?,;SX3BG[-!"\Y#;Y]BWA6?=W]QA>5*>4N!H(7NQ=S<7U M@CW0HI);/ZH8F>^;\W_N$) M/";;B\F44EF>8"7PQLB#X_ZQ7H=^86E7MA>)J22P>N&)[NWL>=Y3MU^G0"^Z M4DI ]<$2^ZBS9305X$I93EZ8(ANA-2 M3VZ5O)?AQ4=*.9B]Q:?1YCV9CJ']JGE*:9($VU3KU:_6<=E.[*U>RZ9JRS"! M^E2/B_IOKDJJ8@(\^O'A0[)1?V(.X7 M=SG3]!LW.@5&/-QYC(N=[%YD):%S;B>+18;' L-AZTRS.=;-U([DA2 M=@"(?7'H]4)G4.#,>36JOMIH]7[!+R?1B(5 MR5[>=A/XGGA%K[%TS?-3O=E.-4P:V7^41++*$WGNP6]^B[[]"_>+X&O]/__U M_U!+ P04 " !+;E!8CO"U[&0# _&@ %P '!R;&(M,C R,S$R,S%X M97@R,3$N:'1M[5EM<]HX$/Y^OT)'YZY?8H,--(XAS*0-EW#ETDX@UX\WLK5@ M367)(PD(_?6W?FM" YVTTTXZ!#XPV+O:EV>?E8343VPJ!OT$*!O\UO_=<IM-ZH;*WY/+'$;_D=\D'ICWQ)2[GE5L"@ MMM-OEL_]9N&D'RFV'O097Q+.3AL\\-M!UY]YW7:WV^F\.HEB"*+HI!T<=R * M.OY_7@.'HGHYQMBU@--&RJ630.X_//8SVUMQ9I/0:[7^:&SH6;BU#A5\+L,B M6I3.%.96B6,EE Y?M(I/+YN<'F1V+^(8T0/]1"%/ M;EY/1N>CL^O1<$+>_46FET-R/;P83:;79U?3S22*K_)%I <[9#\O@<[6!,Z$ M(&I&; )(UC2C4Q%1:*"3Z7XKDO<5MDI%@.UK/9STJ8/8 \A+MG]ZW#VCO=S&A*YK"9_)5>7\EI5:>4.-1JM^:_9-U_M\+ MS0WCL>5*YE/ 2,9*9TK3\H4F[_2<2OZI>/YB.K['ACKLRG:W;-6M$%4]:U46 M(D+$*,$9R1/M?0?.CU#]1G][1._W8^=F@A7%A5$6]:."C,=O?@W&/P4@-Y+G MR]?$XE[-;,"P1U6_Q 6;_$/E8D9CB]V-^U%L:O=0];VN>ON<;"G\H=OWO>[O MM;**C"F6?FS9HXWO7._;7[ M[S->NZ_ )J %E6S+5KU9G-]N.2"^?ZV1*#N: D[+SJJ ^#6W1!L M-B46=O>0;2?1.\ZO-[[+"YQF<7'T/U!+ P04 " !+;E!8DY$?L9/25FT12" A\A#9GMLW MW\Q87E6VJ=>K"D6Q?K1Z' 3P1N5=@])"KE%8+* S)#=P5J YAR 8M5ZKMM>T MJ2S$83R%,Z7/Z4(,L%_M^2"K3!7]>E70!5#Q"L+;)%_O#W!#1E&Q7UQW&4UY? J MSU4GK>N10]+-[?3N3^QK9RR5_9@9MX1>_[K9GZOA]%Y"SA#RD1.KP%8()'.E M6Z6%)24AZT%CR9S<1!C@W:'2#9P&"WC^09E=2)(DB-(7 M\UDT&=8OIG$:#VLW88OYN)ZGT8S70A;#/DW2<+8#+6HK2+HJC.C8*H8C)3?! M)^10;Z5K)[I .*Z%G+ X^I'XH&EKU2,R:I6?":W%T$O'6C&^(Y&9B8NYZTT>INH&4XEC:B JGB51%._Y%%P89KKP5]@A9KH3NH=H/O$7U@0NR5:L95K,OQ?4U5?5--B4)(7,2=3< M:->%NQMQ\CT%+$MVQAQ*-%Z5W/Q*]L".K58UJ O4-QP/(%W-[O7+_55W!4/Q MW40&7DG9L=F)-X/GGI@H#-[M0*FTA]"CT.!&M8 WF&.3<;PD\CDGN__L:#[= MGJ;[QO_A0$MCX>EVLMB'SWPQ;>#HZ/B?S?P]28FBY:;EKO$;HZSX^W'?&#(T,2YH=&WM6VUSVC@0_GZ_8H_,M7"@'*3$I(+],V M=$AN,O?I1K8%UL66/)(<0G_]K223DA ZZ5P)Z4 ^D!BM5KO//KM:VTHOUFG2 M[\641/U?>K]6*G BPCRE7$,H*=$T@EPQ/H6KB*IKJ%0*J8'(YI)-8PVU:JT! M5T)>LQOBQC73">TO]/0.W77OT"[2"T0T[_EMB?BULM(YJS>8;O]YH MM!OM*#H*JO56B];;84#]?_P23D5Q-T?I>4+?EE+&*S$UZW<:+:]9RW1WQB(= M=_QJ];?2/5%-;W6%)&S*.]9@')T(=*\8#D4B9.>@:G^Z9J0R(2E+YIW7ERRE M"L[I#,8B)?QU61&N*HI*-G&"BGVAN"(N;B]GSJ 6ZDD8IPL#G4G#VY@%#.%J M>'[OT,@OW%IQ;LGB$ &D?;-?HL&CJ^$81J=P M?'DY&I\/_S9_GYR-AP.\A./SDU<'C59W9$1.SP;#\8I#SFSDJ.RO&=N<2XW' M:4/"&,0$=$PAYQ&5"E'&I(R8I*$64@'AD75+2)2;L!!%S(3/4F@!'TF@,'@\ M],I X!/CG"JA"81"9D(2S02'WXWN5P?M6JW:77C]_*YV+8DB&A9F=:RW1JK4 M'X@T(WR^/>-*?8N/W_VC#)% K3&5-)A#2JYI&<'D"FMZ,2\ALDB= -'*'TWD%Z^C$ MJ+:&3S%YRW850*$$,C%S*Z@\BEW0 M,)=NF>%M&!,^1>T(%>+A']4;&#=,OM3J*4!#CKIO[/Z)J]U=**-14BT6DH@N M=3O"W9!UT<81\1?>LGEFXIV)F"PI4\I&:BH)MUIR M;J F++J+O%J$_C'^+47?$B-'WN%:-/;3*(Z)(#UA4:KN]#+ M*]IGYW!U=GD^O+B JS^'X^'HM+P,\/\KY! 3AXZ+*=7+J1,;2+7YPJ_KV%6= M"*L'ZCFE@4KD%*D1""1*VFEGBX;I<8 7LS(214BT2D(GNE.K M>4T[3Y,@H0N10$ATNX)!2$BF:&?Q1S=B"BO#O,.XA=).ZMXW ]5U;[":LI D M1:=A]PLW7/1^1TVO7:^;]D^CI3I:+%QTAI[M# ]UM#K6]+UFM;UVN.KY:\>^ MI;;FM?WZ#]?:J'GUUM&3U!Y:(!P8"+?"7?1MJ5YZ$+1.+;L%'Q%>ZN-,'!\B M[L N;3&Q;'XH^PEC@L,2WI-9PL+K!RUU >)X9F5H3D1G$ MA)FJ>H?#$\)?)*0660?= R42W!^,J=V?R?,U//BA#+@G6J"ZD%D84U2\C2SY M_=;]Y)Q>S?:E9GHS,7[AB%BN?\9>R/9391C$C$ZPZ[/=TPV%D6L9;$]U4O04 M.U@,-DZ3?2G8=BE8N8/>W7K@BL IXW@[Q? >JR@"NY?WS\2)??)O._F/98B< MAX$'[Q*RJ7;OA8/B&+^S>_RS4&"?Z=O.](L;RN&*QA)G\'V>;S?/M_;$YW$6 M;. ASS[AMY[PFH1S>&\>^^]R3_\R$GX;GC\# 9Z2Y8U]EF_R[EUPDD3PWH,/ MYH7>EWVB[^C.OI8(6]K<]VG_HPE^;W//_Z54P\"\H-ZG_ [N[1N/_S['7\1K M^4]"L.[3'G5:.K'W[M%7A2/T-@IX) MQ>R!64D38EX%KST)7YREJGZ=0@+D4:[73_F.PV#W/MTA_T/[SP7_ 5!+ P04 M " !+;E!8Q\!3#@ ( !!*0 %P '!R;&(M,C R,S$R,S%X97@S,3$N M:'1M[5IM3R,Y$OY^O\('NEF0DI .X2TP2!G(W*(; 0H9[=ZGD[OM)A;=[5Z[ M.R'WZ^\INT,2$G:";G8GH!UI0KI=+I>K'E<]=GPV+-+D_&PHN3C_V]G?ZW5V MJ:,RE5G!(B-Y(04KK'/-]'HD@ M.CZ(>$O^)]A"5XC[/K:8)/+C5JJR^E#2^)WV05ZQK(F;>R@K=-X)6M!4R,>BSA-UGW7<_+:\JJEXI!-M.MM-]^^4 M6NHQ3U4RZ?PT4*FT[%J.65^G//NI9GEFZU8:%7M!J_XK82,&<8]C;_\1]"0J MD]/Y!"V:1.]QJ$)5L/V@$2S.8#W;(WA>FA]D_$6O/[CZ?'71'5S=7+/;K_V[ MK]WK 1OS$@^X.3_79M\V?1O6/=RYO;0>]R(3B8F O8?K/U=H+1 M[7_J7O?NZC>_?NG]>QJ'5K/96G?5_.'&MU<:?U6#EE":@GW20IL:B_!=Q1-6 M#'GQ8?O@^/1URUYE K'HM(Y^V(R"QM3B/W_TTYP+@3)53V2,-XT#\L(5&_*1 M9$:.E!RCD!5#95DWRTJ>L+[,-7RO,_99FY0%S?J_F([9K=&%9E]X:&OL*HL: M",3)FPM$:],"\8E;N!^^3B?L(=/C1(I[6?/Q,#X00L."3(-U8 "N,L:S"2NS MPI02$P /<90$$>(LQ9-1B&',([PR3*5F0B(I?Y 8=TZG MQ3L!8S!DXO@,QB"!2!GP%XAEZ Y+A#1L/%31D-F2/F;]Q]+(2@E-(%4V =$A MSC16Q1 3M+F,G(&D-X=I6F":(W03+)S,N^%-PFW_S].P-5@(Q(?MXU9P=&HK]%0EG):^CF.%1Q>B*\:-=&! <%682 H: MDT!@F"@[)'$22Y'V*/71LU V2K0MT8\2HM&)1T5N="0%7ENV Q ("53Y2/<> MHR'/[B7K(M?TRP02CF[&(+39:+7)#Y?2@ILC6JY2 M?1M*-2JB$2_M^EVHFH42L*A&\O51EP8*D(A&RKKT!BF9.3W$:F>)<3ZY&IEP MA[.J0,ZP4JL2+S4J)$G88G6BA#N5L&5HE5#<*)J \F76ER0-HZXA%%V@AG@*.= M]S(#GTB ;+3(G)8,B8!2>_1B::D'>B">E2U8471G'X()J MA+C8%9SNB4JLD7S]XVJ:Y_"*CDBR/#PBD' M=TM0>D_ '@4J8/YC(H:#==T3;7LA)YKTB45,UU%)6&0C]7 M.E=H3;4M\)Y."J'+1E#T6XG*"]4[+W2)@6&DL&?2E>'8&$EW$$!G!.XLQ]NU MZZT:5L2?8[C_(I#H5>"9?^[]=]'J<;\B.Z^!][+C< MR9^8+H?:+!]1>IR'Y"PU$:A>P3*6Z.J3:1R4M=#&/A5V]P(JTU05A92_D_Q# M#>I [4+!/J=D!\!%KK64R_&7B/-TM9+O46=MV4*?,!+;C)5Z5AY)/:>ROCF[7RZ MJ-:Q0=:H(>K2)3K@QATN5P"K^6*GLI%.1I(J7L;OJS-R4^5&F>:)GDBTCH?: M)T2^ %_ [;O0@<8K?FHKW&:I:@X!/VGJ<'7"L]RJBDTQ-V MXW<:?_ES;7_NW/KS1K"&)3?N+OMQSQ7\%7QB_LI?KJW[$;7C?T 8R:5+@+-U M[!A#<]:%AUC,9;'&5X,S$R+FAT;>U:;6\B.1+^?K_" ME^AF$PD(#>0%R$1B$K*+=I2,"*/=^W1RMZO35KK;O78WA/OU5V4W;X'L$.W, MA40[TA"Z72Z7JQX_538^C_(DOCB/@(N+?YS_LUIE5RHH$DAS%FC@.0A6&)G> ML]\$F =6K992ERJ;:GD?Y:Q1;[38;TH_R#%W[;G,8[B8Z3D_'O8%<5='Y-/ M8_BXE\BT&@&-WVD=9WEW(D4>=;QZ_5][5N[B/%1ICH-I[.R^.AWKFKB^1V6Y MRCI> S7E\)A7>2SOTXZ=WYY3-1,/5*QT9[]N_W6II1KR1,;3SD\CF8!A-S!A M0Y7P]*>*X:FI&M R=()&_A?01AS$/DZ<_:>H)Y8IS.;C-6@2_<=(^C)G3:_6 M6)W!=K8'Z'G0KV3\97\X&EP/+GNCP>T-^_)U>/>U=S-BHULV_/JYS[PFKWJM M W[(;H?,.Q:SAVOV[$QW96:C7_KLKG_Y=3@8#?IWK/_[Y2^]FY_[K'>#O!Z T_]6[Z=]7;WS_W_SV+0Z-> MGZ^:'VM9:Z-ES_ONR9+]X9[;;-^@PJYX*B%F=T%4)#R(0%=8 #J7X93E$<\_ M[!^?=5]&/#(5B(9.X_35IN757B_HW8P+@8FR&D.(;VK'Y(4!B_@8F(:QA FF MTCR2AO72M. Q&T*F=,Y4RJZ53IA7K_[*5,B^:)4K]IG[IL(&:5##0+3?7" : MNQ:(3]R@^]'7R90]I&H2@[B'BHN'=H$0"BU(%=8]. "7*>/IE!5IK@O "6 E M9(LBC!!G"3YIB3$,>8"O-%,)IFH,FY5;$T@A &.XGI)(PA\ QUW2:?"=0&-P MR-A65#@&"0128P6%8BEV1TL$:#:)9! Q4]#'HO\$-)1*: *)-#&66E2U360> MX01-!H$UD/1F:)H2.,TQ=A/,GRZ[X4W"K?EFX 8LE"D&E+"Q"& %L8;BV*R7 MVF4:(C'P7*(>F09Q(5 G@F0I6A4$F-3QE&488X(GP3:.%_@K0V^>#(T0%Y(4 M5TBBB%$ 0:<0&78X8^T)N(E8&*N)F2%2P[TTN>8X$*>7SFZTLK($+#,S9LW: M-XFMUJYA:[02B _[9PWOM&M*])0IG):^"D.)CS9$ \8U6#!@<*4? P6- 2+0 MCZ6)2)S$$J0]HCYZ%M($L3(%]B-"U"IVJ,BT"D#@:\,.$ 0"$%4NTOW'(.+I M/; >'.(+1>:[3(#U=@<'> T;*9ZMM0 MJE 2#7AAMN]"V,(\"#(N;$X3@M:\0B16,/E_"7ZQ3\Y@,)(LUB?Q OH]7=Q;&_ M,SANUTY.UV&\-5^MH7E[IML:U+@0QE(05KE1*2=*YP9Q3L4B 9AK,0,3PEMR M7\8RGU(BWS0L+2V+.PLIMRI61)>*39LY'LL)987.$-+&%AY!H+2P!MBR\QY2 MK"=B1#:V0$9+AD2PI';HQ:4E,R3O]X+?8&?P.^?A_IC'A24KBBZ$(=:";/:G"[ M!,%Y NVQ<*,!W@'DQ,Y ;DZ9+ICKH*#==%FVV9:-R'L!45(V5T%0: K]4NK< MH#51)L?W=%:)NDR BOXH,/.BZH-GNH2(8:2P)]*EX;@Q GL00&<$]BS'V77H MK(JXF=<91'X6\R!L5K#^*!E[BMO]!XC+4X$G\I6_[**7XWQ'=ES'[V/'94_^ MQ&PY5!9\1/2X#,D%-1&H7E!EK)6K<],XEJRYTF:>V.T+5)DD,L\!_H3\?86E M [4+B?99)0<(7.1:0UR.?ZEPGJTV^*.0:+Y=644:V,.#P[\W5C\LH?=BK,6P M-I2(--K+TJXXD(#0*)/R?(,S ?Y 6=;59C;/VJK2'E?.#GI>!+AR+^).$C9P M&!?8T<"9Y4R2(#_22G4R9.C8>B;VG-+Y[.Y\> M9NM0(VM4,.I@B0YQ8P^72X!57+*3Z5C%8Z",E_+[\HQL\WUVO-M?Z:V46NW3[^[5FML8RNU1]81SAGH;I/Q].->"Z=TA:O!ICMV#;[&,G'Z8=\[J7>] MDXJ]&//D\DGIF^\U[=>8\:?I:GI_!U/ZL-]"MK&?ZS^+KTQT2^S6:;Y[6SEG M"]&2HRR%9>@<.H!DY)7NF_'P#GKUS?CN,I(0LNMYTKMUNXR_/;BU!P^^N+-& M=-Z:&P_7_7ADD_V&6F+YPF&FC/T!M>-^/!C#VA7$Q?*UU4)]T87[N(:+?+W+ M-VXMEI_N N61O;CY/U!+ P04 " !+;E!8F[Y?4ED$ R' %P '!R M;&(M,C R,S$R,S%X97@S,C$N:'1M[5E;;]LV%'[?KSASL+0%+$62;XGM!%!L M&346V('MK-W30$M41%0259)*XOWZ'5%6+G73)0.ZN(WS8,@ZU^^<0_)SV(]4 M$I_T(TJ"DU_ZOQH&#+F?)S15X M*% T@ERR]A \!E9_ ,-9: YZM!+N,%#B6 MTX0/7'QB5Z24*Z9B>E+YZ1^4W_L'.DA_R8/523]@5\""XQKKD*7C']&VWW;" MYM(*2-MJT,-.FQ"_&1Y2^R^[AJ:H7MI(M8KI<2UAJ1'1(GZWVN=]$.>*@PFT+A\+'UL>B+B$ITIGG5M!STI>J,,$K/+M*OQU4I7E;K/ M8RZZ>Y;^ZQ42(R0)BU?=-PN64 D3>@TSGI#T35V25!J2"A:6BI+]33%'#**_ M7I?Y=]!/S%):X;&= H1W$[$E4]!P3/LA@J?E[F/EJ7BAY ?>;#$>C0?N8CR= MP'0$@_=C;P3>1V]PL1C_X>$KE'HS<"?#M6PTGKB3P=@]NY4]BGI;4)Y?S.87 M[F0!B^GV)VL?PH4Y-P,I^L9(Q)(P+/B++FO7BD5%>(AJ(C"G(@E M2:DTIC'<+A?JY8*KPX-WX$4DO:87' M/FHT@:1!"8FEF&%"M"L?.T&P^@&^!9G[T9=@'P C3&"BF:!2IX0F)(X!76&3 MT0;?9YBB7*-/2>H7KS%&P'2T(@54RN,2#\^HT&G(KQ5URR=TB*CW]UJ'/1C1 MI,E%0(6!,&*22=JM'GH!DUE,5EV6ZF2T46_M M;,F5XDFW("97Q4+!N5MO27IW*L5WG,6T2MZBD*RHH(J\%IM:=*""35FK8S8. MFX^*+=-^5/8MMVW3&PW3.6H]R>V!+D19#*RWS$AZ7&O4*H.,! $R MTJX%MNY7Y>\;JDYV4RC?)T@Q#3>[P[/_?WSMHH.G*SV\MU/Z$T#:WVMV>E)_ M/C@\'F!\A:V>D(0^M=GKW:?8G"RS@_L)2!ZS *HLGPFZW'A>"/=N!NYJL2A^ M$7^G%?^B33Y'/L&"XK\'!;D81(R&2'^0"BEV16$:A@R9XV;W#_3QN;7D NGO MD*2,QC#WHSPA?D1W''C'@;=M3'<<>,>!?^!#\2?GP!LGR&LG0:^5".\&X;6P MX9+_CFYIQ_/Y[_T[KHQ+S5FZ@L:DX-,;MUYWJT6?O=:="5(8'N=JT^1?+LK6 MG^6=W8&^*_P'4$L#!!0 ( $MN4%C!=4!M4!, !=Y 6 <')L8BTR M,#(S,3(S,7AE>#DW+FAT;>U=ZW/;.)+_OG\%-E,W:U=)BF4[3OR85#F.9RMU M&3MK>VYJ/FU!)"3A0I%<@+2L^^NW'P )2I0L;S)CJ:KOI?\O-!%HM[[?LY>\^>SUS3(V2"+9^_/8GTO=/S3*WUT M-#PZ/E#O]H\/WQV^/>R_VWO3CPX.#]Z^50?J[1OUS_XK>!6:\SNVF"7JIU<3 MG7;'"L<_.3KLOC*1(_2$YHO/!UFL#KW.,J2 MS)S\L$=_3O%)=R@G.IF=_.U.3Y055VHJ;K*)3/_6L3*U7:N,'G)#J_]/P8@P M.'V<\GS>0C^)3I6?'T_I\F&L![H0QV_/7F-KOZ;%E4DS@L4-LJ+()B?]?>@] M6$($!%7FNZ^AWWNSUBJ^W%S?78O/YQ]N.^+3U45/-!?33O9GGO/-Y3]^_71S M^5%<7/_RY?+J]OSNT_65N+F\N/Z?RYO?Q9?KSY\N?G_R.H"/S?LM6/UYG.4H MQ%?9O9H,E!']PPZ*[,%W7G&3;4$@GVG%+"RQBC(C"YVE)V4:*X.M@'NS1$>S M]9? ?6GH("U.#H[^E#4=MN[BW5B!QIWD*K6T*B'36-S)!-4T?#_11:&4R(:B M@(8?,FEB_/!1&Q45F;%B![__\8=W^_M[IW[]S[&25;M3K>,Y)_CJ/5&I?[J+ M!/QBLB(3G^7 @KI+HYX82RNDDZABK*VX4?\J@7FP&1851HS*A M^5F1FVQ2)B/)ND0913/N$)5EGH,PR@$P/D[B=_"NQ6V115]K^F\ZT:]^O[W< M$*HGVA8(86P!M 7;:'OBMAS\+]A&5"](;PT6-8)5Q#*-E)CJ8DR\#\[/Q++2 M ?W-"K(CRAP-,"GY,B>D='D/?W>$DM$8Y (TOT)! <$I]+T2=BR31 S /@_ MJ^+]SH 5BM*D^*_"&7>90N> N6R6PL[/B$'R(IFQ',I)5J:DWBZ-R5*5E1;: MG$]A/?/FIQC+0DQ!_X'Y5S"#6 QFPI:MDXM!N($T.,+G+/LZD,!C7X#B6;S" MN=\&9^\\!HP(&\]/MM/IJY@.6))92+I5T2["KCK>8<>I)\[3F8@5LJU.G9J9 MR%@MM*SZ&T*[A$1@ $M&3D#>AF=R. 3Y4"@:0"T=ES*QO:UFB(\*%JN)*-O( M#1NN[L]!?8)^0@ZZ4:!H"\6QGPTP &*BH!M@!RQ9(HP/: ZPCELQ8>3O=&[NQ@;!HDTO\!HF5E04B:HQV$HZ#U,/;]Z= MDI$/YCG13Y_/Y3^S!^:]:DF?ACQ')_+:$DH#X= MZXC1_$IF".'RG9�:0K=3MK-B=1I ?^)V.57>?YNTQK@C[^41>N> MXP"YR0#:*8X--/L#-L4(SHLE^_Z6[.?*O[ZI0,,OL$,EJ+OG9CVV8B#%I$XG M;E;,1?AMH*F9@93%'.'2"%H 9T!7P*KS!+HK+;\!K^>RLCSSOE8;#G'AT7!N M0%"IU\P\!_ >7-. M]V8P&R-@RH.,C5+$=8DJ*$)DT76= :=9H2<3%6M07I2R !<*97;W2[>3\\TU/?,_GT3:#^;,H*H&Y ?$UF X5;16K M!1^9/1BU'):M8)IF_6*>L2"<&(58\%XMK6AT7+97OR('-DL %B^\\OZL(*^_ M>A/@J>D"-1.96W7B_W$::YLG1AM*C]V(Q_V M>T ^'+PP\%_L!W;SZM&\7A?QXK/C=[WCO>6/]WK]ZMEKZIO[AQ58V)>?7AV\ MJA8)>G1D8"OBKF.;(?TYS66,JNED/W\0_699)4:/YU?'"_-T7),;SS&]@[>'!\?]X_>[/7V^@OW& 8:9V<6$ 977YJB MXZN$,D-M*)8*3LU(HO<>K!,+Z5W T#:F\HUVZ452_^-"LX54T&:(J,8HR9"C M-I0(=W1TXE3Y/(M9;N=RHXQ3<R6Y_9UA)85B\^!*9^.,8ZW#O^'PS M6(JU?C@OSPN?\,Q 2J$#<.=+Y*?8Q=HHI5-70.)WHU)SR+"]''*[2X[..0L3 M%!OZRO!ME)&[QW(H/A(5I+J,KX3WE3!U29L+<5JVTZTAK3!Q*5O2ECMZ%_-1 M8"3)AQ7749'A&9=]/N(B=I #T?;3$(_F?V2."1&T[M(E\J!G%U;#D#'EN7@- M:+!W.S !F &/S;DZ7RLG!F"O4P&TOJ=(LVV;/[T/';B"E^!M?,\IZY;Z H'! M>+3SL+]AZC97AG*%)$X<3H'/CR^>@^H[^GX7LV5)PT7C(P\B2B2GG<,Z)DW! M1DF!,4H$&=M' M,LX=E_-T4ZO*C\,L^T+EZ#;2'S/\>6GRS*K%*NV5VT$.$?C!L?>$O*:I/*:5 MH48G7$[TZ@SSJE00UH+HH:XKTU9.D!00A?LI,D]A?:?+2-+EC(/U3C_5MG=% MGRZD5:LKE<95BIB7M-WFMCIVM499QC;R^Q=W(""(6K<=0VBI]*Y$_ZG%*V@_ MVHN7.I5+5^,%&,F7%-!+2\X<<*&3F!J<88I 7'.-+2-VGAVE"&#B$U=JAQ6V M-==SDK8G?LU]?5->5#UPA^X\1E7(ONQ@AC]FP0/4G7-?CQ^V:!S@V$Y%^LD1 MKH7$/E)"QP@<(FP4$:$3TFGP 9/5F;DUZJ/F.G2%*; G,&B:0A=\ 0%VG,U*B@8J$:DR"@]&8!B;KI=R/$4UT(Q@#?5 \X--GVG+ARGF) 8*F5WPX@5 M-"A-\WP(1ZA23P8Z#+46=R\IZVC/^5%Y [3;;BOR60,+T=Y%*M_:XR*/[JP_ M >188ED)3XW7RM0E5D/K4HF@G9,SKOL<(*OD!H.N427<,"_OK]2&+,H _7!8 M \I**YG7)/R1Y@_X^Q.%U,Y)V\.Y_:BV_]SF&U%T.3H>:-+#?KT#WK'1! * M/E,(V6L8JIZE>EK90&^M,3;-0=0CCA>!I+1S$A929>6&B/X&)Y@0_T5_1-D2RM+B7 MO_9N>UB!>^%-2>2+)CQI*3<>2)DH5+EA8':6R#+';0HO.%%NP MQ?T=N;O3/]@E/7/8QX^MD<=U HQ_0GK^.UP7LRKAO' U43MC[;?DF%_*!E[* M!E[*!E:3_$;YTZ%@$35E:?VYG 'H0K"$:L(.)#M;P])0(X(2_A!IC1D6;BD( MSXCZXRX).JZF 45_\$QU?B;Z_XWT(6_RL!4 MV-+P[N QH%A-4K [T=;&?JX<>/;"#T M1X=ZQ$M"TODG[!1G X[?+C][ M1]4:64%'NX,M@+&&L.<8.J9Y->,7C7192,B )MLMP^3K 7F+K179NP92QEA^ MHT9)^P628@;\:PN#%Q$$B(H/J(#T?E44!)J[VB-5>!A4&N!^2EWF!GF;BH9D M?*\MF15O#F3C/I2Y=$E/A)>-5!DCLD[NJ$\U77\HQ07G?*X6%X )0:!T%2:: M]]^#F[Q\!7A@ ,'O2-,F3@I]>:PNG@-).GV\L*7A+F&+!;?F(84C?."\\F? M\!VC7/JS!\:%DRF4HG-E834MXTRY .HR4%,3I>,/]ZQU3]1FK+_36&V0:Z3L M&D-_?PV;AW8NUER38;LUU3DNSQW!/3X5=[6(;JO6SM5Q MD&T%+!@AIG>74[IX]T)K:?'4-[)'H+_X>I/:*UXH%*HEWTL(>P!S"F4#Y*$G M'B&@U^!SFKZNZ.B)JZQ ,I#FGV_"'FVU MNKDF'!"D?6_PM:U,4N!U92M+%JI(\9!/+>+=1Z F,DY2RI%1KI9:^U[F/.-$ M E#VKK@)WT#S@Z!XZNO++4#K1!J.1H9M66;X0M$Z3^&ET-5?F+HF@]EZH%(U MU$7#9 ]46 BT[(9!OL:-+U>')Z;>Z98B.DMDB:LY<5H>'0[X'IRW$KKH, 8B MOD&+&VL611K"SHU!J@ 5%1KN>PDDH2QO(\L]ASB"95#^UQ,2-\]6]U;,6K>N MKG!?V+CF)GB',2B'KQ>S;*)-OW:!6$&'$:@J.H&9S8749KS0#F2K;O7Y(U,S?P;N_M[]?V>3;$N9+VPB;5B/? M2O17WIX,>\A+!*U5,:@C0)N%8VOEZU"&<^!YOLZ@TI6!_Q]WA6]R;QX&P7H:[%GSQXR7.]Y+DV.\^U&;\A_?;[\^/=?+J_NQ-WU MF@K\Y<=KGOG':]:VIT_\;9?-,[I0]VN:31,5 MCYSE!00WU A7*D\O;#X.KTW'YG@]KIKB!W@SGWFO=^&G0<+?F @\;+J ?LU? M">'8F <-+FCJKJ=WR*(%,P3C+,YNO.P:O!M_*$*&KLZJ1",6L&6 $TBTNG4^6WK M4($[?64)%F]_D7:89W!0&\">3[M$R#7%5+G[2AH4GP/H >4JA[(&VK!E=3QM M?KNY&K!*/C2Z;8N\F&QDY*2)Y!G7N#-*\^^A_-&=H-5U5NXLGK_7BD,M.N[, MQT]4TST?H6QMZ<&RG[E2I$._V_ $];: 74FX.!CDD_\+';2F_=?(^LOZ4+D. M>6ZWH3< *@]T_0L$+?L5A"PZK3&+PW]0X%NF M/Q?K*AK1APJF#V:=ZJ=#?"YT+@?:";H%9?P=6+'=3C\7F_[SD3\;,]%;8'6) MH;J-F=%FT^N+T73F^0J7:?_"7X0S,Y? G^O 1_5@9_ M7O,/$[^F'T3^-U!+ 0(4 Q0 ( $MN4%A6T /\<2 " /EK' 1 M " 0 !P&UL M4$L! A0#% @ 2VY06"B-$[SX6@$ 598! !0 ( !\*D" M '!R;&(M,C R,S$R,S%?9S$N:G!G4$L! A0#% @ 2VY06+9TPR)QKP$ M$UX" !0 ( !&@4$ '!R;&(M,C R,S$R,S%?9S(N:G!G4$L! M A0#% @ 2VY06 +;IM:(, $ H=L, !4 ( !O;0% '!R M;&(M,C R,S$R,S%?;&%B+GAM;%!+ 0(4 Q0 ( $MN4%A_U^RH>K( #6 M" 5 " 7CE!@!P#(Q,2YH=&U02P$"% ,4 " !+;E!8DY$#(S,2YH=&U0 M2P$"% ,4 " !+;E!8\B&E.1$& !C, %P @ $(GP< M<')L8BTR,#(S,3(S,7AE>#(T,2YH=&U02P$"% ,4 " !+;E!8Q\!3#@ ( M !!*0 %P @ %.I0< <')L8BTR,#(S,3(S,7AE>#,Q,2YH M=&U02P$"% ,4 " !+;E!8 L5R- $( "_*0 %P @ &# MK0< <')L8BTR,#(S,3(S,7AE>#,Q,BYH=&U02P$"% ,4 " !+;E!8F[Y? M4ED$ R' %P @ &YM0< <')L8BTR,#(S,3(S,7AE>#,R M,2YH=&U02P$"% ,4 " !+;E!8P75 ;5 3 7>0 %@ M@ %'N@< <')L8BTR,#(S,3(S,7AE>#DW+FAT;5!+!08 #P / / # #+ %S0< ! end XML 108 prlb-20231231_htm.xml IDEA: XBRL DOCUMENT 0001443669 2023-01-01 2023-12-31 0001443669 2023-06-30 0001443669 2024-02-09 0001443669 2023-12-31 0001443669 2022-12-31 0001443669 2022-01-01 2022-12-31 0001443669 2021-01-01 2021-12-31 0001443669 us-gaap:CommonStockMember 2020-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001443669 us-gaap:RetainedEarningsMember 2020-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001443669 2020-12-31 0001443669 us-gaap:CommonStockMember 2021-01-01 2021-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001443669 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001443669 us-gaap:CommonStockMember 2021-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001443669 us-gaap:RetainedEarningsMember 2021-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001443669 2021-12-31 0001443669 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0001443669 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0001443669 us-gaap:CommonStockMember 2022-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001443669 us-gaap:RetainedEarningsMember 2022-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001443669 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0001443669 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001443669 us-gaap:CommonStockMember 2023-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001443669 us-gaap:RetainedEarningsMember 2023-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001443669 srt:MinimumMember 2023-12-31 0001443669 srt:MaximumMember 2023-12-31 0001443669 srt:MinimumMember us-gaap:EquipmentMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:EquipmentMember 2023-12-31 0001443669 srt:MinimumMember us-gaap:FurnitureAndFixturesMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:FurnitureAndFixturesMember 2023-12-31 0001443669 srt:MinimumMember us-gaap:ComputerEquipmentMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:ComputerEquipmentMember 2023-12-31 0001443669 us-gaap:BuildingMember 2023-12-31 0001443669 srt:MinimumMember us-gaap:LandBuildingsAndImprovementsMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:LandBuildingsAndImprovementsMember 2023-12-31 0001443669 prlb:EuropeReportingUnitMember 2022-01-01 2022-12-31 0001443669 prlb:EuropeReportingUnitMember 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2022-01-01 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2022-01-01 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2022-01-01 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember 2022-01-01 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember 2021-01-01 2021-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2023-01-01 2023-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2022-01-01 2022-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2021-01-01 2021-12-31 0001443669 prlb:CNCMachiningFirstcutMember 2023-01-01 2023-12-31 0001443669 prlb:CNCMachiningFirstcutMember 2022-01-01 2022-12-31 0001443669 prlb:CNCMachiningFirstcutMember 2021-01-01 2021-12-31 0001443669 prlb:ThreeDPrintingFinelineMember 2023-01-01 2023-12-31 0001443669 prlb:ThreeDPrintingFinelineMember 2022-01-01 2022-12-31 0001443669 prlb:ThreeDPrintingFinelineMember 2021-01-01 2021-12-31 0001443669 prlb:SheetMetalMember 2023-01-01 2023-12-31 0001443669 prlb:SheetMetalMember 2022-01-01 2022-12-31 0001443669 prlb:SheetMetalMember 2021-01-01 2021-12-31 0001443669 prlb:OtherProductsMember 2023-01-01 2023-12-31 0001443669 prlb:OtherProductsMember 2022-01-01 2022-12-31 0001443669 prlb:OtherProductsMember 2021-01-01 2021-12-31 0001443669 prlb:UnitedStatesReportingUnitMember 2021-12-31 0001443669 prlb:UnitedStatesReportingUnitMember 2022-01-01 2022-12-31 0001443669 prlb:UnitedStatesReportingUnitMember 2022-12-31 0001443669 prlb:UnitedStatesReportingUnitMember 2023-01-01 2023-12-31 0001443669 prlb:UnitedStatesReportingUnitMember 2023-12-31 0001443669 prlb:EuropeReportingUnitMember 2021-12-31 0001443669 prlb:EuropeReportingUnitMember 2022-12-31 0001443669 prlb:EuropeReportingUnitMember 2023-12-31 0001443669 prlb:JapanReportingUnitMember 2021-12-31 0001443669 prlb:JapanReportingUnitMember 2022-01-01 2022-12-31 0001443669 prlb:JapanReportingUnitMember 2022-12-31 0001443669 prlb:JapanReportingUnitMember 2023-01-01 2023-12-31 0001443669 prlb:JapanReportingUnitMember 2023-12-31 0001443669 prlb:A3DHubsIncHubsMember 2021-01-22 2021-01-22 0001443669 prlb:A3DHubsIncHubsMember 2021-01-22 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2023-12-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2022-12-31 0001443669 us-gaap:NoncompeteAgreementsMember 2023-12-31 0001443669 us-gaap:NoncompeteAgreementsMember 2022-12-31 0001443669 srt:MinimumMember us-gaap:NoncompeteAgreementsMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:NoncompeteAgreementsMember 2023-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001443669 prlb:SoftwarePlatformMember 2023-12-31 0001443669 prlb:SoftwarePlatformMember 2022-12-31 0001443669 us-gaap:TradeNamesMember 2023-12-31 0001443669 us-gaap:TradeNamesMember 2022-12-31 0001443669 us-gaap:CustomerRelationshipsMember 2023-12-31 0001443669 us-gaap:CustomerRelationshipsMember 2022-12-31 0001443669 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2023-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-12-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0001443669 us-gaap:BankTimeDepositsMember 2023-12-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-12-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001443669 us-gaap:BankTimeDepositsMember 2022-12-31 0001443669 us-gaap:LandMember 2023-12-31 0001443669 us-gaap:LandMember 2022-12-31 0001443669 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001443669 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001443669 us-gaap:EquipmentMember 2023-12-31 0001443669 us-gaap:EquipmentMember 2022-12-31 0001443669 us-gaap:ComputerEquipmentMember 2023-12-31 0001443669 us-gaap:ComputerEquipmentMember 2022-12-31 0001443669 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001443669 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001443669 us-gaap:ConstructionInProgressMember 2023-12-31 0001443669 us-gaap:ConstructionInProgressMember 2022-12-31 0001443669 country:US 2023-01-01 2023-12-31 0001443669 country:US 2022-01-01 2022-12-31 0001443669 country:US 2021-01-01 2021-12-31 0001443669 us-gaap:ForeignPlanMember 2023-01-01 2023-12-31 0001443669 us-gaap:ForeignPlanMember 2022-01-01 2022-12-31 0001443669 us-gaap:ForeignPlanMember 2021-01-01 2021-12-31 0001443669 prlb:LongtermIncentivePlan2012Member 2022-02-23 2022-08-29 0001443669 prlb:LongtermIncentivePlan2012Member 2023-01-01 2023-12-31 0001443669 prlb:ESPPMember 2023-01-01 2023-12-31 0001443669 prlb:ESPPMember 2022-01-01 2022-12-31 0001443669 prlb:ESPPMember 2023-12-31 0001443669 prlb:ESPPMember 2022-12-31 0001443669 prlb:StockOptionsAndOtherMember 2023-01-01 2023-12-31 0001443669 prlb:StockOptionsAndOtherMember 2022-01-01 2022-12-31 0001443669 prlb:StockOptionsAndOtherMember 2021-01-01 2021-12-31 0001443669 prlb:ESPPMember 2021-01-01 2021-12-31 0001443669 us-gaap:CostOfSalesMember 2023-01-01 2023-12-31 0001443669 us-gaap:CostOfSalesMember 2022-01-01 2022-12-31 0001443669 us-gaap:CostOfSalesMember 2021-01-01 2021-12-31 0001443669 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-12-31 0001443669 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-12-31 0001443669 us-gaap:SellingAndMarketingExpenseMember 2021-01-01 2021-12-31 0001443669 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-12-31 0001443669 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-12-31 0001443669 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-12-31 0001443669 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-12-31 0001443669 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-12-31 0001443669 us-gaap:GeneralAndAdministrativeExpenseMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001443669 prlb:ExercisePriceRangeOneMember 2023-01-01 2023-12-31 0001443669 prlb:ExercisePriceRangeOneMember 2023-12-31 0001443669 prlb:ExercisePriceRangeTwoMember 2023-01-01 2023-12-31 0001443669 prlb:ExercisePriceRangeTwoMember 2023-12-31 0001443669 prlb:ExercisePriceRangeThreeMember 2023-01-01 2023-12-31 0001443669 prlb:ExercisePriceRangeThreeMember 2023-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2023-12-31 0001443669 srt:MaximumMember us-gaap:RestrictedStockMember 2023-01-01 2023-12-31 0001443669 us-gaap:RestrictedStockMember 2020-12-31 0001443669 us-gaap:RestrictedStockMember 2021-01-01 2021-12-31 0001443669 us-gaap:RestrictedStockMember 2021-12-31 0001443669 us-gaap:RestrictedStockMember 2022-01-01 2022-12-31 0001443669 us-gaap:RestrictedStockMember 2022-12-31 0001443669 us-gaap:RestrictedStockMember 2023-01-01 2023-12-31 0001443669 us-gaap:RestrictedStockMember 2023-12-31 0001443669 us-gaap:PerformanceSharesMember 2023-12-31 0001443669 us-gaap:PerformanceSharesMember 2023-01-01 2023-12-31 0001443669 us-gaap:PerformanceSharesMember 2020-12-31 0001443669 us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001443669 us-gaap:PerformanceSharesMember 2021-12-31 0001443669 us-gaap:PerformanceSharesMember 2022-01-01 2022-12-31 0001443669 us-gaap:PerformanceSharesMember 2022-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2023-01-01 2023-12-31 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2023-01-01 2023-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2022-01-01 2022-12-31 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2022-01-01 2022-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2023-01-01 2023-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2022-01-01 2022-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-01-01 2023-12-31 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-01-01 2022-12-31 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-01-01 2021-12-31 0001443669 country:DE 2023-01-01 2023-12-31 0001443669 country:NL 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2023-01-01 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2022-01-01 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember 2023-12-31 0001443669 us-gaap:OperatingSegmentsMember 2022-12-31 0001443669 us-gaap:OperatingSegmentsMember 2021-12-31 0001443669 country:US 2023-01-01 2023-12-31 0001443669 country:US 2022-01-01 2022-12-31 0001443669 country:US 2021-01-01 2021-12-31 0001443669 srt:EuropeMember 2023-01-01 2023-12-31 0001443669 srt:EuropeMember 2022-01-01 2022-12-31 0001443669 srt:EuropeMember 2021-01-01 2021-12-31 0001443669 country:JP 2023-01-01 2023-12-31 0001443669 country:JP 2022-01-01 2022-12-31 0001443669 country:JP 2021-01-01 2021-12-31 0001443669 2023-10-01 2023-12-31 iso4217:USD shares iso4217:USD shares pure 0001443669 2023 FY false P2Y 10-K true 2023-12-31 --12-31 false 001-35435 Proto Labs, Inc. MN 41-1939628 5540 Pioneer Creek Drive Maple Plain MN 55359 763 479-3680 Common Stock, Par Value $0.001 Per Share PRLB NYSE Yes No Yes Yes Large Accelerated Filer false false true false false 900000000 25721957 <div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Portions of the Registrant’s definitive proxy statement relating to its 2024 annual meeting of shareholders are incorporated by reference into Part III of this Annual Report on Form 10-K where indicated. Such proxy statement will be filed with the U.S. Securities and Exchange Commission within 120 days after the end of the fiscal year to which this report relates.</span></div> 42 Ernst & Young LLP Minneapolis, Minnesota 83790000 56558000 19013000 23568000 2499000 1706000 72848000 76225000 13657000 13578000 9124000 12597000 2228000 4042000 200660000 186568000 253655000 257785000 273991000 273991000 25584000 31250000 8019000 26419000 4628000 3844000 960000 17532000 4856000 4779000 772353000 802168000 15636000 17356000 15292000 12743000 16872000 22384000 1585000 1561000 296000 17537000 49681000 71581000 3008000 2255000 595000 0 18742000 26322000 5032000 4362000 77058000 104520000 0.001 0.001 10000000 10000000 0 0 0 0 0 0 0.001 0.001 150000000 150000000 25721957 25721957 26888425 26888425 26000 27000 466884000 473740000 256398000 258236000 -28013000 -34355000 695295000 697648000 772353000 802168000 503877000 488398000 488098000 281884000 272933000 265407000 221993000 215465000 222691000 87688000 82752000 82175000 40135000 38222000 44241000 65788000 67544000 55933000 0 118008000 0 215000 6922000 0 193826000 313448000 182349000 28167000 -97983000 40342000 -215000 106000 -158000 27952000 -97877000 40184000 10732000 5585000 6812000 17220000 -103462000 33372000 0.66 -3.77 1.21 0.66 -3.77 1.21 26186533 27409838 27617627 26223498 27409838 27653099 5365000 -16278000 -13278000 977000 -1260000 -119000 23562000 -121000000 19975000 26776796 27000 284848000 362901000 -3420000 644356000 176736 1637000 1637000 863995 1000 166708000 166709000 19095000 19095000 351582 3740000 19539000 23279000 33372000 33372000 -13278000 -13278000 -119000 -119000 19975000 27465945 28000 468548000 376734000 -16817000 828493000 279603 2269000 2269000 17545000 17545000 857123 1000 14622000 15036000 29659000 -103462000 -103462000 -16278000 -16278000 -1260000 -1260000 -121000000 26888425 27000 473740000 258236000 -34355000 697648000 266453 2399000 2399000 15989000 15989000 1432921 1000 25244000 19058000 44303000 17220000 17220000 5365000 5365000 977000 977000 23562000 25721957 26000 466884000 256398000 -28013000 695295000 17220000 -103462000 33372000 37528000 39425000 40488000 15989000 17545000 19095000 -7656000 -9499000 339000 1055000 0 0 0 0 -13253000 0 118008000 0 -3906000 0 0 0 2842000 0 498000 1211000 0 154000 35000 842000 -2727000 -1632000 20112000 -112000 310000 2390000 -4203000 2081000 -64000 1823000 -2681000 -774000 -1838000 1375000 4654000 -1451000 461000 -7083000 73274000 62079000 55242000 28116000 21686000 34209000 699000 4108000 0 0 0 127413000 1000000 0 0 0 46872000 16159000 0 1998000 64913000 23865000 19360000 18204000 -4552000 -43092000 -94664000 3835000 3950000 5862000 1436000 1682000 4225000 43951000 29659000 23279000 306000 531000 552000 0 0 -4000 -41858000 -27922000 -22198000 368000 -436000 -54000 27232000 -9371000 -61674000 56558000 65929000 127603000 83790000 56558000 65929000 1055000 101000 28000 15892000 19160000 7583000 Nature of Business<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Organization and business</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is a digital manufacturer of parts. The Company utilizes injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for its customers. The Company's customers conduct nearly all their business over the internet. The Company targets its products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets, to the procurement and supply chain professionals seeking to easily and efficiently source custom parts on-demand, and to a wide variety of customers seeking to purchase low-volume custom parts. The Company has established operations in the United States and Europe. Previously we had established operations in Japan. On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. The Company dissolved its Japan operations in December 2023. Through the acquisition of Hubs in 2021, the Company provides its customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing its in-house manufacturing. Proto Labs, Inc. is headquartered in Maple Plain, Minnesota. The Company’s subsidiaries are:</span></div><div style="margin-top:12pt"><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><td style="width:48.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:48.900%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Name</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Location</span></td></tr><tr style="height:15pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PL-US International LLC</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Hubs Manufacturing Inc.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3D Hubs Manufacturing LLC</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs Ltd.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PL International Holdings, UK, Ltd.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PL Euro Services Limited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs GmbH</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Germany</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs Tooling GmbH</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Germany</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3D Hubs B.V.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Netherlands</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> The Company’s subsidiaries are:<div style="margin-top:12pt"><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><td style="width:48.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:48.900%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Name</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Location</span></td></tr><tr style="height:15pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PL-US International LLC</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Hubs Manufacturing Inc.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3D Hubs Manufacturing LLC</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs Ltd.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PL International Holdings, UK, Ltd.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PL Euro Services Limited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs GmbH</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Germany</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proto Labs Tooling GmbH</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Germany</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3D Hubs B.V.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Netherlands</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> Summary of Significant Accounting Policies<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of consolidation</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Comprehensive (loss) income</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of comprehensive (loss) income include net income (loss), foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive (loss) income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting estimates</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash and cash equivalents</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable securities</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable securities are categorized as available-for-sale and are recorded at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts receivable and allowance for doubtful accounts</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventory</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property, equipment and leasehold improvements</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company follows ASC 350-40,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Internal-Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, in accounting for internally developed software. </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes goodwill in accordance with ASC 350, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles—Goodwill and Other</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States and Europe. Goodwill is not amortized.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">goodwill, is less than its carrying amount. In applying the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. As a result of the fiscal year 2022 analysis, which used the quantitative assessment, a $118.0 million impairment related to the Europe reporting unit was identified, which represents a write-off of all Europe goodwill, and recorded during the year ended December 31, 2022. As a result of the fiscal year 2023 analysis, which used the qualitative assessment, there were no impairments recorded during the year ended December 31, 2023.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Intangible Assets</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from <span style="-sec-ix-hidden:f-404">two</span> to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting for long-lived assets</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for leases in accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment and manufacturing facilities. The leases have remaining lease terms of one year to nine years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of December 31, 2023, the operating lease liability does not include any options to extend or terminate leases.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income taxes</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes in accordance with ASC 740,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that are not at a level of more likely than not to be recognized.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for stock-based compensation in accordance with ASC 718,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Compensation—Stock Compensation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising costs</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Advertising is expensed as incurred and was approximately $13.8 million, $13.2 million and $12.5 million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022 and 2021, respectively.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and development</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles - Goodwill and Other, Internal-Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Research and development costs were approximately $40.1 million, $38.2 million and $44.2 million for the years ended December 31, 2023, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign currency translation/transactions</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements. There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of consolidation</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Comprehensive (loss) income</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of comprehensive (loss) income include net income (loss), foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive (loss) income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting estimates</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash and cash equivalents</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable securities</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable securities are categorized as available-for-sale and are recorded at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts receivable and allowance for doubtful accounts</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventory</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property, equipment and leasehold improvements</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company follows ASC 350-40,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Internal-Use Software</span>, in accounting for internally developed software. P3Y P39Y P3Y P15Y P3Y P7Y P3Y P5Y P39Y P10Y P39Y <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes goodwill in accordance with ASC 350, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles—Goodwill and Other</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States and Europe. Goodwill is not amortized.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including </span></div>goodwill, is less than its carrying amount. In applying the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. 118000000 0 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Intangible Assets</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from <span style="-sec-ix-hidden:f-404">two</span> to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.</span></div> P12Y <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting for long-lived assets</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for leases in accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.</span></div>The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment and manufacturing facilities. The leases have remaining lease terms of one year to nine years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. P1Y P9Y <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income taxes</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes in accordance with ASC 740,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that are not at a level of more likely than not to be recognized.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for stock-based compensation in accordance with ASC 718,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Compensation—Stock Compensation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising costs</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Advertising is expensed as incurred and was approximately $13.8 million, $13.2 million and $12.5 million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022 and 2021, respectively.</span></div> 13800000 13200000 12500000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and development</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles - Goodwill and Other, Internal-Use Software</span>. 40100000 38200000 44200000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign currency translation/transactions</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements. There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.</span></div> Revenue<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for revenue in accordance with ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts. </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC 606. The majority of the Company’s CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company manufactures parts that have no alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The value of unbilled receivables related to the performance on manufactured parts not yet completed as of December 31, 2023 and 2022 was $10.1 million and $8.5 million, respectively, recorded within accounts receivable, net of allowance for doubtful accounts.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic region for the years ended December 31, 2023, 2022 and 2021 was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">396,821 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">384,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,399 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,229 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">503,877 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,398 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,098 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by product line for the years ended December 31, 2023, 2022 and 2021 was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Injection Molding</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">203,941 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">226,117 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CNC Machining</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">198,222 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">188,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,811 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3D Printing</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84,291 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78,988 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72,721 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sheet Metal</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,498 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other Revenue</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">883 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">962 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,052 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">503,877 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,398 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,098 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div>The Company generally expenses sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of one year or less as of December 31, 2023 and 2022 was $9.8 million and $10.9 million, respectively. 10100000 8500000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic region for the years ended December 31, 2023, 2022 and 2021 was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">396,821 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">384,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,399 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,229 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">503,877 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,398 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,098 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue and income from operations by reportable segment are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">396,821 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">384,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,399 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,229 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">503,877 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,398 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,098 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 396821000 387399000 384458000 107056000 92770000 90399000 0 8229000 13241000 503877000 488398000 488098000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by product line for the years ended December 31, 2023, 2022 and 2021 was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Injection Molding</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">203,941 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">226,117 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CNC Machining</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">198,222 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">188,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,811 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3D Printing</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84,291 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78,988 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72,721 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sheet Metal</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,498 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other Revenue</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">883 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">962 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,052 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">503,877 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,398 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,098 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 203941000 200578000 226117000 198222000 188372000 166811000 84291000 78988000 72721000 16540000 19498000 20397000 883000 962000 2052000 503877000 488398000 488098000 9800000 10900000 Net Income (Loss) Per Common Share<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income (loss) per share is computed based on the weighted average number of common shares outstanding. Diluted net income (loss) per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023, 2022 and 2021 respectively, 263,992, 197,827 and 113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the calculation of net income (loss) per basic and diluted share attributable to common shareholders:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands, except share and per share amounts)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,220 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(103,462)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic - weighted-average shares outstanding:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,186,533</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,409,838</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,617,627</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of dilutive securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock options and other</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,965</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,472</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted - weighted-average shares outstanding:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,223,498</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,409,838</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,653,099</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss) per share attributable to common shareholders:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.66 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3.77)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.21 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3.77)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 263992 197827 113043 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the calculation of net income (loss) per basic and diluted share attributable to common shareholders:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands, except share and per share amounts)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,220 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(103,462)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic - weighted-average shares outstanding:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,186,533</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,409,838</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,617,627</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of dilutive securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock options and other</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,965</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,472</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted - weighted-average shares outstanding:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,223,498</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,409,838</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,653,099</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss) per share attributable to common shareholders:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.66 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3.77)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.21 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3.77)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 17220000 -103462000 33372000 26186533 27409838 27617627 36965 0 35472 26223498 27409838 27653099 0.66 -3.77 1.21 0.66 -3.77 1.21 Goodwill and Other Intangible Assets<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for the years ended December 31, 2023 and 2022 were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:13.596%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.964%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill acquired (impaired) during <br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign currency translation <br/>adjustments during <br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill acquired (impaired) <br/>during 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign currency translation <br/>adjustments during <br/>2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, 2023</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">125,989 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(118,008)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,981)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">630 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(630)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total goodwill</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">400,610 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(118,638)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,981)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 22, 2021,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The fair value of the consideration paid for this acquisition had been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill. The $280.9 million of goodwill associated with the acquisition represented both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill decreased $126.6 million for the year ended December 31, 2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">as a result of impairments related to our Europe and Japan reporting units. The Euro denominated goodwill had been translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that was recorded as a component of Other Comprehensive Income.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets other than goodwill for the years ended December 31, 2023 and 2022 were as follows: </span></div><div style="margin-top:12pt"><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><td style="width:16.172%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.086%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Year Ended December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Year Ended December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted Average <br/>Useful Life</span></td></tr><tr><td colspan="3" style="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:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Useful Life (in <br/>years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Remaining (in years)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Marketing assets</span></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">930 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(900)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">30 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">930 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(806)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">124 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">10.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">0.3</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Non-compete agreement</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">835 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(603)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">232 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">828 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(487)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">341 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2.0 - 5.0</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1.4</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Software technology</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">13,229 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(7,752)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">5,477 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">13,229 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,383)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">6,846 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">10.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">4.0</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Software platform</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">26,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,575)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">19,798 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">26,054 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,337)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">21,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">12.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">9.1</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Tradenames</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(347)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">350 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(227)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">123 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">3.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">0.1</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">12,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(12,183)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">12,197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(10,098)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">3.0 - 9.0</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">0.1</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Total intangible assets</span></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">53,944 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(28,360)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">25,584 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">53,588 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(22,338)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">31,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:120%"> </span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense for intangible assets for the years ended December 31, 2023, 2022 and 2021 was $5.9 million, $6.0 million and $6.2 million, respectively. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. For the years ended December 31, 2023, 2022 and 2021 the foreign currency translation adjustment was $1.3 million, $1.7 million and $0.9 million, respectively. </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated Amortization <br/>Expense</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,741 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,660 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,558 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,549 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total estimated amortization expense</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,584 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for the years ended December 31, 2023 and 2022 were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:13.596%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.964%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill acquired (impaired) during <br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign currency translation <br/>adjustments during <br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill acquired (impaired) <br/>during 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign currency translation <br/>adjustments during <br/>2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, 2023</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">125,989 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(118,008)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,981)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">630 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(630)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total goodwill</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">400,610 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(118,638)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,981)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">273,991 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 273991000 0 0 273991000 0 0 273991000 125989000 -118008000 -7981000 0 0 0 0 630000 -630000 0 0 0 0 0 400610000 -118638000 -7981000 273991000 0 0 273991000 294100000 127400000 863995 166700000 280900000 -126600000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets other than goodwill for the years ended December 31, 2023 and 2022 were as follows: </span></div><div style="margin-top:12pt"><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><td style="width:16.172%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.086%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Year Ended December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Year Ended December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted Average <br/>Useful Life</span></td></tr><tr><td colspan="3" style="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:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Useful Life (in <br/>years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Remaining (in years)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Marketing assets</span></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">930 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(900)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">30 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">930 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(806)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 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:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">124 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">10.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">0.3</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Non-compete agreement</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">835 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(603)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">232 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">828 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(487)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">341 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2.0 - 5.0</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1.4</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Software technology</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">13,229 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(7,752)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">5,477 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">13,229 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,383)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">6,846 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">10.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">4.0</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Software platform</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">26,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,575)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">19,798 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">26,054 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,337)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">21,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">12.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">9.1</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Tradenames</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(347)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">350 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(227)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">123 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">3.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">0.1</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">12,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(12,183)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">12,197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(10,098)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">3.0 - 9.0</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">0.1</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Total intangible assets</span></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">53,944 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(28,360)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">25,584 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">53,588 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(22,338)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">31,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:120%"> </span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 930000 900000 30000 930000 806000 124000 P10Y P0Y3M18D 835000 603000 232000 828000 487000 341000 P2Y P5Y P1Y4M24D 13229000 7752000 5477000 13229000 6383000 6846000 P10Y P4Y 26373000 6575000 19798000 26054000 4337000 21717000 P12Y P9Y1M6D 354000 347000 7000 350000 227000 123000 P3Y P0Y1M6D 12223000 12183000 40000 12197000 10098000 2099000 P3Y P9Y P0Y1M6D 53944000 28360000 25584000 53588000 22338000 31250000 5900000 6000000 6200000 1300000 1700000 900000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated Amortization <br/>Expense</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,741 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,660 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,558 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,549 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total estimated amortization expense</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,584 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 3741000 3660000 3558000 3549000 2180000 8896000 25584000 Fair Value Measurements<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy which requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 1—Quoted prices in active markets for identical assets or liabilities.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2). </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables summarizes financial assets as of December 31, 2023 and 2022 measured at fair value on a recurring basis:</span></div><div style="margin-top:12pt"><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><td style="width:29.506%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.964%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents, excluding money market mutual fund</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77,423 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,862 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market mutual fund</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,367 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,696 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,482 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88,272 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,550 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66,439 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables summarizes financial assets as of December 31, 2023 and 2022 measured at fair value on a recurring basis:</span></div><div style="margin-top:12pt"><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><td style="width:29.506%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.964%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents, excluding money market mutual fund</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77,423 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,862 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market mutual fund</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,367 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,696 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,482 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88,272 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,550 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66,439 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 77423000 0 0 38862000 0 0 6367000 0 0 17696000 0 0 4482000 22550000 0 9881000 40106000 0 88272000 22550000 0 66439000 40106000 0 Marketable Securities<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023 and 2022, the securities are categorized as available-for-sale and are recorded at fair value. </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the Company’s short-term and long-term marketable securities as of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023 and 2022 is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government agency securities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,798 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,520 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,511 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(19)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. municipal 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,876 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(105)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,771 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificates of deposit/time deposits</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">249 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">249 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,434 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(402)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><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><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government agency securities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,275 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(750)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,525 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(205)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. municipal 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,574 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(417)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,157 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificates of deposit/time deposits</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">939 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51,366 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,379)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. government agency securities, U.S. municipal securities, commercial paper and certificates of deposit are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The December 31, 2023 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.</span></div><div style="margin-top:12pt"><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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one year or less</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,013 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after one year through five years</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the Company’s short-term and long-term marketable securities as of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023 and 2022 is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government agency securities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,798 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,520 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,511 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(19)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. municipal 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,876 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(105)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,771 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificates of deposit/time deposits</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">249 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">249 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,434 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(402)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><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><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government agency securities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,275 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(750)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,525 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(205)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. municipal 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,574 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(417)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,157 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificates of deposit/time deposits</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">939 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51,366 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,379)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 16798000 0 278000 16520000 2511000 0 19000 2492000 7876000 0 105000 7771000 249000 0 0 249000 27434000 0 402000 27032000 25275000 0 750000 24525000 9578000 0 205000 9373000 15574000 0 417000 15157000 939000 0 7000 932000 51366000 0 1379000 49987000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The December 31, 2023 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.</span></div><div style="margin-top:12pt"><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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one year or less</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,013 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after one year through five years</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 19013000 8019000 27032000 Property and Equipment<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment consists of the following:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Land</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,596 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Buildings and improvements</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">105,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and equipment</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">235,527 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">228,654 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer hardware and software</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,659 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,302 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,609 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,548 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in progress</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,410 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">483,834 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">457,823 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated depreciation and amortization</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(230,179)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(200,038)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">253,655 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">257,785 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023, 2022 and 2021 was $31.6 million, $33.4 million and $34.3 million, respectively.</span></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment consists of the following:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Land</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,596 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Buildings and improvements</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">105,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and equipment</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">235,527 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">228,654 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer hardware and software</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,659 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,302 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,609 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,548 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in progress</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,410 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">483,834 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">457,823 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated depreciation and amortization</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(230,179)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(200,038)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">253,655 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">257,785 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 15596000 14153000 133033000 105492000 235527000 228654000 86659000 82302000 4609000 4548000 8410000 22674000 483834000 457823000 230179000 200038000 253655000 257785000 31600000 33400000 34300000 Inventory<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s inventory consists of the following:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total inventory</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,319 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,965 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allowance for obsolescence</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(662)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(387)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory, net of allowance</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,657 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,578 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s inventory consists of the following:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total inventory</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,319 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,965 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allowance for obsolescence</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(662)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(387)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory, net of allowance</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,657 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,578 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 14319000 13965000 662000 387000 13657000 13578000 Financing ObligationsThe Company had no financing obligations as of December 31, 2023 and 2022. 0 0 Employee Benefit Plans<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains a 401(k) retirement plan that covers employees in the United States. Under the plan, a full-time or regular part-time (over 20 hours/week) employee becomes a participant after completing three months of employment. Employees may elect to contribute up to 50 percent of regular gross pay, subject to federal law limits on the dollar amount that participants may contribute to the plan, each calendar year. The Company matches part of the employee contributions and may make a discretionary contribution to the plan. Total employer contributions were approximately $4.6 million, $3.9 million and $3.7 million for the years ended December 31, 2023, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.5 million, $0.5 million and $0.4 million for the years ended December 31, 2023, 2022 and 2021, respectively.</span></div> 0.50 4600000 3900000 3700000 500000 500000 400000 Stock-Based Compensation<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company had the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards through February 23, 2022. On July 8, 2022, the board of directors approved the Proto Labs, Inc. 2022 Long-Term Incentive Plan, which was approved by the Company's shareholders at a Special Meeting of Shareholders on August 29, 2022, and subsequently amended and restated by the Company's shareholders at the Annual Meeting of Shareholders on May 17, 2023 (as amended, the "2022 Plan"). No awards were granted from February 23, 2022 to August 29, 2022. Awards outstanding under the 2012 Plan as of August 29, 2022 will continue to be subject to the terms of the 2012 Plan, but if those awards subsequently expire, are forfeited or cancelled or are settled in cash, the shares subject to those awards will become available for awards under the 2022 Plan. Under the 2022 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2022 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SARs granted under the 2022 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period, and at the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period. The Company determines the fair value stock-based compensation related to its ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees purchased </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">171,991</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 142,982 shares of common stock under the ESPP at an average exercise price of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$22.30</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and $27.09 during 2023 and 2022, respectively. As of December 31, 2023, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">743,893</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> shares remained available for future issuance under the ESPP.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines its stock-based compensation in accordance with ASC 718, which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on fair value.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid, and does not anticipate paying, any cash dividends in the foreseeable future and, therefore, the Company uses an expected dividend yield of zero in the option pricing model. The Company accounts for forfeitures as they occur. The Company recognizes stock-based compensation expense on a straight-line basis over the requisite service period.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense for the years ended December 31, 2023, 2022 and 2021, respectively:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options and other</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,550 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,103 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,553 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,442 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,542 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation expense</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,989 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,095 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,840 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,172 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketing and sales</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,426 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,295 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,736 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,556 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,833 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,889 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,931 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation expense</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,989 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,095 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><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><td style="width:52.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.053%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.55 - 4.55%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.94 - 3.40%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.80 - 1.12%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected life (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2 - 6.25</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49.23 - 55.92%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45.95 - 46.03%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45.28 - 45.53%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average grant date fair value</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$16.36</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$23.11</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$128.14</span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Exercise Price</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at January 1, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">229,531</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86.46 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,901</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128.14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(28,991)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58.78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cancelled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25,057)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">109.31 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">233,384</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97.78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118,434</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,114)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30.58 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cancelled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(84,712)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89.32 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">263,992</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79.07 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">186,804</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33.36 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cancelled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(63,635)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62.44 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expired</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(15,848)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55.67 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">371,313</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59.92 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable at December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">116,455</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90.65 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The outstanding options have a term of 10 years. For employees, options that have been granted become exercisable ratably over the vesting period, which is generally a four-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic value of options exercised during the years ended December 31, 2023, 2022 and 2021, was $0.0 million, $0.0 million and $3.8 million, respectively. The aggregate intrinsic value represents the cumulative difference between the fair market value of the underlying common stock and the option exercise prices.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For options outstanding at December 31, 2023, the weighted-average remaining contractual term was 7.2 years and the aggregate intrinsic value was $0.9 million. For options exercisable at December 31, 2023, the weighted-average remaining contractual term was 5.5 years and the aggregate intrinsic value was $0.0 million. Refer to the table below for additional information.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about stock options outstanding at December 31, 2023:</span></div><div style="margin-top:12pt"><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><td style="width:25.415%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.995%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Options Outstanding, Vested and Expected to Vest</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Options Exercisable</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Range of Exercise Prices</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number Outstanding</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Contractual <br/>Life</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price ($)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number Exercisable</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price ($)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$32.13 to $36.48</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">167,725</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.92</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33.40</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$36.49 to $64.92</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,391</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.45</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50.60</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,242</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52.90</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.93 to $180.46</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">103,197</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.75</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112.87</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79,213</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108.40</span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of share-based payment transactions is recognized in the Consolidated Statements of Comprehensive Income. As of December 31, 2023, there was $3.8 million of total unrecognized compensation cost related to unvested stock options, which is expected to be recognized over a weighted average period of 2.5 years. The total fair value of options vested was $1.8 million, $2.3 million and $2.1 million for the years ended December 31, 2023, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Restricted Stock</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2012 Plan provides for the award of restricted stock or restricted stock units. Restricted stock awards are share settled and restrictions lapse ratably over the vesting period, which is generally a four-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes restricted stock activity for the years ended December 31, 2023, 2022 and 2021: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Restricted <br/>Stock Awards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant Date<br/>Fair Value<br/>Per Share</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at January 1, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">307,199</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98.87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">205,996</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">123.61 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(115,908)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">91.26 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(53,505)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128.05 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">343,782</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111.79 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">315,432</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42.03 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(130,452)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.32 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(50,166)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96.48 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">478,596</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70.36 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">410,682</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32.46 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(137,053)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79.61 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(98,760)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61.25 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">653,465</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45.89 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, there was $18.5 million of unrecognized compensation expense related to unvested restricted stock, which is expected to be recognized over a weighted-average period of 2.5 years.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Performance Stock</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 200 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s outstanding PSUs at</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes performance stock activity for the years ended December 31, 2023, 2022 and 2021: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Performance<br/>Stock Awards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant Date<br/>Fair Value<br/>Per Share</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at January 1, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,956</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118.66 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,078</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">203.64 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance change</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,366)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">192.95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,829)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113.91 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at December 31, 2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,839</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">115.56 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,697</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96.71 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance change</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,156)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">99.59 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,578)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121.79 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,802</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77.91 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,295</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57.79 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance change</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,097</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74.08 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, there was $4.1 million of unrecognized compensation expense related to unvested performance stock, which is expected to be recognized over a weighted-average period of 1.8 years.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee Stock Purchase Plan</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><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><td style="width:52.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.053%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.60 - 5.16%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.17 - 4.60%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.06 - 0.17%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected life (months)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.00</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.00</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.00</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47.38 - 67.84%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47.05 - 67.84%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53.44 - 65.53%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 0 P10Y 0.15 P6M 0.85 171991 142982 22.30 27.09 743893 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense for the years ended December 31, 2023, 2022 and 2021, respectively:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options and other</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,550 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,103 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,553 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,442 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,542 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation expense</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,989 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,095 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,840 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,172 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketing and sales</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,426 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,295 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,736 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,556 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,833 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,889 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,931 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation expense</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,989 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,095 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 14550000 16103000 17553000 1439000 1442000 1542000 15989000 17545000 19095000 1840000 2172000 2595000 3426000 3295000 3736000 2556000 2189000 2833000 8167000 9889000 9931000 15989000 17545000 19095000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><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><td style="width:52.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.053%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.55 - 4.55%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.94 - 3.40%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.80 - 1.12%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected life (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2 - 6.25</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49.23 - 55.92%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45.95 - 46.03%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45.28 - 45.53%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average grant date fair value</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$16.36</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$23.11</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$128.14</span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 0.0355 0.0455 0.0194 0.0340 0.0080 0.0112 P2Y P6Y3M P6Y3M P6Y3M 0.4923 0.5592 0.4595 0.4603 0.4528 0.4553 0 0 0 16.36 23.11 128.14 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Exercise Price</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at January 1, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">229,531</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86.46 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,901</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128.14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(28,991)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58.78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cancelled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25,057)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">109.31 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">233,384</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97.78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118,434</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,114)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30.58 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cancelled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(84,712)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89.32 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">263,992</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79.07 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">186,804</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33.36 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cancelled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(63,635)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62.44 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expired</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(15,848)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55.67 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding at December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">371,313</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59.92 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable at December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">116,455</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90.65 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 229531 86.46 57901 128.14 28991 58.78 25057 109.31 233384 97.78 118434 48.24 3114 30.58 84712 89.32 263992 79.07 186804 33.36 0 0 63635 62.44 15848 55.67 371313 59.92 116455 90.65 P10Y P4Y 0 0 3800000 P7Y2M12D 900000 P5Y6M 0 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about stock options outstanding at December 31, 2023:</span></div><div style="margin-top:12pt"><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><td style="width:25.415%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.995%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Options Outstanding, Vested and Expected to Vest</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Options Exercisable</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Range of Exercise Prices</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number Outstanding</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Contractual <br/>Life</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price ($)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number Exercisable</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price ($)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$32.13 to $36.48</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">167,725</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.92</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33.40</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$36.49 to $64.92</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,391</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.45</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50.60</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,242</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52.90</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.93 to $180.46</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">103,197</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.75</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112.87</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79,213</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108.40</span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 32.13 36.48 167725 P7Y11M1D 33.40 0 0 36.49 64.92 100391 P7Y5M12D 50.60 37242 52.90 64.93 180.46 103197 P5Y9M 112.87 79213 108.40 3800000 P2Y6M 1800000 2300000 2100000 P4Y <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes restricted stock activity for the years ended December 31, 2023, 2022 and 2021: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Restricted <br/>Stock Awards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant Date<br/>Fair Value<br/>Per Share</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at January 1, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">307,199</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98.87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">205,996</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">123.61 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(115,908)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">91.26 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(53,505)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128.05 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">343,782</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111.79 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">315,432</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42.03 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(130,452)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.32 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(50,166)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96.48 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">478,596</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70.36 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">410,682</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32.46 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(137,053)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79.61 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(98,760)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61.25 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock at December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">653,465</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45.89 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 307199 98.87 205996 123.61 115908 91.26 53505 128.05 343782 111.79 315432 42.03 130452 101.32 50166 96.48 478596 70.36 410682 32.46 137053 79.61 98760 61.25 653465 45.89 18500000 P2Y6M 0 2 P3Y <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes performance stock activity for the years ended December 31, 2023, 2022 and 2021: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Performance<br/>Stock Awards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant Date<br/>Fair Value<br/>Per Share</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at January 1, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,956</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118.66 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,078</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">203.64 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance change</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,366)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">192.95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,829)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113.91 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at December 31, 2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,839</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">115.56 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,697</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96.71 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance change</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,156)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">99.59 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,578)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121.79 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,802</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77.91 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,295</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57.79 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictions lapsed</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance change</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance stock at December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,097</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74.08 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 19956 118.66 15078 203.64 0 0 -10366 192.95 7829 113.91 16839 115.56 35697 96.71 0 0 -13156 99.59 3578 121.79 35802 77.91 71295 57.79 0 0 0 0 0 0 107097 74.08 4100000 P1Y9M18D <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><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><td style="width:52.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.053%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.60 - 5.16%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.17 - 4.60%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.06 - 0.17%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected life (months)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.00</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.00</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.00</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47.38 - 67.84%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47.05 - 67.84%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53.44 - 65.53%</span></div></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 0.0460 0.0516 0.0017 0.0460 0.0006 0.0017 P6Y P6Y P6Y 0.4738 0.6784 0.4705 0.6784 0.5344 0.6553 0 0 0 Leases<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to leases was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,628 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current operating lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,561 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term operating lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,008 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,255 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,816 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finance lease assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,532 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current finance lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term finance lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finance lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,537 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Twelve Months Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease cost</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,965 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finance lease cost:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization of right-of-use assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">732 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">532 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest on lease obligations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variable lease cost</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">371 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">560 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease cost</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,123 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,189 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Year Ending December 31,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,428 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">292 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After 2029</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,826 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">950 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less interest</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(233)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(59)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, we have no operating or finance leases that have not yet commenced.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate was as follows: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Remaining Lease Term - operating leases (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Remaining Lease Term - finance leases (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.6</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36.0</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Discount Rate - operating leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Discount Rate - finance leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Twelve Months Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash paid for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating cash flows from operating leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,778 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing cash flows from finance leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">306 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">531 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease assets obtained in exchange for new operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">898 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease assets obtained in exchange for new financing lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">240 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> Leases<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to leases was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,628 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current operating lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,561 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term operating lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,008 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,255 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,816 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finance lease assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,532 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current finance lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term finance lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finance lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,537 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Twelve Months Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease cost</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,965 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finance lease cost:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization of right-of-use assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">732 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">532 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest on lease obligations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variable lease cost</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">371 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">560 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease cost</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,123 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,189 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Year Ending December 31,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,428 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">292 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After 2029</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,826 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">950 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less interest</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(233)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(59)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, we have no operating or finance leases that have not yet commenced.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate was as follows: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Remaining Lease Term - operating leases (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Remaining Lease Term - finance leases (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.6</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36.0</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Discount Rate - operating leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Discount Rate - finance leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Twelve Months Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash paid for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating cash flows from operating leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,778 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing cash flows from finance leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">306 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">531 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease assets obtained in exchange for new operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">898 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease assets obtained in exchange for new financing lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">240 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to leases was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,628 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current operating lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,561 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term operating lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,008 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,255 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,816 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finance lease assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,532 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current finance lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term finance lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finance lease liabilities</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,537 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Twelve Months Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease cost</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,965 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finance lease cost:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization of right-of-use assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">732 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">532 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest on lease obligations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variable lease cost</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">371 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">560 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease cost</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,123 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,189 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Twelve Months Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash paid for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating cash flows from operating leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,778 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing cash flows from finance leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">306 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">531 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease assets obtained in exchange for new operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">898 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease assets obtained in exchange for new financing lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">240 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> 4628000 3844000 1585000 1561000 3008000 2255000 4593000 3816000 960000 17532000 296000 17537000 595000 0 891000 17537000 1965000 3002000 732000 532000 1055000 95000 371000 560000 4123000 4189000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Year Ending December 31,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,428 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">292 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After 2029</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,826 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">950 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less interest</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(233)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(59)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of operating and finance lease liabilities as of December 31, 2023 were as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Year Ending December 31,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,428 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">292 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">397 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After 2029</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,826 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">950 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less interest</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(233)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(59)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of lease liabilities</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 1622000 329000 1428000 329000 819000 292000 449000 0 397000 0 111000 0 4826000 950000 233000 59000 4593000 891000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate was as follows: </span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Remaining Lease Term - operating leases (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Remaining Lease Term - finance leases (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.6</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36.0</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Discount Rate - operating leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted Average Discount Rate - finance leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div> P3Y7M6D P2Y10M24D P2Y7M6D P36Y 0.025 0.016 0.044 0.059 2288000 3778000 1055000 95000 306000 531000 2324000 898000 240000 16167000 Accumulated Other Comprehensive Loss<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive loss is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. During the year ending December 31, 2023 we recognized a $3.9 million foreign currency translation loss from the completion on the closure of our Japan business.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2023, 2022 and 2021, respectively:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(34,355)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,817)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,420)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Foreign currency translation adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,459 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts reclassified from accumulated other comprehensive income (loss)</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,906 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net current-period other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,365 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,278)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,278)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Net unrealized gains (losses) on investments in securities</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,260)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(119)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts reclassified from accumulated other comprehensive income (loss)</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net current-period other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">977 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,260)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(119)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(28,013)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(34,355)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,817)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> -3900000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2023, 2022 and 2021, respectively:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(34,355)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,817)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,420)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Foreign currency translation adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,459 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts reclassified from accumulated other comprehensive income (loss)</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,906 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net current-period other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,365 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,278)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,278)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Net unrealized gains (losses) on investments in securities</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,260)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(119)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts reclassified from accumulated other comprehensive income (loss)</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net current-period other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">977 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,260)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(119)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(28,013)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(34,355)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,817)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> -34355000 -16817000 -3420000 1459000 -16278000 -13278000 -3906000 0 0 5365000 -16278000 -13278000 977000 -1260000 -119000 0 0 0 977000 -1260000 -119000 -28013000 -34355000 -16817000 Income Taxes<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended December 31, 2023, 2022 and 2021, the Company recorded an income tax provision of $10.7 million, $5.6 million and $6.8 million, respectively. The effective income tax rate for the years ended December 31, 2023, 2022 and 2021 was 38.4 percent, (5.7) percent and 17.0 percent, respectively.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effective tax rate increased by 44.1% for the year ended December 31, 2023 when compared to 2022 primarily due to the tax rate impact of the goodwill impairment recorded during the year ended December 31, 2022 as well as the overall change from a loss to income position in 2023.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Domestic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,099 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,731 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42,449 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,147)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(131,608)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,265)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,952 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(97,877)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,184 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of the provision for income taxes for the following periods are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,366 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,552 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,418 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(393)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">975 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(99)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,202)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,159)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(377)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(385)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(723)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(814)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,379 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,641)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,181)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation Allowance</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(229)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,234 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,721 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,732 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,585 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,812 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal tax statutory rate</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State tax (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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Share based compensation</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation allowance against deferred tax assets</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill impairment</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(24.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration reduction</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3.8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign rate differential</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax reserves</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provision to return difference</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrealized foreign exchange 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revaluation of deferred tax liability</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Closure of Japan branch net operating loss reversal</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Miscellaneous</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38.4 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of deferred tax assets and liabilities are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,155 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,254 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Section 174 expenses</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,084 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,119 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,186 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Warrants and 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,588 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,087 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">275 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">198 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,374 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,094 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">838 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net operating loss</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,237 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,586 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less valuation allowance</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(17,667)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(17,562)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,279 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,716 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25,552)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29,397)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,716)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,362)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,103)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,186)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,822)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(42,021)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(48,038)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net deferred tax liability</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(18,742)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(26,322)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recorded no U.S. deferred taxes related to the undistributed earnings of its non-U.S. subsidiaries as of December 31, 2023. Such amounts are intended to be reinvested outside of the United States indefinitely. It is not practicable to estimate the amount of additional tax that might be payable on the foreign earnings. As of December 31, 2023, the Company had accumulated undistributed earnings in non-U.S. subsidiaries of $3.4 million.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, the Company had estimated net operating loss carry forwards of $16.2 million for tax purposes. The net operating losses relate to operations in Germany and Netherlands. Germany net operating losses may be carried forward without any time limitations but are limited to €1 million, plus 60 percent of taxable income exceeding €1 million. Netherlands net operating losses may be carried forward without any time limitations, but are limited to €1 million, plus 50 percent of taxable income exceeding €1 million.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than-not that a portion of the deferred tax assets will not be realized. The Company's valuation allowances of $17.7 million and $17.6 million at December 31, 2023 and 2022, respectively, reduce the carrying value of deferred tax assets associated with certain net operating loss carry forwards and other assets with insufficient positive evidence for recognition. The increase in the valuation allowance is primarily attributable to additional net operating losses generated in 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is no longer subject to U.S. federal, state, or foreign income tax examinations by tax authorities for years before 2019.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has liabilities related to unrecognized tax benefits totaling $3.6 million and $3.2 million at December 31, 2023 and 2022, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.408%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,364 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additions for tax positions of current year</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">634 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additions for tax positions of prior years</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Decrease related to the expiration of statutes of limitations</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(338)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reduction for tax positions of prior years</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,785)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at period end</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,616 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,236 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div> 10700000 5600000 6800000 0.384 -0.057 0.17 -0.441 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Domestic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,099 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,731 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42,449 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,147)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(131,608)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,265)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,952 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(97,877)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,184 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 38099000 33731000 42449000 -10147000 -131608000 -2265000 27952000 -97877000 40184000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of the provision for income taxes for the following periods are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,366 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,552 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,418 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(393)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">975 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(99)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,202)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,159)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(377)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(385)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(723)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(814)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,379 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,641)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,181)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation Allowance</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(229)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,234 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,721 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,732 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,585 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,812 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 15717000 15366000 5552000 2418000 -393000 975000 34000 -99000 -64000 -8202000 -9159000 -377000 -385000 -723000 -814000 1379000 -4641000 -1181000 -229000 5234000 2721000 10732000 5585000 6812000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal tax statutory rate</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State tax (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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Share based compensation</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation allowance against deferred tax assets</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill impairment</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(24.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration reduction</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3.8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign rate differential</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax reserves</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provision to return difference</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrealized foreign exchange 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revaluation of deferred tax liability</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Closure of Japan branch net operating loss reversal</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Miscellaneous</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38.4 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 0.210 0.210 0.210 0.035 -0.008 0.021 0.060 -0.021 -0.023 -0.024 -0.050 0.089 0 -0.244 0 0 0 -0.070 0.038 -0.012 0.040 -0.016 0.029 -0.022 0.019 0.010 -0.010 -0.002 0 -0.007 0.029 0 0 0.011 0 0 0.111 0 0 -0.011 0.005 0.022 0.384 -0.057 0.170 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of deferred tax assets and liabilities are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,155 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,254 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Section 174 expenses</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,084 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,119 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,186 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Warrants and 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,588 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,087 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">275 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">198 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,374 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,094 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">838 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net operating loss</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,237 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,586 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less valuation allowance</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(17,667)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(17,562)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,279 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,716 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25,552)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29,397)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,716)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,362)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,103)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leases</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,186)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,822)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(42,021)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(48,038)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net deferred tax liability</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(18,742)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(26,322)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 2155000 2254000 13084000 8119000 1186000 4822000 4588000 4087000 275000 198000 2327000 2374000 1094000 838000 16237000 16586000 17667000 17562000 23279000 21716000 25552000 29397000 12921000 10716000 2362000 3103000 1186000 4822000 42021000 48038000 18742000 26322000 0 3400000 16200000 0.60 0.50 17700000 17600000 3600000 3200000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:</span></div><div style="margin-top:12pt"><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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.408%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,364 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additions for tax positions of current year</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">634 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additions for tax positions of prior years</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Decrease related to the expiration of statutes of limitations</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(338)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reduction for tax positions of prior years</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,785)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at period end</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,616 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,236 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div> 3236000 4364000 632000 634000 86000 23000 338000 0 0 1785000 3616000 3236000 Litigation<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company may be subject to various legal proceedings and claims that arise in the ordinary course of its business. Although the results of litigation and claims cannot be predicted with certainty, the Company does not believe it is a party to any litigation the outcome of which, if determined adversely, would individually or in the aggregate be reasonably expected to have a material adverse effect on its business.</span></div> Segment Reporting<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does not allocate directly to its operating segments.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue in the United States and Europe is derived primarily from Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Revenue in Japan was derived from Injection Molding and CNC Machining product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined and lathe-turned customer parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal parts.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accounting policies of the reportable segments are the same as those described in Note 2 – Summary of Significant Accounting Policies. Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income (loss) from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue and income from operations by reportable segment are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">396,821 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">384,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,399 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,229 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">503,877 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,398 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488,098 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income (Loss) from Operations:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,682 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93,176 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98,001 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,528)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(130,386)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">730 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate Unallocated and Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(53,987)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(60,773)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(58,389)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total income (loss) from operations</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,167 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(97,983)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,342 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Long-lived assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">201,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">203,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">215,701 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52,267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,835 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,388 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,257 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total long-lived assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">253,655 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">257,785 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">280,346 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expenditures for additions to long-lived assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,553 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,538 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,698 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,137 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,378 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expenditures for additions to long-lived assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,116 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,686 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,209 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Depreciation and Amortization:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,642 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,861 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,101 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">989 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,745 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total depreciation and amortization</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,528 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,425 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 396821000 387399000 384458000 107056000 92770000 90399000 0 8229000 13241000 503877000 488398000 488098000 <div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income (Loss) from Operations:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,682 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93,176 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98,001 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,528)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(130,386)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">730 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate Unallocated and Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(53,987)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(60,773)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(58,389)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total income (loss) from operations</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,167 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(97,983)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,342 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 94682000 93176000 98001000 -12528000 -130386000 730000 -53987000 -60773000 -58389000 28167000 -97983000 40342000 <div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:</span></div><div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Long-lived assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">201,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">203,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">215,701 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52,267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,835 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,388 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,257 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total long-lived assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">253,655 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">257,785 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">280,346 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 201388000 203816000 215701000 52267000 53835000 59388000 0 134000 5257000 253655000 257785000 280346000 <div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expenditures for additions to long-lived assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,553 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,538 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,698 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,137 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,378 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expenditures for additions to long-lived assets</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,116 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,686 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,209 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 24553000 17538000 26698000 3563000 4137000 7378000 0 11000 133000 28116000 21686000 34209000 <div style="margin-top:12pt"><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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Depreciation and Amortization:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,642 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,861 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,101 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Japan</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">989 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,745 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total depreciation and amortization</span></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,528 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,425 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 30667000 31666000 31642000 6861000 6770000 7101000 0 989000 1745000 37528000 39425000 40488000 false false false false

  • OW\%KX!*^%:HV3.9F&EJB MZ%X49BV=>4,G.D!G&,%7)6UAX*/,,7\.$)*V3F#T)' >'46\QNP4XN%[B 91 MW$/HZN7AT1$Z<9?OV./%!_!V$JR.)/@]?-QDHLZY7,%EJ6I).;]!33F7SF05 M[3/Z)-JP!=I:2P-_+Y000-_XFNG\>]\1- Q'_0S=M7%A*I;A+*![P:!^Q"!] M\VJ8##[TI>\W@3U+YJA+YN@8>CIG@LD,@5FXQQ67/B^4T@HU5WF?] 9O[/'< M!?>8QE&<3,/';4G[3J,X&75.SZB>=53/CE*]S'/N3MP W;Q@Z;PJ95H+,X0FNZG>=W%% MVD=YW%$>'Z5,!4O=S""U&,$LU0;5B2T0<%-QW16=L MQ9,XGNSHV'<:],N8=#(F1V4L,*^;1O=?,C\Y0JDSU]: MCTT) LK>,CS?+\-DN/MM]#AMUVK#,-QJ?27JE9\(#&3NNFR:1&?MAHY+WVMW M[',:1IK9X5^89I+YRC3=+08$+@ER<#JF0M/-=- LK*I\@[U7EMJU?RQHH$+M M'&A_J91]6K@7="-:^@]02P,$% @ 2FY06(7SE3#' P /!0 !D !X M;"]W;W)K&ULM5A=;]LV%/TKA%8,+;!&GY;DS!:0 M1&V7846#N-D>ACTPTK4M5")5DK9;8#]^I*3(DJUH-LJ\Q"1USS'O(8]R?6<[ MRK[P-8! WXJ<\+FQ%J*\-$V>K*' _(*60.23)64%%G+*5B8O&>"T A6YZ5B6 M;Q8X(T8TJ];N6#2C&Y%G!.X8XINBP.S[->1T-S=LXVGA/ENMA5HPHUF)5[ M\5#>,3DS6Y8T*X#PC!+$8#DWKNS+V/85H(KX,X,=[XR12N61TB]JBO'6R ;0(_?T0>@*X;+=9:@*WFM.'H=@\!9 MSM_(N(=%C%Z_>H->H8R@SVNZX9BD?&8*N2_%;B;-'J[K/3C/[,%VT$=*Q)JC M=R2%M$]@RH3:K)RGK*Z=4<88D@ODVK\@QW+<@0W=G YW!N#QZ7![)!NW/2.W MXG-//J-;4CM>.>?O/V0XNA50\'^&M*^YO6%N]5JYY"5.8&[(]P8'M@4C^ODG MV[=^'=)-)UFLB:RGJ==JZHVQ1Y^IP+E\<54W?4BV&AY4I"-%=DT'RC'.=> )UDL2:R MGG9^JYW_@J;R=6JJDRS61-;3-&@U#7[,5#7<_S]3'8<-FFHP[%E3A6T2X9FF M0O^B!Y()2-%"8 &#)AOE//="Z"2+-9'UM)RV6DY?T&13G9KJ)(LUD?4TM:U] MR6;]F,T:?-<9[M0/53'2\]E07!BXT^F!T0;C/&_RC-/L3O%IG^^U=QLF?]8, MYC7*=NZ-T,H6ZV+K*^GLE71>T&D-N2YA=;+%NMCZPNYK;WNT##W!;.Z1.6PK ML";^H=F.XZ9.$%B'7AL(L[J6[.>QKW?M\8)WT&J_XQ*3P:1&R4FG::W&M;+%NMCZPNX+S#SQF=MHJ!;!5U9[B**$;(NI>1+O:ML"NJL;/P?JU:HU5[9H]3=U7^XC9 M*B,B)H635O'JD0M*B&:\ I,!4@GR\I%4\3]05MPS#Z M#U!+ P04 " !*;E!8PJG"5? # #3% &0 'AL+W=O0F$ MYY0@!HNI=>U>)6ZH$NJ(/W/8\+UCI*@\4?I9G=QE4\M1*X("4J$@L/QZAELH M"H4DU_&E!;6Z>ZK$_>,M^H>:O"3SA#G"'!;Q/\ MUR8$;4)0*]-0J75(L,"S":,;Q%2T1%,'M9AUMJ2?$[7O<\'DK[G,$[,Y+.4N M"O0 %64B)TOT#MV1E): /C!:HC\J8+C>H:=OZ!>@2X:K59ZB:UED'%TD('!> M\+H(LW;]$;E!/T:477').,3VPA5ZGN9:?MBFZ:%7DOK,CUT$=*Q(JC M]R2#K ]@2WH=1V_+\<8;1$P@O42^^Q/R',_7+.CV]>F>)CUY?;H[P,;O=LRO M\?Q7[]@=:?RO=NGOWV4XNA-0\G]TVC?8@1Y;/62N>(53F%KR*<*!/8,U^_$' M-W1^UNEF$BPQ!-;3-.@T#8;09Y^HP(6LV[KN+PK*944O5/G3;?EK"[D!C6I0 M]8!]GGFQ&T83^WE?I>.H=^-H'/O]L.0X+'#\P.NB>L1&';'1(+'6OK)(VK+1 M\AC$.+4H3((EAL!ZVH6==N$9C1::U-0D6&((K*=IU&D:G<-H#6CX/T8[CM(: M[3ALP&AQ1RP^T6CH7_1(<@$9F@LL0,MK$//4(C$)EA@"ZVDY[K0J^7<9!&'L'WM.%^6X4'GA/%Q8[CJLWG[O7Q;JG MV^_]FDEN6E*#:*<6B5&TQ!1:7TEOIZ1W1O.UX*:$-8F6F$+K"[MKV]W!#O:[ M_>M?+NZ)S.--KD&T5+3*'UA=WU M^>Y@R_O=S@R/_]B-_'%\V);JXD(GB@[[4BU>[,?C V_:>].>$MBRGIIQE-(U M$:NZWG4P?4;-;&KIT@[F&;<]Q&S94XX*F A(9W+2&X0:R9HS8F@ M53U3>J)"T+(^7 '.@*D ^?N"4K$]43?HYIBS_P!02P,$% @ 2FY06 DQ M%5Z9 P \1, !D !X;"]W;W)K&ULM5A=;]LV M%/TKA%8,+=!&HKZL9+: --I'B@P+XF1[&/; V->V4$G42#IN@?[XDI0B6S:C MV0/S8HO2/4?W'MTC7W.\H>PS7P$(]*4L*CYQ5D+4%Z[+9RLH"3^C-53RRH*R MD@BY9$N7UPS(7(/*PO4]+W9+DE=..M;G;EDZIFM1Y!7<,L3794G8UX]0T,W$ MP<[SB;M\N1+JA)N.:[*$*8B'^I;)E=NQS/,2*I[3"C%83)Q+?)'A2 %TQ)\Y M;/C.,5*E/%+Z62VNYQ/'4QE! 3.A*(C\>H(K* K%)//XMR5UNGLJX.[Q,_LO MNGA9S"/A<$6+O_*Y6$V[HYC=H"]()SFC!]2?:M+&>@V9K+FC9 M@F4&95XUW^1+*\0. (N0$4'2,:,;Q%2T M9%,'6DR-EN7GE7KN4\'DU5SB1#J%I7R* MU!39G(JR7Z@&YHM?QP(Q_''%UR M#H*CQZ_H5Z!+1NI5/D.7LL$X>IN!('G!WTG$PS1#;]^\0V]07J'[%5US4LWY MV!4R0W4?=]9F\[')QG\AFPQF9RC [Y'O^8$!?G4\W#? L^/AN ]WI:R=MGZG MK:_Y@J.UO:X:IZJ.__M&AJ-K 27_QZ14PQV:N=7KX(+79 831_J= WL")_WQ M!QQ[/YETLTF662+K:1ITF@9#[.D]%:1 A>K00GI#6.3++-$ MUM,NZK2+7M&$D4U-;9)EELAZFL:=IK$M$S9$\7^9T!1F,&%\Z-7$"\*X"^N5 M,^K*&9UH+_0-/52YD)5-!1%@K&R0\]36L$F662+K:9ET6B:O:+?$IJ8VR3)+ M9#U-SSM-SVW9[?S01QX.DF3/;J:P(,'QGMT,83@:>=AL-^QM9T[O=,/]O&;R MWXQQ9AQD.[4MK+)EMMCZ2NY,[_@5[=:2VQ+6)EMFBZTO['9TQX-3["F>:YEV M;1+Y?CS:\YPI+$B"_9\X4]CYKH/[!6WG9CP\.!L]]XG4I#+69&G<;4NWR9;9 M8NL+N9W%F M N3U!:7B>:$V<;I=OO0[4$L#!!0 ( $IN4%B[3:F>D0, #\1 9 M>&PO=V]R:W-H965T MY!8DHTZ\,'U7/%ZPO3LL'2P\]AQG6UW4G>X\:(D6UB! MO"VON&JY#4N:%4!%QBCBL%DZ)_@XP8$&F(B_,SB(UC/24NX8^ZD;%^G2\71& MD,-::@JB_N[A#/)<,ZD\_JU)G69,#6P_/[+_8<0K,7=$P!G+_\E2N5LZ,P>E ML"'[7%ZSPY]0"YIHOC7+A?E%ASK6<]!Z+R0K:K#*H,AH]4\>:B-: !R] /!K M@-\'A"\ @AH0O!80UH#0.%-),3XD1))XP=D!<1VMV/2#,=.@E?R,ZGE?2:[> M9@HGXQ5LU2Q*= TEXS*C6_0%G3^H595FK!'WZ\!E]0!E%-SNV%X2F8N%*E:L>T5W7>9U6 M>?DOY(5]](U1N1/HG*:0=@E<);)1ZC\J/?5'&1-8'Z$ _XY\SP\&$CI[/=P? M@">OA^,1-4$S;X'A"UX];Q>TV@5T-7V_5.'H0D(A?@QY7W&'P]QZJSD6)5G# MTE%[B0!^#T[\\3<<>5^'?+-)EE@BZW@:-IZ&8^SQ#9,D1]!>_K/S>HG9O4/V5L-,S7#Z(WW/O9G&$<+][[MVT 4CF:]J.1Y5!#ZWKR)ZBB= M-$HGHTIO:2:5@I4D$@85C,+?ND!LDB66R#JV18UMT3L676334YMDB26RCJ?3 MQM/IKRFZ:IBH74[A9!+TBNYY%)Y.@EFOZ :XHF@^&RZZ6:-T-JKT?,_5<6TH M]5'<6U>&3;+$$EG'KWGCU_P=JVUNTU.;9(DELHZGV'LZ[WF_IM[J<=I%$DRB M?KT-1(4XF/;J;2!J&DQ?J#?<.MOB4:U_D9+0P=Q'<6]='5;9$EML7<_\)\_\ M=ZRZFMR6L3;9$EML76.?#NQX].QJL?""9T="KU]UST,P[M?<0$P0]$K.;=TL M"^!;D= M3=4)CU>W]:HA66GNKW=,JMNP>=P!28'K /5^PYA\;.@!FF\F\?]02P,$% M @ 2FY06/*72?)U P YQ !D !X;"]W;W)K&ULM5C1;J,X%/T5BQFM9J39@H% TDV0VC*K[6A'JIKI[L-H'ERX2=" S=A. M,[M?O[:A!"A%[8J\)-C<<[CWV ?YLCPP_EWL "3Z6>14K*R=E.6Y;8MD!P41 M9ZP$JNYL&"^(5$.^M47)@:0&5.2VZSB!79",6M'2S-WP:,GV,L\HW' D]D5! M^#^7D+/#RL+6X\1MMMU)/6%'RY)L80WRKKSA:F0W+&E6 !49HXC#9F5=X/,8 M>QI@(O[*X"!:UTB76HS."'!*I*8CZ>X KR'/-I/+X49-:S3,U ML'W]R/Z[*5X52P%^#?"-,E4I1H>8 M2!(M.3L@KJ,5F[XP8AJT*C^C>MW7DJN[F<+): U;M8H2W4+)N,SH%OV*8E!; M*,F(69@+FJ*+0M_[MYIX%X,D62[>J\B[=8S>O7V/WJ*,HB\[MA>$IF)I2Y69 MYK>3.HO+*@OWF2RPBSXS*G<"?:0II%T"6Y74U.4^UG7ICC+&D)PA#W] KN-Z M PE=O1SN#L#CE\/Q2#5>LTJ>X?->O$K7M/*\7I&O?ZIP="VA$-^&M*^X_6%N M_6(Y%R5)8&6I91? '\"*?GF# ^>W(=VF)(LG(NMHZC>:^F/LT1$:V] MKC8O(JV]/B1F11H:4OU2?8B\<.;.E_9#6Z6!J(7OSKI1\=,HW_'G1ZY.7;.F MKMEH77Q@2@0ZF/XEZ[ M#Z8DBRZY:R@J M#)V>NP:B0NS@87?AUID4CU;VB91D./=1W&OWPJ1L\51L7@K]WS;SGASNG+['GH8LYHN^Q9X&X="?]2QFMSK OC6 M=-(")6Q/9=4T-;--MWYA>M3>_*7NXDUG>:2I/@%\)GR;48%RV"A*YRQ4IS5> M==750++2])GW3*JNU5SN@*3 =8"ZOV%,/@[T YIO&]%_4$L#!!0 ( $IN M4%@P63:Y.0, .P3 - >&POWJ65@6FM&T M!%(NPEZG$X;IX M^V.AS.V;P-W/WIV==:XZ3Y>WN\A%#5V2T"M\?8 P*HN)Q@>Y[>SSVT'%;PX3 MWZ>-2?>WI:OAYU;($<\Q6N*AV2PM$SH5.:QW>S3(E&PW/2(N8-5ISH)G*H9D M3 6?: ZLC.9%2/G+P5W7@T*L=7(NE:YRNPSN>U(/ MWP'6/3#(A6@,]H@+C 8%-89I>6<[U> J^ (*ZO;CJK .9YJNNKUKTA*JFTTR M43IENDG3)>O0:"!8!G8TG\WA;E01 FB,RFTCY72F)*T\K!EUP\I.F1 /\)1^ MS[:TE]G&OG5@UV33M(;JII-Q'=#?5'/:F[+1JW2#@C\K\VEAIR.K/A0HN]G12%6'P6?R9RYR1^<<#2@:UXP5YK_LMF@5*8VP#0)GIDV M?+H9^:EI\\RJ]V7+_6_H7GZM?* MKF.OR>CF^#W6K_%C-QF?@LF3V.[^*9A,CM]D=)P>P_J0L7&2V3K'--$ SHM# M\@U.GZ)-&DP67!@NZ]Z7*5NR=%QW]6Q2-0/;L%GK"PB[R%UU^1&, MXS _ AB6!W. <1P+R_,_S:>/SL=AF+>^%^FCG#[*<2P?,JX^6!X_)[&7?Z9) M$D5QC*WH>.QU,,;6+8[AQZ^&>0,&E@_/]A3$D5)XD< \SN((@R!IQ%', ?@ 4.BJ'H/[KR/PO5[*FS_OS?Z M#5!+ P04 " !*;E!8EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y M;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI M0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:W MO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%B MM/XU@LD/['X 4$L#!!0 ( $IN4%CR7K_\3 8 ,,U / >&PO=V]R M:V)O;VLN>&ULQ9M=;^(X%(;_BL551UJ6$O+!C*8C]6,Z6ZDSK4HU>[ER$P-6 M$YNUD[;,K]_C .W)-#W:FU.N"DF !P?[>8_M?GZT[O[.VGOQ5)7&'PV6=;WZ M-!KY?*DJZ?^T*V7@S-RZ2M;PU"U&?N64+/Q2J;HJ1]'A83JJI#:#+Y]W[W7M M1OB)K55>:VO@8#CP4ZM'_W(^/!4/VNL[7>IZ?31H'Y=J("IM=*5_J>)H<#@0 M?FD?_[)._[*FEN4L=[8LCP;CS8F?RM4Z?W5X%B!OY9UOC]3R[D8"R-$@/80W MG&OGZ_:*]OTE,#XHN'CSK*GMN2YKY#4/B@7O@]\P$6Q^6XU M0*&6V<] IP0@).] 8J#:XD@8P(R?D?(68 (+_#"SL6IK58(,B$@D[U!SI82=Y.4 M@$SWUY+2+Q%D1D!FO) _9-TX%9A.&J^-\KBO3 FN*2_7K*DJZ=;M'=4+H^%E MTM3B.,]M8VJ-(#\2D!]Y(6_4@S*-PJ/R(34L'S+?2Q5&Y=Q62AQ<6N\_B&OE M0J^MK(%^@3%)>S#KXP+,;1;A0\6Q]S#X_2&^65L\ZK(4TA08D[+)F%DGYU([ M\5.6C1+?E?302]KNB_$HEXR99?)=NGL%609:<:;RQNE:JPX+,/(>.P>IY)7C(\H+$;,7 MR!#\3X0Q*4-$[UY#B(/;D$S\!XQ(:2)BUL0VJ?=R47J(F/5 1O;.'9Y0WI@P M>P/G\ZTX<(K'F)0W)LS>>".R[^XZQJ14,F%626]T[_MI3LC)*F:]]&?X7DQ* M-A-FV3R'^5XRRC 39L.\%4VWH!B3DLR$63*;A-K;>I14)LQ2(:-J=V2DQ#)A M%@N.JKUM2-EEPFR75PFQCS"FQ!(SBX5..!.,28DE9A;++CX,Q0\).3$L$8F# M,QC#==EM2THK,;-67B!WC^[6XINR"R=72YUC3,HK,;-77C"A*)"+A5.;LBK\ M!N SSB^3DDS,+!D:,\:8E&1B9LF0 ;(SFL>4=&)FZ="8G9M. M22=FE@Z-V;GIE'YB9OW0F E>2J05F,23DH8790?]4P%+,E MN'UXBS$I"R5[*6Z&XGN8)-!X#2"A+)3LI[J!YFP3"<:D+)3L92'E.8=@3'(Y M_KU65'I344*9)]G'VDH_)F6>9"^K+,^<&),R3[*GY9;M+Q)C4N9)N N?MS'# M*;P_A#)/REW]O(WYM])X/C^ES),RFX? O%IU]F*DE'E29O.0-[V3,5/*/"GW ML@V)B3-F2IDG93;/=EHH"'&U*MM(),N776L8DS)/RFR>9\SV 32HKWL']Y3< M"/8^4VS/(2@D(JAVKT#M<#%.F"GEH)390<^88?!9AHFWXP<@7"BHRRO9Z>>4 M@U)F!_7_,L.6.G%>VD>,23DH9780/8&)^WE&.2C;YY: 3BV940[*WG%+0,\T M',:D')0Q.^@WS-"4UK35Y-4W&\?RC MKH?UKAS;X:$[E]/ER*;KC^UX6?;;^MRNW]MMJ66Y]+J_GU$]/]W/7+Q^GLO_ M3.PVF_VZ_.S6OX_E-/YC+ ME[=5U;^\I:J>.T@@2.8/4@C2^8,,@FS^H Q!>?X@AR"?/R@@*.8/:B"HF3_H M$8(>YP]*2Y1Q29 TP9I ZX1<)P*O$X*=",1.2'8B,#LAVHE [81L)P*W$\*= M".1.2'BOJK01Z*^JM!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'K; MY&4W@=Z&>AN!WH9Z&X'>AGH;@=Z&>AN!WH9Z&X'>&?7.!'IGU#L3Z)U1[TR@ M=T:],X'>&?7.!'KGR<=* KTSZIT)],ZH=R;0.Z/>F4#OC'IG KT=]78"O1WU M=@*]'?5V KT=]78"O1WU=@*]'?5V KU]\K,)@=Z.>CN!WHYZ.X'>CGH[@=Z! M>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>!WC'Y69! [T"]@T#O M0+V#0.\&]6X(]&Y0[X9 [P;U;KY3[V'\/)3AUO.UQNM_)]7CY=QRN_QU^;5S M,DIC9K$ MEFV@O/V<%) VL0I4I'TWC5K;YSOQD7Y7O?KY%"@M#D,_IDVURSE\82PU.QI< MJGV@L:QL?1Q<+E_C'0NNV;L[8F*U,JSQ8Z8Q+_-4H[J^^D9;=]_GQL3>5"Z+O&Y;+.'L;VKY3ES_UXH!B[EA:W+N;O;BB[V*%G*3_UE.K3)=[HT6^W74.M;^Z'QG)='H92B&*N3O] MBJ^)I?39[T?3M%MJWYE=KO?1Q_T\C\3FQ_EW_.>,7^M_L \!TH<$Z4.!]*%! M^C @?5B0/M8@?5R"],%7*(V@B,I12.4HIG(45#F*JAR%58[B*D>!E:/(*E!D M%2BR"A19!8JL D56@2*K0)%5H,@J4&05*+)*%%DEBJP215:)(JM$D56BR"I1 M9)4HLDH4626*K I%5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K1I%5H\BJ M4635*+)J%%DUBJP:15:-(JM&D56CR&I09#4HLAH460V*K 9%5H,BJT&1U:#( M:E!D-2BR6A19+8JL%D56BR*K19'5HLAJ462U*+):%%DMBJQK%%G7*+*N_Z>L MO[S??W+\_*P'UXTO^6S^8_SU;U!+ 0(4 Q0 ( $IN4%@'04UB@0 +$ M 0 " 0 !D;V-0&UL4$L! A0#% M @ 2FY06'>0O]#N *P( !$ ( !KP &1O8U!R;W!S M+V-O&UL4$L! A0#% @ 2FY06)E&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06$-2?_$Z @ O@4 !@ M ("!@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0# M% @ 2FY06-I".9]7!@ 4!P !@ ("!61T 'AL+W=O M8C !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06(*&PO=V]R:W-H965T&UL4$L! A0#% M @ 2FY06!\HL[@>!P ]!$ !D ("!05X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06.=J5 F+ P >@@ !D M ("!%GH 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 2FY06#&H#DVD P E D !D ("!NI, M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M2FY06"&< ZV=!@ RQ !D ("!JJ4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06.);)YQ"% M_T( !D ("!DK$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06&G[-E54 P 6P< !D M ("!W\P 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 2FY06$M?'&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY0 M6-3*1&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06%0MZ&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06*&EYIM9 @ R04 !D M ("!2 @! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 2FY06&K)Q1JN @ [ 8 !D ("!!A,! 'AL+W=O M[O$# 4 M#@ &0 @('K%0$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06 X_ ML..*! !< !D ("!D!X! 'AL+W=O&PO=V]R:W-H965TE\>Y@( +<) 9 " @0HK 0!X;"]W;W)K&UL4$L! A0#% @ 2FY06'>C_W:_! UAX !D M ("!)RX! 'AL+W=O,P$ <&0 &0 @($=,P$ >&PO M=V]R:W-H965T&UL4$L! A0#% @ 2FY06!JJ0U M! PA8 !D ("! M^#H! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 2FY06-5/NR@- @ Z00 !D ("!J$0! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06,\N((V3 M! <1P !D ("! U,! 'AL+W=O&PO=V]R:W-H965TCCKK00 +46 9 " @5A= 0!X;"]W;W)K&UL4$L! A0#% @ 2FY06/(,P!*#!@ T34 !D M ("!/&(! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 2FY06%T068S[ @ & D !D ("!9'(! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M2FY06+[E]O%B P ?@P !D ("!6'P! 'AL+W=O&PO=V]R:W-H965TZ" 0!X;"]W M;W)K&UL4$L! A0#% @ 2FY06/BY]"EX! M^14 !D ("!;8@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 2FY06$G=!;GG! ?A, !D M ("!TI,! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 2FY06(7SE3#' P /!0 !D ("!U: ! 'AL M+W=O&PO=V]R:W-H965TF0, /$3 9 " M@?JH 0!X;"]W;W)K&UL4$L! A0#% @ 2FY0 M6+M-J9Z1 P /Q$ !D ("!RJP! 'AL+W=O&PO=V]R:W-H965T7!E&UL4$L%!@ !: - %H K1@ +$ 0 $! end XML 100 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 101 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 103 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.0.1 html 244 394 1 false 67 0 false 4 false false R1.htm 0000001 - Document - Cover Sheet http://www.protolabs.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Document - Audit Information Sheet http://www.protolabs.com/role/AuditInformation Audit Information Cover 2 false false R3.htm 0000003 - Statement - Consolidated Balance Sheets Sheet http://www.protolabs.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 3 false false R4.htm 0000004 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 4 false false R5.htm 0000005 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 5 false false R6.htm 0000006 - Statement - Consolidated Statements of Shareholders' Equity Sheet http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity Consolidated Statements of Shareholders' Equity Statements 6 false false R7.htm 0000007 - Statement - Consolidated Statements of Cash Flows Sheet http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 0000008 - Disclosure - Nature of Business Sheet http://www.protolabs.com/role/NatureofBusiness Nature of Business Notes 8 false false R9.htm 0000009 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.protolabs.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 0000010 - Disclosure - Revenue Sheet http://www.protolabs.com/role/Revenue Revenue Notes 10 false false R11.htm 0000011 - Disclosure - Net Income (Loss) Per Common Share Sheet http://www.protolabs.com/role/NetIncomeLossPerCommonShare Net Income (Loss) Per Common Share Notes 11 false false R12.htm 0000012 - Disclosure - Intangible Assets, Goodwill and Other Sheet http://www.protolabs.com/role/IntangibleAssetsGoodwillandOther Intangible Assets, Goodwill and Other Notes 12 false false R13.htm 0000013 - Disclosure - Fair Value Measurements Sheet http://www.protolabs.com/role/FairValueMeasurements Fair Value Measurements Notes 13 false false R14.htm 0000014 - Disclosure - Marketable Securities Sheet http://www.protolabs.com/role/MarketableSecurities Marketable Securities Notes 14 false false R15.htm 0000015 - Disclosure - Property and Equipment Sheet http://www.protolabs.com/role/PropertyandEquipment Property and Equipment Notes 15 false false R16.htm 0000016 - Disclosure - Inventory Sheet http://www.protolabs.com/role/Inventory Inventory Notes 16 false false R17.htm 0000017 - Disclosure - Financing Obligations Sheet http://www.protolabs.com/role/FinancingObligations Financing Obligations Notes 17 false false R18.htm 0000018 - Disclosure - Employee Benefit Plans Sheet http://www.protolabs.com/role/EmployeeBenefitPlans Employee Benefit Plans Notes 18 false false R19.htm 0000019 - Disclosure - Stock-Based Compensation Sheet http://www.protolabs.com/role/StockBasedCompensation Stock-Based Compensation Notes 19 false false R20.htm 0000020 - Disclosure - Leases Sheet http://www.protolabs.com/role/Leases Leases Notes 20 false false R21.htm 0000021 - Disclosure - Accumulated Other Comprehensive Loss Sheet http://www.protolabs.com/role/AccumulatedOtherComprehensiveLoss Accumulated Other Comprehensive Loss Notes 21 false false R22.htm 0000022 - Disclosure - Income Taxes Sheet http://www.protolabs.com/role/IncomeTaxes Income Taxes Notes 22 false false R23.htm 0000023 - Disclosure - Litigation Sheet http://www.protolabs.com/role/Litigation Litigation Notes 23 false false R24.htm 0000024 - Disclosure - Segment Reporting Sheet http://www.protolabs.com/role/SegmentReporting Segment Reporting Notes 24 false false R25.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 25 false false R26.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 26 false false R27.htm 9954471 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.protolabs.com/role/SummaryofSignificantAccountingPolicies 27 false false R28.htm 9954472 - Disclosure - Nature of Business (Tables) Sheet http://www.protolabs.com/role/NatureofBusinessTables Nature of Business (Tables) Tables http://www.protolabs.com/role/NatureofBusiness 28 false false R29.htm 9954473 - Disclosure - Revenue (Tables) Sheet http://www.protolabs.com/role/RevenueTables Revenue (Tables) Tables http://www.protolabs.com/role/Revenue 29 false false R30.htm 9954474 - Disclosure - Net Income (Loss) Per Common Share (Tables) Sheet http://www.protolabs.com/role/NetIncomeLossPerCommonShareTables Net Income (Loss) Per Common Share (Tables) Tables http://www.protolabs.com/role/NetIncomeLossPerCommonShare 30 false false R31.htm 9954475 - Disclosure - Goodwill and Other Intangible Assets (Tables) Sheet http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsTables Goodwill and Other Intangible Assets (Tables) Tables 31 false false R32.htm 9954476 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.protolabs.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.protolabs.com/role/FairValueMeasurements 32 false false R33.htm 9954477 - Disclosure - Marketable Securities (Tables) Sheet http://www.protolabs.com/role/MarketableSecuritiesTables Marketable Securities (Tables) Tables http://www.protolabs.com/role/MarketableSecurities 33 false false R34.htm 9954478 - Disclosure - Property and Equipment (Tables) Sheet http://www.protolabs.com/role/PropertyandEquipmentTables Property and Equipment (Tables) Tables http://www.protolabs.com/role/PropertyandEquipment 34 false false R35.htm 9954479 - Disclosure - Inventory (Tables) Sheet http://www.protolabs.com/role/InventoryTables Inventory (Tables) Tables http://www.protolabs.com/role/Inventory 35 false false R36.htm 9954480 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.protolabs.com/role/StockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.protolabs.com/role/StockBasedCompensation 36 false false R37.htm 9954481 - Disclosure - Leases (Tables) Sheet http://www.protolabs.com/role/LeasesTables Leases (Tables) Tables http://www.protolabs.com/role/Leases 37 false false R38.htm 9954482 - Disclosure - Accumulated Other Comprehensive Loss (Tables) Sheet http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossTables Accumulated Other Comprehensive Loss (Tables) Tables http://www.protolabs.com/role/AccumulatedOtherComprehensiveLoss 38 false false R39.htm 9954483 - Disclosure - Income Taxes (Tables) Sheet http://www.protolabs.com/role/IncomeTaxesTables Income Taxes (Tables) Tables http://www.protolabs.com/role/IncomeTaxes 39 false false R40.htm 9954484 - Disclosure - Segment Reporting (Tables) Sheet http://www.protolabs.com/role/SegmentReportingTables Segment Reporting (Tables) Tables http://www.protolabs.com/role/SegmentReporting 40 false false R41.htm 9954485 - Disclosure - Summary of Significant Accounting Policies (Details) Sheet http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails Summary of Significant Accounting Policies (Details) Details http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies 41 false false R42.htm 9954486 - Disclosure - Revenue - Narrative (Details) Sheet http://www.protolabs.com/role/RevenueNarrativeDetails Revenue - Narrative (Details) Details 42 false false R43.htm 9954487 - Disclosure - Revenue - Revenue by Geographic Areas (Details) Sheet http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails Revenue - Revenue by Geographic Areas (Details) Details 43 false false R44.htm 9954488 - Disclosure - Revenue - Disaggregation of Revenue (Details) Sheet http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails Revenue - Disaggregation of Revenue (Details) Details 44 false false R45.htm 9954489 - Disclosure - Net Income (Loss) Per Common Share - Narrative (Details) Sheet http://www.protolabs.com/role/NetIncomeLossPerCommonShareNarrativeDetails Net Income (Loss) Per Common Share - Narrative (Details) Details http://www.protolabs.com/role/NetIncomeLossPerCommonShareTables 45 false false R46.htm 9954490 - Disclosure - Net Income (Loss) Per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) Sheet http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails Net Income (Loss) Per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) Details http://www.protolabs.com/role/NetIncomeLossPerCommonShareTables 46 false false R47.htm 9954491 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) Sheet http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) Details 47 false false R48.htm 9954492 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details) Sheet http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails Goodwill and Other Intangible Assets - Narrative (Details) Details 48 false false R49.htm 9954493 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Assets Other Than Goodwill (Details) Sheet http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails Goodwill and Other Intangible Assets - Schedule of Intangible Assets Other Than Goodwill (Details) Details 49 false false R50.htm 9954494 - Disclosure - Goodwill and Other Intangible Assets - Future Amortization Expense (Details) Sheet http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails Goodwill and Other Intangible Assets - Future Amortization Expense (Details) Details 50 false false R51.htm 9954495 - Disclosure - Fair Value Measurements - Financial Assets Measured At Fair Value On A Recurring Basis (Details) Sheet http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails Fair Value Measurements - Financial Assets Measured At Fair Value On A Recurring Basis (Details) Details 51 false false R52.htm 9954496 - Disclosure - Marketable Securities - Short-Term and Long-Term Marketable Securities (Details) Sheet http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails Marketable Securities - Short-Term and Long-Term Marketable Securities (Details) Details 52 false false R53.htm 9954497 - Disclosure - Marketable Securities - Maturities of Available-For-Sale Debt Securities (Details) Sheet http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails Marketable Securities - Maturities of Available-For-Sale Debt Securities (Details) Details 53 false false R54.htm 9954498 - Disclosure - Property and Equipment - Summary of Property And Equipment (Details) Sheet http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails Property and Equipment - Summary of Property And Equipment (Details) Details 54 false false R55.htm 9954499 - Disclosure - Property and Equipment - Narrative (Details) Sheet http://www.protolabs.com/role/PropertyandEquipmentNarrativeDetails Property and Equipment - Narrative (Details) Details 55 false false R56.htm 9954500 - Disclosure - Inventory (Details) Sheet http://www.protolabs.com/role/InventoryDetails Inventory (Details) Details http://www.protolabs.com/role/InventoryTables 56 false false R57.htm 9954501 - Disclosure - Financing Obligations (Details) Sheet http://www.protolabs.com/role/FinancingObligationsDetails Financing Obligations (Details) Details http://www.protolabs.com/role/FinancingObligations 57 false false R58.htm 9954502 - Disclosure - Employee Benefit Plans (Details) Sheet http://www.protolabs.com/role/EmployeeBenefitPlansDetails Employee Benefit Plans (Details) Details http://www.protolabs.com/role/EmployeeBenefitPlans 58 false false R59.htm 9954503 - Disclosure - Stock-Based Compensation - Narrative (Details) Sheet http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails Stock-Based Compensation - Narrative (Details) Details 59 false false R60.htm 9954504 - Disclosure - Stock-Based Compensation - Stock-based Compensation Expense (Details) Sheet http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails Stock-Based Compensation - Stock-based Compensation Expense (Details) Details 60 false false R61.htm 9954505 - Disclosure - Stock-Based Compensation - Weighted Average Assumptions (Details) Sheet http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails Stock-Based Compensation - Weighted Average Assumptions (Details) Details 61 false false R62.htm 9954506 - Disclosure - Stock-Based Compensation - Option Activity (Details) Sheet http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails Stock-Based Compensation - Option Activity (Details) Details 62 false false R63.htm 9954507 - Disclosure - Stock-Based Compensation - Stock Options Outstanding (Details) Sheet http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails Stock-Based Compensation - Stock Options Outstanding (Details) Details 63 false false R64.htm 9954508 - Disclosure - Stock-Based Compensation - Stock Activity (Details) Sheet http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails Stock-Based Compensation - Stock Activity (Details) Details 64 false false R65.htm 9954509 - Disclosure - Leases - Supplemental Balance Sheet Information (Details) Sheet http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails Leases - Supplemental Balance Sheet Information (Details) Details 65 false false R66.htm 9954510 - Disclosure - Leases - Lease Cost (Details) Sheet http://www.protolabs.com/role/LeasesLeaseCostDetails Leases - Lease Cost (Details) Details 66 false false R67.htm 9954511 - Disclosure - Leases - Maturities of Operating And Finance Lease Liabilities (Details) Sheet http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails Leases - Maturities of Operating And Finance Lease Liabilities (Details) Details 67 false false R68.htm 9954512 - Disclosure - Leases - Weighted Average Remaining Lease Term And Discount (Details) Sheet http://www.protolabs.com/role/LeasesWeightedAverageRemainingLeaseTermAndDiscountDetails Leases - Weighted Average Remaining Lease Term And Discount (Details) Details 68 false false R69.htm 9954513 - Disclosure - Leases - Supplemental Cash Flow Information (Details) Sheet http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails Leases - Supplemental Cash Flow Information (Details) Details 69 false false R70.htm 9954514 - Disclosure - Accumulated Other Comprehensive Loss - Narrative (Details) Sheet http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails Accumulated Other Comprehensive Loss - Narrative (Details) Details 70 false false R71.htm 9954515 - Disclosure - Accumulated Other Comprehensive Loss - Changes In Accumulated Other Comprehensive Loss (Details) Sheet http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails Accumulated Other Comprehensive Loss - Changes In Accumulated Other Comprehensive Loss (Details) Details 71 false false R72.htm 9954516 - Disclosure - Income Taxes - Narrative (Details) Sheet http://www.protolabs.com/role/IncomeTaxesNarrativeDetails Income Taxes - Narrative (Details) Details 72 false false R73.htm 9954517 - Disclosure - Income Taxes - Components Of Income Before Income Taxes (Details) Sheet http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails Income Taxes - Components Of Income Before Income Taxes (Details) Details 73 false false R74.htm 9954518 - Disclosure - Income Taxes - Provisions For Income Taxes (Detail) Sheet http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail Income Taxes - Provisions For Income Taxes (Detail) Details 74 false false R75.htm 9954519 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate (Detail) Sheet http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail Income Taxes - Reconciliation of Federal Statutory Income Tax Rate (Detail) Details 75 false false R76.htm 9954520 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details) Sheet http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails Income Taxes - Deferred Tax Assets and Liabilities (Details) Details 76 false false R77.htm 9954521 - Disclosure - Income Taxes - Reconciliation Of Unrecognized Tax Benefits (Details) Sheet http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails Income Taxes - Reconciliation Of Unrecognized Tax Benefits (Details) Details 77 false false R78.htm 9954522 - Disclosure - Segment Reporting - Revenue by Geographic Areas (Details) Sheet http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails Segment Reporting - Revenue by Geographic Areas (Details) Details 78 false false R79.htm 9954523 - Disclosure - Segment Reporting - Income From Operation by Geographic Areas (Details) Sheet http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails Segment Reporting - Income From Operation by Geographic Areas (Details) Details 79 false false R80.htm 9954524 - Disclosure - Segment Reporting - Long-Lived Assets by Geographic Areas (Details) Sheet http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails Segment Reporting - Long-Lived Assets by Geographic Areas (Details) Details 80 false false R81.htm 9954525 - Disclosure - Segment Reporting - Expenditures For Additions To Long-Lived Assets (Details) Sheet http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails Segment Reporting - Expenditures For Additions To Long-Lived Assets (Details) Details 81 false false R82.htm 9954526 - Disclosure - Segment Reporting - Depreciation And Amortization (Details) Sheet http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails Segment Reporting - Depreciation And Amortization (Details) Details 82 false false All Reports Book All Reports prlb-20231231.htm prlb-20231231.xsd prlb-20231231_cal.xml prlb-20231231_def.xml prlb-20231231_lab.xml prlb-20231231_pre.xml prlb-20231231_g1.jpg prlb-20231231_g2.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 106 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "prlb-20231231.htm": { "nsprefix": "prlb", "nsuri": "http://www.protolabs.com/20231231", "dts": { "inline": { "local": [ "prlb-20231231.htm" ] }, "schema": { "local": [ "prlb-20231231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "prlb-20231231_cal.xml" ] }, "definitionLink": { "local": [ "prlb-20231231_def.xml" ] }, "labelLink": { "local": [ "prlb-20231231_lab.xml" ] }, "presentationLink": { "local": [ "prlb-20231231_pre.xml" ] } }, "keyStandard": 375, "keyCustom": 19, "axisStandard": 19, "axisCustom": 0, "memberStandard": 46, "memberCustom": 20, "hidden": { "total": 5, "http://xbrl.sec.gov/dei/2023": 4, "http://fasb.org/us-gaap/2023": 1 }, "contextCount": 244, "entityCount": 1, "segmentCount": 67, "elementCount": 679, "unitCount": 4, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 1141, "http://xbrl.sec.gov/dei/2023": 38, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.protolabs.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.protolabs.com/role/AuditInformation", "longName": "0000002 - Document - Audit Information", "shortName": "Audit Information", "isDefault": "false", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "2", "firstAnchor": { "contextRef": "c-1", "name": "dei:AuditorFirmId", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:AuditorFirmId", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "longName": "0000003 - Statement - Consolidated Balance Sheets", "shortName": "Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical", "longName": "0000004 - Statement - Consolidated Balance Sheets (Parenthetical)", "shortName": "Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R5": { "role": "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "longName": "0000005 - Statement - Consolidated Statements of Comprehensive Income", "shortName": "Consolidated Statements of Comprehensive Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R6": { "role": "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity", "longName": "0000006 - Statement - Consolidated Statements of Shareholders' Equity", "shortName": "Consolidated Statements of Shareholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-8", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-8", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows", "longName": "0000007 - Statement - Consolidated Statements of Cash Flows", "shortName": "Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R8": { "role": "http://www.protolabs.com/role/NatureofBusiness", "longName": "0000008 - Disclosure - Nature of Business", "shortName": "Nature of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.protolabs.com/role/SummaryofSignificantAccountingPolicies", "longName": "0000009 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.protolabs.com/role/Revenue", "longName": "0000010 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.protolabs.com/role/NetIncomeLossPerCommonShare", "longName": "0000011 - Disclosure - Net Income (Loss) Per Common Share", "shortName": "Net Income (Loss) Per Common Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.protolabs.com/role/IntangibleAssetsGoodwillandOther", "longName": "0000012 - Disclosure - Intangible Assets, Goodwill and Other", "shortName": "Intangible Assets, Goodwill and Other", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.protolabs.com/role/FairValueMeasurements", "longName": "0000013 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.protolabs.com/role/MarketableSecurities", "longName": "0000014 - Disclosure - Marketable Securities", "shortName": "Marketable Securities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.protolabs.com/role/PropertyandEquipment", "longName": "0000015 - Disclosure - Property and Equipment", "shortName": "Property and Equipment", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.protolabs.com/role/Inventory", "longName": "0000016 - Disclosure - Inventory", "shortName": "Inventory", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.protolabs.com/role/FinancingObligations", "longName": "0000017 - Disclosure - Financing Obligations", "shortName": "Financing Obligations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.protolabs.com/role/EmployeeBenefitPlans", "longName": "0000018 - Disclosure - Employee Benefit Plans", "shortName": "Employee Benefit Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.protolabs.com/role/StockBasedCompensation", "longName": "0000019 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.protolabs.com/role/Leases", "longName": "0000020 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeFinanceLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeFinanceLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLoss", "longName": "0000021 - Disclosure - Accumulated Other Comprehensive Loss", "shortName": "Accumulated Other Comprehensive Loss", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.protolabs.com/role/IncomeTaxes", "longName": "0000022 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.protolabs.com/role/Litigation", "longName": "0000023 - Disclosure - Litigation", "shortName": "Litigation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.protolabs.com/role/SegmentReporting", "longName": "0000024 - Disclosure - Segment Reporting", "shortName": "Segment Reporting", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R25": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": null }, "R26": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "c-244", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-244", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies", "longName": "9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.protolabs.com/role/NatureofBusinessTables", "longName": "9954472 - Disclosure - Nature of Business (Tables)", "shortName": "Nature of Business (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "prlb:ScheduleOfSubsidiariesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "prlb:ScheduleOfSubsidiariesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.protolabs.com/role/RevenueTables", "longName": "9954473 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R30": { "role": "http://www.protolabs.com/role/NetIncomeLossPerCommonShareTables", "longName": "9954474 - Disclosure - Net Income (Loss) Per Common Share (Tables)", "shortName": "Net Income (Loss) Per Common Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsTables", "longName": "9954475 - Disclosure - Goodwill and Other Intangible Assets (Tables)", "shortName": "Goodwill and Other Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.protolabs.com/role/FairValueMeasurementsTables", "longName": "9954476 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.protolabs.com/role/MarketableSecuritiesTables", "longName": "9954477 - Disclosure - Marketable Securities (Tables)", "shortName": "Marketable Securities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.protolabs.com/role/PropertyandEquipmentTables", "longName": "9954478 - Disclosure - Property and Equipment (Tables)", "shortName": "Property and Equipment (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.protolabs.com/role/InventoryTables", "longName": "9954479 - Disclosure - Inventory (Tables)", "shortName": "Inventory (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.protolabs.com/role/StockBasedCompensationTables", "longName": "9954480 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.protolabs.com/role/LeasesTables", "longName": "9954481 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "37", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossTables", "longName": "9954482 - Disclosure - Accumulated Other Comprehensive Loss (Tables)", "shortName": "Accumulated Other Comprehensive Loss (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "38", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.protolabs.com/role/IncomeTaxesTables", "longName": "9954483 - Disclosure - Income Taxes (Tables)", "shortName": "Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "39", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.protolabs.com/role/SegmentReportingTables", "longName": "9954484 - Disclosure - Segment Reporting (Tables)", "shortName": "Segment Reporting (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "40", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R41": { "role": "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails", "longName": "9954485 - Disclosure - Summary of Significant Accounting Policies (Details)", "shortName": "Summary of Significant Accounting Policies (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillImpairmentLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AdvertisingExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "us-gaap:AdvertisingCostsPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R42": { "role": "http://www.protolabs.com/role/RevenueNarrativeDetails", "longName": "9954486 - Disclosure - Revenue - Narrative (Details)", "shortName": "Revenue - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "longName": "9954487 - Disclosure - Revenue - Revenue by Geographic Areas (Details)", "shortName": "Revenue - Revenue by Geographic Areas (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": null }, "R44": { "role": "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails", "longName": "9954488 - Disclosure - Revenue - Disaggregation of Revenue (Details)", "shortName": "Revenue - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-63", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R45": { "role": "http://www.protolabs.com/role/NetIncomeLossPerCommonShareNarrativeDetails", "longName": "9954489 - Disclosure - Net Income (Loss) Per Common Share - Narrative (Details)", "shortName": "Net Income (Loss) Per Common Share - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails", "longName": "9954490 - Disclosure - Net Income (Loss) Per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details)", "shortName": "Net Income (Loss) Per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R47": { "role": "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "longName": "9954491 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)", "shortName": "Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "prlb:GoodwillAcquiredDuringPeriodImpairmentLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R48": { "role": "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "longName": "9954492 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details)", "shortName": "Goodwill and Other Intangible Assets - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-6", "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R49": { "role": "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails", "longName": "9954493 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Assets Other Than Goodwill (Details)", "shortName": "Goodwill and Other Intangible Assets - Schedule of Intangible Assets Other Than Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails", "longName": "9954494 - Disclosure - Goodwill and Other Intangible Assets - Future Amortization Expense (Details)", "shortName": "Goodwill and Other Intangible Assets - Future Amortization Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails", "longName": "9954495 - Disclosure - Fair Value Measurements - Financial Assets Measured At Fair Value On A Recurring Basis (Details)", "shortName": "Fair Value Measurements - Financial Assets Measured At Fair Value On A Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-121", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R52": { "role": "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails", "longName": "9954496 - Disclosure - Marketable Securities - Short-Term and Long-Term Marketable Securities (Details)", "shortName": "Marketable Securities - Short-Term and Long-Term Marketable Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails", "longName": "9954497 - Disclosure - Marketable Securities - Maturities of Available-For-Sale Debt Securities (Details)", "shortName": "Marketable Securities - Maturities of Available-For-Sale Debt Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails", "longName": "9954498 - Disclosure - Property and Equipment - Summary of Property And Equipment (Details)", "shortName": "Property and Equipment - Summary of Property And Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PropertyPlantAndEquipmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PropertyPlantAndEquipmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.protolabs.com/role/PropertyandEquipmentNarrativeDetails", "longName": "9954499 - Disclosure - Property and Equipment - Narrative (Details)", "shortName": "Property and Equipment - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.protolabs.com/role/InventoryDetails", "longName": "9954500 - Disclosure - Inventory (Details)", "shortName": "Inventory (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.protolabs.com/role/FinancingObligationsDetails", "longName": "9954501 - Disclosure - Financing Obligations (Details)", "shortName": "Financing Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:LineOfCredit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:LineOfCredit", "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:LineOfCredit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:LineOfCredit", "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.protolabs.com/role/EmployeeBenefitPlansDetails", "longName": "9954502 - Disclosure - Employee Benefit Plans (Details)", "shortName": "Employee Benefit Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-147", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "1", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-147", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "1", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "longName": "9954503 - Disclosure - Stock-Based Compensation - Narrative (Details)", "shortName": "Stock-Based Compensation - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "longName": "9954504 - Disclosure - Stock-Based Compensation - Stock-based Compensation Expense (Details)", "shortName": "Stock-Based Compensation - Stock-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "longName": "9954505 - Disclosure - Stock-Based Compensation - Weighted Average Assumptions (Details)", "shortName": "Stock-Based Compensation - Weighted Average Assumptions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-181", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-181", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails", "longName": "9954506 - Disclosure - Stock-Based Compensation - Option Activity (Details)", "shortName": "Stock-Based Compensation - Option Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R63": { "role": "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails", "longName": "9954507 - Disclosure - Stock-Based Compensation - Stock Options Outstanding (Details)", "shortName": "Stock-Based Compensation - Stock Options Outstanding (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-184", "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R64": { "role": "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "longName": "9954508 - Disclosure - Stock-Based Compensation - Stock Activity (Details)", "shortName": "Stock-Based Compensation - Stock Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "c-196", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-192", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R65": { "role": "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails", "longName": "9954509 - Disclosure - Leases - Supplemental Balance Sheet Information (Details)", "shortName": "Leases - Supplemental Balance Sheet Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": null }, "R66": { "role": "http://www.protolabs.com/role/LeasesLeaseCostDetails", "longName": "9954510 - Disclosure - Leases - Lease Cost (Details)", "shortName": "Leases - Lease Cost (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "us-gaap:LeaseCostTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "us-gaap:LeaseCostTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails", "longName": "9954511 - Disclosure - Leases - Maturities of Operating And Finance Lease Liabilities (Details)", "shortName": "Leases - Maturities of Operating And Finance Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.protolabs.com/role/LeasesWeightedAverageRemainingLeaseTermAndDiscountDetails", "longName": "9954512 - Disclosure - Leases - Weighted Average Remaining Lease Term And Discount (Details)", "shortName": "Leases - Weighted Average Remaining Lease Term And Discount (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "prlb:AssetsAndLiabilitiesLesseeTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "prlb:AssetsAndLiabilitiesLesseeTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails", "longName": "9954513 - Disclosure - Leases - Supplemental Cash Flow Information (Details)", "shortName": "Leases - Supplemental Cash Flow Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails", "longName": "9954514 - Disclosure - Accumulated Other Comprehensive Loss - Narrative (Details)", "shortName": "Accumulated Other Comprehensive Loss - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "c-212", "name": "us-gaap:ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": null }, "R71": { "role": "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "longName": "9954515 - Disclosure - Accumulated Other Comprehensive Loss - Changes In Accumulated Other Comprehensive Loss (Details)", "shortName": "Accumulated Other Comprehensive Loss - Changes In Accumulated Other Comprehensive Loss (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:StockholdersEquity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-212", "name": "us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R72": { "role": "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails", "longName": "9954516 - Disclosure - Income Taxes - Narrative (Details)", "shortName": "Income Taxes - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "prlb:EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R73": { "role": "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails", "longName": "9954517 - Disclosure - Income Taxes - Components Of Income Before Income Taxes (Details)", "shortName": "Income Taxes - Components Of Income Before Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail", "longName": "9954518 - Disclosure - Income Taxes - Provisions For Income Taxes (Detail)", "shortName": "Income Taxes - Provisions For Income Taxes (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R75": { "role": "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail", "longName": "9954519 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate (Detail)", "shortName": "Income Taxes - Reconciliation of Federal Statutory Income Tax Rate (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R76": { "role": "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails", "longName": "9954520 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)", "shortName": "Income Taxes - Deferred Tax Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "76", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R77": { "role": "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails", "longName": "9954521 - Disclosure - Income Taxes - Reconciliation Of Unrecognized Tax Benefits (Details)", "shortName": "Income Taxes - Reconciliation Of Unrecognized Tax Benefits (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "77", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:UnrecognizedTaxBenefits", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R78": { "role": "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails", "longName": "9954522 - Disclosure - Segment Reporting - Revenue by Geographic Areas (Details)", "shortName": "Segment Reporting - Revenue by Geographic Areas (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "78", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": null }, "R79": { "role": "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "longName": "9954523 - Disclosure - Segment Reporting - Income From Operation by Geographic Areas (Details)", "shortName": "Segment Reporting - Income From Operation by Geographic Areas (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "79", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-60", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R80": { "role": "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "longName": "9954524 - Disclosure - Segment Reporting - Long-Lived Assets by Geographic Areas (Details)", "shortName": "Segment Reporting - Long-Lived Assets by Geographic Areas (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "80", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PropertyPlantAndEquipmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-232", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } }, "R81": { "role": "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails", "longName": "9954525 - Disclosure - Segment Reporting - Expenditures For Additions To Long-Lived Assets (Details)", "shortName": "Segment Reporting - Expenditures For Additions To Long-Lived Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "81", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentExpenditureAdditionToLongLivedAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "prlb:ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentExpenditureAdditionToLongLivedAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "prlb:ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true, "unique": true } }, "R82": { "role": "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "longName": "9954526 - Disclosure - Segment Reporting - Depreciation And Amortization (Details)", "shortName": "Segment Reporting - Depreciation And Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "82", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "prlb:DepreciationAndAmortizationByGeographicRegionTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-235", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "prlb:DepreciationAndAmortizationByGeographicRegionTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20231231.htm", "unique": true } } }, "tag": { "prlb_A3DHubsIncHubsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "A3DHubsIncHubsMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "3D Hubs, Inc. (Hubs)", "label": "3D Hubs, Inc. (Hubs) [Member]", "documentation": "Represents acquired 3D Hubs." } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "prlb_AccountingPoliciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "AccountingPoliciesLineItems", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Line Items]", "label": "Accounting Policies [Line Items]", "documentation": "Accounting Policies [Line Items]" } } }, "auth_ref": [] }, "prlb_AccountingPoliciesTable": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "AccountingPoliciesTable", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Table]", "label": "Accounting Policies [Table]", "documentation": "Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "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)." } } }, "auth_ref": [ "r33", "r831" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of $2,499 and $1,706 as of December\u00a031, 2023 and December\u00a031, 2022, respectively", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "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." } } }, "auth_ref": [ "r284", "r285" ] }, "us-gaap_AccretionExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccretionExpense", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Interest on finance lease obligations", "label": "Accretion Expense", "documentation": "Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations." } } }, "auth_ref": [ "r809", "r986" ] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesAndOtherLiabilities", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities and other", "label": "Accrued Liabilities and Other Liabilities", "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accumulated depreciation and amortization", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r64", "r181", "r676" ] }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net unrealized gains (losses) on investments in securities", "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]", "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent." } } }, "auth_ref": [ "r191", "r192", "r193", "r195", "r203", "r204", "r942" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "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." } } }, "auth_ref": [ "r202", "r203", "r600", "r601", "r602", "r603", "r604", "r605" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r39", "r40", "r111", "r186", "r672", "r706", "r707" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r202", "r203", "r600", "r601", "r602", "r603", "r604", "r605" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Loss", "label": "AOCI Attributable to Parent [Member]", "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." } } }, "auth_ref": [ "r5", "r21", "r40", "r578", "r581", "r623", "r702", "r703", "r942", "r943", "r944", "r949", "r950", "r951" ] }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedTranslationAdjustmentMember", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent." } } }, "auth_ref": [ "r7", "r21", "r40", "r203", "r204", "r601", "r602", "r603", "r604", "r605", "r942" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquired Finite-Lived Intangible Assets [Line Items]", "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "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." } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r885" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital, Common Stock", "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." } } }, "auth_ref": [ "r101" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-In Capital", "label": "Additional Paid-in Capital [Member]", "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." } } }, "auth_ref": [ "r526", "r527", "r528", "r715", "r949", "r950", "r951", "r1031", "r1051" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r891" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r891" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r891" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r891" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expense", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r77", "r78", "r488" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income (loss) to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingCostsPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Advertising costs", "label": "Advertising Cost [Policy Text Block]", "documentation": "Disclosure of accounting policy for advertising cost." } } }, "auth_ref": [ "r161" ] }, "us-gaap_AdvertisingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingExpense", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Advertising costs", "label": "Advertising Expense", "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line." } } }, "auth_ref": [ "r534" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r855", "r867", "r877", "r903" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r858", "r870", "r880", "r906" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r891" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r898" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r862", "r871", "r881", "r898", "r907", "r911", "r919" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r917" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expense", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r521", "r533" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for credit loss, current", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r187", "r288", "r326" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization expense for intangible assets", "label": "Amortization of Intangible Assets", "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." } } }, "auth_ref": [ "r11", "r59", "r62" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.protolabs.com/role/NetIncomeLossPerCommonShareNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Anti-dilutive options excluded from calculation of diluted weighted average shares outstanding (in shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "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." } } }, "auth_ref": [ "r245" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "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." } } }, "auth_ref": [ "r149", "r185", "r217", "r254", "r269", "r275", "r323", "r366", "r367", "r369", "r370", "r371", "r373", "r375", "r377", "r378", "r573", "r575", "r594", "r668", "r741", "r831", "r844", "r989", "r990", "r1037" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "prlb_AssetsAndLiabilitiesLesseeTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "AssetsAndLiabilitiesLesseeTableTextBlock", "presentation": [ "http://www.protolabs.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Assets and Liabilities, Lessee", "label": "Assets and Liabilities, Lessee [Table Text Block]", "documentation": "Tabular disclosure of lessee's assets and liabilities." } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "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." } } }, "auth_ref": [ "r176", "r190", "r217", "r323", "r366", "r367", "r369", "r370", "r371", "r373", "r375", "r377", "r378", "r573", "r575", "r594", "r831", "r989", "r990", "r1037" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Assets, Fair Value Disclosure", "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r91" ] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Assets:", "label": "Assets, Fair Value Disclosure [Abstract]" } } }, "auth_ref": [] }, "prlb_AuditInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "AuditInformationAbstract", "lang": { "en-us": { "role": { "label": "Audit Information [Abstract]", "documentation": "Audit Information" } } }, "auth_ref": [] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://www.protolabs.com/role/AuditInformation" ], "lang": { "en-us": { "role": { "terseLabel": "Auditor Firm ID", "label": "Auditor Firm ID", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r849", "r850", "r863" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://www.protolabs.com/role/AuditInformation" ], "lang": { "en-us": { "role": { "terseLabel": "Auditor Location", "label": "Auditor Location" } } }, "auth_ref": [ "r849", "r850", "r863" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://www.protolabs.com/role/AuditInformation" ], "lang": { "en-us": { "role": { "terseLabel": "Auditor Name", "label": "Auditor Name" } } }, "auth_ref": [ "r849", "r850", "r863" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized Gains", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "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)." } } }, "auth_ref": [ "r295" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "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)." } } }, "auth_ref": [ "r296" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost", "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)." } } }, "auth_ref": [ "r292", "r332", "r667" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAbstract", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Available-for-Sale Securities, Debt Maturities [Abstract]", "label": "Available-for-Sale Securities, Debt Maturities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due after one year through five years", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "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 second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r300", "r665" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract]", "label": "Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due in one year or less", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "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)." } } }, "auth_ref": [ "r299", "r664" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 2.0 }, "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 }, "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails", "http://www.protolabs.com/role/MarketableSecuritiesMaturitiesofAvailableForSaleDebtSecuritiesDetails", "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Debt securities, available-for-sale", "terseLabel": "Fair Value", "totalLabel": "Total marketable securities", "label": "Debt Securities, Available-for-Sale", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r293", "r332", "r660", "r954" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r914" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r915" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r910" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r492", "r493", "r494", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r516", "r517", "r518", "r519", "r520" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r913" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r912" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r911" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r911" ] }, "us-gaap_BankTimeDepositsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BankTimeDepositsMember", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Certificates of deposit/time deposits", "label": "Bank Time Deposits [Member]", "documentation": "Certificates of deposit (CD) or savings accounts with a fixed term or understanding the customer can only withdraw by giving advanced notice with a bank or other financial institution. A CD is a short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest." } } }, "auth_ref": [ "r155" ] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Buildings and improvements", "label": "Building and Building Improvements [Member]", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [] }, "us-gaap_BuildingMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingMember", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Building", "label": "Building [Member]", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities." } } }, "auth_ref": [ "r131" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "label": "Business Acquisition, Acquiree [Domain]", "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." } } }, "auth_ref": [ "r571", "r824", "r825" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r83", "r84", "r571", "r824", "r825" ] }, "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity portion of purchase price (in shares)", "label": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares", "documentation": "Number of shares of equity interests issued or issuable to acquire entity." } } }, "auth_ref": [ "r145" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration transferred", "label": "Business Combination, Consideration Transferred", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r2", "r3", "r16" ] }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration transferred, common stock", "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable", "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination." } } }, "auth_ref": [ "r2", "r3" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in fair value of contingent consideration", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r572", "r946" ] }, "prlb_CNCMachiningFirstcutMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "CNCMachiningFirstcutMember", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CNC Machining", "label": "CNC Machining (Firstcut) [Member]", "documentation": "Represents the CNC Machining (Firstcut) product." } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "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." } } }, "auth_ref": [ "r47", "r179", "r797" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "documentation": "Fair value portion 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." } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value." } } }, "auth_ref": [ "r48" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents, beginning of period", "periodEndLabel": "Cash and cash equivalents, end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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." } } }, "auth_ref": [ "r47", "r122", "r214" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net (decrease) increase in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "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." } } }, "auth_ref": [ "r4", "r122" ] }, "prlb_CashFlowLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "CashFlowLesseeAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities:", "label": "Cash Flow, Lessee [Abstract]", "documentation": "Cash Flow, Lessee" } } }, "auth_ref": [] }, "us-gaap_CashMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashMember", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Cash [Member]", "documentation": "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." } } }, "auth_ref": [ "r179" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r889" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "prlb_ClosureOfJapanBusiness": { "xbrltype": "monetaryItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ClosureOfJapanBusiness", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Closure of Japan business", "label": "Closure of Japan Business", "documentation": "Amount of operating expense from disposal group." } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r890" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r890" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r834", "r835", "r836", "r838", "r839", "r840", "r841", "r949", "r950", "r1031", "r1050", "r1051" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r100" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r100", "r729" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, issued (in shares)", "label": "Common Stock, Shares, Issued", "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." } } }, "auth_ref": [ "r100" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, outstanding (in shares)", "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r22", "r100", "r729", "r747", "r1051", "r1052" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 25,721,957 and 26,888,425 shares as of December\u00a031, 2023 and December\u00a031, 2022, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r100", "r671", "r831" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r895" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r894" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r896" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r893" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Retirement Benefits [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets:", "label": "Components of Deferred Tax Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets (liabilities):", "label": "Components of Deferred Tax Assets and Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liabilities:", "label": "Components of Deferred Tax Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]", "label": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income (loss)", "verboseLabel": "Comprehensive income (loss)", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "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." } } }, "auth_ref": [ "r41", "r198", "r200", "r205", "r661", "r681" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Other Comprehensive Income (Loss), net of tax", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Comprehensive (loss) income", "label": "Comprehensive Income, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for comprehensive income." } } }, "auth_ref": [] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer hardware and software", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software technology", "label": "Computer Software, Intangible Asset [Member]", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r796", "r983", "r984" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r220", "r256", "r267", "r268", "r269", "r270", "r271", "r273", "r277", "r366", "r367", "r368", "r369", "r371", "r372", "r374", "r376", "r377", "r989", "r990" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r220", "r256", "r267", "r268", "r269", "r270", "r271", "r273", "r277", "r366", "r367", "r368", "r369", "r371", "r372", "r374", "r376", "r377", "r989", "r990" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Principles of consolidation", "label": "Consolidation, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r90", "r799" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction in progress", "label": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_CorporateDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateDebtSecuritiesMember", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate debt securities", "label": "Corporate Debt Securities [Member]", "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment." } } }, "auth_ref": [ "r820", "r822", "r1049" ] }, "prlb_CorporateUnallocatedAndJapanSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "CorporateUnallocatedAndJapanSegmentMember", "presentation": [ "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate Unallocated and Japan", "label": "Corporate Unallocated and Japan Segment[Member]", "documentation": "Segment for corporate unallocated expenses and Japan." } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Goods and Services Sold", "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." } } }, "auth_ref": [ "r116", "r656" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Federal", "label": "Current Federal Tax Expense (Benefit)", "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r928", "r948", "r1029" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentForeignTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign", "label": "Current Foreign Tax Expense (Benefit)", "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r928", "r948" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Current:", "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "State", "label": "Current State and Local Tax Expense (Benefit)", "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r928", "r948", "r1029" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r87" ] }, "country_DE": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "DE", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "GERMANY", "label": "GERMANY" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/FinancingObligations" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Obligations", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r135", "r216", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r387", "r388", "r389", "r391" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTable", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale [Table]", "label": "Debt Securities, Available-for-Sale [Table]", "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale", "label": "Debt Securities, Available-for-Sale [Table Text Block]", "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967" ] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Federal", "label": "Deferred Federal Income Tax Expense (Benefit)", "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r948", "r1028", "r1029" ] }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredForeignIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign", "label": "Deferred Foreign Income Tax Expense (Benefit)", "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r144", "r948", "r1028" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred taxes", "label": "Deferred Income Tax Expense (Benefit)", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r11", "r144", "r170", "r562", "r563", "r948" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred", "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilities", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Total deferred tax liabilities", "label": "Deferred Tax Liabilities, Gross", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences." } } }, "auth_ref": [ "r97", "r98", "r150", "r553" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term deferred tax liabilities", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r542", "r543", "r669" ] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "State", "label": "Deferred State and Local Income Tax Expense (Benefit)", "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r948", "r1028", "r1029" ] }, "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Section 174 expenses", "label": "Deferred Tax Assets, in Process Research and Development", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxAssetsInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsInventory", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Deferred Tax Assets, Inventory", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory." } } }, "auth_ref": [ "r81", "r1027" ] }, "prlb_DeferredTaxAssetsLeases": { "xbrltype": "monetaryItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "DeferredTaxAssetsLeases", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Deferred Tax Assets, Leases", "documentation": "Deferred Tax Assets, Leases" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total deferred tax assets", "label": "Deferred Tax Assets, Net of Valuation Allowance", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r1026" ] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net operating loss", "label": "Deferred Tax Assets, Operating Loss Carryforwards", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOther", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other assets", "label": "Deferred Tax Assets, Other", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development credit", "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards." } } }, "auth_ref": [ "r80", "r81", "r1027" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Warrants and stock options", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails", "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets, valuation allowance", "negatedTerseLabel": "Less valuation allowance", "label": "Deferred Tax Assets, Valuation Allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r554" ] }, "us-gaap_DeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Net deferred tax liability", "label": "Deferred Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting." } } }, "auth_ref": [ "r79", "r1026" ] }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Goodwill", "label": "Deferred Tax Liabilities, Goodwill", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill." } } }, "auth_ref": [ "r81", "r88", "r89", "r1027" ] }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Intangible assets", "label": "Deferred Tax Liabilities, Intangible Assets", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesLeasingArrangements", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Leases", "label": "Deferred Tax Liabilities, Leasing Arrangements", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Depreciation", "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment." } } }, "auth_ref": [ "r81", "r1027" ] }, "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets related to undistributed earnings", "label": "Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries", "documentation": "Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries." } } }, "auth_ref": [ "r570" ] }, "us-gaap_DefinedBenefitPlanContributionsByEmployer": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanContributionsByEmployer", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contributions by employer", "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer", "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets." } } }, "auth_ref": [ "r429", "r439", "r480", "r820", "r821", "r822", "r823" ] }, "us-gaap_DefinedBenefitPlanDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedBenefitPlanDisclosureLineItems", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined Benefit Plan Disclosure [Line Items]", "label": "Defined Benefit Plan Disclosure [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum annual contributions per employees (in percent)", "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent", "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation", "label": "Depreciation", "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." } } }, "auth_ref": [ "r11", "r63" ] }, "prlb_DepreciationAndAmortizationByGeographicRegionTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "DepreciationAndAmortizationByGeographicRegionTableTextBlock", "presentation": [ "http://www.protolabs.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and Amortization by Geographic Region", "label": "Depreciation and Amortization by Geographic Region [Table Text Block]", "documentation": "Tabular disclosure of depreciation and amortization by geographic region." } } }, "auth_ref": [] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows", "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "verboseLabel": "Total depreciation and amortization", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r11", "r259" ] }, "us-gaap_DilutiveSecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DilutiveSecuritiesAbstract", "presentation": [ "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of dilutive securities:", "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails", "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "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." } } }, "auth_ref": [ "r412", "r813", "r814", "r815", "r816", "r817", "r818", "r819" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails", "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "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." } } }, "auth_ref": [ "r412", "r813", "r814", "r815", "r816", "r817", "r818", "r819" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.protolabs.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r992" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-Based Compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r486", "r491", "r522", "r523", "r525", "r827" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DisclosureOfReclassificationAmountTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfReclassificationAmountTextBlock", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLoss" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Loss", "label": "Disclosure of Reclassification Amount [Text Block]", "documentation": "The entire disclosure for any adjustments made during the period to avoid double counting in comprehensive income items displayed as part of net income that also had been displayed as part of other comprehensive income in that period or earlier periods. These adjustments include reclassifications to net income of items in accumulated comprehensive income, such as deferred gains or losses on qualifying hedges when hedged item reported in net income, holding gains or losses on available-for-sale securities transferred into trading category, unrealized holding gains or losses on debt securities transferred from held-to-maturity category into available-for-sale category and accumulated translation adjustment attributable to foreign subsidiary or investment in foreign entity upon sale or liquidation." } } }, "auth_ref": [ "r109" ] }, "us-gaap_DisposalGroupNotDiscontinuedOperationLossGainOnWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupNotDiscontinuedOperationLossGainOnWriteDown", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Impairments related to closure of Japan business", "label": "Disposal Group, Not Discontinued Operation, Loss (Gain) on Write-down", "documentation": "Amount, before tax, of (gain) loss recognized for the (reversal of write-down) write-down to fair value, less cost to sell, of a disposal group. Excludes discontinued operations." } } }, "auth_ref": [ "r11", "r12", "r132" ] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Annual Report", "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r849", "r850", "r863" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Financial Statement Error Correction", "label": "Document Financial Statement Error Correction [Flag]", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r849", "r850", "r863", "r899" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "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." } } }, "auth_ref": [] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r884" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "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'." } } }, "auth_ref": [] }, "dei_DocumentsIncorporatedByReferenceTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentsIncorporatedByReferenceTextBlock", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Documents Incorporated by Reference", "label": "Documents Incorporated by Reference [Text Block]", "documentation": "Documents incorporated by reference." } } }, "auth_ref": [ "r847" ] }, "us-gaap_DomesticPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DomesticPlanMember", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Domestic Plan", "label": "Domestic Plan [Member]", "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r995", "r996", "r997" ] }, "prlb_ESPPMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ESPPMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee stock purchase plan", "label": "ESPP [Member]", "documentation": "ESPP [member" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Net income (loss) per share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r206", "r226", "r227", "r228", "r229", "r230", "r235", "r237", "r242", "r243", "r244", "r248", "r585", "r586", "r662", "r682", "r802" ] }, "prlb_EarningsPerShareBasicAndDilutedEPSAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EarningsPerShareBasicAndDilutedEPSAbstract", "presentation": [ "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income (loss) per share attributable to common shareholders:", "label": "Earnings Per Share, Basic and Diluted EPS [Abstract]", "documentation": "Earnings Per Share, Basic and Diluted EPS" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "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." } } }, "auth_ref": [ "r206", "r226", "r227", "r228", "r229", "r230", "r237", "r242", "r243", "r244", "r248", "r585", "r586", "r662", "r682", "r802" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.protolabs.com/role/NetIncomeLossPerCommonShare" ], "lang": { "en-us": { "role": { "terseLabel": "Net Income (Loss) Per Common Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r234", "r245", "r246", "r247" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "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; including, but not limited to, 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." } } }, "auth_ref": [ "r1033" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails", "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "verboseLabel": "Effective income tax rate reconciliation (in percent)", "totalLabel": "Total", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r545" ] }, "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate, increase (decrease) during period (in percent)", "label": "Effective Income Tax Rate Continuing Operations Increase (Decrease) During The Period", "documentation": "The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Effective Income Tax Rate Reconciliation, Percent [Abstract]", "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Federal tax statutory rate", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r219", "r545", "r565" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Valuation allowance against deferred tax assets", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "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 changes in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r1024", "r1030" ] }, "prlb_EffectiveIncomeTaxRateReconciliationContingentConsiderationReductionPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationContingentConsiderationReductionPercent", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration reduction", "label": "Effective Income Tax Rate Reconciliation, Contingent Consideration Reduction, Percent", "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 changes in Contingent Consideration Reduction." } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationDispositionOfBusiness": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationDispositionOfBusiness", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Closure of Japan branch net operating loss reversal", "label": "Effective Income Tax Rate Reconciliation, Disposition of Business, Percent", "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 disposition of a business not qualifying as a discontinued operation." } } }, "auth_ref": [ "r1024", "r1030" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign rate differential", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "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." } } }, "auth_ref": [ "r1024", "r1030" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill impairment", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Impairment Losses, Percent", "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 impairment loss." } } }, "auth_ref": [ "r1024", "r1030" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Share based compensation", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent", "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 nondeductible expense for share-based payment arrangement." } } }, "auth_ref": [ "r1024", "r1030" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Miscellaneous", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "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." } } }, "auth_ref": [ "r1024", "r1030" ] }, "prlb_EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencesPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencesPercent", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Provision to return difference", "label": "Effective Income Tax Rate Reconciliation, Provision To Return Differences, Percent", "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 provision to return difference." } } }, "auth_ref": [] }, "prlb_EffectiveIncomeTaxRateReconciliationRevaluationOfDeferredTaxLiabilityPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationRevaluationOfDeferredTaxLiabilityPercent", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Revaluation of deferred tax liability", "label": "Effective Income Tax Rate Reconciliation, Revaluation Of Deferred Tax Liability, Percent", "documentation": "Effective Income Tax Rate Reconciliation, Revaluation Of Deferred Tax Liability, Percent" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "State tax (net of federal benefit)", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "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)." } } }, "auth_ref": [ "r1024", "r1030" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Tax reserves", "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent", "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 contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies." } } }, "auth_ref": [ "r1024", "r1030" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Research and development credit", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent", "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 research tax credit." } } }, "auth_ref": [ "r1024", "r1030" ] }, "prlb_EffectiveIncomeTaxRateReconciliationUnrealizedForeignExchangeLossesPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationUnrealizedForeignExchangeLossesPercent", "calculation": { "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationofFederalStatutoryIncomeTaxRateDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized foreign exchange losses", "label": "Effective Income Tax Rate Reconciliation, Unrealized Foreign Exchange Losses, Percent", "documentation": "Effective Income Tax Rate Reconciliation, Unrealized Foreign Exchange Losses, Percent" } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation", "label": "Employee-related Liabilities, Current", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r35" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock based award, unrecognized compensation expense", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r524" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock based award, unrecognized compensation expense, period for recognition (in years)", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r524" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Options", "label": "Employee Stock Option [Member]", "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." } } }, "auth_ref": [] }, "prlb_EmployeeStockPurchasePlanOfferingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EmployeeStockPurchasePlanOfferingPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Offering period (in months)", "label": "Employee Stock Purchase Plan, Offering Period", "documentation": "The offering period during which employees may purchase stock through the Employee Stock Purchase Plan." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r846" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r846" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "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." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "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." } } }, "auth_ref": [ "r846" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "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)." } } }, "auth_ref": [ "r924" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Public Float", "label": "Entity Public Float", "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r846" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r846" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r846" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r846" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Voluntary Filers", "label": "Entity Voluntary Filers", "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Well-known Seasoned Issuer", "label": "Entity Well-known Seasoned Issuer", "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A." } } }, "auth_ref": [ "r925" ] }, "us-gaap_EquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquipmentMember", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Machinery and equipment", "label": "Equipment [Member]", "documentation": "Tangible personal property used to produce goods and services." } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "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." } } }, "auth_ref": [ "r22", "r173", "r202", "r203", "r204", "r221", "r222", "r223", "r225", "r231", "r233", "r249", "r324", "r325", "r394", "r526", "r527", "r528", "r558", "r559", "r577", "r578", "r579", "r580", "r581", "r582", "r584", "r600", "r601", "r602", "r603", "r604", "r605", "r623", "r702", "r703", "r704", "r715", "r768" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r892" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r855", "r867", "r877", "r903" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r852", "r864", "r874", "r900" ] }, "srt_EuropeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "EuropeMember", "presentation": [ "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Europe", "label": "Europe [Member]" } } }, "auth_ref": [ "r1053", "r1054", "r1055", "r1056" ] }, "prlb_EuropeReportingUnitMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EuropeReportingUnitMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Europe", "label": "Europe Reporting Unit [Member]", "documentation": "Represents Europe reporting unit." } } }, "auth_ref": [] }, "prlb_EuropeSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "EuropeSegmentMember", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Europe", "label": "Europe Segment [Member]", "documentation": "Operating segment for Europe" } } }, "auth_ref": [] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r898" ] }, "prlb_ExercisePriceRangeOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ExercisePriceRangeOneMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range One", "label": "Exercise Price Range One [Member]", "documentation": "Exercise price range one [member" } } }, "auth_ref": [] }, "prlb_ExercisePriceRangeThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ExercisePriceRangeThreeMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range Three", "label": "Exercise Price Range Three [Member]", "documentation": "Exercise price range three [member]" } } }, "auth_ref": [] }, "prlb_ExercisePriceRangeTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ExercisePriceRangeTwoMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range Two", "label": "Exercise Price Range Two [Member]", "documentation": "Exercise price range two [member]" } } }, "auth_ref": [] }, "prlb_ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock", "presentation": [ "http://www.protolabs.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Expenditures for Additions to Long-lived Assets by Geographic Region", "label": "Expenditures for Additions to Long-lived Assets by Geographic Region [Table Text Block]", "documentation": "Tabular disclosure of expenditures for additions to long-lived assets by geographic region." } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "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." } } }, "auth_ref": [ "r588", "r589", "r592" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r588", "r589", "r592" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets Measured on Recurring Basis", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r91", "r148" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Class [Domain]", "label": "Asset Class [Domain]", "documentation": "Class of asset." } } }, "auth_ref": [ "r23" ] }, "us-gaap_FairValueByAssetClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByAssetClassAxis", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Class [Axis]", "label": "Asset Class [Axis]", "documentation": "Information by class of asset." } } }, "auth_ref": [ "r91", "r92" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r386", "r439", "r440", "r441", "r442", "r443", "r444", "r589", "r627", "r628", "r629", "r810", "r811", "r820", "r821", "r822" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r588", "r589", "r590", "r591", "r593" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurements" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements", "label": "Fair Value Disclosures [Text Block]", "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." } } }, "auth_ref": [ "r587" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r386", "r439", "r444", "r589", "r627", "r820", "r821", "r822" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "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." } } }, "auth_ref": [ "r386", "r439", "r444", "r589", "r628", "r810", "r811", "r820", "r821", "r822" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r386", "r439", "r440", "r441", "r442", "r443", "r444", "r589", "r629", "r810", "r811", "r820", "r821", "r822" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r386", "r439", "r440", "r441", "r442", "r443", "r444", "r627", "r628", "r629", "r810", "r811", "r820", "r821", "r822" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring", "label": "Fair Value, Recurring [Member]", "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." } } }, "auth_ref": [ "r587", "r593" ] }, "prlb_FinanceLeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "FinanceLeaseCostAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease cost:", "label": "Finance Lease, Cost [Abstract]", "documentation": "Finance Lease, Cost" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseInterestExpense", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest on lease obligations", "label": "Finance Lease, Interest Expense", "documentation": "Amount of interest expense on finance lease liability." } } }, "auth_ref": [ "r609", "r615", "r830" ] }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseInterestPaymentOnLiability", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating cash flows from finance leases", "label": "Finance Lease, Interest Payment on Liability", "documentation": "Amount of interest paid on finance lease liability." } } }, "auth_ref": [ "r611", "r618" ] }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finance Leases", "label": "Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiability", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 }, "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total finance lease liabilities", "terseLabel": "Total finance lease liabilities", "label": "Finance Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r608", "r622" ] }, "us-gaap_FinanceLeaseLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finance Lease, Liability [Abstract]", "label": "Finance Lease, Liability [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails": { "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0, "order": 2.0 }, "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current finance lease liabilities", "label": "Finance Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r608" ] }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.protolabs.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Finance Lease, Liability, to be Paid, Maturity", "label": "Finance Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r1036" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails": { "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term finance lease liabilities", "label": "Finance Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r608" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total future minimum lease payments", "label": "Finance Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "After 2029", "label": "Finance Lease, Liability, to be Paid, after Year Five", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024", "label": "Finance Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finance Lease, Liability, to be Paid, Year Five", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finance Lease, Liability, to be Paid, Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finance Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finance Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less interest", "label": "Finance Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r622" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows", "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Principal repayments of finance lease obligations", "terseLabel": "Financing cash flows from finance leases", "label": "Finance Lease, Principal Payments", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r610", "r618" ] }, "us-gaap_FinanceLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease assets", "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r607" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of right-of-use assets", "label": "Finance Lease, Right-of-Use Asset, Amortization", "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease." } } }, "auth_ref": [ "r609", "r615", "r830" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.protolabs.com/role/LeasesWeightedAverageRemainingLeaseTermAndDiscountDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Discount Rate - finance leases (in percent)", "label": "Finance Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for finance lease calculated at point in time." } } }, "auth_ref": [ "r621", "r830" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.protolabs.com/role/LeasesWeightedAverageRemainingLeaseTermAndDiscountDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Remaining Lease Term - finance leases (years)", "label": "Finance Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r620", "r830" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r327", "r328", "r329", "r330", "r331", "r333", "r334", "r335", "r390", "r393", "r583", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r680", "r807", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r967", "r968", "r969", "r970" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, useful life (in years)", "label": "Finite-Lived Intangible Asset, Useful Life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r183", "r355" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "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)." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "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)." } } }, "auth_ref": [ "r129" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "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)." } } }, "auth_ref": [ "r129" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "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)." } } }, "auth_ref": [ "r129" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "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)." } } }, "auth_ref": [ "r129" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "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)." } } }, "auth_ref": [ "r129" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r353", "r354", "r355", "r356", "r657", "r658" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r128", "r658" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "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." } } }, "auth_ref": [ "r60", "r61" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsFutureAmortizationExpenseDetails", "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r128", "r657" ] }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Useful Life Remaining (in years)", "label": "Finite-Lived Intangible Assets, Remaining Amortization Period", "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r657" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Loss on foreign currency translation", "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r596", "r597", "r598", "r599", "r765" ] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation/transactions", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy." } } }, "auth_ref": [ "r595" ] }, "us-gaap_ForeignPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignPlanMember", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Plan", "label": "Foreign Plan [Member]", "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r995", "r996", "r997" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r859", "r871", "r881", "r907" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r859", "r871", "r881", "r907" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r859", "r871", "r881", "r907" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r859", "r871", "r881", "r907" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r859", "r871", "r881", "r907" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Office furniture and equipment", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gain on disposal of property and equipment", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r11" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r117", "r751" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r114" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "periodStartLabel": "Goodwill, balance as of the beginning of the period", "periodEndLabel": "Goodwill, balance as of the end of the period", "label": "Goodwill", "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." } } }, "auth_ref": [ "r182", "r340", "r659", "r808", "r831", "r973", "r980" ] }, "prlb_GoodwillAcquiredDuringPeriodImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "GoodwillAcquiredDuringPeriodImpairmentLoss", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill acquired (impaired)", "label": "Goodwill, Acquired During Period (Impairment Loss)", "documentation": "Goodwill, Acquired During Period (Impairment Loss)" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/IntangibleAssetsGoodwillandOther" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Other Intangible Assets", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r127" ] }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined." } } }, "auth_ref": [ "r339", "r352", "r808" ] }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Other Intangible Assets", "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined." } } }, "auth_ref": [ "r15" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "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." } } }, "auth_ref": [ "r348" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 4.0 }, "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows", "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill impairment", "verboseLabel": "Loss on impairment of goodwill", "label": "Goodwill, Impairment Loss", "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r11", "r341", "r347", "r352", "r808" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Line Items]", "label": "Goodwill [Line Items]", "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." } } }, "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r808" ] }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPeriodIncreaseDecrease", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill, period increase (decrease)", "label": "Goodwill, Period Increase (Decrease)", "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r972" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r115", "r217", "r254", "r268", "r274", "r277", "r323", "r366", "r367", "r369", "r370", "r371", "r373", "r375", "r377", "r378", "r594", "r804", "r989" ] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "ICFR Auditor Attestation Flag", "label": "ICFR Auditor Attestation Flag" } } }, "auth_ref": [ "r849", "r850", "r863" ] }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Accounting for long-lived assets", "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets." } } }, "auth_ref": [ "r0", "r133" ] }, "prlb_IncomeFromOperationsByGeographicAreaTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "IncomeFromOperationsByGeographicAreaTableTextBlock", "presentation": [ "http://www.protolabs.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Income from Operations by Geographic Area", "label": "Income from Operations by Geographic Area [Table Text Block]", "documentation": "Tabular disclosure of income from operations by geographic area." } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Domestic", "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations." } } }, "auth_ref": [ "r218", "r564" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 }, "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income (loss) before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r1", "r112", "r153", "r254", "r268", "r274", "r277", "r663", "r678", "r804" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign", "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile." } } }, "auth_ref": [ "r218", "r564" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r357", "r359", "r752" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r359", "r752" ] }, "us-gaap_IncomeTaxContingencyLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxContingencyLineItems", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Tax Contingency [Line Items]", "label": "Income Tax Contingency [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxContingencyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxContingencyTable", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Tax Contingency [Table]", "label": "Income Tax Contingency [Table]", "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." } } }, "auth_ref": [ "r19", "r82", "r142", "r143" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "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." } } }, "auth_ref": [ "r219", "r537", "r546", "r551", "r556", "r560", "r566", "r567", "r568", "r714" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 }, "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails", "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for income taxes", "totalLabel": "Total", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r159", "r171", "r232", "r233", "r262", "r544", "r561", "r683" ] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Income taxes", "label": "Income Tax, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements." } } }, "auth_ref": [ "r201", "r540", "r541", "r551", "r552", "r555", "r557", "r711" ] }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/IncomeTaxesProvisionsForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Valuation Allowance", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount", "documentation": "Amount 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 increase (decrease) in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r1024" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for taxes", "label": "Income Taxes Paid", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r46", "r49" ] }, "us-gaap_IncomeTaxesReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesReceivable", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Income taxes receivable", "label": "Income Taxes Receivable, Current", "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes." } } }, "auth_ref": [ "r93", "r939" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "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." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "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." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Income taxes", "label": "Increase (Decrease) in Income Taxes Payable", "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities and other", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r946" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "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." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in operating assets and liabilities, net of acquisitions:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee stock options and other (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r238", "r239", "r240", "r244", "r490" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r862", "r871", "r881", "r898", "r907", "r911", "r919" ] }, "prlb_InjectionMoldingProtomoldMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "InjectionMoldingProtomoldMember", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Injection Molding", "label": "Injection Molding (Protomold) [Member]", "documentation": "Represents the Injection Molding (Protomold) product." } } }, "auth_ref": [] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r917" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r851", "r923" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r851", "r923" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r851", "r923" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for interest", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r210", "r212", "r213" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/Inventory" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory", "label": "Inventory Disclosure [Text Block]", "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." } } }, "auth_ref": [ "r336" ] }, "us-gaap_InventoryGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryGross", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/InventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total inventory", "label": "Inventory, Gross", "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r940" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.protolabs.com/role/InventoryDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory", "totalLabel": "Inventory, net of allowance", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r189", "r798", "r831" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory", "label": "Inventory, Policy [Policy Text Block]", "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost." } } }, "auth_ref": [ "r160", "r178", "r188", "r336", "r337", "r338", "r655", "r800" ] }, "us-gaap_InventoryValuationReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryValuationReserves", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/InventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/InventoryDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Allowance for obsolescence", "label": "Inventory Valuation Reserves", "documentation": "Amount of valuation reserve for inventory." } } }, "auth_ref": [ "r57", "r940" ] }, "us-gaap_InvestmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentTextBlock", "presentation": [ "http://www.protolabs.com/role/MarketableSecurities" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable Securities", "label": "Investment [Text Block]", "documentation": "The entire disclosure for investment." } } }, "auth_ref": [ "r929", "r930", "r953" ] }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Investments Classified by Contractual Maturity Date", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments." } } }, "auth_ref": [] }, "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsDebtAndEquitySecuritiesAbstract", "lang": { "en-us": { "role": { "label": "Investments, Debt and Equity Securities [Abstract]" } } }, "auth_ref": [] }, "country_JP": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "JP", "presentation": [ "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Japan", "label": "JAPAN" } } }, "auth_ref": [] }, "prlb_JapanReportingUnitMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "JapanReportingUnitMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Japan", "label": "Japan Reporting Unit [Member]", "documentation": "Japan Reporting Unit" } } }, "auth_ref": [] }, "prlb_JapanSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "JapanSegmentMember", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Japan", "label": "Japan Segment [Member]", "documentation": "Operating segment for Japan." } } }, "auth_ref": [] }, "us-gaap_LandBuildingsAndImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandBuildingsAndImprovementsMember", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Building and land improvements", "label": "Land, Buildings and Improvements [Member]", "documentation": "Real estate held and additions or improvements to real estate held and structures used in the conduct of business." } } }, "auth_ref": [] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Land", "label": "Land [Member]", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r993" ] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/LeasesLeaseCostDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease cost", "label": "Lease, Cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r614", "r830" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.protolabs.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Lease, Cost", "label": "Lease, Cost [Table Text Block]", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r1035" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r131" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LegalMattersAndContingenciesTextBlock", "presentation": [ "http://www.protolabs.com/role/Litigation" ], "lang": { "en-us": { "role": { "terseLabel": "Litigation", "label": "Legal Matters and Contingencies [Text Block]", "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies." } } }, "auth_ref": [ "r134" ] }, "us-gaap_LesseeFinanceLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeFinanceLeasesTextBlock", "presentation": [ "http://www.protolabs.com/role/Leases" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Finance Leases [Text Block]", "documentation": "The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability." } } }, "auth_ref": [ "r606" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Leases [Policy Text Block]", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r613" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.protolabs.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Operating Lease, Liability, to be Paid, Maturity", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "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." } } }, "auth_ref": [ "r1036" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total future minimum lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "After 2029", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five", "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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "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)." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease term, remaining lease term (in years)", "label": "Lessee, Operating Lease, Remaining Lease Term", "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r1034" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.protolabs.com/role/Leases" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Operating Leases [Text Block]", "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." } } }, "auth_ref": [ "r606" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "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." } } }, "auth_ref": [ "r34", "r217", "r323", "r366", "r367", "r369", "r370", "r371", "r373", "r375", "r377", "r378", "r574", "r575", "r576", "r594", "r728", "r803", "r844", "r989", "r1037", "r1038" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and shareholders' equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r105", "r152", "r674", "r831", "r947", "r971", "r1032" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and shareholders' equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "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." } } }, "auth_ref": [ "r36", "r177", "r217", "r323", "r366", "r367", "r369", "r370", "r371", "r373", "r375", "r377", "r378", "r574", "r575", "r576", "r594", "r831", "r989", "r1037", "r1038" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/FinancingObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing obligations", "label": "Long-Term Line of Credit", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r31", "r151", "r1047" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "presentation": [ "http://www.protolabs.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Assets by Geographic Areas", "label": "Long-Lived Assets by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets." } } }, "auth_ref": [ "r28" ] }, "prlb_LongtermIncentivePlan2012Member": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "LongtermIncentivePlan2012Member", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Term Incentive Plan 2012", "label": "Long-Term Incentive Plan 2012 [Member]", "documentation": "Information pertaining to the 2012 Long-Term Incentive Plan." } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesCurrent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term marketable securities", "label": "Marketable Securities, Current", "documentation": "Amount of investment in marketable security, classified as current." } } }, "auth_ref": [ "r938" ] }, "us-gaap_MarketableSecuritiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesNoncurrent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term marketable securities", "label": "Marketable Securities, Noncurrent", "documentation": "Amount of investment in marketable security, classified as noncurrent." } } }, "auth_ref": [ "r938" ] }, "us-gaap_MarketableSecuritiesPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesPolicy", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable securities", "label": "Marketable Securities, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for investment classified as marketable security." } } }, "auth_ref": [ "r94" ] }, "us-gaap_MarketingRelatedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketingRelatedIntangibleAssetsMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketing assets", "label": "Marketing-Related Intangible Assets [Member]", "documentation": "Marketing-related asset, including, but not limited to, internet domain name, newspaper mast head, and trademark." } } }, "auth_ref": [ "r29" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails", "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r362", "r363", "r364", "r365", "r485", "r654", "r701", "r720", "r721", "r771", "r773", "r775", "r776", "r778", "r791", "r792", "r806", "r812", "r826", "r833", "r991", "r1039", "r1040", "r1041", "r1042", "r1043", "r1044" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r890" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r890" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r362", "r363", "r364", "r365", "r485", "r654", "r701", "r720", "r721", "r771", "r773", "r775", "r776", "r778", "r791", "r792", "r806", "r812", "r826", "r833", "r991", "r1039", "r1040", "r1041", "r1042", "r1043", "r1044" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r910" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.protolabs.com/role/FairValueMeasurementsFinancialAssetsMeasuredAtFairValueOnARecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market mutual fund", "label": "Money Market Funds [Member]", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r994" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r918" ] }, "country_NL": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "NL", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "NETHERLANDS", "label": "NETHERLANDS" } } }, "auth_ref": [] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r891" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "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." } } }, "auth_ref": [ "r211" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Financing activities", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "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." } } }, "auth_ref": [ "r211" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "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." } } }, "auth_ref": [ "r122", "r123", "r124" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Operating activities", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 3.0 }, "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows", "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity", "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income (loss)", "verboseLabel": "Net income (loss)", "terseLabel": "Net income (loss)", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r113", "r124", "r154", "r175", "r196", "r199", "r204", "r217", "r224", "r226", "r227", "r228", "r229", "r232", "r233", "r241", "r254", "r268", "r274", "r277", "r323", "r366", "r367", "r369", "r370", "r371", "r373", "r375", "r377", "r378", "r586", "r594", "r679", "r749", "r766", "r767", "r804", "r842", "r989" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recently adopted accounting pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "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." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r890" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r859", "r871", "r881", "r898", "r907" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r888" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r887" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r898" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r918" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r918" ] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-compete agreement", "label": "Noncompete Agreements [Member]", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r86" ] }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss) before reclassifications", "netLabel": "Other comprehensive income (loss) before reclassifications", "label": "OCI, before Reclassifications, Net of Tax, Attributable to Parent", "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent." } } }, "auth_ref": [ "r30", "r40" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Operating expenses", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income (loss) from operations", "verboseLabel": "Total income (loss) from operations", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r254", "r268", "r274", "r277", "r804" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease cost", "label": "Operating Lease, Cost", "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." } } }, "auth_ref": [ "r616", "r830" ] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Leases", "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 }, "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/LeasesMaturitiesofOperatingAndFinanceLeaseLiabilitiesDetails", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating lease liabilities", "terseLabel": "Present value of lease liabilities", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r608" ] }, "us-gaap_OperatingLeaseLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Lease, Liability [Abstract]", "label": "Operating Lease, Liability [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current operating lease liabilities", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r608" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term operating lease liabilities", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r608" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating cash flows from operating leases", "label": "Operating Lease, Payments", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r612", "r618" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/LeasesSupplementalBalanceSheetInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease assets", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r607" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.protolabs.com/role/LeasesWeightedAverageRemainingLeaseTermAndDiscountDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Discount Rate - operating leases (in percent)", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r621", "r830" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.protolabs.com/role/LeasesWeightedAverageRemainingLeaseTermAndDiscountDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Remaining Lease Term - operating leases (years)", "label": "Operating Lease, Weighted Average Remaining Lease Term", "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." } } }, "auth_ref": [ "r620", "r830" ] }, "us-gaap_OperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating loss carryforwards", "label": "Operating Loss Carryforwards", "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws." } } }, "auth_ref": [ "r80" ] }, "prlb_OperatingLossCarryforwardsPercentageOfTaxableIncome": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "OperatingLossCarryforwardsPercentageOfTaxableIncome", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating loss carryforwards, percentage of taxable income (in percent)", "label": "Operating Loss Carryforwards, Percentage Of Taxable Income", "documentation": "Represents the operating loss carryforwards percentage of taxable income limit." } } }, "auth_ref": [] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Segments", "label": "Operating Segments [Member]", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r271", "r277" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/NatureofBusiness" ], "lang": { "en-us": { "role": { "terseLabel": "Nature of Business", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r96", "r146", "r708", "r709" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other long-term assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r184" ] }, "us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net unrealized gains (losses) on investments in securities", "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustment", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax", "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r6", "r111" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "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." } } }, "auth_ref": [ "r6" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss)", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net current-period other comprehensive income (loss)", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r9", "r20", "r147", "r197", "r200" ] }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Net unrealized gains (losses) on investments in securities", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "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." } } }, "auth_ref": [ "r191", "r194", "r322" ] }, "us-gaap_OtherIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other intangible assets, net", "label": "Other Intangible Assets, Net", "documentation": "Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other long-term liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r37" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Other (expense) income, net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r118" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Operating Activities, Cash Flow Statement", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r890" ] }, "prlb_OtherProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "OtherProductsMember", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Revenue", "label": "Other Products [Member]", "documentation": "Represents other products." } } }, "auth_ref": [] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r857", "r869", "r879", "r905" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r860", "r872", "r882", "r908" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r860", "r872", "r882", "r908" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r886" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchases of common stock and other", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r45" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of shares withheld for tax obligations", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r209" ] }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of marketable securities", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r43", "r207", "r290" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows", "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cash used for acquisitions, net of cash acquired", "terseLabel": "Cash used for acquisition, net of cash acquired", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r44" ] }, "us-gaap_PaymentsToAcquireOtherInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireOtherInvestments", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of other assets and investments", "label": "Payments to Acquire Other Investments", "documentation": "Amount of cash outflow to acquire investments classified as other." } } }, "auth_ref": [ "r120" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of property, equipment and other capital assets", "label": "Payments to Acquire Property, Plant, and Equipment", "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." } } }, "auth_ref": [ "r121" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r889" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r889" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlans" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Benefit Plans", "label": "Retirement Benefits [Text Block]", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r414", "r436", "r438", "r444", "r462", "r464", "r465", "r466", "r467", "r468", "r482", "r483", "r484", "r822" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r888" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r898" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r891" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r887" ] }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of target, capable of being earned and vesting, lower limit", "label": "Percentage Of Target Number, Capable Of Being Earned And Vesting, Lower Limit", "documentation": "The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment." } } }, "auth_ref": [] }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit": { "xbrltype": "percentItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of target, capable of being earned and vesting, upper limit", "label": "Percentage Of Target Number, Capable Of Being Earned And Vesting, Upper Limit", "documentation": "The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment." } } }, "auth_ref": [] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Shares", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r99", "r392" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "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." } } }, "auth_ref": [ "r99", "r729" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, issued (in shares)", "label": "Preferred Stock, Shares Issued", "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." } } }, "auth_ref": [ "r99", "r392" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "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." } } }, "auth_ref": [ "r99", "r729", "r747", "r1051", "r1052" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December\u00a031, 2023 and December\u00a031, 2022, respectively", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r99", "r670", "r831" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "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." } } }, "auth_ref": [ "r941" ] }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from issuance of common stock from equity plans", "label": "Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised", "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised." } } }, "auth_ref": [ "r8", "r26" ] }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from maturities of marketable securities", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r207", "r208", "r955" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Proceeds from (Payments for) Other Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r926", "r945" ] }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sales of marketable securities", "label": "Proceeds from Sale of Debt Securities, Available-for-Sale", "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r42", "r207", "r290", "r321" ] }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfProductiveAssets", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sales of property, equipment and other capital assets", "label": "Proceeds from Sale of Productive Assets", "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r119" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r279", "r656", "r695", "r696", "r697", "r698", "r699", "r700", "r794", "r813", "r832", "r927", "r987", "r988", "r992", "r1048" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r279", "r656", "r695", "r696", "r697", "r698", "r699", "r700", "r794", "r813", "r832", "r927", "r987", "r988", "r992", "r1048" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r13" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipment" ], "lang": { "en-us": { "role": { "terseLabel": "Property and Equipment", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r130", "r164", "r168", "r169" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, gross", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r131", "r180", "r677" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "verboseLabel": "Total long-lived assets", "label": "Property, Plant and Equipment, Net", "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." } } }, "auth_ref": [ "r13", "r666", "r677", "r831" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Property, equipment and leasehold improvements", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r13", "r164", "r168", "r675" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentTables" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r13" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r131" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, equipment, useful life (in years)", "label": "Property, Plant and Equipment, Useful Life", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r886" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r886" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails", "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r362", "r363", "r364", "r365", "r436", "r485", "r517", "r518", "r519", "r630", "r654", "r701", "r720", "r721", "r771", "r773", "r775", "r776", "r778", "r791", "r792", "r806", "r812", "r826", "r833", "r836", "r985", "r991", "r1040", "r1041", "r1042", "r1043", "r1044" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails", "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r362", "r363", "r364", "r365", "r436", "r485", "r517", "r518", "r519", "r630", "r654", "r701", "r720", "r721", "r771", "r773", "r775", "r776", "r778", "r791", "r792", "r806", "r812", "r826", "r833", "r836", "r985", "r991", "r1040", "r1041", "r1042", "r1043", "r1044" ] }, "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amounts reclassified from accumulated other comprehensive income (loss)", "negatedTerseLabel": "Amounts reclassified from accumulated other comprehensive income (loss)", "negatedLabel": "Amounts reclassified from accumulated other comprehensive income (loss)", "label": "Reclassification from AOCI, Current Period, Net of Tax, Attributable to Parent", "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss) attributable to parent." } } }, "auth_ref": [ "r30", "r40" ] }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r852", "r864", "r874", "r900" ] }, "us-gaap_RegulatedOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RegulatedOperationsAbstract", "lang": { "en-us": { "role": { "label": "Regulated Operations [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ReportingUnitAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReportingUnitAxis", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reporting Unit [Axis]", "label": "Reporting Unit [Axis]", "documentation": "Information by reporting unit." } } }, "auth_ref": [ "r351", "r352", "r808" ] }, "us-gaap_ReportingUnitDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReportingUnitDomain", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reporting Unit [Domain]", "label": "Reporting Unit [Domain]", "documentation": "Level of reporting at which goodwill is tested for impairment." } } }, "auth_ref": [ "r351", "r352", "r808" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "verboseLabel": "Research and development costs", "label": "Research and Development Expense", "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." } } }, "auth_ref": [ "r95", "r536", "r1045" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpensePolicy", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for costs it has 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." } } }, "auth_ref": [ "r535" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r853", "r865", "r875", "r901" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r854", "r866", "r876", "r902" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r861", "r873", "r883", "r909" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock", "label": "Restricted Stock [Member]", "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." } } }, "auth_ref": [ "r50" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r102", "r136", "r673", "r705", "r707", "r713", "r730", "r831" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r173", "r221", "r222", "r223", "r225", "r231", "r233", "r324", "r325", "r526", "r527", "r528", "r558", "r559", "r577", "r579", "r580", "r582", "r584", "r702", "r704", "r715", "r1051" ] }, "us-gaap_RetirementPlanSponsorLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanSponsorLocationAxis", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retirement Plan Sponsor Location [Axis]", "label": "Retirement Plan Sponsor Location [Axis]", "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r463", "r466", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r995", "r996", "r997" ] }, "us-gaap_RetirementPlanSponsorLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanSponsorLocationDomain", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retirement Plan Sponsor Location [Domain]", "label": "Retirement Plan Sponsor Location [Domain]", "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r463", "r466", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r995", "r996", "r997" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails", "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "verboseLabel": "Total revenue", "label": "Revenue from Contract with Customer, Including Assessed Tax", "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise." } } }, "auth_ref": [ "r255", "r256", "r267", "r272", "r273", "r279", "r281", "r283", "r411", "r412", "r656" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognition", "label": "Revenue from Contract with Customer [Policy Text Block]", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r172", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r793" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.protolabs.com/role/Revenue" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue from Contract with Customer [Text Block]", "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." } } }, "auth_ref": [ "r172", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r413" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.protolabs.com/role/RevenueTables", "http://www.protolabs.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from External Customers by Geographic Areas", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "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." } } }, "auth_ref": [ "r27" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unsatisfied performance obligation", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r167" ] }, "us-gaap_RevenuesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Statements of Operations:", "label": "Revenues [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease assets obtained in exchange for new financing lease liabilities", "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability." } } }, "auth_ref": [ "r619", "r830" ] }, "prlb_RightOfUseAssetObtainedInExchangeForLeaseLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "RightOfUseAssetObtainedInExchangeForLeaseLiabilityAbstract", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease assets obtained in exchange for new lease liabilities", "label": "Right-Of-Use Asset Obtained In Exchange For Lease Liability [Abstract]", "documentation": "Right-Of-Use Asset Obtained In Exchange For Lease Liability" } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease assets obtained in exchange for new operating lease liabilities", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r619", "r830" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r918" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r918" ] }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table]", "label": "Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table]", "documentation": "Tabular disclosure of the major classes of acquired finite-lived intangible assets showing the amount, any significant residual value, weighted average amortization period, and other characteristics. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company." } } }, "auth_ref": [ "r60" ] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale [Line Items]", "label": "Debt Securities, Available-for-Sale [Line Items]", "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." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302" ] }, "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Payment Arrangement, Cost by Plan", "label": "Share-Based Payment Arrangement, Cost by Plan [Table Text Block]", "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit." } } }, "auth_ref": [ "r76" ] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Components of Income Tax Expense (Benefit)", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r141" ] }, "us-gaap_ScheduleOfComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossTables" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Loss", "label": "Comprehensive Income (Loss) [Table Text Block]", "documentation": "Tabular disclosure of components of comprehensive income (loss). Includes, but is not limited to, foreign currency translation adjustments, foreign currency transactions designated as economic hedges of a net investment in foreign entity, gain (loss) and prior service cost (credit) for pension plans and other postretirement benefit plans." } } }, "auth_ref": [ "r110" ] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Deferred Tax Assets and Liabilities", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets." } } }, "auth_ref": [ "r140" ] }, "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Defined Benefit Plans Disclosures [Table]", "label": "Schedule of Defined Benefit Plans Disclosures [Table]", "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets 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 or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r14", "r65", "r66", "r67", "r68" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.protolabs.com/role/NetIncomeLossPerCommonShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r952" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "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." } } }, "auth_ref": [ "r139" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r60", "r61" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill [Table]", "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r808" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r808", "r972", "r973", "r974", "r975", "r976", "r977", "r978", "r979", "r980", "r981", "r982" ] }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Income before Income Tax, Domestic and Foreign", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions." } } }, "auth_ref": [ "r948" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.protolabs.com/role/InventoryTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventory, Current", "label": "Schedule of Inventory, Current [Table Text Block]", "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." } } }, "auth_ref": [ "r32", "r106", "r107", "r108" ] }, "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Nonvested Performance-Based Units Activity", "label": "Schedule of Nonvested Performance-Based Units Activity [Table Text Block]", "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units." } } }, "auth_ref": [ "r72" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.protolabs.com/role/PropertyandEquipmentSummaryofPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r13" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r54", "r55", "r56", "r58" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails", "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r487", "r489", "r492", "r493", "r494", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r516", "r517", "r518", "r519", "r520" ] }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Payment Arrangement, Option, Exercise Price Range", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block]", "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Payment Arrangement, Option, Activity", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "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." } } }, "auth_ref": [ "r24", "r25", "r70" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions", "label": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]", "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions." } } }, "auth_ref": [ "r138" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "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." } } }, "auth_ref": [ "r138" ] }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity", "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [] }, "prlb_ScheduleOfSubsidiariesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ScheduleOfSubsidiariesTableTextBlock", "presentation": [ "http://www.protolabs.com/role/NatureofBusinessTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Subsidiaries", "label": "Schedule of Subsidiaries [Table Text Block]", "documentation": "Schedule of Subsidiaries" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Unrecognized Tax Benefits Roll Forward", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "documentation": "Tabular disclosure of the change in unrecognized tax benefits." } } }, "auth_ref": [ "r829", "r1025" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r61" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r845" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r848" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r251", "r254", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r277", "r283", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r360", "r361", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r808", "r927", "r1048" ] }, "us-gaap_SegmentExpenditureAdditionToLongLivedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentExpenditureAdditionToLongLivedAssets", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total expenditures for additions to long-lived assets", "label": "Segment, Expenditure, Addition to Long-Lived Assets", "documentation": "Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets." } } }, "auth_ref": [ "r265", "r805" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails", "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r281", "r282", "r717", "r718", "r719", "r772", "r774", "r777", "r779", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r795", "r814", "r836", "r992", "r1048" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.protolabs.com/role/SegmentReporting" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r250", "r251", "r252", "r253", "r254", "r266", "r271", "r275", "r276", "r277", "r278", "r279", "r280", "r283" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information [Line Items]", "label": "Segment Reporting Information [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Marketing and sales", "label": "Selling and Marketing Expense", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketing and sales", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r114" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expense", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based award, vesting period (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "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." } } }, "auth_ref": [ "r827" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Discount from market price (in percent)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Offering Date", "documentation": "Discount rate from fair value on offering date that participants pay for shares." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r509" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "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." } } }, "auth_ref": [ "r509" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "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)." } } }, "auth_ref": [ "r507" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted, weighted-average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "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)." } } }, "auth_ref": [ "r507" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "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." } } }, "auth_ref": [ "r504", "r505" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance, weighted-average grant date fair value (in dollars per share)", "periodEndLabel": "Ending balance, weighted-average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r504", "r505" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted- Average Grant Date Fair Value Per Share", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "auth_ref": [] }, "prlb_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange": { "xbrltype": "sharesItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance change (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Change", "documentation": "Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [] }, "prlb_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance change, weighted-average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Change, Weighted Average Grant Date Fair Value", "documentation": "Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Restrictions lapsed (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r508" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "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." } } }, "auth_ref": [ "r508" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected dividend yield", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "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." } } }, "auth_ref": [ "r518" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected volatility", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "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." } } }, "auth_ref": [ "r517" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Risk-free interest rate", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r519" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails", "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "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." } } }, "auth_ref": [ "r487", "r489", "r492", "r493", "r494", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r516", "r517", "r518", "r519", "r520" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares available for grant (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "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." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Disclosures", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Option exercisable (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "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." } } }, "auth_ref": [ "r498" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options exercisable, weighted-average exercise price (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "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." } } }, "auth_ref": [ "r498" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options, intrinsic value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r511" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Expired (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period", "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements." } } }, "auth_ref": [ "r503" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cancelled (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan." } } }, "auth_ref": [ "r502" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r500" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r510" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options outstanding, aggregate intrinsic value (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Options outstanding, beginning balance (in shares)", "periodEndLabel": "Options outstanding, ending balance (in shares)", "terseLabel": "Options Outstanding, Vested and Expected to Vest, Number Outstanding (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r496", "r497" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Options", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Options outstanding, beginning balance, weighted-average exercise price (in dollars per share)", "periodEndLabel": "Options outstanding, ending balance, weighted-average exercise price (in dollars per share)", "terseLabel": "Options Outstanding, Vested and Expected to Vest, Weighted Average Exercise Price (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r496", "r497" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted- Average Exercise Price", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Average exercise price (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Per Share Weighted Average Price of Shares Purchased", "documentation": "Per share weighted-average price paid for shares purchased on open market for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails", "http://www.protolabs.com/role/StockBasedCompensationStockActivityDetails", "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r492", "r493", "r494", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r516", "r517", "r518", "r519", "r520" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercised, weighted-average exercise price (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r501" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expired, weighted-average exercise price (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired." } } }, "auth_ref": [ "r503" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cancelled, weighted-average exercise price (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r502" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted, weighted-average exercise price (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r500" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement [Policy Text Block]", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r486", "r495", "r514", "r515", "r516", "r517", "r520", "r529", "r530", "r531", "r532" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price Range [Axis]", "label": "Exercise Price Range [Axis]", "documentation": "Information by range of option prices pertaining to options granted." } } }, "auth_ref": [ "r74" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price Range [Domain]", "label": "Exercise Price Range [Domain]", "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices." } } }, "auth_ref": [ "r75" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range of Exercise Prices, lower range limit (in dollars per share)", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit", "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range." } } }, "auth_ref": [ "r75" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options Exercisable, Number Exercisable (in shares)", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable", "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied." } } }, "auth_ref": [ "r73" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range of Exercise Prices, upper range limit (in dollars per share)", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit", "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range." } } }, "auth_ref": [ "r75" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based award, term (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r828" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationWeightedAverageAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected life (years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term", "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." } } }, "auth_ref": [ "r516" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options exercisable, aggregate intrinsic value (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value", "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable." } } }, "auth_ref": [ "r69" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options exercisable, weighted-average remaining contractual term (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "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." } } }, "auth_ref": [ "r69" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options outstanding, weighted-average remaining contractual term (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "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." } } }, "auth_ref": [ "r137" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options Outstanding, Vested and Expected to Vest, Weighted Average Remaining Contractual Life (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "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." } } }, "auth_ref": [ "r512" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options vested, fair value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value", "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock." } } }, "auth_ref": [ "r511" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase price of common stock (in percent)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockOptionsOutstandingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options Exercisable, Weighted Average Exercise Price (in shares)", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price", "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding." } } }, "auth_ref": [ "r71" ] }, "prlb_SheetMetalMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "SheetMetalMember", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sheet Metal", "label": "Sheet Metal [Member]", "documentation": "Represents the information pertaining to sheet metal." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Significant Accounting Policies", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r125", "r215" ] }, "prlb_SoftwarePlatformMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "SoftwarePlatformMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software platform", "label": "Software Platform [Member]", "documentation": "Information pertaining to software platform." } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r174", "r251", "r254", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r277", "r283", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r358", "r360", "r361", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r808", "r927", "r1048" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossNarrativeDetails", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r22", "r38", "r173", "r202", "r203", "r204", "r221", "r222", "r223", "r225", "r231", "r233", "r249", "r324", "r325", "r394", "r526", "r527", "r528", "r558", "r559", "r577", "r578", "r579", "r580", "r581", "r582", "r584", "r600", "r601", "r602", "r603", "r604", "r605", "r623", "r702", "r703", "r704", "r715", "r768" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails", "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r281", "r282", "r717", "r718", "r719", "r772", "r774", "r777", "r779", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r795", "r814", "r836", "r992", "r1048" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "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." } } }, "auth_ref": [ "r221", "r222", "r223", "r249", "r656", "r710", "r716", "r722", "r723", "r724", "r725", "r726", "r727", "r729", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r742", "r743", "r744", "r745", "r746", "r748", "r750", "r751", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r768", "r837" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "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." } } }, "auth_ref": [ "r221", "r222", "r223", "r249", "r656", "r710", "r716", "r722", "r723", "r724", "r725", "r726", "r727", "r729", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r742", "r743", "r744", "r745", "r746", "r748", "r750", "r751", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r768", "r837" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r856", "r868", "r878", "r904" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesAcquisitions", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common shares issued for Hubs acquisition (in shares)", "label": "Stock Issued During Period, Shares, Acquisitions", "documentation": "Number of shares of stock issued during the period pursuant to acquisitions." } } }, "auth_ref": [ "r99", "r100", "r136" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity", "http://www.protolabs.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r22", "r99", "r100", "r136" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationOptionActivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r22", "r99", "r100", "r136", "r501" ] }, "us-gaap_StockIssuedDuringPeriodValueAcquisitions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueAcquisitions", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common shares issued for Hubs acquisition", "label": "Stock Issued During Period, Value, Acquisitions", "documentation": "Value of stock issued pursuant to acquisitions during the period." } } }, "auth_ref": [ "r22", "r38", "r136" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations", "label": "Stock Issued During Period, Value, Stock Options Exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r22", "r38", "r136" ] }, "prlb_StockOptionsAndOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "StockOptionsAndOtherMember", "presentation": [ "http://www.protolabs.com/role/StockBasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options and other", "label": "Stock Options And Other [Member]", "documentation": "Equity awards of stock options, restricted stock, and equity instruments not otherwise classified." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repurchases of Common Stock (in shares)", "label": "Stock Repurchased During Period, Shares", "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." } } }, "auth_ref": [ "r22", "r99", "r100", "r136", "r712", "r768", "r780" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repurchases of Common Stock", "label": "Stock Repurchased During Period, Value", "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." } } }, "auth_ref": [ "r22", "r99", "r100", "r136", "r715", "r768", "r780", "r843" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.protolabs.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/AccumulatedOtherComprehensiveLossChangesInAccumulatedOtherComprehensiveLossDetails", "http://www.protolabs.com/role/ConsolidatedBalanceSheets", "http://www.protolabs.com/role/ConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "Total shareholders' equity", "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r100", "r103", "r104", "r126", "r731", "r747", "r769", "r770", "r831", "r844", "r947", "r971", "r1032", "r1051" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Shareholders' equity", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental cash flow disclosure", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r897" ] }, "prlb_ThreeDPrintingFinelineMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "ThreeDPrintingFinelineMember", "presentation": [ "http://www.protolabs.com/role/RevenueDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "3D Printing", "label": "3D Printing (Fineline) [Member]", "documentation": "Represents the 3D Printing (Fineline) product." } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r889" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r896" ] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable and allowance for doubtful accounts", "label": "Accounts Receivable [Policy Text Block]", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r156", "r157", "r158", "r286", "r287", "r289" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetsOtherThanGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tradenames", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r85" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r917" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r919" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.protolabs.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "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." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r390", "r393", "r583", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r680", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r967", "r968", "r969", "r970" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r920" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r921" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r919" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r919" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r922" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r920" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.protolabs.com/role/EmployeeBenefitPlansDetails", "http://www.protolabs.com/role/SegmentReportingDepreciationAndAmortizationDetails", "http://www.protolabs.com/role/SegmentReportingExpendituresForAdditionsToLongLivedAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentAgenciesDebtSecuritiesMember", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. municipal securities", "label": "US Government Agencies Debt Securities [Member]", "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB)." } } }, "auth_ref": [ "r801", "r820", "r1046" ] }, "us-gaap_USStatesAndPoliticalSubdivisionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USStatesAndPoliticalSubdivisionsMember", "presentation": [ "http://www.protolabs.com/role/MarketableSecuritiesShortTermandLongTermMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. government agency securities", "label": "US States and Political Subdivisions Debt Securities [Member]", "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments." } } }, "auth_ref": [ "r820", "r1049" ] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled receivables", "label": "Unbilled Receivables, Current", "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." } } }, "auth_ref": [] }, "us-gaap_UndistributedEarningsOfForeignSubsidiaries": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UndistributedEarningsOfForeignSubsidiaries", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Undistributed earnings", "label": "Undistributed Earnings of Foreign Subsidiaries", "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile." } } }, "auth_ref": [ "r17", "r18", "r538", "r569" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r916" ] }, "prlb_UnitedStatesReportingUnitMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "UnitedStatesReportingUnitMember", "presentation": [ "http://www.protolabs.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "United States Reporting Unit [Member]", "documentation": "United States Reporting Unit" } } }, "auth_ref": [] }, "prlb_UnitedStatesSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.protolabs.com/20231231", "localname": "UnitedStatesSegmentMember", "presentation": [ "http://www.protolabs.com/role/RevenueRevenuebyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingIncomeFromOperationbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingLongLivedAssetsbyGeographicAreasDetails", "http://www.protolabs.com/role/SegmentReportingRevenuebyGeographicAreasDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "United States Segment [Member]", "documentation": "Operating segment for United States." } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesNarrativeDetails", "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized tax benefits", "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at period end", "label": "Unrecognized Tax Benefits", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r539", "r547" ] }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Reduction for tax positions of prior years", "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions", "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns." } } }, "auth_ref": [ "r548" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additions for tax positions of current year", "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return." } } }, "auth_ref": [ "r549" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additions for tax positions of prior years", "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns." } } }, "auth_ref": [ "r548" ] }, "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations", "crdr": "debit", "presentation": [ "http://www.protolabs.com/role/IncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Decrease related to the expiration of statutes of limitations", "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations", "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations." } } }, "auth_ref": [ "r550" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.protolabs.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Accounting estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r51", "r52", "r53", "r162", "r163", "r165", "r166" ] }, "us-gaap_VariableLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableLeaseCost", "crdr": "debit", "calculation": { "http://www.protolabs.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.protolabs.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable lease cost", "label": "Variable Lease, Cost", "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases." } } }, "auth_ref": [ "r617", "r830" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted - weighted-average shares outstanding (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "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." } } }, "auth_ref": [ "r236", "r244" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.protolabs.com/role/NetIncomeLossPerCommonShareScheduleofComputationOfBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Basic - weighted-average shares outstanding (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "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." } } }, "auth_ref": [ "r235", "r244" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.protolabs.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Shares used to compute net income (loss) per share:", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "4", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a),(b),(c)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-5" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "20", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "740", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481141/942-740-50-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "740", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480135/944-740-50-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "a", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "b", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "330", "SubTopic": "10", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "740", "Section": "25", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479692/805-740-25-8" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "740", "Section": "25", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479692/805-740-25-9" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "320", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-5" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//220/tableOfContent" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "45", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.CC)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r136": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r137": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(f)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r139": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r140": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r141": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r142": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r143": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r144": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r145": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r146": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r149": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r150": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r151": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r152": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r153": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r154": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r155": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "b.", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481160/942-230-45-1" }, "r156": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r157": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15" }, "r158": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "35", "Topic": "720", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-20/tableOfContent" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "35", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482620/740-10-25-3" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//830/tableOfContent" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//842-20/tableOfContent" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "330", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r719": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r730": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r738": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r739": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r740": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r741": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r742": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r743": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r744": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r745": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r746": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r747": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r748": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r749": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r750": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r752": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r753": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r754": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r755": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r756": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r757": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r758": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r759": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r760": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r761": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r762": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r763": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r764": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r765": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r766": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r767": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r768": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r769": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r770": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r771": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r772": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r773": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r774": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r775": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r776": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r777": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r778": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r779": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r780": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r781": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r782": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r783": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r784": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r785": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r786": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r787": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r788": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r789": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r790": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r791": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r792": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r793": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r794": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r795": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r796": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r797": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r798": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r799": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r800": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r801": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r802": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r803": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r804": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r805": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-48" }, "r806": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r807": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r808": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r809": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481639/420-10-35-4" }, "r810": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r811": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r812": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r813": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r814": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r815": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r816": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r817": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r818": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r819": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r820": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r821": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r822": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r823": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18" }, "r824": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r825": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r826": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r827": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r828": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r829": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217" }, "r830": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r831": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r832": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r833": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r834": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r835": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r836": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r837": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r838": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r839": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r840": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r841": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r842": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r843": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r844": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-23" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r856": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r857": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r858": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r859": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r860": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r861": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r862": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r863": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r864": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r865": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r866": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r867": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r868": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r869": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r870": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r871": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r872": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r873": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r874": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r875": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r876": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r877": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r878": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r879": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r880": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r881": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r882": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r883": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r884": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r885": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r886": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r887": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r888": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r889": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r890": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r891": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r892": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r893": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r894": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r895": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r896": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r897": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r898": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r899": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r900": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r901": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r902": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r903": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r904": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r905": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r906": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r907": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r908": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r909": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r910": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r911": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r912": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r913": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r914": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r915": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r916": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r917": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r918": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r919": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r920": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r921": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r922": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r923": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r924": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r925": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "321", "Publisher": "FASB", "URI": "https://asc.fasb.org//321/tableOfContent" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "325", "Publisher": "FASB", "URI": "https://asc.fasb.org//325/tableOfContent" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//320/tableOfContent" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r983": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r985": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r987": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r988": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r989": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1020": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1021": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1023": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1024": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r1025": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r1026": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r1027": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6" }, "r1028": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r1029": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r1030": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r1031": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r1032": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r1033": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r1034": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r1035": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r1036": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r1037": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r1038": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r1039": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r1040": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r1041": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r1042": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r1043": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r1044": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r1045": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r1046": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2" }, "r1047": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r1048": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r1049": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1" }, "r1050": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r1051": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r1052": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r1053": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r1054": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r1055": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r1056": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 107 0001628280-24-005285-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-24-005285-xbrl.zip M4$L#!!0 ( $MN4%A6T /\<2 " /EK' 1 <')L8BTR,#(S,3(S,2YH M=&WLO6ESVTB6-OI]?@5"_4ZW'4'*7+18Y;,1(*+%IL201H3/=T6"0*)/"?/?I[ST_^]'47>M51IF,0_ M_Z.]W?J')V,_"<)X\/,_CBZ/3T__\7_?_M=/PPPN@TOC]#!,DYU.>__GK6&6 MC0]?O;JYN=F^[:EH.UYU6J_M*7[&E?W";AJ6+;[KFTO:K__GT\=(?RI%H MAG&:B=B7YE=C%?5*/QNK)$LBT4NW_60$O^YTV_ ?<[F?Y'&F)O87M*)4^MN# MY/J5_I)^9'X0WF9-^+[T"'-]&$=A+/_GW<7'5YD2<=I/U$ADL$-PA_9NL_6Z M63PXD.'\A\(7I0>F*K,7]D7:HTV #Z=7-7]C[UI2I]5L=9KMCKD)7/GU#O+@ MUSV1VIV^G;E>4ZA]<'#PBKXMEK?HONVNLT1[9_@^F-H>O8R]5_REN31/FP,A MQK,[I+]P=VGQ6I%-W8>'=W'I%,-)/YA/2/BB>/IA).!D;,FX^>5RZ^U/0RF" MMS^-9"8\_&E3_IF'US]O'2=Q)N.L>349P_U]_NOGK4S>9J]HC:_>_M=__==/ M69A%\BUR>M/P\T^O^,.?7O&M>TDP>?M3$%Y[:3:)Y,];09B.(S$YC)-8P@+" MVT.\4"K^9Q@$,J9_PO>?\Y%4H<_/O\TN9/_G+;\)G!N+$=Y)AHMN"4[JST]W;._CI5>FNCWC(^\2'B^+L0YCZ M(OJ/%.H#?)+:QW2WWN+K+^L!YW!Y$I0?L;/U]L-_OOT!1W#W@)X0B8&]Z>[6 MV[Z(4OFH^W9?FQMKSC[\$,9A)C^&US(XC8$E!V$ODD=I*K,OJ>SGT<>P+\TS M=UKP)N>=V5=Y5::^DGVI0)#+= [3XHD^3$GLPJ(\.N&'&;#JSUMI.!I'>"3H MLZ'"-9?X<_LV#8![Z7G%0_0STR17]!>=O4/]XK1TW%#SN22F,W^% ?[=#Z7R M:$URKD@^/OUGF1FG?_S6?%2^^YB8P?P%)UYE[T4FB>&:K3;\Q_RN^,XN,R@N M;7>:W7;Q"/[&_&T>\JKTWO.WH5.!;6#1E^E-V&MV6_9&^IN'O5D.C$NOE0-3 MF ]'4J2YDF^U%7#XY?*]^;GYROR-OY^_2]UJ[=(.*MC6P7?N4CH4<$9F-DJS M'WWY^)W:J=9.39V4Q^U4^]Y,_>D@'ZZ1&+;UP/M#LMR+R6Q+K)$ M?>.AFOD]?OA>QLDHC.?=]J$L6+K%J_+J[^74O0K0LZ0 .@]7 )WE*8#]JFU# M^^';T%[>-KQ^ZFW0;R,':+?QGP$\['8^UT^OYC["[H9=R>/$3FMY M O5@S;?\* A"='G!Q![EJ>QGXSDVM"B8O[/,E_MR9V6=59I M%3 YVD_N*VV* JP"L9[<_5M[;5D%*CVY4[>)JK4*A'MR-W2=E95C(+27:""L MN\^["@=LF?N_[@[PLSI@2]SXSKI[OJMVP)9)BRKDX9[HU9[RC+W?]T]\V?U4I:Y M\6OOGJ_82UDF+2KGJJ3*!1DJIF77E[*5#5\\:O_?Y6&$*%1KL^V5"UY43%1^%'%@B)K"Q:>C ML4JN*:JR/L;.6D1%5B@U-X+(E0O3%('=<:(RV-HO8*ORQB,XT^%)CC0J?;N1 M-7.[E0OV5(\RJ\D3[E8R:'.:KS>3-2H9_:E9HPKRO'*QHYHU9EAC-?W)NY6, M/%6:-=C6V&A54LF@5O51R6A M6*GRJ%RLK^:)5>N.OS]$H&]-95HE(VWG*@ER M/SM3EU)=A[YTM,QI_(?TD62?$DHFGN/TIQ'\>S/%6B6C714DSXHD6R7C3A4D MSXJ$6R4C0'>0Y_CS\2?A#T/LSOH0JC3S\\UTN?CS-!"WKROGBE=HRRM@2[VNG#M>(?H\35/IZ\IYW)5H77P:E?RZ MJ6)O%[HX >5C0U\$Y$-XO-ETL]NA))3OUP7JK1;E8T,K!U9EJCV MVJW*!A$>118N_]2T. ?[O)^HM9%8[59EPP45)\)23\)F11&NE CD9S%:GYDM M[=9F!0R>B0)+/0.;%1LXSM,L&4E%$1NX73H,QVMT'#8K.O#\Q%CJR:AN8J%R%X^E$:/R*9JQLC$*'ZMXAR^6Y"))BW]2(=+HWVQ>/L/W^% M%Q#*'TX^RFL930VD,Q>=QN#^IG1%^PD6\TF*-%<4TOJ@Y)^YC/W)@I4XEZ87 MTL^56J/Y3.UV=<,B2V"-SA.PQC,?BQ^'$ZL;"5H_F=BM.?$[.+&ZX;#UX\0? M3CLOT^MK5S^NC&6B@O^I5*ANN&, M2@G^I>YY9>,$YPBLKK+)>00O!\+]Y,\\'.,]WDVN)F-9WO^/(GZ">>1/I6PK MZX!7:\^7RN>5]6P?M>?O\A#N&@_@.O//T]%8@0:@B,/Z'('*.KEK0XZEGH[* M.KZ/(H?] -JM(>=7UMNM, &6>@(JZ_,^ MS@J5(I7#) K6T@[:J:S+6W$B+/4D;(8/?)Q0<,)'8)_3&'XZ4#)=HZ.P&5[Q M"JBPU+-063_Y0F8A)]:1#I=CV.=$?4Q\44Q#\9,\SM3D\,OE,G=Z)0.:\CAD MFL0Y+MP29<3U!6_U/>"?Y@;F&_,WWF$1D2OK?5>#R*L91=?>J:P77@VRM!]. MEO82R;);61_] 62Q&8Q$R7 0XW7+UT45&&'7WJVL0U])*JU(Q.U6UNNO))56 M)?&J&QJ /4=P;@>Z_F,2#S*I1J>QC_>_1@S[N--JWU&L\NCRR_/S#:5#94,)*Z+#JK1]98,) MST>')XJ6[5;6A5_)UBXS!+9;63=\WM9>9HG_]6Q,:.Y'<7"6#:7:3*F^5UD_ MO")T69&4WZNLYUT1NJS(B]NKK*^](BMH572HK#=]BI-();5/X"_G1SN.DS0[ MZU^*Z"DJR2NA5RKK45>,/JO2+Y7UJBM&GU7)M\IZVP^BSZ6,(B[A9;7*L2AI4-'CR(7!H(N/] Y7Y4^KFSPY@>4B0#_0.5^1 M#?>ZLC&D'^"8TKD@"OZYLM*DRE%G5F:EL3*DRE%F1=_*ZLI&C MRZ%0\IU(98!8*_ M!8[HT_0HSX:)"O^2P91]H@+_UY4-$3TGQ:YND@T]D)6+!FT,>9_J M0%8VEO.L%!LJN:DZLG*!FPTB\!,=RH/-#[Q4:+/7+>)Q(=,,&#N3 6WWVD:X M5B00#]8MCO(X>G_?P6HM\V"M6UCDR3>Z"L&J@\J&1"K _NUELG]E@Q.58/\5 M1=$/*AN J #[+Q-OX*"RH8!*L/^JC)_*NOL58/^E>A65=;L7;/2Y5/U$C43L M2W;!UV6K.ZUU\Y:?8:LK(&LZK75SK)_W""S1U8*[U5M=06>KTUHW%_AYC\ 2 MW:U.:]W\VN<^ JMQN#JM=7.#G_<(+-'EZK0JY]NNK$;W1S&Q*N=D?W,VH:;X MPRA>.0?^ASGCJU*@E8LD_#!G?$44;UI!M51JULL&A]2#;JH1D96-'CR?;9YE]B944$1:UGL;7D@GWBPCCC\E3C-*L MA+BL7$1J70FX*L%9N0#3NA)P52*TDO$B2[Q?9#)08CP,?1&5)VZ^/]DX85C) M0,X#2/'YXZ:1HE/)",LQ3F>,PH!LNU.@RI0L.X-W%(@U?,FWO4]D/5Z6OLO3 M,)9I:A[@]-0<)VJ H#GX38Q'KRS?3ANE4,C93\TH5S:5. MY:(Z-:]4U3+K5"Z45'E>^1*'5 @,5Z9/QAM/5*7:J5P(JB;W%+F768O3J5SH MJB;W%+F767W8J5R@J_+D/LE5,I9K)\8K%Q"K"?TT KR2@;.:T,L7W94,RU6: MT$_KG#V1Y.[6,;_*TGF9@KM;Q^LJ2^=ERNWN#Q%KJY#\_"'B51628S]$P*A" M\J22$9L'I&>_7&Y:RJU;R6C*:DFQHHQ6MY+QCM628D4)HVXE(Q)WD *_YIC M9E8&="L9.:@"058DK'8JZ>)7@2 K$ED[E?3%'Z ]?CO?-&&U4TEW>;6D6)68 MJJ0GO5I2K$I /;F3_7CQT&X]K7AX%=X>*IDFN?)ERG\.I0AHL4%X_?8G^"_: MGU#*KMCQNWY'B/Y.N]T]>-W;[8C]_>#UOM_=WVO_+XKWXC=I-HE@GT9AW!S* M<##,#G=VQ]F;FS#(AH?M5NN_M\K7"36 2[-D?-CNC#/X,AV+V'SK)U&B#O\& MF]OJ]]_T8?'-OAB%T>3P'U? N*GW6=YX%\E(Q/]HI").FRF\KKXP#?^2\$!X M-OUYHQ?3:KV)PEB:Q;4[K?]^@UO2#*2/)6AP% YSA)O'JV YHC)K\89*]G_> M^MO]% %W[4KT(NDE?>\8*1YGZ4^O!) )-]=0:Y9F,[3(Z"[ZZUZB8"E-V(=( MC%-Y:/[Q)@C3<20FAV%,;T,_>J-OUDNR+!D=(@M<2Y6A.&F**!S$A_2B_'7! M'=LMYI ,^# +S)/UU]OPU:O9SP]>;Q^TYG_5VF[3YZ_H?LI\J?>[R^\8>/ F MN#$_;W6WIEY6+Q^N]((DQ\U !G@S%D$0QH/#EM>&>Y@'O*(WOWMCX4Y,8MX$ M'T@CU6*NAV=]"Z>]GN*T_3FCS+R?>\=FG3Z>7EZ=GGU?X"M-'>_XK_"[2(;!- MEL0-[_WV\;;7:>WN'%1^V?\[_7\+5^PP^EZ%&/W#V<4G[R=0<7$2?\Y';% _1[(\/!]XN=HP" NP18IP3Y<\!94\C])419W>?O G5@7 M4=J&+SKM.T7I0V_U>F][?__@(5)YD0@V0K8SOD4Q.\M-T]O ._#DAV2>VMYZ M^^*34%^]LUB^M#R1!?>]6EE_S"BHO3L4U,PM'O>DI6TZ/OV^ MO7[\43Z*XUQ$%W*/3Y\Y>CC][%R?G9Q95W_N7B\LO1YROOZLP#57L% M^M1K=[VS"Z^]^R)XZ9U]\*Y^/?$<+6PU\-'Q%7[=/NCNE+;H@:SV0 Y^[):2 M1%[%OGY(E)<-I=>"6R> ;5- YN6\G[-25&3> 3YHCN,40?]8, MQ*2)CVK*V##RSF-.RG&N%#SP RWZ/W"CASZT>%YWZ^U[Z7-< 3W2\NEI>.BM MWJU "[9YB"W]/";&PXB>J-H4J) IL!Y:B5!<0G3S%VNFOHA2JYIV@=$V7"M= M71Q]OCPE];.IFFF52BFS+.=Q:-#KJV3D^'9>ELSS]-96,!\GHU&88H3;^Q"" MV(5C _KI\!&Z^(2BMOAC_JTYC'L8]6TWN[L[W=UO] N??I)]%+VTX9W&_O:#-^;Y^66!'W=R*_R,7AC#I\6+ M>B+UTK'T,:0?>&'LA5GJ^4.A8*TO-TSY[]P?4EWBK=8T#K"_X]Q; M3+\=LR,=44";'*KG&^Q2F]^NMMY_".)9IDHGE&@@;L,57XO94 M)^-\VN:R'#_8>KO3QDF5!WN=UW=NWIHRZ@)!1\SF@5V0@&&@O#]R%:9!Z)-M MD/1_ZJE7;T.7.>E2-1!Q^!?]_9A UYILR>GVQ?;EMJ)^3[9?S MF&(J=-?>K53L[KY(2=52#H\]XD=!H&2:ZO_Y"/=KV\A]:^OM[NY.RSL'\DE@ M]&,EY5?OO0JOY0.B$35IED.:8_CGF;I*;JS.0KSK3V(,UM!Y),)X-E[TC4\B MN7:FP!*]!OGUG.[> J[NPP^)/T=1KEOX MX,4C(NAX!)04);;?V7J[OS<3]7[Y"-GV,0&:G@]!=Y7-5L1%WMD_:';W7K?6 MS\LN_.J__^UUI[W_)O4R&@0I9X< 59ENW.B]Y+E!08ISORL\,-"RIT][<[ MW>Y2@@J=SM)N1:O:V<3XQ'Q^O HS+@R4PA]Z?B32=./\N"LE2&I<3D:])'KQ M-/IUI6_X6872^S\HXMK>.?B+-(%F@X)JW[N=^G3QX;)[B;'_BX_O MZGV:8;L3?3PY4S+MC.+AG?)#7\/YAL7^)U%?F3$]/Y1P)$98;ADR-SA) MNC#UA'>TF/MT3[8>OL?F4X?X\=R\I(*5FZ?YP#-?[CW.5GE M^5W1EB>;<\SB) .1_6<>HL &.=W'Z@I%=4SI? '>Q0R2_8MJ=PIQONW!P5@U M559R$!XK8_Z=1'F<"44E*2JU9.E;2E^3(MCL> M%=VFW@NX'YB07IJ#FY<.$ZP^,95GL*:4?ZW=X"2HQ#KP7'7[' M'ABB\'WO#W@#O)XNA1_A*O1]"-&)%D&+%&GF';2\0$S2Q^M+777,Y8_H5&0B MRPN6;M?JLE"7JQ:.FW"4D<6!NT=AEL%YD!%PN4IB]"VCB2?!SYQXIVBP"Y_R M,^]%)KAL<.JD%_=P-9UK3<)#V__C=?I=K:MO1E2 =D8 M"\B>^MSS@NUQENG+QQ]69V=P8_39M8>U4Q_6"A]6MQE_G' )\*&2R*+7V^"?S._K?4BW-O 9T_N^A*L)! ]GL*2F^-D4?&.Y01#>@ M6S 07^,+; J^P+KH"PHG1+!NZ0G?!WV!0XH"DJ 82XCG?@JN4=R<\T4Z C4# MSU#&V@&1.X(MF#302H2;@6F%.S3P!BJYR8;FZVTP&B6MC"(7= ZII !3IQUX MR07KHZ_;;\QE]UZP>'WF0K04]<4+UFJN-+&5=J?7[!C;US5XMS M3K]49W>[L[>D1.G!=J>UG%L=;+=V[[[3MZ>7%![02A2PM'>^H?")'/%C.%B# M1$WFA/CI(CIROKZHB/;C!+"/\P_PTW=Z/7.;'&WN[?>]1L58Y6B6:)M I&1> MWGC*E'S]!!7.5:F7KAB7?9YG4&PBIZT[H2X7F5";0:S'*D;:#C-SXM[N9IR. M>'=[\X8+HN4^O?JGY62^#_%CGA6S&;_07ASS5MQ_9NZ%!'A,6Y8]V[@+T.,?L= ?SS)*HF\!(2,PQ:%RJ>0FB7^3FO'J>N^%*HGX+;-L]M( M3BCS]Z*]ZWW9OD0\P/W.'A:!O\07QZM+)5&]",2(PWS]4(TX]C^&9PN\"/B5 MZEP"6K'(@S#3ZUH5ISU<"I[Z?76$*T[444&W#Y$8W O8M4=>Y7P9N)J4?K6/ M5]]+BRPT,,YC.Q,6BF3WA!8G(S6@TJFYAW(BK-3CP=58_#.=:^Y'E(*&C_Q$ M*6GZDDE3*(79YP09_SI,\C2:&+Z?]]3J\[X!!/H0QI?9*#O!]SNV;[WH#)0- M@?V[#(%J\N'=3(1*F/@E 1W.)"\XP?"MPULD"FW.$W6!GU!&%T1^-$E#EN0Q M5F2":&_V!*IU5/PR3EE'8-X5OJ(2#OMTEUO_D8 ]5D]".23;_EL?2Z+09*]%X@?T987=73 12LL3*,.Z=_ MQ:J.Q$C,$9N@V!1!+6\7\TK3]0Y0@(V3P. MF=)Y&FQ-D;ZS!SC'!.5O"'*!%38'EQ/FH&"66V\>=;'KXL M_/3 G- G+)#E 1E M>(/_M7"W4^QB2JWL-O8[[<;![OXL)7B)=W"XS\U:S)-)L8XIVCW:[$H+$"89O)O I;"58"A< MP>_>1? P^P;P3BY//QR?5YOUS]*MUR<,"SC"%$==8/9?<3@KKW^,:)[3/. * M1P:L.\2#]D92TE=P8V*^81(%:-&A;1DZ/(&R3QFNP$A @JV"F7=Z>FHK^1AB MVKNP$8@/<#8\!(U'@X5NR-9,L.U=8AG>]$)O0! 55<04A\*WQ=" 6S6,@0T; M0W+0#?$'(?IJ7(OK4?$4AS/@%WKK7$QB> GN%J7EZ\@)[99,IT[4M#)=.-MB M7:HUJC\S9%7U>I7I#.PL+A9\^&RB?3N;J"XP7/E:GGN 464T\)QWN5_?KM,( MIB6"A>^_WM[?>;V46^UM'W3O7E15\K*K0W":Q[!WB9-S,9#S4O+EES[XOD3M MM[52+TFH/79'GE+ /G(M#Q>P",=V?G1QY9W.$:O?!Q5R)UE7A-DPCT1/^,09 M$H'M_"CJ[&V]/06OP&MO+R#/,U&EMED>1S13ZO245/M.Q,B:I(\CZ6XM("LH M( ^,@#RJ)>3Z'">@VD68?O4^"#]+5"TE-X>L[5I,5E!,8DLVB\EWM9ABDEC*;0]AG%3.U:?90!;"KY6.GMLS6YCPATS7,K*",O*UEI'=6D:NSW$"HGV4 Q%Y("E]23AVM:C<'-KBB,Q: M5%9-5';;6E3NU*)R;8X3$NT3_,2[%'V93;SW8>I'29JKVK;<( K?)S"G"GZ? M9'#L]\"4U+5<%:_EZNZ86JZZF*N*JGE?J^;=6C6OC^#>Q]G$U!&)\# 7;@>X M'AEV\F<>9I,&?!=1B]!ET4#D?4+D$<6].CP!QCO/E3\4*?>W\6^=KIY:WV\, MV]0.4A6E\$Y+2^&]6@JOS7%"HOV_%Q(6<"V#_Z^6D1M#U&ZKEI$5E)%=+2/W M:QFY/L>IBY:J ;4#\Q2C2#FWA*/Y>>2 'WVPX%C'21PP"")> R(VCQB=ZVPL M>3&U2;HY_%&+VRJ*V[T=(V[K)H95K^5Q5/L7(KF%&4$QD "%#R+SMQ/%]XYZ M29YY.I" K0^U4-T8)MCIUD*U@D+51%M?US)U?8X3$*VP32\+2$^4K9?Y>!S1 MWT)-:")C+40WANH[.[40K9X0;>^8ZN2#6HJNS7DBJAT3+ARBU9/P!&-4#)34 MXI0PY8X805X0''=L_D04//Q!(88+.[:6MYO#'_MUHVXE!:XI=3ZH8P&K7LLC MR8:8;@H(0^*3:IZ#NH)OLTA<"\U*"LU=4_1\4,,;K'HMCR3;&0UP.(T9/QQN M58O+S2%N+2ZK*2Y-ONG@N!:7:W2B@&R%+XZEJ$(A.1!?'IX5>[_E*DR#4(]% MHBE(YTI>(Z3\:9R.];RD6L!N#CO<)V#KEI+*M'&L9TM)>W??]I3432555.9[ MIIZYW:J5^?I(;R3;^Q!G&"8J;7@G=IC@F1DFB%&D8S-XQOL%APAB1+X.PF\0 M!^S7D$R5E*FF_KE=XZZO>BV/)%LA2(^=@:ZUS-P<"MJM>RR/)=J["V _'8,,65<_>!REU M9XE4UZ%?E^IM$L7ODZ%U:K0RZ<@U38WN[YK4Z+]K=5U%=6U*Z=LUX-ZJU_)( MLIW<#L->J/L^YS2$>I?^4 9Y5*OL3:+Z_IV >:]HEKWYW"&)7LL.SK4?)RFA MV1PJ\J>O93'._K_+A&3B'K:*GXA>FD1YMO@G(Z$&8=R$\PXO7F:?^WCA225S M=VK+G/_&U8?!SUL/H$!KR_QHJ(H#,Y#-GI+B:U/TX04/170C)BD:+>Z^P*:X M1'C@_M4G9QDG9W_K[14># K9PP,7S :QR3YBG\7T #E][SO#4,,EF6'G?V[V.])#ZL#:N##Q0(N"+!)-QN&J7<4 MQSF\_(4<)RK#IEQX;ZSL:O[34W8O1AI3E@I\A9)>G&0>_#I+%"HO+U&>GRN% M:K(O?%2B<,W?__:ZT\'WHGUL1GH?4[L:NJ#]AEJ#:3G2&TD1XT7 65?P)_C0 MUUB*5(#5>A_A?P;$N[!F;.$ ]SK#Z]L'![O;WBGL;C*2GH]PMPUODN3PSQ@$ M$CPP[$^\Q:OQ>A-:0C^)HN0&O[M)5) >FO<8B4G#K%A_=!-&T?1GX.I'PSWPLTRPB#+9S,"3.%%%T%Z'U(= /("IO M([O!'\Y587R-0U"]KW%RPPWM>G M( E2?%,_R@-Y^&"YIHW:)EJPA]V]*4G7;+]>F:@C=MI[8][D^9=0WIOVSC8% M>9 0$9R]"*F"+"PS1D $8B(I8.?R-%,3YB+X0/3""-/CP"=\N7Q34^>IJ#.U MX7#DQ@G0 ?>^0+1PR533XKEH(4$J^J@00$0.5')3%EQX6D94%4*?XP79L";. MBRXC*3,/[+0@!\LX0+6# M8T/)W&[OOR'*R!AV7#H?PA\!'R@V0+DRP'$!(BE ),*;-#STS@,T(OIX^G*T M=\ ZAVO&B$"1DN$]!L> \2FQ"S#L@YO =\21%G\29&4M1I_6X!!!,B8C@[HY M@%BR";8$'$5-F.Y[[_CH/1B+_>P&_37P?V:9ILPM-<6>ZPSKH^0)#RQZT&_@ MB^1LU YI3&U31\/DO3(5:)H)'(8W_HY>, "$1Q%?QI.DDS.:H)],01C22E MN0U?)5@.8!TD<2PI%MP7881X$4 -D<&)\;EB7TF6AP&/?Q!1\:N:4D]&*3X+ M).*4RL-A]5EEP6,("LLIM[S6>B9]#,=&,QD%,%? MF$J#+^!891S,Q70$$ [=8XG9-;(G+'WG_FY[W?*+IJ' YFQ,!L3F1#@A")Z+ MK\*>23["!\6XH(33*O:GG&D1L3BE]0^N#/R,G-UKD=!3=A#_I PO$ XUHC*_A9"?Q^Y-;#AO3L,Z0 M7^_%Y=,'BG!?^HT&V6T[+Y%*=H\>11X0W%=Y(E =5[#9DH=%B4, M962_?IZANM7)I6WO=\Q_QLAZ@US@Y% IIZYI<#J"U#=:L]2K M[/X0$X8ZQX15S!0*BB:<5^7\)7'X.!(^2K4@QR=$(=_!9-@6I^*VJ=(JPCO* M6U^.@>08"S>C-"KR/;W0^7G(_@!O$VZ^%3^\,5 .TLI!NK6 MQ4!U,=#*BX&XNGKVK#^0B?>V[G_7%;T9J\YM[YV.!#[4REC1M,D$_A'^^#@@.I/=*V+-FV< M&QG+!HT-_2U"C8!ZFRDTFJFSR8N?HW%BJF]R93]-O1Q+3, RD; :./=@HL"3 M\6&E3&MBQS/B69]Y3XJC@>)$51H&H5!@#VU[ZT8^,)W0%$QB6T!SDZ@HT 9[ MRM'X-&N K08^%_Z#DM!)FE&02LFAC%,L8 K"09B!R59DR- ,QO(/I2GP[PLN)4BY3@U38B#1R18@H3?4QD-S))-9A.*OABSQX7+[^<1F-YHGV=#1;5> A?5 M PN2-@E^#5:U#*;NP4:U,+-1F(^F\YE (X2?X.T% MEST9T0G^,T]LCGMJ ]@3)QX: EM%DR*V[)1>E7]$3@6_''4:Z)LT= 69P'I$ M.*,4W,1-HQU#TB@EYFP:>*5#*HO3Z9^I_657 GE-)91@TFE\>'OXWJ9Y>;LH MC:O?W]YWTI0QJOS QCA1^#<$)G/B1D52A,OE;D$X*1 SXSM&D"?X+W .C%4DV M&?/QYN,CXZ")A8GZ5]IWPD^3?A/OCFXO>G867X M\QC>@ N@\0RI)/)>''\^?@D/ <\YIFN[[_$,%3..8$'P>.)J6$1/Z7/!2ROV MRU42M"6)RQC;WF5HLHGX#PKJTI[K<(&]$9 ,["AO9[<%VB&*IK:YN-\'^).D M/ I1# QKX0R4Q#\Q-(4B!*?@%6+ T]_A-(7"&5^C(R)XJ,).Y+F(_/:6%3" MBB/]RC(\$CVB=(SN-F4#HDGA^L-VH)"54])$&K7YA2B?E*12L0$"YT[_95Z^ MW;7OGL<@0_@F-H^>TE;:;5P_D\6<0*KY*-*72(U?P1;S7F!,!_RZ"3(C?L(& MVTOO!?[Q$D5GI]5IT_8!H:]1-9;8S8E0"V\0)3W@W0?K3CJW<$+QKEKE?$X4 MS@+CL]/P3G(,?/+ \#04; K/O9EYJLG>9%[#&4$NX9T&DXG).?/5R[73<;M.<40 7 #B>H,;?+,""HKZJF?A ]^RGQZ=W$3<6I.[*"D; ;PPG'*>4HC M\9LB1$*QZ/!>< 75RZ*$"IZJO[,+L6864(5BMXIBPUB.!8J6U1$PDEXOLA:( M.:MP4QQ .L$ZY)#NV9)F M((%^ =M4=*3)&'9LQ((RSC/&<*\A'I:R_P+;K_M*:/^ISZ&/<6H,F@8E94&& M7UHR9-VR)?H-VBJ4G;3J^%J:4\4JBXH:%4,Y[8NATAW'EZ17#24,:1I>/D=)'IM1OV)0X)*"\C34TI"A*Y MVS2K(02Y"H?#;4"O'AW8B)H=3(%"3FVJMMZ@+>LFB9>VJW/5=$+'0#2C-FPKS>K0&U[^UVK]DK5I/=EHZ4B[/O#]E-=&'XBB3\$9Y M!-N5!W0*RKE/A3(YRKG5+9FB&UUB#75MUT:&F&B9<%,7B;RQY#7R)C7*2@7/ M.YVO1LG,ZZD$I('558O#,@W8!GSS*5UU@PY6HZR26"'I]L[9,)CS=N"G,JV- MX6<, .3(4CR#Y;W[OH96X%Z8=JI!MH MU:@!WG>F UNQ;\-S,>651XFBD,\8_B8#OL^W(^N,W7MMH^&I_,9ZI)JY[U7 MOI9GSWO7,NNI958AK6Z&821U:"%+<&PRFQ-DTL[&HS'>2V;86$FXK?S6GHV: MJH^AJNE?U%%Y8Q/^@XP^.G D7=F?*& "8,Y DZ:(C0)E\6^0CR+U&1(FLSJ LFUI)O!JNH2?8H6\2&3G28OT$$*FFE.TI;4)]AL(=3 M49P4Q<@569>8XB$X*HR!",Q7#D +VD V!78R?UB8/E2YA;4[6A KA%>JN>#I MN2!*;II$CS#0]F1:V*0)!2U#I>0 49J\5..)ZL2A*;OCLV[3-&L7 M6R=&(=&&P:%HS,2M.7<:>Z M85&(FZH"770S7 =&@:TQ6'#2!'QI%N2TJ*!&(J MO=0Q13'RV31$:6\,%.#\G+NN"#%5;%9K-HI^''YL)(OL/%_F#Y,$)?/\1,7: MG;0SRG=SVG-FL^@8X6]2@\S(!0\(].:=VIJF3Z:FZ?CSL?>I5+9T[I8M75+9 MTBZ!2+3I]HB]=FO2URAM.-O(CCX'*NQ-1+ M%!QL*!_'1+E5WIB23.:4>IJR&3S<).@)"!#!-:EVEO4_5OI>Z\HV @7T-=LS M2(\NT7*JMWXWG&]>QNSL;!6)+?8AP*S'UO*4ZV>8X'S43;$,+C, L3LTR[PK M]3Y4)RJ7OG'H;BCV/G5E%)/K'7%(C8U8DA1I^X9;X<-&/S/SM MEP^O^UI5_X;!"%S7S@@0&V.@$JAR&>CVSWDUY!8+\68HJ9#C!M.E_20G@NI^ M"2*TKO"0V+3@)\"9?[%B Y4EX+X3L(#[%E?T-@,9%.O4/F@,QABUF[JSW=KV MNZE6$2SE.C#3=X-M)Z%&.=H39$R4C5;L1= M%>3&,-/9^R"Q1?M%L1-] ]R,XB6,F=:'%^X) M_RN<<[F M!ZS+-C6RO"^E/>&WT>73!C_(:%O8 GMFL$9-!*X&->T"9;L0N"<.1SWM9HA MC#/C(E*7,BNE.6IE[H[TJ;W_K+77+M=MOJ&;,5@MK M_R3.J2ZL*"Q--1@1]M*!GB#%%"B!B!V^*0.E L:4"^,6G[":C[Z?CX9@[0-Y MSK4K]!%#W,?8+9-6@J/P?D6-,$@JYATN>*3>%&Z\0]-',3)!-.%^%8E%T#W$ MO@?;E6"_&4$<#8;8H-AOA;I"6L-AQ(-TRXV6(.J2GU$M,W7LL5AL:'P(;;6D M>A,CN+/CEV,56F1/ M#D*J!<8D2)JQ :XOY)N"OZ"[+-?.SB%=-!K3F(UB2@);-2; 8W15@/6U(M/U MG:90TRFNTXB^SO7:_N5B>W!M&I2E)?H59'+O0,9THR"SF*#%C5@R81*4A88V M\WD5X @119A&=*MQP28<[IRR=C$V1(8M-B]3Z"D/3?:+9C7P9@#'1)$DX';M M%DP'R(H&0[<1F9H-FWXD0%'K"#%UWH[[*J'*8;/0AAU?@@^H7 MRL%1:YKK\H:"<#7RS,*SL%<7T]7%=*L.S*&@.M=PS>NF3&:%K DCZ+ZJZU 1 M.)V2*/]AM<*-+U,(ASM,"*YKNE?8-L:1,1LJQ>T-\,/A)*7&Z;E!E@8Y4 9D M(-=(75S1, U\\3L/CYIJ/T]FE4?&$!@#208PY2@%8M/;MN4DQOUA>3X?R,") M 17M%1I&?90$,C(_NPY33"W^97J[DXBSEW9C[HQ:4?MR"@1X\?[#IY=.OSEW M'TZUN,Z&+VQ#B\YV8(!QF(Q!XR3PO$!D@N*6.@5D["#O_;QP;'&+Z=S"--N8 MT488L6*D#'IW3)2RRI]N[*'XF^X"-_$X8XA8L -X\9D\@9V5%!*P?:Y2&:&# MHH$?YN*VS,"9%)5-A>U()84/0"K C# -&%L[XW$JATS0(B94Z+;9SS0 Z1!G M7* I-&Q, QW&<21-V,P4M)13ME/I:DIV%4VQ*3NJ;DY+.HE+?7FT,%=@QJBF MC0)D!?;>75)/DON :(N(I(CY XE3PWRAI'/&))X+L/="GTXY_YQ.!7KG4L]H M&8K =6-M](L,_YBXO-;* MY ^FG%#*W,LX]IZ6&I-<>9X6>L]$BE%R8P*+5)_.:D\LI KRW8WL-7OD3-GG M4# &V-9 Z< E8'ISP0OA+:#1I@2^C<:KI$F(+$Y]9U7'CQL]FWAOT2^V]!V]FF=ZQ.)5*A<:&UCN[T5018BH@P=J-M-Z>9[+RA@/*8?'OZ?1CODCIFQ/AR.IA6\(H M[9),=>LDP&G'/FBB)[YJ(8=!VAG6M+<)S792&R666OFV0\TPC5:C:M[32[F^HL4X3%@"H- MW35#O<9YQE4YTW:Q.=%K4R$2T=0"I=$)-J3?9/9=HNOF_,%&X5A8TN0GZYN-&;*F[,O!084#*N%?_8-J7H M!,GA<=N 7B1'G,\ NIE9 AKS(6C4Y 1?<+@3$=6 M+],C"DA!8.LP(FD[HXJ(6;!>P<6Z*;US!>3OO1&47VAXHW?)DW8FZR9C2^X* MRT/)?31:OFD90$!Q.!"ES",Z/FY#+X*ZZ%GX9!8V@:MIBN UA5ZYU!!5O")O M;:01T,L M,QQ=$%"I6%'W2C!6P'[;%L6'KRD7[FK@/*YDY(G0Y0N<:I(JI$?$NJ MW>H;NGT^8\+8 C?D9*H.'"0)SHC(N':.(9JN&62(=#)9$NR>P-9B$1FAEO+4 MX52Z+$6 EJ"BG:K8(O;DN'HZ0Z?Q: @5K\%#PFE%&6X;U1HCMC +Y MQ@N 7^%(A72O\@X6L1TO@'T?V:CP_+9K#11J-J.?*X[ &LYV\29+ILYL]3(7 MM%G3@*)"9?>87/AA$N$46I_90^14K6F*%N=#!9;[L72-Y,,+H^>N1I])"H$6 MRD%C(:)<#QGW)UELG\]ZWX,$_5-3V^<@-3^].$[X;S2L"BX.K7!5MI&S$XACC3Z3:--U?,BBT:-G1%=RFP,K^4 MWE2ASX[GN>;G1/D< "6R:]TX,GGL=$"=)IPZ];I0_N[7J= M-_OEJJB**;"8YP+@A:G3<="PH E.!QL'37L8Y:54*97/LSWJ%#Y;6'@"K*;( MGP[H)ID>,5?N/Z1:HF^L?J:#_&,5_CVZS._,:5R=UQ=*6)6VD!T4+>NYOBRD;, 5>;MO&J6)K%HH\,?%>%[?<3'7HP:I$KKO591P@EUB M=@;6M/U^%'\IZM-,4 Y1$RGD3)H6@TH8\X@BGA(/[S7AI2,;TZB-QD)TGM). MU4SZ5$SZ3B5?IWB1\C 6?K^H@S=>>8]_HD$J]<0*QY8ND:ZAV[(PJB9X#EM1 MD7'/ 7$F"HI>@BDAMK41Q54_=@9UN5R(I[NQYK> VU@IQF =_\BXW=;.?VRK M?LV$CV3"8S$FPEB'P\1!IN(TGS"D17+#'2)!9E$FOKJMT6X%ZPR,,I>Z7$NM M2=W9&2\ MOX*2-4JXG<4'(4I%=NFW3IFNR?. [A$,@!YZ(#%BH;!MN@#_MJE_'>1#E5I3 MXLDH<5'$H ^-WV;B)PTZ WEN(KT4%WLY&.XW /]@E.9QOO:*>CL;4U$9^*B.>*E& ) MIY)PK[5Y6,#A%>EF<$])SNIQ@3>8 1V&X[7W,MW*$D3&S9*FG.D!*GGP)HU' MN4-QG2BPWR:Z\&.Z@:DTBHK*=G12DR: /; XSGX=U&JQ4";77"E0N@45UR" M[23"6,N!=>,#&CYC7T_-OEY:>CTX$EB!3@7R2A:%>8)!J@J022[>[.-G5",1 M<3*: S=2C+CB,%.Y[DO".!(P8]&Y-931V/0\L;> ;0((&H55UC&5JINV*XY\ M\K GSGF;W@$S[(K0'S"WC^L:PB&72F.GXZPGW:A%A9^<3,>"J#PNTO94]!U? MA[ CC^%<8&+ITO>OC$&VMV;EM3X22VI:6\Z+*FO-,=8$ 8]JCR@CJ:L*/[' MYG@]0TJ'OS76(JC8@!H+-.(@H8DDL72&^(YE;.CN%_6X!1@9X9WU^*#H>L+ MH@Z@%V4*T+"_4 QR'2T7MR'BN_-7U-%Q;F2 M:_])(,7)M4:@40;R3Z&9FB%CV9X.?;Z-)$7!%V9:DG*[J"A JE&=#D!P80*VKVQ:R_>NZNJVN;JM>6R(.H?5."J$@HH9W MF9 ?@$?[%XQEHV,@;1\-?7X1IE^](PQQIB1*UKB/<7:^<,.3M]+/,\*H,T7$ M7'Y"1FV29[H3=2!B \E!*7^- 1[J&G3$"Y#EO4V+O1T4>_OBY/*7EQ@8P29G M*LQF/+0!MLOT)#:8I$/L <:[PK7.I82')=6(=!#(RR$:I(FB 0G<[>;X9D9: M:QOCX7;I0Z1J.!IXJ?)!BJFHUT3&:L-__G?0WOYC/-C"$K.?MTY'&,MK[?)' M9=VPVVJ-;]_H)VG)C^+-(#'HY]&C^6LM^?8Z\$.4D>O$=B6^H%*$$DWOJ3@H MF3![W=J\N\^\*XDXSNB$>$3J'5[>#DL%V@'=(D+GN;.$NM[=1^[N[]B2HW,A MR,2O0%=-_,B![UP7X7=*\R*Z% 8*Y'6"WA%X$P0#D#H)'Z<@E-&<0+])XC&- M4>OCT".:04+:^"17R5@*A.X?V&X[FB224';/!!X)^8MP"3BL%*?Y:&PBK/R M8CW;G@?K-4!5#3VB0XQ2TS5/.M9"P<\\R4(\6W)1'-=78ES,Z+G1M.4,<1'& MGP^(T' P+QD=AG[. )X8+8C@^WX81>M7I'=&(YS(0*H5XE.+ZVP8^@8B34?, MZMU=VNZ"?9%,I-2(8+JA/(HX"%3O\[+V^;W)1C0(0$UG $A:I&O8PF5UHS-+ M:9B/2*D9#:F=400Q$<$UVK Z"9=HH*F0^LTU?.&-+&DJBQ#C(NSHW@@N?Y[H MN5#46T$X5B'UY'PU,AANZW^-DYM(!@.#R<2C7]"G56,+2;UR;G;VZ;\99_ -7-EDJ#<7A]A(+)1Y!%ID' @\:YZ5M5.':9< MR($'=9BR#E-63BXR3($-E]7&X;,8APTG3L*9=07/ =\+ ;KJS5[69E_0^%Y2 MO85_7V_OTK874Q5D&J@083 ?L,<5E8)NY*2$=4,& PA$C#/@VQ:OZ+TXN?B$ MF84$K+X108N.>I)VR8-OBJ&B*6=W0I_@8&"%G):VE>P:J4^+6@)JX:&<^$ # M3HO#B56JK4HE!T)QA[B]M]-FKLOLT8BCM+BOT5FP;C?C$@J\M492->EF;:K> M\<+F5XR0* M?7,W)QED$T@)B]1)@6@3 V_XDQZV%/LYE:WP.&_>C@)3G)?2K0#PWB,SC*7( M^[<5\^WN/&_9]2/?<,53H.8M:GYI]GP,VO>*CN,W5MS>76BT0G5$J*"S V$) MPK@,"(K%6&DV71"F)X$S.!_!0Y@.GD+:- HW&AYBL"1L)6*"0I*Z%9SYIW.' M(C!"HZT,FIIE+F+CP!;!:].AS=%?$.QA9J;#ECI7]+@-A"VCBF(+#'N#R*&$ M=JAQEJFBUZ?9'"ZB+B&=:Y#9XH6<*PPX:$.#UA%B=6H6JJ?<$XHC\@ X-0.* M-9B*]Y00'GD4!]I H5VSK<,J0%$G24X8: V&7C=_4B$>0\\42YS",6%@1UP8 MUG6FT\"O6)Z?])LT2VP4H&>GCV.]TQQ MZIH#QJE1'1Z.C%C9PT7HXF-!.!8:VDXE/2S%E,6 .=A&!)\?-1;,9284<22( MS9)(K)G$1DE=V&!S(JF,'/C@/*4Q8AE/1P:U:54_(Q5SZ;LO(P.::HKWMKT/ MC!4XHE&'EJ">S LMFB!7$@3Z#0V0S$8NL'H MQ@2UD"-IF_ _. 1 BLQ%D[1K88D"C"5QN(VVN[Z&,=6HS"R*-M'@P#OXR;IC MK02;Z.2-^(7UH#6IH7(XES:+.&$;NQ'J&IYA*@&I8M#TNTQU-(3Q/& ,@_P^ M P_-P,=<1&C05\F"Q1]P:2PGWXKF4]L=R[$[RL47 MIT6$>@,$X9Q"WZ&XYDI?#@=?N\G9J1I<L4R<&.)U["*<2;G0:I^-0G7U& M!N?<-IX>,U/*1. E%7B1^J%95O!X:['YE\ :MB)><_1;=O@',; M,>KJC5D_BCGJQZ!2_,5XSHA-';NS;HU*R=P%^^@&TEK'F 15>FPY]N8?S@P$ MLI7?NM" >O81,RVPN2=&7F=LG_+/[2!),\FD-.C2CI5L: Q<:@.C+(Y]ZA0\ M\$AFPR3X5HE6I:/#G-\FSK\A)# <4X,%]U,.RLS13R5,KQ>?CSZ]--0KNSGNO;'E:9#8H03F3RS=2(!Q$1G 4H?]8!8X%K08^ <[W=6S+EI5-/9==K'X_E1F;#VBY78M(_[B]W34##$ 0 MY[JK__CL2=3E'BJZ!P0H9U**=$RW=]JS=:X84^,$5&>E$YI9,$GBV=3;W]_% MZ4[<\H)N(R5^>1[1!LBDW]W61-MD6!1O 0M2C?5L@99F1D2U=-G]=%XQ5W$! MG4>^O61 MP:Z30@USF8P.D ZAEE.AR\0.^#AA#&[^WC5+Z@./6ST)./!"(LF M'GXWH0Y. "@8 JVF0V>3\-0Z=\.A$-3!QJ3AZ5-HU$Q9- W>()!]5#1 8BR# M>XPTGF>Q(O;]M*V03M7.E42;1LBY[\$%GH#@* S>* J_HA@3 6&C$UY8/M;9 M+,FN/LKENB1@X9EHM^J:@+HFH'J)!6Y3JCW[U684K ]T4M3?G3ZZ_JZR!L%1 M5@P-:11E;?/+#3%>F9E9LS-A@3A7QE8P96K.P"(9R9[BQO$[GG&M!\XPP@8. M60G[&G.]*+DKKPD?NL@ MI&"U(!LK95M%K_#D=-[S1YCW5HRO8GY1&D&.QJV/$Y%BC20N5)@@" _\OL"W MC!)?V$0U&3C<-6@RNN0"%4_'5H$B^:QG8^I*2!XUXH:"D&DX<4(A:. )A:[J ME!U$K0_AV$P#(]O;RS$NF_JTXEZ(N2NE9Y9B0$C/Q^EC8 DAK*2VB9BL+2 PC=>;JB+%*L_&W! M+'4H"++=;C)ZJIF!,.+ 6&S96S$6FL6?2&K (E+/M M?8G#/X$C:4@1U9[2@!G %O+"0H MDA#"%F4\+=*&(^@H4" "(Q+8R5],7DO_P9/APEY>5%9@[$QHQ!_@!%(SK3=? M+ND?[3=UF'RERO1WX#=@2!!Y[^4(JUC&6(6W 3J4@@7OI4\R^.]_:^^UWG3; MC2+N/12!UVGLM'=!5$51D\"%G;A6X=>U&WO[G7D7F>@>G%'4MI<9N;)X/O9W MNHM^P%%U5^X:#FAXT$<.#")H(E@BO&:1 MRQ$H=B\?4\4#X>^PTK=3OQB(I8$"5L:#;$B\"RI7IIG;G8 #+83_=: X*AEP M_8U5F*61PQ91YDR;#+P2/Q>-,Q=S+JA$^#Y_3@&')MQ+CSC/LR M991;/:K,X'L/)0]B81W#J-(B^FI-SHU@#4/P$A%+_9+ZG"14TD_&C$')Y4Q'Q5)+PEZDUM9O0^F"R-J!I,87I.S N1(XLFV M![44!V=H3=)A+@JO[Q++E$DC2F&:\K VDDN!1#09]AVM[')_RD++(N3,N+L< M/;"BDFH,0(]) L4W,U94Z/QPJKEN:E%\=R'4M)VG#0)(ZFS(,HR1-QD-V5W6%> S>=F12JBB:BC>V M #H$'[*$[..>573^7IMR60(,J^.F]FN!.>EL3H'#KE9 M:[GA5!>-\BX@V"!1QUL7L99*B;$FL@+97$82M7:@R:_ M77J\B]:T&3:6J06RLJ2G501S'HT]PUS?K:_K>&S,_K,H/8)@0 M=RJQ?0ZF^)S9U@V0FID7)SCR?!3R31!1)*0VC6LR,#+]?"^EB!7PJN[C-S<% MWXF+V8H/J%:5' M]&VJ4PVOTW[S#'K*R^8B%>1@%]*&Y%T@*Q+VE>H 1V?J: M7348I>5HZL/!2M=$!61LVJX2V"TKKN8<5R;&R'5M"S@2@?,NL:>U_/&UA,>6!-B+1^#OB/:H1*(A2& K[8M),EQY1 MQ8MYY5D# H-"\^,6[*F70QQFTA!U2J1D']HF#L*SUL6-IK%2]QL4(UA3;PCG M24DNK//A<2D7#)G4V9SJ6K>CG'&SK>6;H!'9I%8$L!&U 6E#)1P@:'4Z#>G#>]Y0UQ1.5S00$U:F"*XI29/EG(@C*U*8[3 K2V+<94I M8H#CXL^U_S15@LFH(WI[BI$*HO@A_H JI-S@&Q?94=Q51*428<)LP4)P6?80 M=1 *MADXQL2:N ^"=V[:^?A=X[ (G9H"U@S<_7MS2MK= #+5Q//5 M[#N@O<'D<;J/]$!50US=/%>0OD1M/35!8$EM,XF;6%D[R.F8LO$$'/JHP3B5 ME7=7"3=&R?*L5;"[@052+8ALJV;)XM=]0,@GE[[V+:_,+'JL3-"A;U.6^4E@ M>R!L'K#3B\NKDZ(AWN:-_*G4+QV5Y%D-##9J'&^F; MY)EB=/=2825YF8COSCQ>MT:MUH+YE?S*AG=95$G\+J,H?@R8=F7/^-WNNN F M!AY+A+LPH90$Q62<>A .$^ L-ZIY< #U=&4)(D"8>@K;?6%Z!4$0$PX#EK!C MZX\)5)ORDK\D)VMG;XMI-73#9V(T]"EZRO GP3-P\H7E?%%Y/&5(!+:LIWQ' MV!(:/V[T P[K-I%$N)[U JI >"J-MP-95!*=Q:W(NT$S0_O]!0XXQJ?HK4IB M2B>A,72!4@Q[78P"W@ %\WMYRI!C+IEVV=+NZ=B(9H2&W2^#W!A;,UI7S9QZ M1R-=-V-8QMH+*'=-"Y#^3K>X3LT"P\ _)5>=(+BN#W-5Q%2%0)BZ\7O*V F$ MMC'3.C"8%D43,H;4+F,(=->E^,GK<1,%@,C*UD>0% MA"DX2,?NU'@B0K#H73A8GE/A;]E%C>I!&- [/#$U3)PV(& MZDT<56!L%@N;.NMIU8;*BE.]V&;,T\1_":\?@SM>V=-,^IF<.@Q=1-=<%6;& M-+ECD(J)BL,VLY'YP5?TAIBF.P M^KU3KBAB-^8/D.^_A'WP)>RA(#^Z>&P1X3=5W]1J2D6JNN.:8TDH/";6^:5TJJ7#>.$E:9#I$*8PW M5T3V(APBR%5:#6NBHJ[]5?3@ESR)ZU>$Z>59G@D":,"E6":#$0%EKO^ *:Y/ M$RQJ450)?8RY'R4U6/U(\)UMV&BF@'>&@'GTZDK_ OO%(4"503$^@>1 S<0S#Z>)J5ZY.()%;!56#@Y9JZI#C%RFO COZ#*!\5'\F1VYD#XW8.D^] M.$_=J?/4=9ZZ5J!/JD O4>Y-P-P#^WLC%.B,$@13E1"*=.3'%J8N4#E4WHYH M@0@TCC:F46D&(,Z)6''9812YA4F1N,'4;F[K,AW07-(M6'?H9SH'KI6.'8?( M(VW+.<-\C&5W&@O970QE>-'()0PKRM65<7X+XS?%):H$[DR)/QNFY1PF!GC M><"%.)%:^O^ [%Z>MI[**04_1TW^&PSL!'.<@3GNA+3'"K,4W@&];K W$>@" M9'C8DPH3X6 U"%\'.*EJUD2>D_A-R?DE2"(=E+(@J&^F!AC:);_11@K%!*?M M%UI")FYQ8A8/P"97(X>M&;.R_SXU_V!DS2<_.?,%UBF(9:JBPSCO.;8SJ$= M[58$AISLYP$-3<5C)$C3-#!U@/BFZBLV0$GP;ZEABOZDK\"#)G!._@,(J&1& M2#O%D.E]%O UG5KGS5+7UV"9 MA,)#9MA3R)M"$@ GVE'K]H(-USW;SIXO[J+A+?TC5V$:A*:S/>5A?'+D"C#J M_+Z[<3.YB75-*K9P:OG,]\0V"0NARTO6[@(WI9N0KR"?Q99#_YDGF=PZ;6 ,>47N;F%$7XU0>FG^\"<)T'(G)84@PBTWZT;?, MI 6C=[O%AF^FX/\#\V3]]39\]6KV\]W][>[KG;E?M;;;C_Q\I[7WJ%\L6E3[ M8+NU^]B'/\NBNG?>ZA7MO/5AK!!C=L"#'2'W_+S5W9KB"V*;<89 =6'@H4@U MUMAARX,O]%-_^!OH'5YT)W-]9WR+OW!]7C1J9Q#OZ "M2#7_YDA$*U6RX+Y7 MNVG:8I=Y.=".X\_YBX+/=L5>NLS+< 2U;% ]ADX8X\5"(M>T=7RG7S]W1GK][(Y00T=[_OL/;I M_];Q//X3U@LNU#?QT=1;/YJ/[M^U"K)*M]ZJAVY5:YD:4#M2"ZS+=3AQGR6Z MT3AI_;OTWX/VXSME^J,WNX+25'_!7%/]8G-'E6Q,=TV/QV'').#6/< MC=9SC^X;WX?3B\NKXRY7^\%]?SJY.]*?ZW_3Y MAX]GO],"/IQ^/OD(_]^86CSMV?7,TH]%+ )!"W:789XZ=4N- ?*0/3G"PC X M.:)AGD%U'.2N!!7Y>3$/?HJ DO0[R!,.YC)).N&X6IFRLB,CD17V+>'B*EIWD/ MR\DHQQ:)<*11'SF]9:!B["61''",'-$4$+F MY-_R+ H""F F2:"%M#UQSBG M$U^,FSA-+-:$TZD_B7%'N5_@!KEKPH-02OX5_S8!LUS\<(^[>\(A 8"924YY17R*-!S0VWO["U%I4VE(\VC03P2 M.#9.KV:! A*Z(SD0OV7BY;'(LR$\!.MSL%HZ2K@3@U#ZS<[-?P%>$H%PAIF> M3H,K2G7]3I"4,QA#H1A,5 \9I*- &=\K2P1_5H5TF9<)(8 MJ%C ]?"4!ZYU)#Q@22,.=G=W6MXYO"<"U1PK!(:CR9H-[Y- J,!SX-@8_@AC M('"2"?A!=_? 5E4"P\@Q0B%[<8ZZ C.A+_;WNB^]G?V#9G?O=4MC '*J$_L0 M%"780<#MQ=X'N)77;C7_Z5%>=Z)/J>(+;K!%@%H:$>XF#M-AD>:_Y)FV)E-^*A<.3<9=?7-A744/]97F#DPT9]1I+"QW$&=AS35W(/,^ M8:5$"H.S\DQ ME_?#/VQ=OUFK/O9 E>U!V#[OQO'GNG_<[VWNN#AQ1E?'.&ZX'182#GBH[%10+6>^:]2X)$+2.E]^#@ MX>I>>?>[XK-K0]ES<+BH$+"!C7NR[\U(=1)&[VDBS!3QGRD-N;K->8]S42/O MTL>B7Q]LX67DUM: ]W<.GNA%JT5>9O@/-DJF&7XI6<&UV82S2 Z\BXGH)9,? M1++OO/XA)#MS=X$AMASV7K_^,A%A*2>,Z ML/W.#R'<[V%[AE:!?V.DUMCN]C"8H3.?PB"(I'>[=CS.9%H[V,VA?ZHUSE>:"<6X8K8 22#3>*+5[1P$L?:U><\ M/\ZQ"@[>]MZK;5Z&-Q0:\8BVF[&9]+DGTBURV],0"T$^$7YQI]5I(]90F"@> M%Y+:(*;)AC2<1Q:/NT?.-*UBU8_KM-J[V]X'+)SX+8=S ']W\8F_B3C'8@S\ M?OZ3"-]X@6UN$^>BBCP )CX4160I;[-8GE!*'D&ES7! N"!TDWE]6 ;M@I'"]?% M#W)8%R7"U!VI5#"B"2PZ5ZZ!K'R-!PT<*>&PVVY6'$,3$[!;:08CEPJ% VG MX4NZ=UJJX-&C\9LC/H='L*\1'KK]J5.(K_*!BQ_;NOBQO7_' M?C%5I-6RII;*"K,/^@)ZNG?&I4JXJ-+\4UCW)0)EBA0G;YW&/FR#UWU/@$.T M16$<<42>U ]U@.59AL!S@'A8W*'+I5QD)]S>B\3_BC+" M.\JS9*1IQ4.ML)J0V,]^8^91;8#,F!.[6IVTX'4LE!2S6DT?R4LYSBPC=^[1 M1^Z#YBJ;]^$ M\^[0$C!1C%W6S9I[!E.QH1#FV&E!G?8)_WL!JS)IDB;HFD* M?>V09GVPK:X!RM64ETJ3?$-1+8.P)#*L3262R--&NTAWH# M3I,)E4W%R59WHO1"YARIQYJE1K_>;P2[ST5-:.>^2$+#R5Q5YH+2S-5JGURP MAP:-HHD0QEB?76,Q=\%^E*A::4V9C)'#X%$6X+*\++T5-)V$3_^,QD _-33# M^1AJ]'&+Q<2 2$C:>:(2,=].T+"HH 2 MW5P (8^'*N$I+8XNYN-**Z'!G:#^R<+$8V^V !6T ?]J&/K,>Q<:Y7DPLK)G<65D[C\,/AYZ_ZRO?;!5EUN69FU_"#EEJ4U/JZ6J48<;- M[*ED3K-1@_'!$( QG;TIKHGG'>/ G'@*6M[@A5/!/'C>7-!.$WMPNIR/:(2! M4S^*;1/4D19'>K /H8!K5$D;V+^@;W@*EAY&04TFU-;"=BK\'J??Q3Q@Q[;F MX0 X>P$AGG$/73@R.\>1'>QO^ZZ]Y*: =6O<01N1)<7<$"G/?A0TC8_/,[]W@4 H:M MJVCEWRN/L%&3R[XUL"&UCJ73(QNP'U0,:!ZBA@>$^T238D>OI9YH@W]+YW[2 M9 [G#&J8_T!IIR]FPP0A4R_A+M/EYQ2 33(&<;3+2)3MW *:C2DEA#9'0A.Y M5$*@JK@1.&^",GZ+U]#P>BKYJO.GI;^>'F]A0"%-HS:\!#P\S\(H M_ N_[[ZG$'E6@D $MP9>]^&>)Y2O0-I4FLYA61J$ MRI(RA:1^.+5IF5)I! M$$!44:8ZZ1W;TXQK#^-AV M9#XAB<( !"#83DDH[10_3$S%LEYXEF?7_:7;< MAUSAH[%)N&&TJ*4A;5Z&KA#)+1$D8V9Q,VXC'\,6H^^X0%R!1QC(J&&9;FKK MBU"$WDD.B,/[CW*>\&K&M*"'1G"_H/?T>#T]Q(!FW1$T-$)ZRBE 3UFB7@,7 M'M&>V&P!C440/ CO1O::/9%J66)6$V#'M9Z?0*(;OS3XH3RM.#5@K32-AC[W MA<86MI*9]H*&"=/D85I_:?*MQ%AIB'MC%LU4)0#C*^QY;^)K3+SCH_%9!C0V3<:IU#(HHPMUF M"6JA9\LDWO:.:%Y92>Q(-;4F[#XF]I>AU+G.R8 MH-383F82#5TNKY&GGE'#L1X(0S*#6!KD1F,6I:!1@%^34,!CFEJY8 M'> ?L M>35G!>%GYPE"&J/(51Z9U&:!/N-P[,">LZ@,I:>0Q3!G.1IQ>&8]Y9/;*).( M]ZLGJ=-?!FMG$9S8]++;)V)X>@(V%C=;6<&YHZ>[C/PO%P_,X M(SWHR T0!]@UIV. M1ZZ&U%5^0[DT,S71CC%D1 Z':HX.C6$!KE)LN!#0TX8'C_86,2I\@G:1WB3) MK<]GH5HT6KAI_RX9B29DY[$^LXLT% %Q@(]'N/J")*Z%J>T<\RYH"!8F#W?@ M^T.!DSD'#PNA;]N>1W6VN1P\_0G[%+7:V$A=%3.V\A5X9B/(Y W;:)V3TA%[ZJY1CN(V=8V%YT^?9?DA5A@DP MBO*1+,Q6\,A,G="P0PM,;:W"?(K'\923.. MD0T1EFD!J-_DAH?UXBL[_@LAKM!7;?5PE8/@.),U/&(+4(W5J*]?' MTSA:X/L@D@@EG>GQ;& %6N@!^R2\WJ$4UQ/8+:&EE"X/H.04$4 O@\QW&K\C M;ZU<(4\+] ,NRBQ4WD'-;>^2)7LT:-KFK.N#:+VOI#-?>R4L\.UGS35^ T:8F_4[.5CEW/!XU> M ,\:8X?U11CE-"!S.FSPI-S+7D8L!T+?%CA(^#.A"R6)Q>S]BW@<+8"M ])H MSDB30(R0GW@6X#AW[(V>@O]N. !L$2>AKR5LC .9<7;DG;O[/),B[Y($ M<^=":IW+L0.E>\K 0:51\S.:N(A1EE/RF;FGI/13T$T$1@8K(UN5F0 M9A8ZJ0V/T*.TK0F+B*6N0TA!'Z1]C(7,6I>Z*K%L9)H/V2K5T0 L)4TYU&<2-*.Z)7B/&H\-C6YJ)&?DI_%Z\ M^ )-%)O0@ -@-U#__5?7G6!8#?9)]E=&[LKJ4D"55E9>>=PQ ]VQ#JL M)%C\%:@^5&D8?,",N33\R3F(W MJ*^3 V=J)*H$Q[U6I%G-6FC2^0X\F G8XS[&P%.,ML3] M4L.F:L*3BU@J^+-.Z@<[85N^Z-IJF+K%X3E87205!=TY5JF<:.5SO42R8%7< ME,GF/'7FL?\JZW.M+V5LI)C1I5)\#8FXC/@Z(K&8S2>+8JQ+\4 X+8I$3Y2B MN]B=S-[B L5&&,9A==A5#>(PJ ^BWBLU$RE2QY+P$1\^/SW MCE[2WQB/CW-76)M$K0JX6>SSDRB,+NQC+7ZEKS56B.>:W6P-OI3,^4D1.\$M MMMZI7(/8EA2[=<;,([HB47-@;6H?*=](<_QPX7#8RNOK<68N.5O!2+PN%\=V M@@5W1Z2+(D56T5R/[65PNAD."C.UPKWHK^65HB8?_7K[2W04%EZK [4J)-R? M@13RIU32_"U"-D 40LM .-LO277_YU7[>#*IU:?::7>ZG^ZG;W5N<*DI7OA" MM]/HBNA6+XH'E^75-])X)2TS2;@ACB.!?LSI"C94 2['L-3GAY@+\I^>EI9# M:;W>4)[.+9':(FD&*!<-PB*T$J9[=]ELDQAA=+J08UJ^PW]XI98;\S5B]B!KB#7CFK%$LW MDUAGCLE8ZI0$)]Y+8QP:GV/O=,=[0S>F]DKO LXLJV<(#\0]-%(3JNL4O,-Q MSJ2M"KH[K+CRB^8$5XU7WRM6&J;UR,%(DR:A!I$*O0$3Q3)=UN2@UC(HX)M<$T72YF4;_V'"I MV #TKDU\DE5\"\;W2.89+.122LO%;^;L7LKMRM)M@U1&VX(HXP"A>N?#_=8- M'OF$.WO&2ZP U[0AG!#318I&"]G*>BPW05[5>LBI,CU50BWY#P8;0=*EVAXQ M+[ 6JP<:YO08>X?&-K"S$F,CT^YE6+@V9;$WTC /X93@@&CS-4H=8 0:;3(@ M(!HM9I[UI>Z5MVM%--V4P)H]PYX@P&IV!6A-8)^3J,N3JUIZ*33FA;3!4M,3 M4AR[SBZS=(%!<,X@-4H&H$8B)!OIZL+;:-9C&RXM/(>/ MEU"5Y"+@[VSQ.PIQO$_Z%H_-U'038'$STSX!]('Q56\M'Y>D6)K9V"L&-TI0 M4GP'NW2-?]M=P!%JD2AK!X$"0SI[%WU]LP:S(*F\4??S*KM,,'Y').=@5-JB M/S"/!8:S#" Q(Z07V*KH\^#/Z:=X]=$3;&Y!P5U1W1^8,AS^U:2@>\YNLJ$) M$8.F5!,M# V=L?83IZ'9EW!^_Q5C4.CO^O+9G,L4_BUG_YPF;KN &@ZNTIH@ MIF#/D$''@1RN\^$&W)@G?I95]STF<4AUTK_#HNHT&^M .OB_=-%G\%7T=DGH M91;5T!&R7=(MEB@[IIOHEV,]_9G(P^@(;L;0E+D@*.D8-*C0&1S'".YZ:6$WT%FXZ,$N1)>AO$'TC MS91OQD1,_H$$^+ )7]01+(0!:$_=AZZ\%[\FDP;Z^,7!H6Q[3, "E+FS:LN0 MTFGO%SNLY%B6 QDQD\!!\F!^<(X!O>5X:S;VWT%88O!X;;YID M-U=UTKKTX2BW(^C&UDL$()#.B53E\#O"A:'F>TFWN+^G;FCXV^]$#=-G8TP, M!-,MJ<_X)[3KZ!&V"<=B#2[U;K5\O7#Y<4EQ=,IWL5=AE9Q%O+*0@:;5%R6) MT\*D80PTPB][X"URQ.U65 <)A9M=90GE[1K:=^;&_V:Y,FF#^#*!V?&MC4'" M D&[=GMWO6(4.(D>3FC3#"J3BM27Q:E;\DO>W=30^Y5/ M=1^:3&<1@*QD#HSY)9NQLSWH_U';[DW9.#_"[N+$XH?17/8(\TRI@OAZS3A_3_![0-AN/X=25+(([;!/C(3]K[Z[:YC]KU(1(77[#J!A7M(82T MF0EF 5EU38S$&GQ\4'4]:2VN$5NPVMFDU!_]UN2?N@^8A,D%F^5.[B2TZCU< MJX\KI3,*?\ ?#%*B(+]CDC*[*+Q* PHEPB\1# %_V>H=,>G>4._YMNR6 M01EE4HL%OY!>@L1+7B+&&%7@H"V2"[F*W#IK/T4>P9A/.,Z' M*_^D^++3?W"!6>YB1F$ 8]^2:BASJ:#"?QMG%C!2O$(R&]*B7+]!P80 CL\'#M,,U)A)3_24CYAY1_$$5W:"R9S1D25AKR"T]/:WS M4LW_['WJR;6JT55M MF+ &)V@RD=#*[!R8H+20YTV5I 0#W%0Z:,[)IR9KJH7,1J*0HXZRZDA04'D/ MZHTH3GNX4&TF=T"LPU81 ?)? V/+"/(-K1B8K>1DJ^6J'&-RE%7120,'Y3;! M*&HXYX=KZ03R2N!%*F-)CMB<*,N#I7LFC",AH8.KLLK3E@^::I!\S*=B%WP$ M+DPS=8:?$3--P3!.$3V4UA .^<$.65#7.0V!110E'H]?KJN#2'EHH'Y(! *W MFIA+FBBJ@P%[# *R*^?HY"JYLHDY"M0O5[%?/(0)5M+A$!_L$*VBRNK&6EKF M.K5J#R;))1P8!N%R2:_H-(K3-$4C.X.>>[A#:Y(O). "B1^,Q%@!;ZNI$J9-SIC^9:@98!^8% MV,Z6HJSKR99F-;I?71,#3,$$CA$R4/\EA3K<)JYN: [J.&-E):;9%X,BZ3: M*FH5T($6O,77 9KR+3>_$:(U7A>_7I-9 MXZZ7E0.H%(II!\5:VI2PZ:K=@$X%;W3.!%I-#1XS#$"76(;(;56P)/A_6+2N M*MTBGJRR^,:,3."\%U3PQTI?J@CQ9L@1"O=B-A?KY6DZ7.L\03)AA%671M6$ M1I1=4A:&3 /F!__QO'M37E1+N;E@<'="/MBI<>Y\8IH1T:Y!VE+J<@+R=^#! M;++J<38]4EP#6-$\CM8C-AGNO&ZD MLU$*MP;A\,B\*_K.IW([]F5%(.5VBD;S(NJRI#I'^RLKOV#)FBV&N*B4*GB6 M[@5-BQ$#.6EFH/'(IF96GN,\6K$EC"B4,C^'[VDE!4ZEI*+9.JD;4P_\I<%6 MB^A*)3( TM9WZ.KC*<@L+.LA]5Q619)2DDLE53/]]P)$);8(97DZR2K&[9CD M98DF4"_ZA(]8_PZ]#AGXG%3ANO3S-Z#V,6>6Q1V+J.=V.11 MC\J,W9YDK+M;R+AB'!:KJYG9>) !&30<;^]\CS<6Y"& MM?[A-137U<6(< FRBN@71S]G!1Q_R)?P1<>V$ M+5[,4/&UMN+K-%1\A8JO1U VUW*A+[-0UW.KEC0T7FF/1^ K"%)OGNN9[]K0 MX7YD5T?D!M>Z1]S@XLC+D1%\S1N#-I?I^W<+M&8"JMPQ!)U4PO0 MB6=:DC7IFYYD:<:^85J#+IQETHVX&,,&*OO&O=-D[]P6:LGM5Z-^(DNMIT3 M<-*34;WQNB V..X,_ID9 .Y!S[+,Q#/F2K%8%SBTX##9D):.6):S*SB:/HJI M[L]T ZZM>??7S2+5/PF\]9#WG7*=*>M#!LPBP*L#Y 5O8FZXY ]X$#@G1<8' MX Q'#SU8>N+=3FZ*0?@Q3;Q6 @=&K?*D/"4(0>HSI$(?] 09%,K+UWC:%'&K M*.#I?6_O+#@$5=-A0(KH:40#1FBF>*XD;WB>C(9V2$#*-UA<@7]N12] U!1( MM,LL8:5FI]#@M_\*%CSJ.^[Y?I.C97U!.-!S0I.M'=!:C O)-9!8JREO=Z)R M&NRV#2E%(>5Q4B^2G$,D#8Z7MT^_!@07 ZXN'+7)?S+BK0<"Y\+_8 A08YD3 MSB2EE9%N\X;_QDDMC')W%;J575VJC#,++"@0A?=R1O=F[J_>^O6?7 H_.,2- ^=YSI; C(,LQ MGYS!9C)TD>6"EM5%4ABP%P=1G+$NQ37&?YJP>JUR@[DE:$'NF*AUQUFWSK/V M#[0V^-)ZS#%A&"":@B!V<"/+C/&W*PWPH$)OX!QRA*\: M,:+ZF"(3:?0C_/0?^'/4_*PI>.LTDZM5 3#$^4,989VOFVSP&E_V?MR4..T9 M7G?DO^Y-/I\F"-JV\CX'_<-]C5>H;II!Z"V_@,";R6M._-=\?//AW?<;;>G3 M%%W,GY4V;YQEO/WE;?1S,IYF16N'?(2D"[RWDI)@+XB<%_]-U.=6%@=2;N*J M)<&.<;33O%*S;#%;HZ6HL$+FYV#]PQAAYE"O\)3M&"\/Y8.P_?L_%'^C<=R< MOW1OCAU$H?O$[4URJS.(/VW.C2\./I,4L%?',4-YP6) *DBM/"S=)+;!9_VT M^@R.>DD?68"%D(XCR8)9H4 M]E8(1&U,B+>$8.",6"$.9OP?X@\/^ADZP:HGMU9(R+_-%*.-_Z.;7Z#+)&;]%ZCRN M4V-D'3DUJ60H.?6=XATXY5GXR!JL&8FD=5C"J_+&R0 )(6>$AJ*'[I9T:D\I:CXN*V_VB#DGP=JKFNP_ MYG92!X&YN1A#TA@8BPI^)W#5 M'*-]Z#Z8Z9^#6X7/ M,@.+DH:25'KTE,Q I'E59@(-]<-PBODFRMQG#\3]2767MO;9M;?D@NMA=)=E7RY22E$;H\<5R6XC;3<&6$*<\/T.5Y6#OBSWCB M5+<_+0<.8U[RGQUGF7L*4OAAM9\C"8V< >N.,I^4D8B=O&+,S1]^SCWV:DP= M@IA\JF>)\A$H@M@;HU?)B,/6TQRS84K=A&Z$MGUV>$7-4&/;CP"OJ7C0'1PC M_AX9/Z4!:E:A1< M;AY])W.0S82,E?&.5,"$T@:H-OY\ -)$ \^!G4%N=^U* 6!($DT4;$,X.7#4 MM=>59Y\531B\:,'?>UCHMV75#DBBL83L&_??(_).#T#R5K_*P,(G:$B M3@^[:?=#U*FR6W,UXT-( ( M1E<83$I@YE9@ 4M<14-QP9;^O3=>AA[?(G^D03!-GZF9^\"7#1L8Y \3W;"P M)IW/1612ET MBMQ?.9&;I0LHJ&1^M6&.$M6:T9R1@NJ+&B_L]K):)KJW:J&( MP/#AN!(X=(W1X/6X([^JMB;ALN.JO%HI_979[6)31#CD$NBML$//MO_IO:1@ MAY8<]4'C &5& F8+P0*8:JCH1YG'?;Z$5S[G [GZ^%I M;Z#_DY[R]6CD_$7/B-]ZX$M,5HPV:5Q^ M*Z["1R5>:KT:J1M[R"%!2X%!LJ M*\NK&I'"&R'3BSZBZL]B,)GAZ]_7O6IOL]JD">UWOF;(LE!)9!] M]J/Q<]YZ$ (?+:S#>]-$3&_HOS9<_:9 %0#?I?)[^.6/6,C3/SSX.VM2.]XH MM2MP(F'7G^I^&M..PTK6L&>9_!?YR&/I>'#FQI*%$J&%DE3EHI"&L*N6P'"@ M'SP;HQ.#8^_TZ6]NV1U.G;:N0\4=LU["!(M[:.0A.:!2,>4*(RYDG615W?#= MHIP;96MXPN\$)V5/E1%%*!L)S,4B2Y"@]^U(]Y2,@Z,M*F4TWI#]6+J)W8R%R:IZAA=:TY-+5SRJOJS+^_TUF%ED9&!M'MF: M/!9YK%8NB^<*P3>0(6]U"1RWIA56T(_5X4[X!"P<[=:Y-H^VS3H\.@\?J]!# M*$E'RQPV&;OF)GH=HF@5RW-8"Y4[PSU;!I7+7G:.E^Z L[N(:1N^+^M8EZO; MWEQ2='!VIU3H!DWK,O4,-M1*BYU*#1$V$##\G&MEH>W/;"^-WR/F9-AT*',.IA69*_"KK.;6G[WM4/V4:6I=([,I M^E42UN!*A]P"L^SG("8U<*_.V;4CI#J'MYBO9O$DNT*1.1;YG#T@:"YV^+VF?8/2GF1"=X4B4S M';(LQ8%*E9CW*;+):M;L]UA^;/2 MN _Z7BOJ1G-IR?=75V7 P2VHDHQV(!D*-]E 7_ RVU(SYH;JR-QLLEI[(6ZS MHG,440IT&_-OX/RUI#"M/!RX_LTL+6NXAG;U09KU!0IWIM(LB8%*#8<>9ZJ9 MEBFGZ_5/O4YH$PLG6G&(V\Q=1]Q/S.$Q-#@\!&A@& 6>7=<\*IF"[4DJN,L4 M=OV-CW<\+3$'TT[VT 9I&T)""^'*B[\R?7JTRLJ$A:FGVW06Z[2#COGFQI)$ M*6$[^+V:F.M%M#2.LT5G;&>V#F_K[NZEU[4B*V4>64?=@X:O25@D19=@GLY, M0IQ^Q&"DTJ:?2"4)C7Y?S%<+(+SSRE M99.E%W@H"1 -)56U* EWL$+>Y^\[,2.&HE9(?;=7(5@W^,4Y] M5/A?USFGK=H'95.Y4]D^6HW.#0";$]05A8U;0Q73$?NX8B-FI4$OG=E'+9W8G?K+N9*S<(^"GJ\1=A% MAY,]2>OB49"/XINX>IZ=Q,<1&"*1$C3\X@9':XU3PG>V>[6DJ)4E#Y;TL.3@ MNM+5"N467K7)5+AOB#"SW)5.J>R!O"2:*6%]"1 M59-P$9']KG,RD7'++EB":NVJP?P884*#J[*-/W=0Z5._?\9QA9U;C;S%QZ?$ MR:[4N7F&]F $T]Y34A3?';.8+VJO@UW2QEV;XE$!!IE"C]&).^"82-! YZK[CO3K6L%T,=X,1X:6 =-Z@4Y'\LU6X 5TLTF3!8. MFJ$YH&F%DLM#H<>!&'Q?J_:R7>C\LM).]+GKBU][IFZH@FJT-'#NJDQG1NV4 M[!VL>FV'A=R^M==N[W3J.VT&,W *LGVNN/=U1J#GS%X\!")#,7P.[#4C-C*( M890-25(XN*01J],I8?9*_;NS#FL:,,QX@KL.D=D-E3A>P8+.EQJN#<7=.L!I M@M^0'D*C!#G*X-31F1))<7/*XJ+T+B-3F56 X%AU0L_5B,6%ST$(3JYX%84" M]PP#&22BCO^(=;<#$8S8 M[W-VO<65FJQ,9[8;+=W#WN#N53+?DR'[\*L.BA\A^^F:8+>RBLL%!.7O2EF/ MS97&-1D)Z[J?S< +'0DC!YE+0Y.RJMCKI\I> M:Z. 5B"68[O$7AK!Y+ G%%&?PPJL9^=%6L_B(>.]-N/=#QGOD/%^\ID<98H! M,@+#T%EBVRSBM1O8SB.RVVDH/\(F.Y.^CS6@9NX.Z/5:);LI"E9]A6?A"Y#*/%Y M#3OG<,R$)T*A'BQ(JSY+5@;_$[P%,$Y:*?D"04ZS>IP34%'DP)9#'AP.N2V?R9U?V(CFHY3R714 MVV!@H%+!/EG \BN.X+M^$C%[>8Z&'L;[YF#?XK @AFT;$SZ[UZNWL@H7V37A M?H=EN; Y"/$NC/0K35A/3HPY0^Z;P4D@)KF$.YM2^AW1RK)JO)AA7!&3,&_8 M+^#>7KYEP&F8 $DYPR#Q4_T2?:=UA<5"W+Z92K \ 4UW.0$2LMU2@.ED!OCJ M9X-ZDT9QO0FV.NOVI:X]C,23BDE?G*7D&NUR7;UT[D$(KQBOVI(P_1Z[7+M9U!4U^UB%$?, M_-CM%34!^IRBS9Q%BW3'B]TW W1(L ))QP$&'@ZL^Z9IN%79CMHUMM$L+Z^4 M[7'COK<:5XW"V-34K->KA6JH>F.VA]4(-@KK]&!FQ81&CG(C7)YDL[W,^'1M MK.MR=&Q7S_-U4C/ '6E9N5?-!,PI"LWU+!J#KS1Y=HQFR"W5";I,Y9P1S8K? ME0"WE#E/2$.$[YE&^(Y=W/$8?'!%HYL1&'R2G%=2JDT)&#8=>:T2HZ!P"B]$Y[1HVHLD M8J2\S)T>0^TN61%Y8ITQS_B_?/A3[P4Z_08KGV;GO!X[WJD[3"^#[S.&0\+Z M@-)1F9IFW156+EX)+U 36IL)MB:1X?YC/1R>];CMV;4QAG8,91]'[;;2*TYM M;S>'8;G"I,RS0-S64/F<3>&0EP=CB?!Q@=RXKX;1U8>+BBP85K1@9 MS@43RVU3@PB;U3KS. R3Y8RQP9+( F]?X10 .UE:'RBG^VTXWQN]%97P_!QF M)C/KF_\ #_I]D68FG9JD,^P.IB'REU+!,\\793O[XLJJX'*C9_'[X*2,'FA:NVKQ9/2NZ&O=?NT>R=<.PTH:_@; MA2)*L1M/UL 420HFOA;GC-E>H^]QZ-X;6F7;0RP<2>S@D>R;*,:B("G]5U[6 M@NJ[2RZE1F>WX?N&VE],*U55A##@0M&A0X_@@.0A-UDNX(C4^*"M,CL+":TX M],6Y+%_/QG-*3G^UQ=KV1%W[V,F?5,9HZSXQW>VQ@B$3\T28MFE&)E-5::7, M&S?[WKN#QF0[\/5L+FX(]F0K#E74WMQ2&Y@BQ>8DT,4!);H"V-P MTR6U0];,-;4#X# 2P4T4=(:K+&4:U;5-:H9A=46C. ACYSE[ 0L;YDAL3!LO M_J+0N)3**CT-,<](YZ#5$)F&^-ZK;-R[PZ<6.-1[7'[/DV)MM3??2X67/>=^ M&]T2LD[:LN.UYE.$QEI@,9IUU-J>5(;A,O2DXGL5V.ON_AIIS?_J^FFZ15E* MH5:[[B(&9=+?<[O)-NC,"QG30;Y)C94$@LU+97VMLYLYUL^6-U4)-\D54%IQT4VF7 ML=3(&[6N+>,&8%9 Z(F#?369U#%#6H)+>YF,EZ@;F\3)0,6Z;BHF0Q^X@+-S M.I^?G2^D"0G]R:K$$:6VJM&+1,\6A4;NB 6(FA,UYGWB!K#%R1TK1)9Y MPMT"FCPQ@VN>"X]S>3WP@SVVL=<'AY,>T$RK\/#&_'<'_V1]NWDO>M>PDX]A M=Y54T;2\LEJ?CL-R3E;7"V5K!8U?C^8#4>(*QU;1P%P;_!24VN2+HCJY9)%B M^OA)L;F^('8P+A>AH%,RWG#58QLL/#\ MYTOID%AYN&3GB ] -DG,P<&7!]F6_7NA- VJ)',FF;O\[MZF7TUTB"WU% TK MP6INK0'%HV*P.0DRV<>#0#00L01E@T0"5A.;D[D$VU82I@3C7MF0';>^L%>' M-81&N\E?L0R6;X03,A_JP7_<@0#[$+,6%0QRF7 MK#.H29^$GKU[DW K*T^5^9D.Z1EB/I E/+"FVADSX:TY M;JXJ;I\MBMXO4;7(5Z.@6F/H8E'KF-)/= ^&KEOP8$[W5*,G7%]>2-N+'A8G M[=MR9?P:!@>G@*06D 9=0EVFCO_MA4]!4X" !<$"JP?1+[WZJ#RD]87)N4KL MNBL/M09Z'KB[630E%LJ87W>=OCW\E?@Z/L:/^^+\0PV5 7+1>JHMD6*+R9WR M #WT2G_)UFJ0J+A,JB5#W:TLG$=J+]MOL7/]*%,K8Y?P5S*^C:P31Z+L&TNV M>]5:%B>HY%9ZAM5E5BYJ1+G.:\=G"P"K M;\9./X8VQB9<4R\;4QIZ^Y*D/^Q"X.7L>Y/T]X4WC82Q]TDQ2M>W53CNJMKH MY[#FFN>7:+1:'CR JN,%-XW"VKJ/<&0TF.17=)NIT<8^3.3Z%6Z\Y0FA4.+LW&M<;8_+R96XZ;1>' M41^3TX_"+3391/>C[)OP^$W:6E=&%% OB3>7QQ+/LX'$/]1U&QWDGRP0A87Q MP/4\&/-S.]K)A5/5T ;&4I0.:.DZM4-UE[$U9]TB#1UHU]=4#ZKFB7D)=3]C M)-6!.1(%(K,/VJ5[W7G/TB_7XTY98YJ^&>,D0:PJ7\:FYTEV!5O&:"Y&8H%@ MC93BG3?Z*DHE>ZW&BPYJZEH6=J,7I9%1L.R_X*&*',CW:4J8+4Q2W_F1VG*NG[ Q"82) M 2<9?MW(C$>G1E5+"CP$"JS8P@JK#%M=W+95&K,!W*_&QI)IX,H:QKDPP]E) M/;$7)-GX#MF6\+V:+RJD;#>,B#>,W:H[9U;7#:6[+J,9DIH^/>M629N>%8N= MI5?FH5PWZSZRZGH^MH+7#,>ZE.;&JRE'YW'?2T#VWB$'FUVDB]02NJ>7SC;JE%DY)%4H)$2W/F[ M;\KR+K0@PU%HP?,"^%_QUSB4!/^&_Q3AB?$+QM9OL3 Z0%'*_YXXJ$@&D[PN M&66+I0KU-B\:##1:&8GSP/)6.R;=&M9NK-1^9W]Q=;^T+XUWG#3CJ<1UZL:% M=-%Q8"D7U_*51A!(7I*;X$EG,PIYAQ"GC*0FHJG,7UV41/D,6I4':(X>A%4_ M"8U':9S!@R5+X5+FVU090Y9EE?^8\R6#/\U+T0,4=::#K13F'A$I!A[&$\W: M2XPWVZ\[5B%58V3"D'1=GW0=AJ1K2+KNG*+XGN4SCP:33(X@X=#L6AF7I$.% M%HOJ(Q:G_,BB7 -2U3K'A(UA CB(LJX2"%W1)$"$ ZU40+*A+L$_D6ZA\"2\ M6H3AFC@ ]^#^AHGB'AOX0E0RO*.5$IYM5C"@PKZ3Q#/>Q" MCTLHLC,QY&?1%[4_PRFVRY["+W.=1W?7SMFCSAV\R<%A18=\90PG5:]-5+/D MCI.44F4&+9++*E8WCPYAQSH$*)H78@% 6JDV9] K@M:,J^S<)"3K[K19[. : M*RQ'+'1GO:ZF2\9CRF6S!=S8L"096;\OP&C5H5-W;62$DKVF\[=)89XEAQGK MPY5.*CI#)Y3,504+S(?F[KUNDT&"/JI:'1CN).X2<0LM;*>=;N3KJBN/6W697<=2=BE>$U/8DNR[(O8) M4L,A!)D.;W]Y>\"MEMR,+KV8!]B+B7_1O9?"D5W=E]A-["#X"XP/MG3/R"N6 MKJ6,4U,2ES(G[ :[WGE?>5]=)$7VG\3T'2#N \\V1>J^_TO[Q&L9\G MR^\R*C8ZH!^]EH>)EX>>#$5Y01F*QT9LPQ];)Z=WR(Y.4\'_I?K-\G$//OIV M]>^CXU[_9-#YT6&OW_GW=8_J#WJ'I]T_>4:/.KKV4=\2[9G^<,3(*W_^:OB5 M]6)39.;O!O,O4=_WP7,U63EE/N '%PG=@O@?)9?+&8YOTN>PK;/#P_YW@\/^ MT3/;UYM/9R "OG]FN^H/1Z='>%S'SVUCHTX^O$%^G"?CSQ>$\G$@"QV/E9I, M7HMZ(>T#EG%=YED:X2Y>[R91NJV0OZHDE?@'Z/Z?LP*LL+))XNB?G]YL>$_F>OMOS.H.'\K-%P[D%&[B$A;BL$]G"K MM[SJ8:?[L]/;VGS[M&5$[?K9HG;=GVFW3T2XH^T2MKJ36[V;,;;'.WT))M?P M^^B#@1?\I:R::?0VJHY;?;&6R,O9Z4NPN5J^XCV)KCTDQ NR1%[05H/1]8S%]8=%\Y_S:E$4 M3U61EU-U:TFUA[L.9D;8Z?/9Z4LP MJ'Y5.4X_ +_O[R]5'3WCK;X<<^KE[/0E6E-_79S7BI(*-E;8Z?/9*4FO;ZDK:W^Z^=XQM&"]!/QH1CYGJ1A&D M,\EK,ZY)#\;!N34MW&&GN=+IQZO4!4WZE*.QPL>P:(A MR03IUVV2M8WD-_=Y.EA?MM%S__II5_'K!<_\@$!F5,IX%GO7L8K[(A!'O9\Z M6C"$&^(K98K!UA5Z*@HU; O<_'RZK G_YSPI/D?CJ1I_ M9AP[P8%?S($[4I7CW)T[ M]U(0TNQ<;@)LI_/K13^6E6FGU4M8OWL"'%#G0@=>TYQPQ<%@8?1=%P"/!OE9 MC#L#U\AS /2@&T8R])%)&-?<3A'VH:/-(/.R: WEYEEJ-*A:[T9:N G,T$#Q M^WB3SE<0_MR>- X,L-LE"$EG8@ >L0"&&/D!$FD59"#3TL>.MCU7!$N[*!#U M28#O;.>ZW@/_2B^;D>\8%0.1(7& X.H%I;4BFFP)DHE;SZTX8AQG3TBN\@=# M?5M8#&?/ C)9P0V<. B&,AN6&0"A-/%\7-![ RO:.."&"! Q,V.O+-0A=U)K M* 4-.-8!&T_KI*FU=@=K[LF$1FH3_B]( V0_W(-H%&1483;A1 =%4,1%YPVP M0H0@+EH75MCJ6OJ5IL6<8/-XKL)RSH"=_B2)N@-BL%/;7(<"'A#%UJJ&P2@@ MB@5$L4>4."-"(5-P6K2Z'LU5@C:^:<_](\/7P_[<30X M' SC#N3+*L'O V506>$_OQX=]D8G#!!:HTU$?QP,>X=]QB41=$D-6^(]CK4A MV1LTJI AQ1.[ &UF1(R#;9V$E2UH\Y3-3>#.$ 8PDLI5W..>B?/AGK$/[?\6N]D\=? M@D^;_JAWA+0@4WEQ#O<<%]@_>5T+9G(M1BM/-S:^4GB/];XO0BMI<8 MWXPPE1S[W37,"7TGRPD.W0"8?7+!7-/HAR]B![:$>"QLPT/>=7Q M5!P"5M19W="$=;F@N;I4N6$2>NS^Y3,,WKAQNJ+DO!2$Z?L!'R^-QY[5;DA5 M/',*R'L#)1AIF#U/GKU$@WX0_;K*<,!/2M,4P#J_X1C))^2A9BZ&K1LAX ]6 MW$5WWI$S )3.V1N:A/%H!#C$(O8GW9$+\;<9-8L\-7.<\9Y(GXTR!7K4EC MSX@&%J7R1C:67')19%OG(,4W%]AL.ASG7?;Q H/*XS3&! MMAI0Z&1/.7M;P M#SU*B:;D-33UAR?( 1&2"QZL96+%*2:F<)\FE+TU&OG.!)G>>6,_"(@Z!95= M+>T($/(^ZBE\DF *6(8#MR;$JJ3"(2>4#>;1U.?EHFEE@?G'$HRN#B3DB[WIJ?$=+>*V["F M ]HMTP^7.J8D:49.^\L#>8Y,06=-H[8D8&5>B+-@",P;\\+PY*OB H-Q]HH.IFHF@SU7#]^P.*=X98H"_Y72:CB34^QE/8#- ME$^8,7Q>.I$"@1O<+IH(NMW5VAE)];X5V-!P\SQGD&>WFCF_F1[%*AQ>,XM; M.O+):1!S4OU76:V\W.DG*>H9'8XT]W]*JO,$F.W@_9=<+:,WXX8G00DT?T4C M2.&/&&+#/"6'U63.HGV[_]G*B+WN(=I\RHGE''FL<^9[9Y3]@',!N+B "Z;$ ME)#3\P<#.OZ[.5:>?VBF0I@Y>5P:D"[&5,7"HJ23_C1_#2LL\B5/7$/;+2$C M0<:QX8<':!4O9I3CGTQP/!XM& =5VK&U!XK#/&098.D5SD7@I$,'WT@J'G/5 M(!LN=$9[BF'M=&2!:G"S-5)-++L**P\1O%EYB/+ GED(D^W MT:/II/#-/ =3]W:&-!%-\51,$?*;KQDM530-77*8DPD&9J Q[N1>'#'7*#JU7Y6>]Z(5UH"3W,? M[HD(GCSOU7ML('Y\)>)\=F7205J<:)W&TZYM/N&'MZVQ&JV1#,9^OC$9M:&- M%\HLCD*912BSV#U+[ T(V0.L3"91:8;(&SL'S'V:L):6XX6ME3.0E#@]22:' M4U7R@HUL%%YYLG1'[9(K/ILWM2EY0ZV((][XYQ2J2E%<:_]@[PP@M&I_I<3N MFQG7/B"M/BH2T?!'U,H2H'U7 !/.A0])&R7\$ZYVN^8I?UD>_ ,G5M'4*3:9 M]9&98@(J.B0'SZ&_E=YS=!=;(Y=1-Z 31K^:XT-YR!=IB1*+_N _3"18#SNU M+P\%" \6^@5[;98U:TZ"XKPT7'PQQW_O'\:P0OP_XXQ/9,AXQX\F#OY";&8F8 M;0 ?C$SUZ+)LR/3! 6B_XT#"94LY.H?S8A.0>Y#]R316YD%/6%D&VS=U[$:@^B%!9J,]^)* T/ M!V]ZQR=#K92M7_8)O(5%8SO1I$T.ZSMLS&=V+E-KP:!?>>2%*G (;4X5C-/L M/"/?;]GY>]04.$M;^EY.&6E6U+Q09C#S=(,>P]K8XYR_ X<'314[=4R MS70J*7@)SHS#'-+A47$1,;W9YC'7O <\=I):>,3 M4CW]%TSQ&G>KQ@FU\:U=\:+(=1%Y)[VR6AO)I&43"JIEX"%SUJ+$:@6PN*C; MST]Q@9OMO'1&I?7U=5OM\!E$T-]F:WMWG7Z5?.":,(?I7Y3812R1"R<3E'A= M+X,2;@[#G9UOQ)2V*W4M*8YW"W)N+3N0IQU:^6!9*.=G'F MA.=LESF^#IW$:@\SDS:QCH4[IL64,^Q)/<6"$1S6G=K9R'B7P*ZBH"#']??N MDOPFR;I"X?7 :'Z"'@%>@B1+NS9?%AVU 9+^%@+BG1MG^-:4H-P&L>62F*A:%G)#=0"@H]+Y$W^>.'PFVL[A9M I*(=Q MFGVQI&1,98:\"U/8=?N97UH3-J*RMXWW%E;H!.$Z9#+1#G_':3%NG->MK?@S M,[*]$X$A9A&$ ZDIT54W53:6K[O_Q;W'HG4L:@6&<9T6=JFI6[/45*D9M[Q< MPH%T,'N6_OFKFR/I@\%7.]N/^ Y3HOV_]*)_%A3Z0#T-)M5D0CTW'//?KRO^ M2]F9G]OLJ$8GHUT_J[>]Z.T2;2%V_Y;[=CY:!,.;%4,(9+4ZN,HHF8ON)TL> MO3VT "ZJ9";16,[LHS!JP(NE)GQ,'LP%S\A&6GY0(P;#T MA.[8I:44TG)2&,-+:*B4^B62>G?62!4%@@[@/TA^3G4)*(X1?:1II*# MCH552KFJ[EI:+L,4!+P.H[HUU0W/N'% ZX&9 M2C-V%^Q#29N]CJ;E%;H[I(LLKI+[512?HJCPO3.0-E3#UEX5Q7;@DYIK$W6= M5<8=*,8O&F.#-CB6!57PB;\RSJKQ8H8-#81U)!DZ^"G7)M;&F0!W"8OS)HM\ M[]Q+A/U">IKPR(IQX58(LJ:*;U"%Z.M\UOA%X.!AQCH9+]>I=%$:)0.)<' & M_P.,BY0P&ZSW0^=_H/F/0*ATI)E5K^4J,:O$[A"7UKRT%WURFN6:2QP0EWDP611CP3>[*BO*V"!6Y-S1K+FZP%EEGWYXZT"@,2K7&G/1 MT:]4.\X.+;#K5+'7MZCHGV)?N6%*("YLESUAO0^Y<8S8,2^ISX;"Q>=*D+W\ M/X[+&;=2P'O1=<7JW)D0$KZ@K3IVQ_5:^!TSL@"E)K$0TXI-7E.,X,5"R>!1 M189!4\-8%$&@VE^I=S&H'%AK6BN".G2VZ]DQA5DX4I/;"[*Z794[PR*GRH&L M6ED$A>EJ4\.9>X_U@@PK#[<UC[=UW43G6N$8._F +9M1A!A_\;5R:\!!_ M$^,Y"N4 HX'$(JGX@G'M-,7P_*)\IVO2 /R9'C"X^O#ME*)IVL="I9?JJ%3[ M]NC4Z0+U%YTSY>FDSH]^U2-D)_4%:$"9N]RZ&23DK7#439RU')'CD584@8-_ MQ4Y&BI:+(KILHRZ6<7>DD*.;'7"M M'.P%6X0PJ#1Y', \JODA$E_GQ%M.Q;.7-4C!V26ZD?!$Q_OVGV+.@IUI:Q_I MK"Y<;K"GD/FU5;1D8X@7WKEL/PY[+AJ9=R(92/ELE2<8%I32)ZX*U9%NWV9Q MX6!C+*N(. SU)G*[BCDO!WKB#0NUCZ:'X4M^4$Y@*YRK/U*5P'T/QC$W@B/1/GAN_1&-C#%)Y_ 3!M2L M%W,^>T++K"I&O=4WE6P3NI7.2S0SFUPT]LGAM0;8%YH86)86[P_@_Y$E[?3+=Y_PCJ3Z MO,4:!OU.@M^PAGUCXTZ2O4TJL"9^ 4DUQ7\OX6"8&[2TF#35N"9L1C@)^T; M?[@'A%8[\$+*#KJGHGY)ZNDB:8T>!E65+L8Z ]# G(=9[F=4WBOY.R>^2)EH@ELQ_./3C6E08 MR2'HE[1%7-?$6G_,^V]0_;! 4WO?. 1 M8GYW2VNJ?SR\AL\D->ZPT+4&CAUA_).J"&6)]L MA%)*7(O(P^*:):4YI=N*>J=NSO#$3D^$SBD(+;C(A IRE^Z2:)>+9BS#1>AJ MQ=1'I*LV4F?*%0U(BZ6U"%.TEUFZH+P8H4MRFO/BHE)4%W7NU?QREPOK!JX_ MMIDQ>8/DBW4B[!I\U,WNW["_X_=OU,-0,2* 37 RXOX(-_K/%H_TH0V:+QG1\RJ2L'P@( M.N:I6IAL<[IF?^9")9)][Q ^IHH^F!Y:D#C\6Z>7?F>J(KH)(P1Y9_/V^W95 MW[>1];"\2$9BB4; -_VKK#[S##2+;O#JEW]]^N$;!P*A7L[.RUS#G'_X^(^_ M&'CS#.LI?E3GU0(5Z&"$T[CZE*G/&-V!U&W*!3QL^"4(:J![NJ]!0MZ[N/4; M9/4N:(.UL[D?K6#V;V +TP$=T;BT4=94^%72+$6ILYHB++4 'W"E9^UAN"Z0,)] M45M,BW@B7?"][LK=-WET^R[L9(XQ#U$V?LYO MB-;U<#*_6[\AFI>@-):FAV&6I'?KBF9-6!RH+UFMP:.YIK%CBEY'D_3*U.#K M^J8U6?U:6^-F@K^*J$&->T=NZ)QF^#PUNZYY>J?NT@?&BJ8JS)^J9#[=MSOU MJU= =X%;P"KA*\8%G\TQL(!UT!BN,&$U'E+:/\5*5PH>M#X9&, =!W6(2P" MHQ=5T6D?\8B83W]*9O/7'Z*CPT,P5U/UQ6 M?\3Z9F#UP:'^R%8%U@32H=9] MD6!;] #1CH]GX/ 3IKH@O9@SE6W4LR37\P@TVV?_T2TD%S-!O/IG[U-/SY?! M$3&5 PDK$8U$VC ,SJ@H*5.:V[7+3U2D2Y1CG70N=1X1*$'LFAWSW:3@34B% MKDV%GH94:$B%/G6# D'J26<\&Q\Z\W1Q@9D%L1\<*=2+OD^:Q!@>VTA(:A*8 M8423L0"TI#(FSI9.:>L69[.+J*[&<&FJ_/P !7\?_O?_7 QZO\\OOHJ2O/GS M5_V3X>BKM@P:',Z_O)8WB(3!6X2SIE"8R7OHE?RQ7+!C_"%>Q0T.E^>\&3&& MPZS1!\N3>:V^T__R&LRL>9XLO\L*.BKZT6U6!E>_=\C7OZG@_U+]9OFX!Q]] MN_KWT]YH=-3YR6&OO^7?1X?'6_UBW9J.>V?#[D^>BT*VL*= IT M"G1Z"CJ-KGW2MZ2J6%V!1D1+X,]?#8VVEL*4[P;S+U'?-P&P5J6M%%D?WK=9 M=;)AU0=8.\:6:=*;MG2(&Q+2;+=S-GYV:>_]P;?#_K?HD+]0 AQ_.SS$_9^] MT/T;!GBI!! &&!R^T/UK!GBQ!- ,T'^A^S<,\%()H!E@\$+W;QC@I1) ,\#P MA>[?,(!/@!LL_-7RA/%8J 3MN(O$#&:\G MXUGO9!/#(9#Q^EL]/ [2\1[H>-KO#3<)900R7DO&T5'O* C'NY-QT!L%X7AG M,@X&O>/ C7=RJ%;<5!KQUMST,T4VSD^ MN8/#^Q*IU3_I#8\"M38-V9WV3C?)V09J$;6&O>.30*T-J34ZZYW>SMQZB=0Z MZ?=&@5J;4NOLL-WMMA?)+6&O?[M N,OD5HG)[<-\;Q$:H'<&IS< M2WITCYP^MRGD*>,&>\4I3Y[FW"MJ]8][_=M9YB^16N#'/&VR;:^H=7A\6Q_Y M)5)K=-P;C0*U-O?ZAD^:DM@K:AT?]XZ"3MQ8RA_WCF\7"7V)U!H>]HX#;VTL MY<$Z?=+BL;VBUM%A;]A?]?J^I5;O'8 )6#/4+@K MR#3O"XO#=T9X,R?Q6ABD13,M*\;P)AQ;.W9HHK&\.G#'&-;&1>'54(+EG.8^ M$MX+@\32_&0":B[41=ED!.>D7X. 8PT('7U)LY:<)R*:3$5HT!DC5SF$X1T[ MI-$CPY&#X,@%B ('?*MJII%OS%SQ=4@_>G"4?C,_8NW+D +@77LD,,\\C66< MT8V;+AA.ZHY;[UZ[!BHRA^NQ%ZZ_=82_P)IH_9N$#2_B[G?J( M]FVNYXD&?7IH7MV0V=K;=L]+(T9]?7K:&YFU5 H'52($ED8)S2SU9!0O0F6! MC-!3'!(:'$@SK7"R^92GEEO::TPW!Y+Z?$D;=:9=&R GC2UEX-I60=/"D)OU MM65G/FT"LM.+1G;:%1/F>Q[5@#)JJ9(J8F';I4)=T9%&_7AX-HC/!GV#0\K& M!5C5P,+6HOAZV.\=#1 J2N3/A&8X7VN%?#T:]LZ,.-P"7G$OX)2 (,>#DQW# MX>@?]?K]05C4/B]JN/; IIF9?KL>F@WV_RO9$#_8D"E/['T_9_SZMO_ MU<[U2Z7-&U$^'TB1?$# 9=0[1*(72I*-V 7GX7Q(*G(4/M",@'S)7WEC'/T/ M.2P"XPP?V,VI7RA!?TZ^9+/%+/H>K8DJ^G^2?$$V"Y%+J$M!$0R:_ O)D4PQ)/7CK_^NS95 M0^/)72E-4V@&K^^;D/=#O,-H#WCUZS;M[FGO^\ V?_I#__APA7GN[>9$6Q'B M]GFC( *"" @B8,M-GPWCP='IKDF O6Z;W(SP-K_3LH[,!\/#.YA'SZH2>S.* MGHSBXZ-[[WS;AD+/3,QU[7"G.6!XW#L>;"G+NAG]P6R6<"_#O7QQ]_+L,#X: MC)[F8NYU,\YFY#6YO[8IL9(4#.5]FU'TZ#0^/KGWYI-M*/3,1%;7#G>: \"4 M..W?SBW:L_!'N)?A7N[/O3P]C8?'VYH2]W0Q[QJ5N*NQ?]O?2YQ&*F6&L/.T M7&#=#<5JGD?XLS\'+\+[#QOO,VRP MVLV5I7_^ZN:"X]'A5SO; O:N4;/HN!?]?Q\5/.%2I?__:KGNAKL<[O@N3WK1 MSZ8K@O*C)Z_KZ/NL'B_J6K>KO"F2?%EGU,KUHYE>_U:W3-!W/LH4;/C*>YYE M7Q:[V/I&3_R.YHB/-[A?_ICVU*=+XM %^TLFAC9CCS:5I4UI:(/3WA=YBITJ ME4IH##G\ZO=%,:;?767-E">YPW=1/5'?FWU#W< ?[)1S:CJ!+Q1E ^0PL\U5 M7JNKJ:H43SF'I;XIB@7\_*.:EU@;5T0_EM4LZA\>_!T;;> +Z_8(ZVB2#-8] M*:NKI$H/\K+\C$1Q5D(U8EEQ6>:7L*NL_LR+PV*["G^,[9"]Z#WV'(V;A3,[ M?98LX<63B<(FG08.+\GSI70)3DOL+(+?CK,Y[9$'MM?*K"3J6$H"_RN/1[I? M)E56+FK=TA,+B;A+ %]0JP:?!T3G1B2\"X/#UQ]A$]&/_"/Z4_\U=W!M3UA[ MS_YK_0U[]?/WA!7[YIOH0A7 *T@'.1(XV G\&[P$FQIJCF/BK['U+S@*Y+ASU5PI5?@_[#EK(19UWD%=@5L^>:"?W'>F;0L[:EKI M3<;TW3%<]',\3: \?N6KC2BUK2SZ"A]-!:'OWL61%G[2=_<6]U(L_^NZ8S1S MP%T"=7>6#&+X4@X?F%O\Z8>W]##=N3>0:',ONK5J.=Y=U?(>;(;+3%WMH/R_ M5MK_IHAGRT)IQK@JJSPU>C&'9:NZ@=--ZH;^!=EM5M8-W89*35519R#[TNP" M50QV'"Y0Y"PJ51$_ BN#]13!Q6EJZHETOH'-EDW9+.?270Y*YP!$*8Z1AT_2 M!2L&^BGQ(EW GO1:9576:I8 N,>6(I)OR:*.5A=7>-;FC(ZU^U1&2FMK)YB M3S6_H\8O2%K&E@6_!H>!+G\Y+RQ M%_T 5>["])NJ+W,YU?ISEN.MSI-S(G]Q"?P*RR(A7:E_+[**.U__O0 US+SA M'B\?^J^2><+7)6/X$3>!X@K^NC@'%0 ;@>7#(X$J^!>>H?5-] K_XQL48]RL M?45\<8G'[NT;GCJ&L\:%)-%%7IX#$0L0T&7U&5\"C##+%C-G:<0>L+@"?WPU M+5%OXE.3<57"'(X$ ]O+"\GO.E;'KEHV^X\7?U)\A7N6AYW#>VC8)J5_Z&8A#- MX)E09S&]OP;G)9O #HH&2&MZH*F/&3@XEN=^0? &[%5-8<] K1:5JA))B[@# M.1IM#4D?) 7U^=6FCYLX\DI?7,6L:$\([4.X:W L"1XT,)#I2Y6AZ\EI5 <)7 MZ<->$!4JI0Y2V$U1$T.;VWN09'B*J4+Z1:^ )=^^^?Z;J"XGS57"TD0^LPMA MMDE "L+BX>G "1:*5CQ"NKZ-W+W8L&,$EF$3C ! M9A1D@ 0%A&SG"G>$WEJR (AV?P5.+(ANLP2>KJQ )+B-7=D( L>8#\+W<#?T4(%^:O6&C(1.(NR5JTO MH,I&98X$ Z&36D 8?>*#$2HNJO*JF?8B5#5L7@,I M\P3\RJE 44RR"I0X>"IL[>MW -NIBXJ\QI*\2^!V1W^Q9^_:Z?Q0<3&C?P(Y M$06H2=BKCEA5!Z@NPCX5J P8=WA&YA4L_5 MN#''YMA0OH'3TH_6P38;@*^A&76ES@\8?X,"#'*C4E1$\D5X(!\0&E+DV"_! M$)W1JO$++,9EZ:2#,K#%@ %\)>]N977E =5C;9;HT*=-0/5XT:@>3\2%:R2+ MHW$84H-J,=$\R,E=0'VE\$*.2$K#ZRP2=9@P% MNC9A#_P<+YA("H=C@FC\CJOL'(79.:C,& 7BH_ MS7O2W^"@+:#;P "!^5&]Z\&QYCG029N5X[RLQ:3TG]'2XYBH5$&Q0@US)NS#>6V,(/06#II:G^[\T 4&O3_:+'ZG)R#?C"9/^.I?C#'H/WX)^J[?E(CLV#@=4HIJ0%\&W*[69>@XF$RP%*(&AV47!=YMN//GWF*GS MK[2]?K!VL+45>=Q7T87"KO0Y&)U"_OV]9F@9LXVL0>CXL"AU\O7H]+37=W#? M+")2YXGU!2?1 2KR?G3=8?:>NB)G&,^ ^\+.[($(F?7/9:8H?Q"4.-6 M=DJ$)-[::_)@EQ=66UB,G7H"9:(0;5 M&QYN27FU=^P,?AT6(QA?7-]U#F=C!%F@/IH*CA6H#9[5N+'.10HWO5J*ETJ? MB=KI3KVRX[+T)%$*5"][F.Z! TO0#5Y=B:O;)03G1%TKL@KX#E1*@4Z_2&3! MVL7%[\"Q58LY+3X'77] ^(_:9Y;3I9@!WZ(U[[,,J4;XJ^GP#^J<)SQ MB3H8+\>YXM ;7@HGYD\F$I"C0+)>HEX3]QNX'F_45YF$'UG\PWOKKQR'RH36 M8-D8]'.2"3HA@=%'E.P4NJ"T'VU&@T6"//_W0ID=1NATDB=')^91@H(Q]N#. M\2]Y[H96Z*^%FF2-SB%CNE@?Q86)*ZS)#=":*7RLM"MOXCX)Y2C%ZY/D$CRD\YRBA(O"_F<&#@L^ #\,P*8-^Q QT:(TG &R%[PSP:;N5$P:LI/5"Q=1+KD#RG,40'&#DF M,*H6\*.NWYHC_"_]&*JU0'&6L'XP 5*GPD-L.2[5$'GB'E&,,2') MFDO2O/^F=UUQ!(N':\LA;IWQ/MO=C/??U=(I1_@9Y/&B$JO@5V*[C36R5.4= M8!'E=V=/4@K5O<6/;.KLFVGQWC>N$KD)P/(4M(V:J])U"*P-5ZL+<\.N]U=? MMO.Y;PSQ4?NS&+Q!(T>\$)1[[TP9P\^ZC '#]S][E0H?W$J%3U2I\#-5*GB) MC][JPXQ_@?XUN*UDEM9ZQ(#H';^2HA:#0_YV@']#NXWM!V]MUS\=OGK !1'P^P,JUK#K<(EP[1-T+8?R2SR\?"VQ,K@UL_.<5-B^\9<;C $> MXS*^1G.9S8H; ^&*G976<"@ !/ M0G#5,>#A^ V8 1K66P\/V;J+]NI^J.1JTC/'C" M,R1KYMA4U#_^$GS:@)@]0EIPM$R'KG65"IW(&'.:XIH:YPO.D!_#%B"^7CN_ M7&1;:R:@5"5Z=:_#Z3W4Z36<,+:E?')?3A(IDX)@TI"<_9>L,M>O.[^.; M#^^^ERMV$L[LPH.8^[;"DWJ2ZJ%V.*A>,G6%>" 7VP MGM#!RG7PD#HV0K7'VFJ/?JCV"-4>07K=6GIQ;-WUH"2?8F/A=ZK(OT9!4>U\ MYM7?]_)8S.1AWMNHZ-A/#H>K22&J ^14E936Z*=^GZ/2S%;;6@>86H, M8W3'E;C30,ZC'M9 Z(K[.IDIR61+T\5@CVD[\&A[' ^'PX>FK3-J#HC;[YU> M2]PM&->_AD_3+]P=)'\K=0$29(RCGZ@7XD-58C(210'_X6?:T;YQTUN_ZL'& M^, M@B5C1P9^FES9 $,<85\4Y:K@JH&D&V<)I_G5;)Z72\7A>%747/!LRX8E M@RLQ*QPUJ'G-^7ZL8^&8:BL#N$GX, MQ]OHZTK/GA1TT+6@K':A\@/=@$F"SCD"-A+][_P M1$3;:'>I=+2>8W"]"+LK85]TGV4IK7*4]NNU;1JE-.!C_\J=WGMI8VJHD'X[ MR>=>Z9H:DP]-YL 8S9)K Y &Z257@D\B4BOV#D"OP0A8*1>GF"1NJ(#Y HZVWHR2U+E%K [ M14(U;X#3S-02B6FD901'@8+6WC!.%DPJ>$VUX-88Z<:B-@J;YM+)K5:!DEM7 M@:4H^%ZI.V)9;2I9:,JFE,0*?V)FF^L*[4I;>_ 6SI6\>NW>2J; [B6D-+:TE&.;%^=A J6^D M]@GSI99[U,1DVV0(UT"6ZQIG5*LF!1A8\&$;&-%D<^LUT#Y,T]9:O=Z0!>O2 MZRW&F.1;N6BDN[&;I4S#JDQ'-3TF_D/]:[=WDN,W' 0[P9/D\9O%5\AO=,X#\LP.+14PE>&/3K$ZY.EP4M.P7$;6=PZ8KI8L?0>D0IM:4JOC=P$ MUK2(C:7O](N!@4A!!-8-AF&HR:I2V!^JU\@]FO7JK_07I&&\*&7Z08M1]N[KO5PN'1?!R M8YN7D4RHL!'N'RC5\;1=)L67C %56/2G,\0]:"H2Z4Z][H-;B(3.IBB>GLEI& 6I9:X>E&TNQ9+@4UU90' M7$CIUP,BCU&2_W+EH@^9S6.C^GG=X">K9DZKT] X";%83%RVZU3N=M;(T\7R?OJ?Z..!6GJKW%L.SW6V#BJ!"$QRQA)*;[&9;6B:Z[G M(^H\!C6I5&61C6/.-3(#)AUZWRV_T3(@KHU\+ B76KNN%B& %G+#&L-<=8(\ZL906J65)@/]R' MPQ.P2LEO\?3R?+%NY-;?-T5+K:\97!(-><(>J3$AP7_"^T?5D3HLX.C]O>BM\4K=E]B%X/\I*KL7WWT3#H\.#T>$# ML\^67([01;!F0CJH(YF_%_U4EBG%#Y $[U%@Q0)OD^0'_P3B?1+B/>5=<$7F M6K-R4[FY@JR [HGM[["@!VY+C>$GRTN"CU-6C>>:,SR">#1KVBO]XM3]%Z _ MK;7FGU:$KE_77:V+]0:%JVN-V)THY4G=Q,@1L!J2+VP1JPM9JF\WA&J)M=42 M@U M$:HEGAH;H\NNOSF\<:.:6@G_.U@;%-.4VH6RNDB*[#]$_.>@2K0]@CV# M6?7T9KA=4$V&IK9BS?*PUX%^X3Q M%'TO>NZ%?AT"AE5PK2X*LD@UHJ84NE9*&QZ8K3 ,Y+T%W\W%!O H^!(^,578 MXDR-)Y19JQGB"YX/:Z&.5-/PY+_"#7;K-<;T2(K7$RPI)HC'254MR?NP-G4.*MU0UY> M2A"%?[VFO8_%;]9XW^0B@%^G:C4L[MF3*S%%]SH98Y.3T06FD:^JK%$'*0&* M( SX%\6-6&A[ZB79J#B)#W;5+U;EI_[\.=Q%V]/M"RS6EA>T6SR 5/)1O8>^ M.C=&[M>M#)P_74V=>;[!-:6%@C6,L4D3Q1!AGS/"P+B+0)(Y1;L"V J1*,K) MY(Z57CN57B-_Z5T!CACL]1?5[""C7\\GM(%,-H#('E9ZN+V;.D'*G8AC*P$N M"/V!\RHF:D^L$2+UB?95)6>D$Y29%ZJUM50# M("F#?T3)07NG*&-/ IPQ.!2B@L!EQ/=-RCPK(XUJI_L^F2WD:,02LPV&OG:ED*TI$,5Z$69*?%>/4) MR,;D_SE27>Y>5IA5NFA5&N ')WT85%L"-$B^V"+.LM !*!['@IJ$YG5@#1;= MGYB=4 P+XY5?:M<4'Y,G5V9!@L2D$5[8IUC9Q_H;$D)8P_4AK,W16(X&7X6X MU\ZLY=G%O=9AT.S'E+$M9HJ)*;"8H>V%_?G7P]9QE,3X8"01-7J,E.@B !2# M;+";J!]&T(!&5!<*DZUL[\D/4'Z:0 S_AJIMO0+@C4T/H*[L34M0FKDYQA+T M>:V^T__R.LWJ>9XLO\NH?.B ?O1:'B9B%Z5$:PXA'29_; 5([Y"%B$P@EC?+ MQSWXZ-N.OX]Z1X?'G1\=]OK=/UGSJ.,>.#=;/6G]WT?WM*91[^RX^Y.G6]-1 M[Z1_NF-KVD4Z!7X*_'2_=#HZWNY)+Y5.N\E/US^)YO$VQA8W-@>KXNZYT#?. MP>Z$!X0'C 7C] Y-6Z)VTI@<136//2CBGU'(-YG&'N)QMY MM_]"V/H?$+;^?\ZK;__7G2K;GNV^+;W.5KZV%Q3AW-M=-Q^8Y:4RRX8BIF-[ MF"]YFLUU!XU>2>L^E]V4"WA46G^S]J3/MA#(>W&XF-38@*]OJ;^>([D&=Q4# MVU!U+XCR]<,QT+.CU1_O3XD\$XIL>*6"!#+DZ@<)%"30/4F@NSB+>^H?AYV& M]VQZ?7?-7>%Q>SLK[?:67($H@8<"#P6BW#=1;C"OSI/QYXNJ7!3I@:QQ/%9J M,MFG7;?GEPDO;+/#PV@/]KGB8VRU0W=G%3YUE[9V=#B,3T].NB_UEJP:;;7= M]0+AIM=U9R2VNUF=?+=SIT/U=P]T-KMVR38)CVW%&D$,[8\8&IV>QL.STR"& M=O)T@A@*8NA%B*'^43PZ.0M2:"]_I.X0UOGM2;T/_N4UVH- MY5LK_Z[CJXY=[P=?#4[[\>GI:$O>ZC[D![OUK==M?>OW]G2.CGK;QJ_-(]V;4>RB_,]R;.YW,27PT. ZW9B?/9M#;-DMT M/Y?F!12X_^1,%;]5%%"VO%F/PYZPVZ ?GYUM:WIN18@]R!<\IQ,=C6Z;2KC# M<3YXS=5+/'X7[^6Q.--S/YW2:QV!*W[*L)]S.'3S/X6T+@<+EW+W# M#,KSN9UH4)[/Z30'@T%\?/;X!QKNYX/=SZ/>MH'%<#]W]C1?G<2#P?$*B&JX MF?MXEL/>X#%/\L67G;YOCQ>NO[M5Z?W-.]\Y7ML9] K0>BUE/_/IQ6 MH%:@UBY0*_P^_'XG?G]/90ELHA_NML7X,TT^1XL1!YG62>Z,^KY%F<+^^2BG M)_'Q:6B2WLW#Z9]L7F$:W/G:_,$T +A9#:(5<=G MPUL&J\.M>>BRBG!I=O-@@J[9X<,)NF973P:N3?_DEH4HX=H\]+4YWKKG(ER; M1SF9HX!EOZ,G<]A[J)-YE,3Q7L0#/ZI:)=5X2N' 5%VJO)S/5'&[WJ6];8@; M'<;]X;:J,W0K/I)=L[7!>3_=BN%@;JIC/XT'@VW]M'!K'N=P3IZHQS< M0'S6#S LNWDV1T'5[.;!!%6SPX<35,V.'LQH% ]& 2EO-P_G;.LNLW!K'J>+ MX3@^[)]MWL<0+LPCG4M_V-NB4>A^;LM+J@W\216J2G(*!2;I+"NRNL'VDLO; MX9GO;=SY^"@^"26".WHX( 2>9HI!.)F;KLU)?#1ZJ/+-<&WN?&U"_GDG3^95 M/SXYVKX!.MR8ASZ7P3;69K@L0<>\],,).F973^;X-!Z%.O0=/9S^*%34[N;) MO#H]VQ[/)-R7!S>8>\/'-LQ>4DG@3V697F5Y'F6S>9)5+Z\:\"!DS%[4N81\ MV=WLE_YI?'CX4"4 X=+<$?]RU'NHNIEP;^YHQ_#%V>M,\S-#1_KO!P-&>I8L M'$3_+I].$/V[>C)_^L/IH#]X'>Y-.)UP.B]5YSQKT^DEUS9![._HP=PN)A.N33B=<#K/ M1.$\-[/I;O&R:P*:.Q\OFR;%!3PM*Z))DE7199(O*'HVAI_"9E31X+_664K3 MS73R=3H6N#C?>?C<#I!!3QV M0?(@/CK1^C)717VW^:[G996JZJ IY]\A&>HRS]((=[*/%_9L&)\.;HF"L!DA MGCI$_L).='C:NV7)X1V.#2Z)8),N)\[>*+'VS<@A?NYLZ?Y MJM\_BX\'VR.BA+NYBZ<)RO-1CS+ML&_L+]W-G3[ _[\>%9N)_/YT1/^KW'/\Y' 1#&I\TDO[$"/>MMF%.Y^FCN5N7U. MA_GJ["0^.]V^ B+G\7!P%+3F MLSA-D+2][:>&[T[ ^68(A5T+.+]OIJJ*7DF=\S=11@'H."K4[0;6["W QZM! M?PLILH/0'L_S5+8RHP..U.,$'@[#&,3=/)D 4KN3Q_)J.'@ *18NRUU/Y7#0 MVV)R4+@L0;N\Z),)VF4GC^55_^@!I%BX++L,YQFNS-TJR(X?"J(X7)N["K/C MD\=W^5]<9>FYFI25DFA?U"1?;@EQ\ R#T(.3^.PH)/R>SX$>;0UP$!)^.WN8 M6"5S>K+%[))P,W?X,$.5S#,YR?[@*#X=;-LP%.[F+I_H:>C*>#['&?3F?R4F.#N/^Z;:QJ' U=_= 3[=&'0FW9G56%M&DK.X>;=[;K$;_,#X9/H/Q<<_R< :]?LC2[N+!',5' MI[?$)@Z7YJ$E6K@TNWDP1W%_M&U7>+@TCW,V9X/;8E*&6Q-4S4L]FZ!J=O1@ MCN/3?G!J=O-L^KV'JG ,E^:.,<5X,-@B#QG#Q%\[F6S7:/'U ^U]IR]6_P0$7L"=>SYYE.'6IL6#9E*>A 9_O.^!TD$* M/F\I^*I_.(Q'QUM,"PHB<(=/<]#?K3J/IQ&"*\PAN>KY M2,)^_WBWRL2#.1@$X>X+PF ./BPB?I.7B/%?W]_BPQ+#$L,2PQ+#$L,3]7R(I\&^; M!+X!_TRSR__]'_A_^C7R]0.T0KX[TQ9:5J2J:+X[.",M?Z]&2/]P(RODO[41 M\O@O?^W19(0D^*"J,1 DN5#1>)H4\(^B;**92@KXWF21&XNI3=Y94EUD!=N% M@Q9U!R=/1MU/33G^?'">U IY;X839&A0>2339+#N+U^D\&E61,U4P?J21LU@ MU7543N@GE9K"-[-+ T69)DT2)>7M7?;4H12ULW &B2 M)_-:?:?_Y76:U?,\67Z7%;0S^M%K>9C/7U]E:3,%8H&]?XCT MT)6<\F;YN ]3ZOX\.CY_Y MHD;7/NKVGLHU;MMF4CH\8+,'W% U?>T+^TD^;WM#KT&@UU;TZF\2FCNZ1N$]ED[8W_?L-;;/-N9_5,[1Y =3 MO4BC$H=)WJ6%ZHF35!MN?/,L5=<6GRA[L>'>^J/XZ&C;],7N]"@&9MLK9CN. M^X?;3N,.S!:8[5;,=@*2[8F8;:_[?#>D[P^S>5XN%0;>T"Z8+ZKQ-*E5-,^3 MXBZS97:I!&!35HM'PUMBX>]9Y<9^'L[HEC6'X7 >_G".GNIP7H++]FO9)#D+ MZ&OR-MMJQ[TH0'PH"VBW*Q WO79'\=GIMAIK*P+LJ(D>6'?O61?,^M$MH?L" MZ^[((;Y0UCV+#\]VCG7OZJO>%$3?H/AY73727IBPW><9*!DHN5.4? GNSMNR M;K#2K%*7JEAL[=>\ #VZ3]HR/AV%Q-3NG,=SYK5!W-^Z+SGP6N"UV_':T6V= M@*!==[/594TL%H=W71*R9_ HGQVO[\G.Y+%T-F.,]//2?59$3-AN5.= MY,]GD-F&%!C&H\&V>%^[HQF?_>$,GDJ5A,.Y^7!.AD]T<^Y)S^^'C/ZH:I54 MXRF)Z!0\_[R<8\_9"ZM! ;/RZ); C*',X1'\RZW3K>%P'NUP3H?;U@GN5@W* M?@CJGU0!KEE.RY!::WV_QN7[M;E0MN18 GLFP#ZSY[UKU-N6!@ MW=TZQ!?*NK'PV2DY/T]&0\/#GN_Y\3<(H(7:Z< M1&_AA8AE]S_?)O_;=;RW.8N[[\>G)_: ' M]GMGP^Z/GA#2,"PJ+.HA%C4,,)GA >$!3PE6.NAOY^WM!P+A)DBFMR#6HWWM M+B=Z]ASQ)!\0K_19TFL3O-(-J;)?>W]+[LBSA2Q.T>4!#_JE0A>OA.6?1O7N M!['^B!$73K"W0Q%W5H#/A4:!H0)#!89Z,H8*,.'A/;OYGI< 7K&Y$+]=16CX M??C]8__^136B_;/(, ?W"8>>K;0);[/C9UJ4M4>E5\.SX_ATL&VE>>C8>J3C M.3GMG3[0V>S<-?OCK0R".Q2.!DFT2WL;GI[$P[/0.[JCQW-RUGNHUM&=NV9! M$KUH2706CP9ACL*.'LZ@-WJ98NA%==#_L*C*^4OKEN\?GL2'6T.;A);LQY(\ M_=Y#(6=><__"T6RBL0?QRZFS"Q;GS4-3!:= XNWHZ1UL; MN_=S<5Y4-N-OR?S%S7'\TQ].!_W!Z^#DOL3CN1^E^7)/YS0>#$*<>D[-2-AZNS),?##4@W__!W+.-N8>5;ERT?,LA32\3U^@YC4$\ M.AS&IR>W!$!]>DRN>W*\[\#'NW>D)"H?_4!W[C[?+D,>9L*^8&$X.CV-AV?; M5K,%8;C#1QJ$81"&01C>$F=X=')+\/4@"W?Q1(>W+0YXOI+P-DA*-\"\W@T3 M]%8/OP<\T["IL*FPJ;"I35&%=Q2A\_VBTK',*"O&E:+!&5_WCWI'$;PNS\HB MCLHJ E7XQ]@B94U4\+H[$5_Z0+YC)VG$]BGUV?HOO*L-_+>..B- M;GKC1_MH+B[UMC#J#;T'8N7%%D^D$H(H5>:!I[V!_SSTE&YZX*^P9?T,^U1- MDZNDCM(J@_] B-02S@*^F]4XKD3(5:MQ6:31OQ=)U:@*03,($+4IHW%>PB/Q M-_S,DD<'ET7=B]XA/,/_9>_;O]M$LH3_%8ZG9R[]?= MR2:9G3,_[<&B9#.10 /(CN>O_^Z]54 AH0<"R2#5GIU.(HFBZM9]/WWZ5^:K MUIX322XCVEJZ.!8& @A\]D#-M:&. (+"D M:_/0P[:V<')<[)DYWYF/[X+'\(/WH1=[T:/V&2^(^N$BHFM)-_)D$WFB^D"= MG3IU-0M^=0SYD(%?!Q !381/<-K71 G;TGO]7B/I25OXWK^ VL>+" 0:\ Q@ M(#'0%"";D[$BP"^[8_Q9 TP,!:OZQ-D/KHB8O/)\ O>,)-^C-Z'QU?!C\5,2 MQQ$1 G"*,*$C?*,#)W$>&/^)]N1,%RQ*N.CG,(B#J7./0(Z?@_![1ZN+.HYU MK5(K;3BWNQC'&MW4*3?1'HTZP]YPCQ[:=K]76VMANXG]CM6FU*9JW]3FI50/ M;;6 6D#UT%8]M$LM>Y(]H54/;=5#6_705CVT58?:2BV/M?HDX*D 26&4PBB% M4:J+]NEV@U;O45VT51=M]?RY/']6?2?N_'^R,04S?P^FN'W52;O-72/-KJ6/ M>JJ3=D.OI]?MV.?9.+(&W%"Z,'SV_P,+<"<-;W#]SA"VG#M6T MN5G%M"V\'JO\2!'5%_A(E(/-.@:*SFO)F[/R;WY]9"S6?F>Q,STW[V9?MWO*U&SH M[5C*M]G0FS%&>F_?/L2*;@Z>':%F!3;T9MZ8^L@>[CXF1)',L2[&L#MF_?>B M7)I9Y\/XD87:MHJ+T[1BAD-E8#;T:KK*+]/0FQGU#W4SBF@4T9SHS;P9J.F M#;R581GELE$>S$;KE&HVX%E/@%&S 4]N!(P:AZ7&82EFJ&8#*F:HF*%BAHH9 MJMF BA>JV8!J-N )SS%3AU*'4H>J]U"MG WX/C]J2*?I3,O# I=FV#F:W3'_ MG!L%E:M6SP9#.5J_,\C_4JHR2M^#XXL6)4[BMN0.BTIE.7[1@ M,HE8S#=HT [EH7Q2OJFT/WKQ& ,D!WA,7ZDT\F!SLYOP# MK8#/;;P"_L-"_!5LQVG,7K3'D$W^\^)/'F.6TQM;8]-Q)CW#L$;#>]MT!@-W M.!A;@[[Q?X.+ZV\T'RR8:+?P0IS,]M>?G>NBZ]V EX)Y7J*V>S4Z)/>C%:\\ M('MOO .BW@81S7-,B?_7,(@B'"XW\6+B%_R#W^E #1PP5^V\*0M[#2:A)9LI M&%8[ZG279M5:A6-9XX!8L2PAICAG,'YT^)A P'U6] [\# ?@KE^S4SB- M<;1XY"/+24T\Y'@)D/#7U[Q8^?:XT,[F1*9:Q2,\P#+=XPD$W6S#=$>=)']. M[,-=+4A?H*=PI&7HH%[C@!:G:X_,<<=P3YR* S*Q9PRPPR'5 N=/!L\XJ9*% M4>#[;$J_2TR':[/5H9JS,(<58WH7/!X^Z M*ZRQY5C86&WD$Y_W#2S@XX\Y\R,6M6G@<\G# FU]9W18I+>O#LCM0D)[=<32 M\CN-<*<:XQATK)YAFZ2Z!5SR$ MSDS\-EL4G^IV^NE3>]FVK6'I7UC$G!"40@3.!V!NTV".DZ5?EYM_(G\+[:R1 MR,[!Y6;@*L)T8PG3[UN1_R?QY=!J 3ES@I239NMT)4DI5+8) MV KP3U#)&6S3W:S3^Z@46DIC\+6;%WV,_9R\543S8B<8XEO)'91RHY3T Z M_AH$[C.<1O, T[SP]07CWYGVZ+B:'V@/JUO3P!()'^!M(;HS<>BPRVUG;M3< M;'B&8Z(Q7'))X$(//FS035P.$[#0@;'_:P$XA!)D(K0T^#$87A028? %8 ?2 M)3S HMB;$2).X)7:DS/EKA>T]#\N0A!!\)9Y$)(86OA>C*&%\71!_H=DP_J2 MS\H#;!L[8?A"ZN8,'1@G@&VWTR!:A 2=_W9P1_>+"'X4%6O\1Y49P'8\Y ;( MO\:P34;WE]\E:FR+:$4<+:B+#/H1>S2S=XIJO'+91,"SK^)7)&M+O-RSF;' B.6 MEC\!(_[.ASMEVIO?@BAZR]TTPJX/_-KL^6.1B#@,G2)(3Y&S!_ T4 ME6DP)BI!>N*L2=)C^YD>NQGF[::76\_>&1NO1PA"X'3L_T/D@]I]I('#5/]FK;*,H M(:$H]B\M&:TZ6D64'=Y->I9$9OBL^)9-)IAX]\3WB$I'ATRCU<\I:V+8Z4EI M$]E!>"11WO4;NS-X^^=4>XL<>#>H.U[@IJ'*E1WC#]/7H08U)LZ*'Q81NTK^\L[UHOG4>;GR?#H4 M/?1.+"94&1372U6-Q!/YUYDD[W2Y-!=-A,2;Q=<=^.KGU<_M8!5"EY&$?-8%GSV!L%W+-G0WO><0V])#%N2BD].7)<[ M@[-\$@>=KV )2U;9'DWC3[2'4(LZ!0TLW1ST6CO)1"%;FY"M;^K=?=M2*613 MR%:N.ZZMF[U7&C]?TV231N-.JB L(IX6QK,H-BL'*3!.M-%Y3[?M [0Z5QWH M*U^,I7='ZF8:>#.CGM[O]XY^,V=EPR4L>L(#F=59=(LGG?4,?:AFT#7Q9LR! M/C(/,(5.W4SEFS%U8W1\FCD'-?HC)3)2R=0/D>@74@4))IHC[\98.?V%_6OA M/3E3GNQT5FJUU2_;UU^I;\=3K/M*JV[>M=A*HSZ41OTF*0QZFTMXWYE9;X.' M&K_0]O$+H,B:UO'[];^^!URA;MM1]\U(MP9&:4U?86U#[N],L;9OZ/U!"97G MX&BKAI.H0S7U4.6F0S2VF.(KKPI!UTE:.-*V*JB_,^&3YZU]I(HG;DGP"ABJ M=8?C+4*&E:& ' ^/6?W%S(;*,\:@TD3BI!!=\^D KZMQ6J;PU0BW:E_6Q! M42?/FY4F&X1?85G]'##N,>E7.L=V+6'\HA-H>4/*K. ]N3O>Q"@!6];_:*5E M."P'0LF5^B7,'.S"'=/;>0=5T9!FC!\GFS-E>MV;0C[\T+E.F=E1L9@G M9+F3CH/9+!!-\OBSO:Q]P([H9O>EUDP;T,U<:;TQDCM>KD4V@R.;/#ME!V3; MB!H(B>5;UY/VG/RN\(,-5R,UP-8K(H\QD)%TMVO>Y2K-4=8":VN_PMT(M&]F M+0-*=/9I"$N^V<@*D2YYZSN"YEJ4?V13RIA-6F)$B_L()!1@(.P4\+&1'2$ MRX9%5_<:U\"[4V!I-S:/0'H-<%(3IUV *1$L7@<.0@*085%B#"!FO!E7YVN' MTQ/R &I' G0\A?V :J3Y 6A(#.B 6FG"A0*9\ZX00"U.''KX(2PSPX]P<3XA M(9@ACQ@OB]I[-O48-J)X=&+Z(?LAY,=Z](B#!T:43F6]2V2UW'N+^DK<8P'F M9.*-/3P*[&N&0Z3P=3B"@K]M15N \\!+0\9;VR [@"U.@3\2Y.#4/V+- %$. MH'T\A?YV67UMKKD= .=F-=^A)?SHME#/6Y7GLEHD=WER".ZEBPWZQ?+LG%-$V1VDLPY89ZPNJ(6:*L-SHE! MIS^(Y#[0XW6=N%=';522I:.E81OK!5P)42]M;Q\!;2X+:$,6T'(;W4KR>7G_ M!%A3UK/*"BY=?G^^V3RWV!ZHQS!BN"LL&KZ(M30CZ.!(D1/FRVJ!U9=7ROVT M$(/6_W@;R2UK*WOI&"=HJ]VE+KB6VVH;?8KHBI3]S;G>25M:)TF>Z15W>;8,1W_?,94AA?LP?L=/XNPQ;E M9'1C!#YET:%:X;+[.!=$1^X1DR:*IB 885Z0RF8*O"\G<3&G/E>$#BJ+W@+P$=>;PQ@08" M(4^U>Q](%P%-Z0EN(L(J8E.P_ )8VZ/S!!M#U(K@U[Z'G X;U =1.DTCSRMY M7WTOXHOQ1=! =V@^_1,#;D8W#'?[3%\BUH3>.%Y*3**0)X,#6BS&*9JY1:OARS!B"UCK/#G>E+L0X<98. /X MC,=LSI52 , BHC%/< A@NJT3M1CSGBR(RR6'S]$?$:_+D!?W<[BV!Y?(5X?(??QJ:9O_=ZZ4CY&$#!B[UST,X)Y/I'\+@ M&;0)(*8[_Y^,] CM=Z!8>$C7;O^XU7YWQH^>3_^T/FB?0\_/YHL_(OO]G>%] M@S+@+H#H< ?1.W5WA[J[='9JQMED$N)?\R@;4E2 _F_80N*TX]>M[N>@M 5< M+P0%)]6%YWR$/.D,.$D*F2)VP(_9^-&'O3Y@)KX\'UP1T&$O*"6BB3XH45%P)N"WJ3=SP2J>!9I;I.UQ9H< A4< 9@WXB)A !(B3!&51EQ?7QZ\UH M%+]RIMC]^0&-9$E#))W6#TAQ]<0X-E3F'D+&I+B08,B(1GSX$JB\\,)?:!:LP?F;,UWI_)CXS M_#-"0CPLE/-RQO2P 5A'U/O.P/6!_SL"569Y#3.'+CG#QKA#M^*LPV*SM:F M\,NZ:5<^<&TN\C]E?M2V&>^;ZP:X0R8[:,XE#7CPDQQ\D],?A&.0YQ3"]:'7 M0\[S@,_SKNCE=(]3(-LU]ZMC+5@ "IGG M"ZH9XW)3YC_ =VA.^<+K#T].01$X ?R4PH%AB*DN;74]8Y$6J%=2#$>0MO%,D09"#2+@^4O 4C")QFBRW3=0RCKE6GM8T M\M"#4-,] :; M#T1QA&YY!'%1N=AN"-8WFHM@M^C+1]_$S7B,GF^\CX]13.*]=8R$JBSSLQ(= M:58BWNLDG9?54.EB40P?$+-*8JRD"-ZC MPC3'Z&S(@]3.&.?NDC#C(BN#.F _K#4'R21"9QB:Y2$$_BP5C_D>_NLKOD[$ MF/CR:2J>*#LKV%GBL(^T!56MS9SO0*3)7>O:/Q?N0S9HW(FBQ6S.P4"A%X=W M ^2>99P;F49+2/4365J2B-<315!/,G0C 6HNZ/&F> 8EG"3%0PDBZ=Y(#>$! MI.RSF>.R(I#^>G/S6=R!YS\%TRRVY)@* D92GQ+'/PYYAF/'E J:I,GJF3L+V2_:9\G=K53)P>@_1^P:UE^;8B(7Q=;8ZO/7KP^I!00!(<#@\G MH4$5 -;RK:^@YK-4Z1A@,"Z]+J:1Y/4)#PH2C5VR"6$[AX1 M7$ROFBZ8\DM<#["?:[L2Q0(C&">Z; H$6CE"4(F5I21D[I9:@^"%.!:,QXA+ M&+@6(\#A0_ZWCI8-B86M1@GK8WQ*N>1LQB&S4Q'YH:!M2GD9Q\CVDHYS=188 M N8NKYBEP=O[P FI', %9D(1/C[W7)@/"7YC;)2#3:8^C+:*)@*YE_)KDL L MW3'7]#D)M2])*5>&*X\N'1>PO&*42G@O0G\6P*W)["QCVTDF5+PJ%78271WM M*^.;_"/ MP*FWL)XQW[0U>7A]MC@(8)GYS+D!-O92OGM M-RB_"-'Q)1,=+:0W(?C^G<7 $Q\7Y1PAVO "_)B/;T9/F;_ = 5>]")K@*L* MQLW76ZW?[>N'[D%0,E4XN3IBKXGC2G#SVP4(UQD+"WL['.MB1'I. F@,K^"N M*'!&S"::LS%R-?$%0T\-Y161D$]",,Z4KA##(U(E/*\24(0V=7$P[A"H7))__)3[)F^K,AK#81'WH.B%FA#DEJ"*72K*)P\(1Z#%Q(1TNNVHNRW[G9#S2,=/%<&\^? M+_!MH".Z65H?_8BG=R;V-;$^ ZN-$X1KT@(/>SX&ZN_.LDAVX&*@O>)'SU M$&+A4QP\HW+ W7>D J[SWV5[S-[ WTB+^V#'1Q&%T(/T,KAD(RC.$Z5.H,I? M(HXLPNA+%\6#8-F##WK*2](@)SD&#Q*#!%N$87;326LH"7*IY>3X.8N2@SAY MO "JJYO!1W8Z)__1YM/RKF:4U).Y M4(4U@]<"!%)\;<7O\]*THAE/*UI>=08*(5JV:Y$A,V;029M]0Q1*X.0PP?4Y M4#$/D1+Y"G\K4>"FS1%OW+8YHDF@^6",-YA0(Z;= (C7/)21FI>&AI]P0CSL MW9GB&3'3-/5]$6?,C'Z7H2?=\]<_()$RZ7KX$9@9X4/BF1?L7H69UX>91RK, MK,+,+5#)?Q6.FU;KX5D!?K$^;=G=ING3=ZF#+$+KU##?)3=!$N@3:IBOJTZG M^\$N9*A(_1B+XG-4;'A GF=!H7H"Z$ R^TGH$B+3'3TMP(RYX$C<<\DS*S7Z MZ)41GNRLVAW4EGO/%PJ"O*E$:J91%>XX1C&V .,R]96C]RL5>M2;+A:>_!"U MH//?/71(Q<)ZBF M"T<:=V4M[5/XGY?<[_26CPLL9LT?&RL"1&T]DA-%WB:!QI! MJ1(\\4+ .-=Y23^ ZP;:_M<"-#$6"@_RN@73U!+N]<$?@4Y(Z(OJ5LR]H-P1 M*#MQA6M5+@T!^'ECT2,O\T.+. 6Z).^9>#-'JXE+NR4_LC.?3U\20ZFHBPE2;!1Q M)R_^YA9;=?@O=%3^'=X!D"_70$5)!IDZJ9:9IQ1R,"8.:-P;HC-!F.XU=](L M&)2<=<.QZ*F.]C\%V\'="D>B#GPE)H+#]TZ]FGM10>A"BO2^00),7J[9\9 KD<'^P4YQITI*#!Q9TF!)'7X>?/A]I>WPFF!P:D/XM7X@/3>HMBP M%! FQSJ]<EH MJ4U1I+'9?!J\9.$-.%3FB$&&771SR$1RAG+^^[]$P&K(M1$BTR* 4&&_*PJ[/POY4G"J3Z*I:%$SB9S(.DQJB%SV+7G%W*G"]1V^^5$FV MM%YJQ2C6N'F3;BCMJ^#+]52DYV F)5?[Y'2$G R).-M-XQ_XXYSQL/KZ M-)] +LK/U14(#4//96D@FIK.B<&]!Y0,(^L+(A^ U)HD@9XT)R'4A9!&=478,CF!O0[;>*8@%BUZZ'\ M?7K"^&82)P/WZCA)BE H$FNY.'X.\ X,4^3)HC:B87=Y"H$BUB?99A18(60N M,M(1+QB^ADSR F-<,KV%6;-L?PN/%+6O?,/_P*$"\[=R(P5D<7@/ (!E YT: M0.8M\M08W_0N)!+F1DM&.]!(@<(<28U+A".*%B$YO:&*(B=EA2N!JZ:K%YKE MAF8G.0$Q^Y7R!]^3SGLKY0^V4,YFSA'JO+*N]>4:63LPAGJS1&WN/H2PI>O* M??&J4S7>",B]S91OR7(7,BOM%2CEMJ8E^,O]@"E3#)0):IPCKB_)]W P3T$D M$:.$XO:E$ K8MCCY),MRS-N2#R%*.\H,6?6)T>JM\_Q^6#8')7M?.N,L<-E4 M]'F:CA=)V?.*'T,,\N&9= 2N*'^G/,4"?[FX_ZO,L\=G Z:>=9ZFBBJO+I M+\+A0JZ.M*>V2"" #<&+P)I\(=]GEHLKY:$N%09@ACS),=3T])763I+A+Y*K M[]E2,K"4\2N5!FQM]2T\^4GJ/2S$D^\WR=&S3WGH=57*@TIY:)S8^;8;>T]% M!XF-B#=G>/:LMH*MBWD+0<],V"@;9(.JMADEK6FCKRX Z< M,'%GYGFZK'\ @TS#1B((M/)C64R2:27%-)-9CTG/:&%"G=@)0@^BB+J218(@NQG(Z6U!05/".+ M*3$F$M.+R< %*XZ?3,QCRSI/HOJ8]%X@BS'!E[2Z![T6$>-)QL+JAY6$/Q:_ MU!-4T8A9^O6\KH=;IV\2/KEEK_ M>:_;/_%-;0;Z/O/;MPZ3WS;Y6RU09@%Q1>M6VOA"PU[YG3G_@;]<-226:9^3 M_2NU$O@'!A$_K@014[88N]4 4^8FV@$Q]!SGP/-JF-L:>)D*7J7@9121W[+H ML#>(CF-QU_:^9PM/6QV=/1XS-IELPB4,[;P2)JTI+BVV?7IMZ'?:4#-Z(QZ #4+U&,%M9VAUNT,NP UHV.8?RZC/:T> M?T+_URI.\S%MW(=9#F\H9^'M7KBS_? -O'L3+K[?,>TZ3ER:6EH),06M2M Z M!^WEXZK;_WPTE]ZH8UK:I6UW1J82PKN##>!%&E^_T[44W,K S1PBW.R.;9VQ M^I(/Z9R/ K.GHG^6PEC!:F]8G8/:\O?E2'IASN'Y:#(_&?V.U5>B>&=XF5;' M,!2\=LKMXS#<&6][H9A= MP]0^)JDWO&S@*T6#4R>%I]3E\@1,*!,39=.E!/ &,/T=&*"@=SF M0)2?Y1H-Y" M$J=X,Y26L@DRSZ?^\6;[F&+ZZ*\NQ/)IEN^RGP&G4J+ MVY 69W7L44W)7F:G/QPT,0.MD6EQ/946U^X%5%J<2HM3:7$J+>[UX:72XE1: MG$J+JR':U^ECJI+=,?HJ1EHBP=84^)X#)PZ]H*;J7A9EN='A9" M]%52G$J*4])8P>J@27%[A$"JY4>H-2JLT/=X\7S<]IJA#&FY..CD[(!T>\\!@S[YY,7_@>$Y,TL95. MUD0N69ZW05YI6$>-[9+!(&)XC!@TH6*MW=?FB; MVT$G^]T\F?M9+$0-D=)F\:4R J@W)/7[DQKT23.LLR;-8H9 Z[(J=1/'5\+";!C-]&5;9W22)< >K,XP MY0Z8CNE+;=S7F:80SUGM4CSF4/]%'7V"&3=4^>N _,C:'$I&L M^K(42=L91_4#?HW$PM_WC*[>'YJZ9ADVP#^!DJV/1OUF74!/$HDUP']%6-=T M 0;0YLH%K&H&V0T,#-T\9*3\8=HD^*7U-4\>TY<-TVFQ_GQ M_)U@G.#X=-'[%5N6[]0^_P0&7-SQ63K?G!^LC<.CY':Q8BQ0C$=9FTO?ZS9M MC$71#;P&-+4W D!O.]K?Q*PE+YF^E!_QB#!.YSPMS5/F9$8-H/G$X\Q_DLS$ MY049*S,'EN?=9",#\'7"NIRL>R^WYIGO<+X"3X1B6(#&N)F>M,NER7#P,90 MCCLH'K\0LFQNU-))6N/0!_%1<8 M1/1)_@*\B.5P)1M_E+\%6F*._/I';J V?4>34OA=X\_D]8K0"7Z]?(3D_#A4 M$26'0$IO+0*#IO%>0/Q9C/V0)D>M++0>EVE>7#8W2DPMAY_&4YQ)(6L-NN2 M&[,-QTP&1TD'Y8WB/<+4W-Z2,]X[4ZXI/3(6\UW)?LWD-@C2HC"-1D*EBT1T M$UQ)X.I1.MPJ405S4$?G*S^E%H1KH98.L.)/I% "S/*>R 6'&(2TBP/&6!@* MAK *@*07.QS#BQZIC"_Q8%+A'YV>,,D'^L+)9%SG11UE=>DH]5C>LZD'B,]! M)@T!*SL7JR&"5@@&@$D$>M,4*'3BB8$W$@]!."U-8\UQJCP[Q%[QZ'.:XV5M MYH7W+V)0' UN'>/,TM C^8(&LD]3VIX\E^:LPUTD#C%MMHBP2H[%V14Z83J0 M])[YL*CX)RR4/K9B:Y3:+1<-R=CL=!4QJ4TXC"<29-(71WP6NX?#@R*$(3$4*@EMYD-#7 M[,[@B'="5-ZE,Z73'1#C3C:GIZ[YE!)I*&3&IG*8M0RSB?:3+4W)=3;8L*TC MO&\ISN @J42I24TF&N?7 WO\SWGE9I,-RCDP#T5Q'"";%! ;8.#A^")N$B42 MA+^0)A$EE)--9);$8SW],QP+"JGC&2*U MQ^3<&#U-3AIK2Q&0#]_.,9U?4B;\-<^$1337#Y#5$/_9\LYEU9]X4H5-J(C/ MVHB/N3[B@]OWW/^\V!YNZ/JP/*J$NT#7N.$.QX,;T\Z5.O$TR<^/9*? M!4>(\[/@2#0:?!GXH-YG'3IH-A:?$ I_0?<&V(JH^0@C.=&Q,:HA&0)FCD6/B4YN*DH[HGB^D$U*W$Y3+UX.4NZL4^C8#F M3AVPOCU\$;JUPV#*%]BR93YQ"XVZB+'O' @_O!DF@"1>%-3#\EOFW5\0IYS\)#P\ M3CKA%/A8M CD4P[H-@ M:S %0$>Y>+D0!F4@"0V:8+VSI=,8/?@7L&H!C;1;\F?"08/@3? K5'Q%!RD1DZ6DJ#1[+=D)+OX>:0XXQV=,*M:UCXLPH%__MP.@!5ZE M_8/YK3.I/Q4EZV5<7N;.V6\)=XG13R?R:K)_40^4Y^2\E& M$)]3'%[>EO!8D\P0W@GL#?8B,U9NVD<%:/L"&Q"&/P5M6H=4Z;#-@+)W73P@ M#1,E:0Q71 &&]+3W01A25RF2$(_,?4B'6:?JR J(N&#]I>ACN D??9;(/"+A M%A*=K]*V81R\GK_F/G'<9FK#IGX6_MM4WCK:X\L']6&36ZK@E08 MR6_JK%X67+H?3;DJ1TXL=%-:G5'JIO20_?H^XYR8M!WTR4U9=F.9FHW[)J8+ MIP2Z@CM.DVC%%GSNY,YO@L?9WO @V]NBV/+:FI&C!9T1+MV.*67=OF8,W-7> MP&Z,M^EV9+?JYMR>)*O'W#6K1SF!K%J<0 /E!%).H-=P @T[A6Y?8@1?%W/@ MY?AOM,D_.+%33J4Y*GD6G_%S&( :\ANP%QU#>.L965,V? =8^ -5IZV>^5/K MWSDR.H/!L):NE/T.B+!=FE)6[+K5U*+4-;0 \F2?[H9E*]D)'Y5PJ2Y=6:2]0WY9B M>XJY-?DN>P/%W%IY=\!2Y&C_15SM&E@QG*N'5UT6\]JM7KWPBG8ZC.T M&W],);-.AN_UADIFM?+N1DLR*U\G@"4%(7MD?H31Z;NL?&M=X*7]@FW4:L$& MNV\__-N]^R3:V.I#&$HVGPQ_[XV4;&[CW0W-C;+Y*W8^P>Q6%D9_T3Y24?=I MRV8$2'ME,^Z^_?!O]^Y;+YOQ$$HVGPY_M[M*-K?R[NS-=C.F7_]"Z=>G+9'M M5DMDN_42V6ZU1+9/02+;2B*?$E>WUUVFDLC-OKOAQ?4? 593[99FJ@CV1"[= M7A='W#SJ0M5X].JH\QR!3FZ,)@S?DR:S$E-/9+>@Z*W>[%[P])3I$WVZ9.F]@:K=))R3/@N MZ=H9)*WGL)>AV7V7.U519T?ZG?'N+77RX,7ZA%<<.%L?Y_U=L%>UXX587.]1 MD]&L3EF4C4;Z4G_9M!I;0";I\EB0ZB??6 :-M. 9^SHNU?#C1_7> J]LQB[[ MZ92KOW6^=J0";T!U&^Y)A-O16KZ6UW&@;]$2<^&:=;X!RC%BX?TEV" @0 M,Q+^7^=('51A_RE\<'SOWTG; 0Z5;Z#&N:"]\:>B"+']C=DU+&V2+/]63\ZM2UY) M;+VGWLU(D8D :\R&UW8KC8H;8U/;$L&,$!4\T=@US]'^@IV>?%#K\9F.]HEW M:Y!_[Y'A+2X8KS?(B_;E[K3%[803=$=<(@(6C;"PM8HVYP0J]S5&'2[,M+R4 MN'FM",WC"\6\LS"=5>))*B(](=A[TGXEX0!K& >QS ESD67*?;'2-N[2\#[4 ML,/%5+0@@YTNIGGR^IH]C[_XF'3FD*@M69+.U!S*6,N"@=MA&R/F2K>X.Q.F M0VK?J+=R]JVXP;2+]WSJ^*)5,4V-X3#'5U%;GWOJ8X:M;@*?[@#[H87T:H=: M_CT_,FK]LZY=/*'-).0L,E4#\$:2G^CI&J(K+^@NP ^P64L(&^$TDAY>3 L0 MNQ5=3L?,I2Z$I.]@>QA.A]C6;.UK$S@5;7K+EG098,M;0+ARBG8Y&2#\:2L= M[2OVA)%^G!Z'_7#XW .=#QV,L3<;];77-4:SE\=(? ]PA4GK%'E^A"MU8MS8 MNE\"))'2PKO^4)=^J1>>Z,'#D*^YU#(NXV^ZW %YZ15)*S>A M,3JR]E>\>:FY#D%9(@J *4*)&I.EJ'J?RA9)D6T.V1<+Q%OD8=AXB(KMM-\= M4"_"QNQY?0?O<;)OSCMFM&\:([7P'$5]H;XZVPMCB#X:1!W:1D MNDN[UZ7<1JQ;T=OVB^C"^D6:I44VJO%.6_H.F_FA)TC#+16UG%GBO@GBU0'<]&?U M9B$ ?;S"312S[ \L LDXE_6 )36RM@@]/_:FS(M#MR)&P;X@1Y@P?/PD=6%7 MY47R4P@S(M+(GX:CW4!O''^_C!>ACU_&0?PR)YT$O70^L.09C8MS_,7$&<>\ MO::8!"_4LIGSSR 4;J"D4?'2V"7)?2GT7D]RX(B.F=S_^A3 RE+'U?Q(I&P? M-#,O O9 TZ ('*1;3K#!!WU!BA*%P<0H$NKLRC5"G_?0741LR9&3.=R35PJ# M+$I'P(6,:_A3,%91D67H)1\S[K\ASR\.9'9>R 1'VTR>5IN>%7_DDL;'+S5Q M $]?A(,TCD!515#D84^G[:3\QLL-Y"*G,1BK3$S2%/[>M0NBFX&@Q]5%&K(5 MD_LO?@Y2/S*UJRVZVO1UNF01(U C<:3Y(A:3)[/;INUYOMS!FO1J@!*J@3C] M%TDZ %Z06MZN_&M: %NR\Q&&^-4#.1+C@)KUXC39:/(BD"V%?' _Q9;OY%#C M4R9IE%?Z!OY&6MQG@-P1>J.I.SN_,1XU(6C-A38<9.NP^"^FU>J.C(<([6Z_'!VZB9@9>-L*2Q_78$_I5 M"@97)G9LE"-!=$\E(*5;R-]X)*[<&2<"8T>%XX[HBSI:I48BRZ$@E8C\YG>KO3'C]D]@B*@G( M@,@5E0SNX/ 50F;<9-2P ?=DVJG,'O6E5^3P0(VGL8782O. MVA:E[:K>7B#GZ9AKC!8/#R*^)&$3]EA!$YJT:,WY[[G:''/QWFG<5KFNPD:+=LB*WO,,#4A MZB(:D^1W#I\EP\81 SJ]B,^CE82;^*V>$K4(!">Z2/)FDOK>++'(LAG:&]6O M3-F&Q[DK[85/;@6"B5:">WSX;AKGCC#O"W@:3^\2FLTRGF3C&)+9X(17V7 0 M.8)&(Z;F?$;#SN+<[!U?G"<^/3_PV?I5EW^E%CW0HFLS\IO!TG^.?M9*]Q;] M SY(.XL.+JX_ACY(A?\ ;O9.^P=0]X/VVV^?5YJ--ENV)7FMZ!A"$1452CF' M P M+Y 59M#1R?2"AQ?7OWN^SQR<^P:L2N9+8O:\ MYF2NIAOIRP4ZR^CP2IGZI$*9[UXC7U^4&'WZ^BG=;4'IS);"I&1<<%)B45PO MD_K2:H7QRO:;0],-KDS94HB6*V ZW:JSX[#*8M:NO2:?5C4Z3=GP^GSD9?-: M"L%35H HN9GR9("$!>>"%F48K>_RI(*X*+RW$@;9?>$TO.%E*:UI/>SOJX[7 M&]]?I.I,*<6GEEJDW0^V6J"DZI-.H#ZIJ>5)^Q UIFEDNME:U:SI%_5)NAO! M3#C<1' C%^$MQ9UTP>O2T!".Z>9U$!F8GIGSG?@>QZE)L28HG;P@B MK^POI\VF\\%Q-RO!')K*S8?52T%"2K$@Y6XI1JF,2C.78RX5/4I!6 MR)KRA7R@4WM.5BN\3KW@\6%>"2/"O(651:3M_Q 'F"_">1"QPJK1G7L5:)4@ MQ'E.) HAT=$_3F3@*ZV 5HFG"PE-_)?YC@BY8SP7Q03^G*P^";XN@P>G MNDB,B)G(%>6=*+ GQI0D/QI .+B>Y\.E]9.)QST54,A',G-. . =%6UMO%R> M")M[0\C$QGGT)Y?!!N>=$=O8?K,5[C"QX*@V="7JF-BC"[JP)9;C2SCMKAX A: >Y%Q*OJE>#Y:HG!?TXS'ZR6(?.:\4#VAN"$"--U+KN(:.S0['>!"UZY2*X^6UVI2;!3EU E^,YX?-(B-J M.C)@H'Y-G+W1^UX7.E:AXI:%B@>UA(K[*E1\1J'BIH2&=PZ)-F7#&P:K-G[O M;^Y0Y0H6L(:+(;$?J//R&$ABZ"?_XMU1WI808:VH:QX8G9%5_%79NF;#['2' MY4JDUW_>Z_;KVY2U2[%UF?(6<9MTV8@PB/\:HNN['3-E6[5 E6KTT2Y5*YP' M'+L>?8NO*HM9%E645\R4W@[]=H )H[D[5"P= 5M; R]SEP8%=O5D_,HP/SHC MN7?&WQ]"D+/NI;B/\9B!Z;[ICE^CD<66%@*1K/ELH(EMI]T&]Z,]7_K:)O1_ MK;JV6U$QZ^Q_?4NG+@W^0SU?$]5I].>HZ?>(:4IIOA(&?Y^<*3?% MI974C2RBRP?'F5\AAMSX+O[Q,4./F_C6"4/,@OE?9[I@%QI56<;_>>']B*_\ MQ>S2#<@S@07O?BVN[KMCUL"('4I-.T0RA^?0S"^!(;$F E]')?!>78Y>+T4L MZ?E,R3-/>.^ZYC-*\':FT^"9@BB8>>4&B_MXLIA*;:(GVD\UU_2W>V)BQ;@HMX;C590D4RT4L?80D '/48/6+,^Z/8+CI&KQN$$EBO) M*?S*U)-D7YJOM&7=7VQ?7 U(>]INBI=?K^ M%")M8R(U(E(?$*FOFZ;=$$0Z*X/G+FFYJ"R;?9EJ"D(@@;*X/P!Y:>E]>] 0 M%529,D=DHE409TB(8P].S'9I!]/\C"4#GLCACT1)!2]M&N\6'5,*QA:F*D#\ MD4/XQG<_(7AYR'A//6-T<3W2#4P';H2:H?35([+:^M')[@('-G5[5%ET*[5U M'[65BDMBYP>374-*B=U?B46 ?D-X9C9=69(PT(EEFDW1290R>U1EM@8$,B^N M>WJW9S8$@>I4:JU!PUGJ-^JC7I_^NELBZ@D2RC8?;!6E \,$W:[>[]>5/K-S MNG#3]=NS1;=MGMHJZ(;AG&&_CA#IP='M'%)O/X?8FT6TF<.,S3D?]>RS]<-0 ME.*RU=/ @?IYZO@Q6(8?$[B6]\K9-K!G&_VYE6,92@5N("9M=3+4ATE]Q*2! M/A@V!9/.H2+EUR!PG[WI5+EM]V6F"03+HOL T'U@Z:.1T1!OFO+.'I%Q[HLU MPZ9AS3DHH>0YQPY%CO_@B891#+L+*BVT N,DJ-ZE0.56VQYZPPCU!MT>5HYR M*06T@4BTA8_6A$3][L6U9>BF7=G)I'3/G='@M\!_J+OPY#R4BST*3_X(_/%> M'K&^<7$]U+O&:IZV4E/;CTE[E)[LCTE8?=+7>XU!I;/07=/6UE/F1*Q*E.L\ M%(YM6FL"S]\0G%_P)9\F?XNXYE&6("P,_O95]L!)(M(VS;5.1.J!^JH/>TTQ M@^7-YUEUMGH>BL86MBJ@64P+*^AN7UR/:LL'4 IID_!D"]?&;_ MXMH8Z+95.?5*::,E/:G3U/!7VF@-/E3A]-K;+!N@%CJT5RN8E1;:?@3:Q7]: M%8&&B$"#066SOEG:9YMR6(OYZ $3"!L'A]+]NW8\_.EP@IV2=,N2_NCB>C P M=_*/DQWLTI[Z8(UMI5-:+%?)=L >\;:>M^J[-=K M3IQ$4<2I4L2.S?>J481)$1^KNJ>[61&?UDB[<,%<&FW+_(AF.*K S[XBXN-L M/@U>&/N"HUN9*]E4>]*&1=+"'#6E$86* AV1O=:.33WJ%#7H-:5?_;G9%<1I MITN.%FK7IU*4*FCE"%:).)*F:M)'90G%!D+IZ\-!4Y)05#+3<;7:^C$*R^A- MW:I>#J>4W/V]G\%2UOTNWE"EI91*O4](Y&5/%07[4.MV8YI-*'WWU7+OJV+2 MD#"I7[DB7^FZ^S/<22X;ORJ[/0_MI$1*_BJ)K% !EN&/FN)94VKL*^7D5^2E MPZY(RC_%%M,MR24=EXC@[Z!IG&V7RBWLM;*3;6A<7/=&>G]8E^+Q^JF7-2FW M9XMR6QAU=90S+ZX':#4U'^7.(I,NK:.JV]]P'GK-?OZ&O>MDAA96:7>[:GS@ M*2+3?BZ'_9&I1Y,GJK?=;9:BW!)^6Z^[X3Q\AW6L=.+]8.[EOUD8%.!0_^+ZLB$8=%X:J\LF#"[+Q8%62EVM@X%^$!!- MQQ))YE[YCIA#C(\-]4'UR41*6VT@+FUAL#7CTI :_UEF4W#I')35Y58K2DFM MJ]^*3 M[FV\C4%[U;O7F0TI];2 6[=)TI0XL&G6Q\XK5;PH6G6'GE9I4U[,- M6>P>)2M+&P:V)M&[=O,;*1Q9M3U;7-L]/%86U["RK-O3;;/Y0RJ;U+6C<<^? M@P_FZX'Z;;2"751HT5!S>Y"V@NO8MK/K/25KBR4N\?=79JH?>KX+JO/5Y8A8 MV&N Z7.8>#.C.!A_U[6?-HFESRPD&MRH"MW]\YJ$LG*!]K<";4G7$[7G$7\ M&(1P*ZZV]C342RBJ!EC:=723OFTW72 [G;T!VL7[*P?HJOO#OL=='0@"_[?# M%? ]O].\*,*J0JHD7,11#'_!A),CW,6G['4%YQD MGC-8ZXE-,YT&)(CR=>XS)5I& >+INP=6C:[1G,BJT8JNB#9F<]#FV,9@ M&S3=VV V"_Q*:NXVT<-?45*G-+I[*KG;Y/">NVF:BBL=HZ+^:'3K5W#KW!VJ MMW9S]=N5HR9:5HJELN:P0&]>5H$;=?$W< @$OC,%A@-+'_0J1_Z; MY;5H*1O^PF('/G0UYH0^'$?5$^S-?1-0?A20O!F/%[,%-0C]P";>V"N;K6@8 M-EJ%?=T:J1+84T2H+=SW B%S0[MH6XVILG]F2O!V8WR;K/4[3MDC\R/O">F M38/HW(H/WE3BR!'L'_Y6T#@T@3/EDM_*4.8U.[\!J/]@\:?)-^=':;(: %D- M]:ZQVK[YK=*/6XUA*RSZE3!L>'%M]72KH'W!T3'L#(L62HU<4QGE>ZO09%(* M.'\D*)D&>K_7_-J9,VS0N#S7 M81=N?L"6>8V#TNXSM^6P,_,6J;$E[JQE[)WE"TIFAMGZ+# M>FC-K&V ^,%I;4TIHKFI%)%OAJ^Q;C_;2K,VK5'#(/$F;9% _'.,0Q.3-!TI MS73FA ^>SZ_6S'.:,0,D#E]+SWEDFC-&WZ'COV 2GA_$J.R$\+&O>;"SAY " M[6&,64SQ(XL8DAT!B;R/O$&?A[8N)FS.X#11)Y^N),%!O+QGP^[F040QPJL0 MAZ%Y3^S=L^?&C[!UHGSI*7$[W>P1YQYVL(C7/])4@*.BGTOEDOZ+VT?FXC%F M.;VQ-38=9](S#<O+=-9S!PAX.Q->@;_X@.*00R MW:+P F+YZ\_.=1%.2'=Q?.0=K*F^#.) ^PV(3]?N M_/%Z,F_*AF]E3O4UY4\<_'*\A#M:&W^>-W<^\.!@ 6NX< ?LQYBAQ'KD_-K5 MYBQ,_C6C,;YOUQYIE;Y)=BW)13C8U)E'["KYRSO7B^93Y^7*\VE[]- [L9C@ MT_9JL(P R+_..$ZGR[F.<"J(-XNO._#5SZN?V\..T3,+O^IVC,+/URUEF)WN ML/B1=4NM_[S7[9_XIGH;E]I?P]R@[NZFNZD%=EM@BP-OXPL->^5W!48SYXVO M9$ 6<\Q_,"?4/H*HSO+L-1A,O+A*<>39UD-LD=@$W\\$WM($,0*"P!YFH[-( M7%;85EVL5\ V"UNY&]]K/UUDG:(P:CDN_.^%W1KA$]8% ^>?6=J-&_?$K MFT[1Y>F[*5@_<@HMS7*Q-F>@]X=-\7RJYAI'U QKQ",+\,C4!W93YGXJ/#JB MSE:8-J9B,_OGQW"( FE\ MR."Y+W%@G+*KPY\-\84JI_I1,T?J1*7^Q;4UU$VSLKQ6J-1 5-J:4U$G*@V M*_5TLU?9:=.L"$T[1/:OS&=8>(X2VW%GGN]%<4A%XLJ\WCL\PV$*U'&3@^B^ M!#*\N.[;^D#9V">)3-NB+S4C$W;?&^AV3TT+.$5DVA99>MV+:]NN(TM' M6=M[B.X@<)^]Z53S9G/'"T_)T!X>760+6-ZEH,1>P"6F?/8,'"T_- WS74/4 M6&41'5-*[X _._!3\^+:,(9ZMZNF2;PZ$M7/@[8)Y\H\R&H:#SHK4_IV&D2+ MD%I._;>#[[]?1/"CLYL/48-8GH?3^RL!ST\3@N9[ 0TEU.XBLJSV0'8-B-+']8V^OGU4\'5V(^#&M75<0YG,AF6WFO! MU ^%<-A[0T.:GRK3<)@EF@,@5_),C]; M"MI54\AFZI6E(;M+TQJ-?ET=FUZ?;==DK9T4TI4:\[BB*ZP9\U@'^AD7UZ.! M/AK6,"Q485X3,>\0"D,%?#,I+]?JU>6":I#&T,:R11KS_$9X$]YJ'EVLKOGL M9.+KAV#0*VK!.@:-X/TC\(,\X:0I**OD816[]W?GQ2H8VD"^NLWX+XTF/3"\ MNG4YEQ2N-(JYK CAVIB+#5ACK[J'CLY@)C$A7K78^5&MI/ML%=0M M]GBFER8],#U_ >#(VKB_IXO@O_N&U_#Q1QPZ $[/=\*7NYC-(B I?&D84*'F M'0]BUS<)C0?D'RAJ**[\ R>!P37Z!YJ$ MMT->_UN].ZOR,]2 9)_#X,F+$+W@&JNK0>VU!&I7=H"*A,;_GOELCTYB-@;Q MNOK 4N7-IXA$6UP/-2%1'ZNC='NHNBV<(@[M)/:KXY"!R:E#HRE\Z!R\%'^P M.)'&W%-Q&+7H1*>,['CXTV$$6S02P*;](X-]+ @;Z*;9;;S&?H09/8JNVDY7 M!_$,5:,P"S5]2^_U5T7L:3ES%'6=.G75J+Y6HZG>Q;5EZ=:@^6[^/48B'ZS! MLW1*"X[B!HO[*2LWN5IM;>/6SM)ZT>8,\/O1"=E^XYIWB0^4FJ4POTV8O]'J7(?Z_2747V-\[DP#V#"W4REC0*&_0O]C,?Y!/8P?:[X[ MIFKL^PJW_L&;+F+F5C"UUYE3ITC5)4]_>@1?3M,3R%5$\L-Z=+UR%])\EZHB MII82TS&5QPUD-:JL/BJ*4A35B&,?7A]=3T>#;CT:Z>&)244FSFEKYQ"9(-*, MM$7$7"T.X)BS.5 IEE6K@(4*6!PC8%'AU"T5J41&T49CK[LL3?].*S/W!D[H M/+ _%K-[%GZ:&?=TN&!O1A '1IWCC M_5>\<9.*/GO=D3ZT5@NMU8T?YL8'KWCC%MUXWX#_F:LF:^[&E4^V-H6O]2B[ MEU@2,%W!W-)(VR/!9)J6WAO5Q*9JUN1.\<[W$DRUW;E=OVA2=WX8T53;G?,> M%'W;TKNCU1:M1<*I$3X8]?Q)NTP&&UK1W0:S><@>F1]Y3TQ+FNA@9O9;ZDJ' M$V=BYT<3V-7)/'\.#0A^"4+XIZ^-%V'(_/&+%H>PVI2Z4FB.^\]%%.,4JI5V M!"K]YU3"+65;.R,[RG$CJ;L)1Z9;@4O?$)7X&V]\]UN&6#D* M&PI9S:"KTS*76?16 ]3R_"!%]]@'_Z#Y_A+(&; MT=H*.0V[V(&QKND@#]X909T] !"M4M>45K#<&Z\Z2U&ON% MU4EA.)%GI(\&=<5WCMX]S"R5'Y(O)>*+K]OHON'MC8L?HH1&'>JU#T6X^7/L MP"_@3]=[NOXK_"=Y_\P)'SR?TX299\YCAN,E7HDE?7MDFC/&TB#'?X'S:'X0 MP^I."!^CTS9F#Z$SU>9.R+->'EG$D%,1D)R8N=K$\QU_[,&/HA@^( ]O)V49 MRW 0+^_9L+MY$'G(9JY"AF[_)_;NV7/C1]@Z,4OI*7$[W>P1YQYVL(C7/])4 M@..4VQJ;C3'J&88V&][;I# ;N<#"V!GWC_] K(1YZ M3-GAW'E@E_(D1.&3 %?D6=@3@>G!-)@<#%[\U$%T! M']UR!?3+0OP5;,=IS%ZTQQ"%]I^VW]L * XY!-(2CJ;AV3[.=1%.2'=Q?.0M M3H_[' 9QH/T&Q*=C6MQZ,F_*AF]E3O4UY4\(?DIL?0RF<(G17[2/_UIX\4OC MS_/FS@<>'"Q@#1?N@/T8,Y18C\2O9R#>XNBMMO84JR1-XBKCLB3MX"Q39QZQ MJ^0O[UPOFD^=ERO/IQW10^_$8H(U(R=94ML(9OSKC,ETNIS1"$>F>+/XN@-? M_;SZN37HF)95^%6W8Q1^OFZI8SKS/1F T$;9EQ\!4 -S MXTK%=E1_DQFUU:;;IH"K!=0";5M@C;]AN(%0-FYBM/*S F<=5S".X[@:[JA% MS6:!#_I3,/Z^0]'#MGL(@^?EB'>KP'$#>T4+P)G^]3[\^?JSX[F7=S[]_=:9 M>S%\KH#TA<4.?.@26))^00HNUS?C\6*VF))!0FD,'&]D=RY]@ED+"ES7WX)E MDK8"8#=D.-= ;,?YV1Y!D&.I5NH]Y_:> M5F>E[<8>WCM3QQ\SS8FU#VS,L#I>LPQ=,[LX)7 [EVUV,YQE&-32<& H!Z_O M_OBE('H-!@79$Y7["PS[U$=D,(#_C5;;(!^LW5'+)O)6O.>"#(7AY@P%NEWA M7^?>]:+<@P$VASB=NE*%'0EVC,IC1\FTE2&@SK"G#WNK)5X*?UJ//T;WX B$ M+;[[IC[J-F5>AD*@.I-5C96D\#79JM51:=0%5-)[!5.CVUC$?=HX5 J%S$,S MH9%Q<=WO]73+;LJTMH,WB*1_>[[+_/CJC!37M"B<>>O?CQD4U=1 7L$Z4%]W P2AK:R2W7 M[!9U!S$8#6N+Q4B4=D?W(1?N<>LQF8G%7/2C,S\B6)R-LI)0![.PC 5;+\7V>Z8/3=)\XL/PK^Z9:6CQ;6 M>O]12/O@59 M"1=6;]WYHFZ+[/G[Y4#B%\9E!?O*PB=OS+@8^<+&P8-/JY!$*2U%1M1VJ5M@ M^"ML;"0V*EZA;D?=SJNK]0UCY&:WVS!&?M:AD"]LO@C'CW#U$6^R5*IT_22" M'^NS9*M$/S+ %H1 2H8]S*YQ<6W9AFX/5]LHKZ3,*H>)U]7;*9:SO$F)8 M0X?[B2X3\]8'/96W?FJ89!\;DRQ2@FRKRJ0,A4I*9*C;J38QY]!TWJ/Q%^:@ M 71^UE$/'+C'!^2H,>3GY$A1;JXFWTZ=.AI0>#8YM32?MD&SMW1K4'E,D4(= M1=CJ=FK4R:K1=;]A='WJSF9:\ IC"MYX!SRAEHZ4AK(\Q_!@7DWUO'K^V,\? MW/1J$.L70^NUL9A:K\79H'K-28.1R@P[)WU :6OJ=M3M'".2474Z/6K9@H7? M"@[^#1DX?_>-[W[+V'F66K+G,$6SB]4ZZ!]=+=91P^E;C8A59],?&0^'S<'# M4S<1M_KI%W[(8"?_9J[VX'A^Q$?:L^@MMI;R_"6:'\6\K-_RN8(J1^!9Z.TOV3_S5EWC>A%\%7RTW5C%!FZ5%6 M1A5WTUZ# -M#06O*Y@;'FW)E&B8.2M)[?5L?]0[?*K">"R]DG$T+[_]4UO+9 M\>SM1/4BA\DN-09;!GV9AH73FFIJEW0X&:!(1Y%.G:2SQXR\DOI5[^*ZUQ_J M=FU3T!1Q-0//%'%M(ZY#CQ@T#2RBH(DP/45YQX-;.[0 M0>G.+0"P&RSNI^SD?7NF^>KS"$T#!UP/1GJ_NTJ_#0F:;,*(=D1-*E4*[$X; M3<_=/JD[+26&*TR"J6..E@E6[+6IF_W*K>053C89)Q6?47>J[K3Y=UI&=JPD M$A]9=)C=UHB.LRX!.LB DA;V):XRH.1L$\Y5Y4F3;Z=.4Z-I?>U-3-T;Z'9! MNI'"QD9BH^(5ZG;4[;RZXM\X1FXVC)&?=;2G[@$E+2S\*#N@9+=H3*T#2D!9 MNQ[: ]TP5X,O^PTHJ71$M!J#B&>=\7%;3RBA8:["-I!WA:D."EH*6@I:;8'6#MZM4YJO M/ 44E=:O!Q75O8.F#WJINI8A+$=;LF*-+JZMGF[9JW9-Z="$(K!FX-I9$E@9^EJ)8]=- M5;WNQ75_--#[U>?O'9RVSCT@V, A*ZONUC,:LF)U7W_(2L] CU]?[]DU#5FI M/W+2_J;JE2H+&M H7]UI-2EL[3+K[)"=\GLX/5VW1I4[Y2N<;#).*CZC[E3= M:?/OM-24Y]<6'59K1,>I]Y0X_I"5[;DGC:.M*D-6SC8E796N-/EVZC0UFM:; MO]>C5K"C85U#O!0V*EZA;D?=3B-OIT;%OW&,W&X8(S_K:$_=0U9:6/U1=LC* M;M&86H>L]+ /OMZS3'UD[C"@XYC^EO;QUE)Y)_G+KF?,2F]0;D5JV+9OK@>#2KW M"%58UCPLVU,M/ 22]9N$9&>=DY$?A**R,]3S#7Y^!\O^E$9*U,C<:QPD80\N MKDU+M_OFN72T:X8I7WJ8A%53R[G-E])."EI3X]0[XC )FU0XY*$A?V\[7[NC6JW(];$5>C\.PLB:M<@>W*'*2# M#9/H8T/=H=XU:BBY4P36#%P[2P(K0U][&%4EJ_I^J_P MG^0U,R=\\'S.930_B&%U)X2/ M,0\2YAQTLXO6/-!7@=C>DP%S-QY M8)?W(7.^7SH3..&5,WUV7B)$3ADP !7Y%G8$X'IP328' Q>_-= &@I!2;J] M?+,0?P7;<1JS%^TQ1/7G3]OO;0 4AQR"=]P#- 1B^>O/SG413DAW<7SD+8ZT M?0Z#.-!^ ^+3M3M_O)[,F[+A6YE3?4WY$X'?B1ZU7Z;!<]3X4[RY\X'S!@M8 MPXW>KMWN*L62-%J2=+#IJ3./V%7REW>N%\VGSLN5Y].KZ:%W8C'!>>W5C!T" M#O\ZXR&=+N487:ZP^)'UBVU M_O->MW_BF^IM7*K8?$DP:Y,RM<&6VDT;4POLML"6Y(Z-+S3LE=\5>& XWSN. M.V)';O@/YH3:1Q"^;B[=(V?W5P%,F9MH!\1V380Y/.:V!EZF@E!E%Y+NQR LZ2\]N M;U!<:LJPDD>T)M.A&DW@ M2)>NI?<**B$JL5U%#XH>:I4,*XD_=5)!_^+:LG1K4%Y?M*# #KE2ADCS#!%" M4=/JV UGPQ_8'/#0$_T'?5=S9@'L[M_TP5K$:ED;I^,K]#)8X>]3)MHTW4C0 M+HS!JO5Y\!(P: D:-])[9E$9?"J..J%H>!*-&%]>] MKMX;-H5'U:EQMD"<4R+S)!4C?W OZ]O']*R#CS'E^A44_Y^>2!M M6?H8=.L:-:NZ.#40A[;5R-6#0WP6B]VKJ]) X5"3<&B+U*X)ATP^7[&V:I4F M-?IJ@9S^P"8L#$%(Q\Z/#9'DT]1AJTTD7!,N2"#*O:7?G!\?N<;SGOELXL6E M"<2ZN![H?7NUB48;PP<*HY^3M,8F11C)W6>049TZ8,U"TMN(?=D;*UG[P^#^UUBQ5],QZ' MY&<25%":B_9!;]6[=E/45F7Z'-%\WHP\$^\'"R41 ^ \S(^I\-MS6:BBUI6D M\_M%!,M'T6TPNP?=!Y>[38%\*\/X)@SQ5BB7A5_0G7\S X#&GR9K'OG-<^Z] MJ1>_&&6H;U0;]2GCJ8$(N47B-P\AAUV%D&U#R%+NH5T;L;T*:FXWD(88'+)T MTZ[2W4VY#O9!,\S0I0%MLSGH*7C=J*4\!('[[$VGRF>PKU;RJX#@70K7U5SH MS3S;;)H*KXR_(RH1N^#/#HS5 L9J#/5NMZ[NM J)FH1$6SP(U9E0KVE,Z,S\ M"(EXGO QNMI8S-'5XFQTKG(=5([#KY]2G,RF>\_P"O:8;H3-Y2Q]U*T\V$)9 M7@U$L"U2?&^\VLR5^\J=FQ?-@\B9_@J@F?\1Q/!O'I99,%?TS F(CI"> M/OE_#[V8?0B>_3+4U+@ G#*\CEGW5@N&[:!_P M;&Q47^!(V?_[H M>'=K_KKAK5 /F(394B%^H\IW]:^'-46DX,R] M73\)3=9 M-G\>\/_3Y+, \.>IX\_:F[1E%,Z8P!$3 MZ>2)(MS'MI)V77-NE3G4)+39(I4KH0T&:51YQBEBS1;I6PEK^A?7S?&]G)EE M+&782_T%HXC%$1G&4Y&-"'>I4UM"L)R=,:A3?.;9G@T(=]%XS_'Y.C4\:]!P MU+L9CS$1%L,T8^8]X80GI>U5SL&X\\OIR)TV@(B4'$KH"W$DC M+]%"Y,9WR>%Y0WZRTJ1C75SW=+.[6J6K;)YFXMIAA?5!<*R'[+D[K)(%H="K M@:QLUQ8%^Z+9*B;9%]?]ID2"S\R@IJE0Y]@EN,8TB$(?4[B0FG*RZ+/SLH>K MR>I20\*A65F0*W.J%8*\C%^\)@RCP$N_DAA7R-5$Y-I?CF] KE7\&5Y<#P:K MTEO9Z$<);,_YQ9R997Z0%O_K0T7[LM81"6^K2MF!LI :J ^6MK\K(I*!D1?= M&JB\QU/$IKTCV/MB$]9"Z?W&Y%Z?E<4M5"LYZ;&B?_U,M-E*4AQ!_EL&\<0C ME6832]^5IB8J!NO9RGYJ <8=6LB7PK-55,*H37\5D92KIYG8=%QK_%#\JX>3 MR+I#U=#WV.CS!XNUL1,]8IN )\\%I>#^1:Z02"MMF;668A\-% MH8@D.TA@#0K%Q=$+^+:?\K5*"T]B9S7IG U1- =KRR:B777*JKSW')^OR8/9 M$"1:DQ6\",>/#J8#2XW-]*RK6>;%!*-F[L7.5-1X*Z?FWD;*9^>%NLQ^"VZP M'CYDN8Y#-[Z[;PLKRQA>7)M#W3#4 /)3PZDMQL8!<0K+(@V]/U0X=6HXM<5H M.!Q.F=V+:PLK&1HPU_ZT5,5UM3\!;-J-M$D8S+0(;N,X\OX\(OW;Q+T _B\ M^[3#H+M G9VM39XWC8OK_J@N_T[+O#@GCB_;1/D.^%*2W9J8&F*H&60GB4[; MI'A)=-K4VM0RZVMMVJPTHT:+;W3=:HN(N7A1N29J:6A3KH=L^,T/\H(YW2K>[RV!;FDH&F"4, M %"E0,W'I$,*],V(M%F*JTEU)XU*985X%50:-0V5SL$ZSTGNF1-^9S'6;VD1 M&R_"_3-]VZOC'E)BWSPYWA3!^TL0HC?K:PKD#^R^Q) >RZIOLIXRGIJH"Y85 MX64P:[MF:&$U9E\?#JHT$U:(U43$*BO0:T8L+$SLZX:M0N>O&3JO3\Z?AQ9< M.D9>GZ!O7,A*V5>O&DVOF1_CP#M]5#"$5B%7^Y&K=&R]9N2B%IKZJ, )K^SY MXTA\N"UQ@_>.M-IM(FP2A-5_^+:M/1AOW+?)66? M-1#E2N@#QT,YC!.-=*N_&BA2*-=^E"NA)1P/Y7 ^VE WNY7[%33+6="Z-B"4 MM^?Y(H2O6H CGMXOF/_1((14#4'.9F>G%:HJ;@CRB^<[_E@U M!%$-06KS?GI1M "<8E1B%,QF >XG&'_GWV+5B?@_6GR M]=$)6?0WW\5DP#'SJ5S/=^GC]P[(Z=M@AG.X''P]%N1'\+/I N'X%6_HTYP* MQ$H+;O/BVM*'EO*-GB(FEO"-OCXF6HB)(UNY3$\1$TNX3%\?$WL7U[8^[#=E M1OIIZ;([)%5'=._:LQ<_/K(IKX*.G1]:< \;I7ZX @VH/GKYJIQ='0$.P=7Q!J3_ #?62@_C2Y)3B3 MPER:0(84AQJIL4DGATL[RO@:<0G[CH[T?A,*710NO88XKP^7["ZE?)H% S-4 MT=1!@@B>/_;FSE3+DMQ0A$\H0L6T*8[ 4N9[+5*<1_W8;PC2%.X)"171@G%Q M;765$7YJ:+)%0)=&$_/BVK:JZ'$*39J()EMD;VDTL7#\3P,\+N=@$'\Z0X/W M0(%V2<,8GGO@N_PN6(CS!7>_;('WG MBJ(6D6:-KA-^'Y\F'\5M?('+^.0CC>+_/F; _\*B./3&,7-I^H#OYC^0?IFF MYG[PHGD0.=-?X4+F\ 3\&_?F^0OFB@'EE+2[0LM]G"+8K]QXJ]35M\!D/BD< M/HBFU$QLQHZQE9)C%2*?"B+OJBXA#<;G@VA1#Q';"A]P=M MZ*ISTOZIVW4JE*[=LP?/]S' %TRT.:&$2ME92YCV ;6GTJ9,26KL@YW3U^V" M )]*S6@_9IJ'5.P/C9H#$!2V/C)7ZQT4:K8?-0VSQ:@YY(.%^]W*,PV:E9'4 M$'VEV!NT05]A6$F[3E,YH$71.)WNIP,=_G3X3J_%;&=T<3VT],&H#JJR!9-Y$X@Q&? D#]8Z;#F $>:ZUW[A'J.*U(X55+84@J^ M0@JKV&X!MG=7TU(4KC<&'Q2N[]0K9@=<[UU-@QKXA3B#%EM;2L'V[K0\+9@R^SBSZ(SA<%2TTZ6RU MJFG5:*%/\[R-ZO.\%2TH6GAU-:X:+0PNK@>Z/:R4C*S+-"G$W%PE=B#=\> MF>:,@:;AW2^8A^X',:SNA/"Q3\[;A]"9@I404H.%^)%%##D&00+G9R0]JN!' M40P?4+.Q3DK'RW 0+^]A*ZYY$'E(^U_TA3 8[3#F38R/_%[2.C]!BSG-[8&IN.,^D9AC4:WMNF,QBXP\$8 M] GC_X;#B^2AQY1[S9T'=GD?,N?[I3.!$UXYTV?G)4+DE $#4)%O84< K@?7 M9'(P&O8#M.8_:B/88H//^T_=Y _'U##H&T=(MREPII MG>LBG&@4,A<'#S^'01QHOP$Q_G_VWKU);239&_XJ"G;W.7:$F@&)B[#W):)] MF^,]'MO/V',V]J\G!!2-UD)B)=%MYM._F5FE&Y( @6@DJ!-Q9MV 2E59F5E9 M>?FEJH!E4"SV=9GP9])N,.>W217V(5)AWR(5EEW*89(YZK;V;*"Q2YC.OGJE MJPB,4$68A9_72QANFO4/I"V_+]Z#Z5A_$N_'U(,_[IW95P^.!2>@/[_,(W+& MU'P7A9._PRO>V-26(;0)#6Z#4A;)?2 ^PPDPL!]7R#W>&@3^LQG \R@Y;]8^ MK,WW0R-2K&!+BN [,2S-*W[=7?=(37?JYM"(KZP !&%ZP'8E*4[YV)-HW05B MEJLG+-!33O!*&SX#WQ6VB4ZI"5J,%?B*OY[XULPR/0M>]B+Y,S TE+?<*E&5 M)Z8J:_C0]11W[;U4+#!0E)GU@)148';K.5PB@#<\RDT'4\5O*]_C 91U8-DP M71_LF7\S?@5:\FY?*C:*6H$=X2D.9R+,@H %>:ZMO'C[^>U+&'^ZL!SZK?Y. M67D6LM0#+<%?,!8H2X;3F)L3?)H&AU4D9J5,USY8+WQB/"8._\L_9%YZJO^5 M^ +G,5M/ \5AIF=O%-.VD2R6%_&!XL+%ADA%47:'!>EU!\ .#-Z%[UMY+@Y& MR@^?@&VV,5F+2,:_@XO?([/=%;X;E\<<8":&?STM7,0DA0<]QNYFP!N.#P\3 MK3CY[DS$7H,1L%96>0&4>GO_[B48S//@"8U)>*OX+IJ(.?59 MZ5M(.ES-?&Y-+7@<_O:!C:9;&^,Z<+C#MLU4^CD\;"I@&S'E$=DSV%!7L6AO M$N\(F\XHMOMT]PA6Z3(]@U_":8 '[S!0W2IM#M U7>7#!4\]@!_IFDWLWPX=G!NR-%\]/23[]B4+2<@ M%+!8'1^&>]W#@@8TI_]96_SV@&OX;U ]^ 3\L)NB"C(3 @GZ:3'%6Q**'/'% M@^U.@/E!X)Y<[P<7(;:TULLM8N#^.Z$ P1F)["38_K/K!0OEGNL<56PQT>K> MMTRNEWA>%@Z$4T&[W44I3+T#N6)+NX)Z7#!S]I\UO)UY'$GX-Q-&4[[:("VJ M\IOE@/IP [-]H VP\NS)JV]3X+*UC:V5$VJ;S-F<0WV4>BT& M$S=3O$AM.9GH[.5?QW>L=H??LT1D4;Q9?-V&KW[)?MXSVJ-._E>==C?W\Q.& M.L8CMC?==I\'YO !]L1E=X1?^;VC5KF7GT&X#DBO;-:B/KG<"DHM[)B\Z?IP M52GWHC/AU^7D_^^'57P*_-@C,T-ZX!XY[^[<)$& _%H#FBD"JB$ YHL M^^$MX4W[?V_(!OC,L&>B;3JSW&O!$5[2TU+53LU(^V7+69[W28EXGTZ!BS$(\Q5(/<6(1R;8872RP0ZCDPUV?%LO@3@424R\ M08E?H83O."KBP5^9,Q$M2@$^,1$#)4[SMX*X43[&T\*U[<6VP)'P1.\0-UY MRMQSE_ 8V ZQ>LPYQM/:K9QQS,$AM]O7%%G&O2:>Y(6(YTT[S@L7$MG!43\_ M%SU;29M5%;]!UN/9USP[,C)C57[N+[$.@PL*"8''F+*$F2U\3-"W,4EV2U#" M#.ET-N\23.B S&A*M,5Y@:4P,9T?RHS1L1G=$>'-"VNZ4&E@I)<*3V^PW3/# M:R^;"9,#!EMCPBM>&_,2KQTW()F#*ZU(1MXD['=_/8VLFCPA.MH6_BVBYK>( MF%R 8KGI-U%N?LMCDZ;)3.XBJ )V"OS[X'ITX0/N,1]-R\;?W8$=?.>#8'%# MU$.E/477[ P9=&Y:G@)BMP9^_RVV8F<,K*(END;X#0_3[,%NID;E-AQ$Y T, M;? 9FP2IV7"!0MY/"I0XJ1B^C0QC8F%>:"&NL22DS(2/)Z8-1Q4352LHFUQ MLF_/E7X#3.ZQ:*8R/>'LXGE1(+OK]@4-4%4 M]J),+6^Z7L+XSE38K%,X8.%HQN(T2]R^32J%@M/<#5]"BUA8, @/=SR!8+,[ M=SX78[BVS0OQD!S)Y5A4]H:%,GB.KTP?J+*&C[&N;T-Z-#S'R4',GXR=TE0I M1F:S8CYX:!R0.A+?B!UK*T5;C-.$:Q',&.X&>(NEHKMXMEA$YF*Q6,)%_7-A MKM$OWE9 W+$@+U1@J!$2+\ 2O+A\*_FBY/GQM$BLJDH%]1$,/0>WH]!R'S91 M)T7+:IJ6B2;.^=VG$DVXOWE8KXCW1/,)3T08W+1#^S=C:B!3@ZSSPM>IZP>1 MJYH[JHFQR111,"K#+Y@HS#,L^Z,'E@QNC[/H!6B5_!1>MKGE^4@J5?S+70?* MBP\?/WQY28^FS6LN=1BWA_DCH[,G7Y2MA0M%;>1CD>32?:1ZVIFY!.MH1I.> M)5H)P'-LR35%5(P7*34JP0/EL$:UB>8._[&%&PJZB\U$Q2@881X72"[>R\K- M^J]8LN<%FZ\VQHF=&5Z/5ZBC"D4LI]+=R*ET;X+@A8M7R7F A. E& MHES6)*< FO PY#L&I]/4HJ^2C@ 0&R\(P[N@9(H(P!WRC!^I7#^1BS*<.'\0 M?0QHFMO3-?>N);629^(&W.%F"*T4U[>'OJU93)A'%H6Q@5\LT!+H)$MX]*B< MW.<>LIV"K1L'2_8?]/9/L"LIY#-@L^FKV=K;,-.+I7W4&NO;&@;W8/=D1F>9 MS*@#DQEE9H._\=M;I1\QR_.+'6<,)K9CY^Q[G?/,OGL,*7N':^Q2DT$$^GX^ M*56TZ"RTO->>8Q'Z QGHL1*!3TJ25#O/*O2C2)H!!*QF,KW6>%A$T0BA [38 M[,D4)(V0)8Z@:.\\B^@?1='^>2:#_::+*#I96U3602>5?PP%!^>9]+!82:F[ MSM[,[--G1NJP" ,[XJ00Z!9TT(I?T(N$1>B)[7,[Y5GR/.?A:+3K"+KGVX$W>\J=H5H3(B5^E"0GYAS8W(>* MS^#N@'[@[@>P#O98^.5LSZ*0II&;:6E0IN6ETCC"F]CZOH_0Z< MR6I(DN>^.N1/-JPQL^^ ?91O0I%'VY8)5UZ"H#MV'O88+>1D_DO4Z,@AHS[$ M48I/J79V64HFI_?PF^>OKCM[LFP;1!%H"7:N!5=<+D'A5VF/,RPRPZ_P63.O MGN$2FW:I3 HIWI(>' (E>Q#+"7G*F]%]CF(B0H95I5X2'#.=+Q+LPSVA(Y&" M(&>>\<[YM95H/A8/MV&HV/+,,G\DDC6 ^&L]V,V.$MH2#/3TI]&=-Z3P3 &ZN\0I>=N8=5LSIJGNAC)+D@(/>.%GR/B\ZR_5*4YCE"$_YTX8T_*$XPAT M/F5$^G':D(>1#7,3?>"N$0],8'9Q,[-PP D+GC#VP >F'_D8(H'%8W81L/=T MNO;(MDW';Z8+@M@C/]03I1&AZP39D+.&Z7D;X?59TX9OX%WBS>@ENG>2T^!N M)9K<0X((D6K#&!/&.C"DD3;(XQ Y2>(6_R3]3S)Q\X3$35TF;LK$S5FAFCA550C]C IB/ M_TP'WU']\>]0+\,Q3YH#$2X)*),@3<5QO'6.PF&&+H4?S-[PN>$11UJ7='U* M^Z5S/E'_[5B62"OZOSG3P=F*)#_T\ 31W=GF< TP7U4!/G3< MV=H/>"12Q/15;B:%8U.^X",EV27LC!7SR-! :S5W(4#^*(Y.=!2[ +>^'(*F MB9](E^(4:2%1[SA1[T*BMG*IFJ)?ZF"C[^%TQ?>CS<<&G!RA)/A5J>:24^.)DG! MT*UAPOSCD(9Q:4>*\R@#97O'<)V%2POM1].S?#YBEI]S1N5WF1SY3)(H7!') MK&"MB'3I"15PRBQG-E:0M4Z#!"JLJ,&BN#T][X6-;U3KR: ]]&[TW1*P)C%E4L(7OXF(2&8II(! Q?JGAH,*M(AA6C MY.\'SWT"&GJ1(1U?4_B?%A$+Z?]SQ:9D9*TY^G0X>Y$/&_^ML.7*=C=QA0ZL M3BS.XD#5>7N):B7*(,K*/((*PPH9;)+M.@]W2*#X.D2(PCQI<4H+J&DLNC0=R_\!"P)E3!$L/L<,+6*%A3E/)-#;Z\1X*E>2 ML5Z$BPO\-,PF$N] 8&,/,YDYZO$LP11"H*/I\].?2T"*W""TZ2Q_5.?9'/]U MHD8POG[Q)#&:7XZ?Z=XG"QN'C:\?V)F)7*\$"YV8!K]KTGN";967/"A-Y:]E MVDKU1JF^4IF@1WB+^AA)^B?7]P]K+S6(O5Q@'72[1CO;:2W$.T^JDC 2("[@ M H)Y6W69R=R2D#X>^J-]+L5Q-&F>[,NR/-,)\5TUG(SJ!\EB1M,=IV9_V\6U@S>/AK!\XV"UAOO(MRG-^ MH3N)HK+DZLIQ3DV9IA)740NWII$&[$Q8-OF<BR9RH::DR)SF:]QLTN88B M#!J2B6Q3!KO92'V[-P6X0"9$2YHR298I?XLUWY)Z]M/R@U#V>6Y&4BY0A\SC M- (T=_AT*;4#/>$3K#::D95'?@OT2NS5+NF7\)I$:_N"2O=T#K+ 4)][;MB% M2,A@2@,47E6BX@QQ@FS3(Y)F/\H3C_07K"3WU!S@5T36*=N,_X6A]*X[T0NW1R&H'L=CPX&DJ M:%5.$%R4Q4?ML<)L"FZ$K0/>L6FVU5\GW?PG+W@^Z SJ%CP/-Y$,N9!GA4$8 MLJU_V>AYNDP[ZF3FISMF@4QG"\8(H5"DNE.5E./"G5A@2C\RWD8L%?&._97A M*R?,MM@C]Y]YC+=[L]D#3YC'X/:443B$FCM3"RY1&X;5YY@;2M3] -XV+PIH_TC3H\8G><:P+9A M.C__:"MV&OX@D21O.9CI)I+C8_5M$/-KIZP4,B'K?/GFRTWG>).;.M!B%\\Q_@-_(TTN,/0 MYD3L0VSY)7:%5^L1.5+QF)N%X4E][<)4=DU M.5[EO6=R:>$)LV3B X*:^DT7!8_'0L$=_SS8+TK>;%RMSVQ;0%9-MP I8NBJ M1/"IZ-&T#YQ_E*BSB=L[5FCK? +>8NP35=(4&C;9&C/XK)F)?GRE3;9PHIIK MNNS1V)B%JZ:#YA"T<%:BE@)_H@&3^=;"@\S)@O MDN(PLB(V)P3#X" 2<7@*1^*1[_"G6ZTI$^%J[O'QJ/XL+*,RPXD1"B5;\83 M+]'XXO5X<1.N2HKSN.D?1.'@$'E#ID>=D![5D^E1,CUJ%B="Y:5']7"G6AU3JK8UR79"21RLW_7+*/2<0)=](]3Q-U3'?@H225QEMDPE"IS&*1K\ M+>(*E^AIS3^G*85^?'>Y1. NCJ=$MOV'E$[.Z,^4RLYHS_2WQ10I_MWEZ)%# MBT,N#X).,Y?"' )=0;@Q$7I>I%Q0[% !HD"%,^MV6F/'$E/+M*T08AE&N]'W9B'P!==B0-*NEH%X M$UFK40Q3J(^4T?]:>4HH5+%/ DPU+'2);?I4I/DNCC3GJ5;NQ5BM/;!O18L( M$4!-^)OSCD8UQ2VB1O:3>5/+%[$I_JJ"C#!86)@N\W_^TAUT7H3L&-:Q M*)FF_3VY%Y>@J_)"$.AE6_F#('2"!984")RN@AQYH'81FC6WPB)83IY4RBB8 M'1:2\=3"#)+U=G WSCS&UPD=6HBBS4,"S#$I&QF?X-G+%L'H(51_6))(.7SP M,??U;$\23X0HJ1D+,07.O_F3(P;2OO%C'%^"<&IP]/-G$_5M+"->_!:"^8]?:RIN0XDG-1%6Y M?GQ@YF&R%S!PF/4@,BE$S2_\-+ Q$SA.';VYA:N M-NWO%/%$R@JF6N-P7XCF,T;!JACQCM T:$]X7@E/OHO2U<($G4&$38G_!&,$-HPKAKPB+3?<<:XG&E>.+ X/H);OHC?;0V>V@)Q. MYYYME2VD%%M:46+,$QVU*]S1R)60JSHG&^&KYQ=W,TB"L^&^A'YC/PUFF:H4 MWO#(NJELEWS=X1:),#OZSPN22>A*ST\)BA>'"TN\G-YGS15_[0=FZ&; .$#\ MDX(ZONQ;47.#>C7M2'M1B@&OG(I*#+!Y5$144@K,87/N0R\RDE'EWWH/H0$6@[ ;[;R.YHWP*X3]QQ8VF: M6'/3%$"A7>X7++#01N\:=;/1D[PH@$=HVU)?U,!X[QH)XYVE2P-CBXZ\KSY7 M1_.(Y"GS11A\?O'F<=1?;ML\>&;H0DV\,BP^2BC'U BAWR3RAI "][$H(83A MXJFR83!60*I@XY"X38TJ[/UM3XL9!)XU6?.4$+K#;&>P%RXMG%A";XK"GZ@H MPO*WG.FQ14 GWA.9U9$1@+DGF+E#P*OQC0)7DE;K*<&!_Y\SBR? F3X_H AA M _8X&E!-9/GD3#PB;IIJW)JCPVC"$M'HY,0SLXM.!/&KT+QAML5+3,22%$90 M+N(X$<@@Y-BW^!U"51;A;25!K1V/FB&""&\'%WBNW3@#Z6,VN) 5*,$_H5^+ M!(N)VW>ZP'CK)^0'Y\#P41Y<>/$6@14NI7'"W!O;!/[_-EVXU)26QKO#A")J MQ./.V#:-3SK8[V?47QO?_A;SY0H=:HVL8DNLCJ<#-HT[DPNP_%"3S))@S1RW M">-.,5@[R&JI\QF4K<3M]EKCKMXV"@MQU7(3'IQ]PGV:L%9< M.8QD+S7GX=GG/,#ZNG:_>,Y)#YO/RV1K9M)=TEK+CX#4BT!GSPG<^78!#C!# MPG33+J\]AY+,/=N9>]:7N60W-%C)*JXL=HD[,P14(7;W6&]::\ M+FJ,$_.;=5NC>DWE)NJ- MV'B-JN9%9:QHK!HU8D%_M9?NY,A[GB20MVN6T9\ [E7NE"QHK]I@;&XABWD) M+X6BPMG]*=K&L]RF=BKKTC:_T1KW.NWN,UVLJIT[=@ PGO..5>GTM0Z0OK=K M^CG7K<(TJ\--ZU*6P0?7 UEQWE)FPG3S'?2?SZ?I Q'H3X%Q4^3YT1II&8AU MBY2,Z0;[+X9+_25(4*%I'J&D6SIJ*!,/1@=??"0H2 MJ_%G[HIR3.(\A55J]4T6W9DU"_.:$ZM5$L&F['I#% 4LP Y[@1*."R8V;(- MIACV0Y2;\2V1(/6=VZL4+L*,!=[#:/?;M[/O*$6^DND!&VQ68?&UZX!E MOLQ6\@C'A9^"2^6!VF0MG)=&3@H3VQ)HKSD9!1%\C!HW>X_@+-I*TXZC^R+0 M#*I/!X(O,6'3XGWA^2K) X3&TYR@*&?DQX&/$=H64SA#MY%P%(6H%W'_$D(W MLWCR@&@-#R\0\G-8R>+;SV_A-],%Q>M517^'_BPZL/AK>%KLDF'FQ1822E29 ME[]PB;>">"M/+()9.1?*RC]9'KA*U=@J]9? 0ERM!*C48:!9R-C3)((2]7GF MZ%PA2E\1.-=S V[Q8CP)KB7!M2X/KA7E;:V="? .XYT(K$>37.);<8_4?CAY MG(HWN@UU" CYWMQ16QFZ^S1*WRF'G[_;S_F'6,WO\6*X!S H[>3$Q)T\_S)? MRM&.VOZS+:#?&ALY.3&I^6]7[T2>*3PSX]Z>?H([5."_0"#\)^I09NYZ$F!' M^O"1,E7_,@]B(/,@9![$+/88Y/D1]/+9$9&;Y/U/'LZ,KK]O-K\R.(#-U<*: MWF-E/4T[QW,RR)G+H%361%VLSM $FB#$8;AV[/5Y4LB*IZ#Z8;OI5X?:XD"$ M@#@ETF9X.M\!,6QSY;-7X3]>PV5S99N;5Y9#2Z*'7HO!A I$,:+K-GSU2_;SOM'N]K3:\SN/))]78.]0MMHK=UA(:4)S47<,8,_]E:I7'\D\S]CF9(G[2 M MSD'[*'GL\UZIX2:;?3=_'N:^U&._P[ UUD<# MU="*7+"G[%4H@ ?O60F5LO6ZI$J2$G.U$J-=7F(,S"H?JOIH)"5&2DSM)4:_ MO,10'49/[?6S]?F7D9B*[CC-,"YY>_#"JXY6;MFYTM]P$>E=7$3T#H;!AVH' M(Y2GB<@.5CW'H7+(S5"R6+]_>1;KML8C31T..Y+#KI'#!I?G, TXK%.%85P1 MA]V4#^D?)KSTJ%/^4!N_X0(R/+. S*V?;';W)_/^46?SVZ8M"YO*X8M,;]CJX:PV%%EX&#$RXN<1&5\B?E+R%_EX_K MZL/6N&<8G"CE;Z_\73Y*K!M<_CH-D+]C4MR+3'HQ2U$P457Z MV2&#)^BCPS=8*&>S9WBO7-0Y%T6\^0L5XU0"=O7.\LV'!X_Q6NR=(K67IU4S.[ MJ;29CQ&BW6\ [HZJDU,71:32(DIEIC+9\KWNB@Q M';4_K$LQB908*3'%$G/YQ/^>!A*C#=1N]^14#)FW59Y;$$_ZMQ!/6E9A%4O* MY0L8>GIKW!UA#FVVZ9*LD;D"%CMW"< !+(9XMYB7,Y0L=I4L=ODZ@!ZF:0\& MJM$]^4XIZ[#*'P%\1FJOLG1_R6&UXK#+![[Z%/A2]5%5!97R M5E^"6;Y@J[JPNYN\UQ<+RCGB75E9T.#J;N@UL7GEK:I2#CI''"C+07IK/!J< M[(.7'%1'#KI\F*??@\-:[?3KPF W=2V72"FR4OQ 57%Y#UZ_+X%2I/C=J/A= M/N6G/Y X*5+\;E3\:F G#R5,2GW!-^2BFK*H V!2=G:&KRF4R8[>W3K<\Q9, M>>LN85[8:=IAGFG;&X7]7#$'%)+B@Z[Q83N62\OWX6%?>5HP&,*9KCV/S90) MFYIKGQ$FBKET0>K_Y"]9P63=F?+DKNV9LC ?&?P4'G0=CIVBN)X"(_MM!28 MST]=/_ 5TV-PY9SBGL&CH"8M1P&J_F"8"$90*GP^X?3H:>71M-?4Q'SM^/!R M?V[!T_!^TJ+.%+Z:@!:B:?D$X#(5BMBG=\"X,!L+M@XNO#CR%-O(VM+,"K62! M>? %%F.ZV9OJ4\TTY[UN%TS=25\SA\.9,9SJPT'W_W4[G=8>.!_C&71 ?L'X M9S=@2D\A\/3N:Z4!^ Q'2@,_?6:! M A8/&#[*BT^N[[]48$Q4/TM@*!H[JW&3NU&@R?BK$C;IAA)O)H.^@"? M#%P@G1(OFH^$ZV++E>UN6#B?\"F"[DMV\,C#@0/>:__TD<-N.W5)1Z M@>RWK?KOEV" !X<=S9WX>,"LBX&NCD;94$[I]0UJN#X-\Y:&JJ%EW<^TJR67 M.*SA$K&JKZNKG5XV80"6&%AWD18+%=03@V.$B6G%2A-&GJYMKG] T\W$690Y M5G(.KK0QL/,N)J2NAY"'*]>G ^:5Q_"]CRQ&.OQ;VD 0=\A._(@Y@^7Q^MI7S#9CA)9*XXA4=7/@KF(Y9F[DH"P]E_2_[[Q5#N*,3 "@( M"WH0@:G\O_]BCO.VMY19_VVZ %O(9ED500;IO3,3=F(!KBOB6&SANA;;Y\VP MQ-&;P %:T1[T?*C=N4IM!X%F3-1\6[*NDH;IP M;6 -"0O;2 366DY*PL(V? )"WMCL+ J6LL,N8(?%\XLX8\QR6R7T+$2"E5" MQYX9.G;[4.SO.!2?Z]QH[GNN"X\W7XU_WKX'G%)&=*6)05>:_K,G^14X@P>\ M,-Q5-K%G@" T0U73KJCB5DI"DR3AQ4F)J#[,'_Y5K4P,,,ROJ[VIH4#%MC7:\1 -ZI=$_8SI4Q]F5.HT/\2DY=VHG1B@8&Y(6K7 M&*A]/9M;4,6.G=HMYAIW?'<6S7EW? 0[/E1[G9%JZ-G48[GCY]GQW4E%9]WQ M88=V?-"%_\])D3KMR-I_5-?NR'H_G[-I$&4_4>IGE,AUW"%U)0:+M.\DN6IO M#C<#P.-].DT[DS8N;>%C;.&/6,>P9$Y@VKQLA9^0]XG4KN]NF$3'9E_-#?[X MWO-,YX&>.]#5DS@\NZVQ/E!'@[XTE2YA''_\_.'<3#"W?L*]]4_FN7G[KZ$N M,[2N]EHRP"5LY6=@@ .T@ Y:H*_VH]\@AIFIZ+!'Q) _@V^6'?<7AN?NA7[R^2_'#&T_'<_##@ MWJ2^KG9&V7+_FPN 9)+/DEG#94I.3FLB7P2OT@@).,&W4GUK>4E)2G.VX>V#XM&Q*.R1L*P->ZT!X.: M0$=78)=*SF\2Y^],G"UB_<$6ZQ?DSQXL T9KK+=S()$/SY.5["_9_[D4_[ : MQ8\P<&W9RN^"CEG9+4#B)5=MYPG6RA%XHU.-I2>1Q^O%4[[) MEJ,4IWHQUFV*T_GMT!U"I%5CB4I,?@E??[.+*L#D3^,^;F-&EP'M'M0[)L^]Z9?70"TWFP@(389"3PWUG^U';]=1Z2MZ%G@;0-/8OD'0Y/ M^:2\KVO\&H6_YR@L;_ZRG"EHK:/Q#=M MJ$<"P41A:<%#N$/S+"+S_N8%B-UJ^@(,\?I@";MZNS^J!FQOU!X-\K^Y( @ M?*'5#I6PCI.2N]?D2>'N29Q+.8 Z&]L)8K$__U4E%F:P_-\;]/O%\.Q>6\2BI]<#WXTU&H M79PSW2B!!Z,)!'6BCCG[]]H/J"A&4BU'P&Z6"#L%C%A$L,N!.,%72:23Y*L, MU9I!CH.SCYNUK*0^T/,R@K?O-Q*R6+[G>M]S"U4]?S@6UKA^"\R ^1).^F9 M0XW=J*&A4506,-2@(DILP5=5/+H!^1M2#.JTME)B,,H7@Y5G3^+0IK@7O".K M]BLU'/](-P2T=K.PNCDP&PD!&13#;$@!J0T320'9+2#;YX2X'[X5U\/O\>WP M5]-RRLK(4,J(E)'&R(C1.9,M94A;2HI!<\2@H$7-&6VID3PGI( T7D#.:DN- M.E)&I(PT1T:T\]A2HV[=;*E;0%!\O_;<%2L,DVGE5ILKR0UG=_U,[(XU05I? M'1E9X++&(I-<.=^4ZH'7R_AEMHHQ3[*Z#V P'1BL:ZB=3A8IL8FP'Y*W2O#6 MJ0;K >S5:XV'H+VRA[5DKMHQ5ZD#KW?,@;?[AM.O[(8C6::&+-,O<*^>SZ\T MJBY&)SFJ01QU7D=,=4$MR50U9"JC7_W)9M2-96XA(^X?)KST*)_%H=['AC-Z MIO]Z$:-G&7K4&@_T3DT\JH#.?=++.C19IDF2M@F>?.!NYW=,E1M\A1 MYSW9>I*IKIFI1D?EF^YFF>I\Z#(]XG" -3;!DI+6/P)0P.W70/=DM4VIK+N2PED)U[4)5RF>5<64^:Q9-OS/D632#G'ZC MI1,=I-S5A .EW)TL=V?/,.IWC,HRC*3@U80%;U/P2F4^G,F('%6672]EJE[< M)65JGTP]=]ECOUM=29>4MGKQG92V(Z7MK [U;G6A8BEP]6(]*7![JT'.8S)V MM>:8C,>#^Y_6]>C,'9OD%.44Y10;.<6"=F7;S&FZ&QB?'+3MK'S%G[G MK@,_,!WD#L7'/I$^?J._4_Y[/?%5Y:,S;2LO\-\O56K0]==2B09I8[N_??:_ M6?LP8=^'"4XLAZSKMZ[C6\#&] =9W7,&)OBL>YA],(CM QWL@U&OG;4.%""S M#?]0<;:^Y0>X=EATI4O[:FX(ROR[*Z[NX5J9_YD%7^9O37\17NI++ZV'Q?G# M=J]P:=AN;0IOH$9IA8CXI$S/_ _^OZ: MS;YX^+^H8D"G3)CW94Z-2,6WARVZ$R^ZWQH; [3W^MEEQYR;X/?_\F%ERZ6+ M,N=.?RB/IKU&Y@\NQL2Y9,+&AX).I1EA (PP&+2S_8\C1G!%WSW;]9'-9V; MV@HVYIN;EL=)$I)MFIRULC+A7.$M^2R?JPZ^U\K"G"D3QAQ4(^[41/3GP*41 M3&JGJ*S6WG1A^DAK8#_;,B>6#8_"!L$/X'B!Q^E;/C>81CP7_$DXG^0[<=ZJ M\F0%R-(;A?V< L45CTWQS)OA0V$6#%]=N1VN%#,FL3U#4$%&IYV%T(BW)]'_ M$(CC3BVB)RUTFP8>6P';(.@_$- 5/_ #V"_V8$V)UG"O>8(OW-7*]0)<,A)] MLJ'HF#6'NXD3V$B]E=#XM.UK$ \X\V$NP*7X*2>SXK#@R?5^X!SAQ4MKO53@ M.%K/80V\/3XG>;0.C]DIID@L 3C)<<$T8;,U$ +-$^(P\R?RS,H% MY=@^M(-C78R0J/L'\(''B*]+,=]@6[OLB60*WZ_#7_9.O+0T:QIXA S:@V+6 M3+;CW-6-4Y/65O1RT$,F\+^_MJFUJ15YZ/VD5+AK3^'(1B2T5"^(T@TRBV*% MW")D"G\%[.&X2SQ9X.E(R"(E'/91X2<;;ACL%;Z M6S X8AX9FI6@)' MS G1:VEE/K"[":B$'W?F'";[RK2? MS(V/5[[D&F&!28(>2(OBE<_G9ULYWX 9\A=QQ:LUJ"(/?P73,6LS%V7AH3[_ MR_Y6WF 4?*?6PR ;;_$H<+ #M3G.V][BWM,G=)G^8&'+CD\@-YF.VS2Q3/?I M?G?4P.[3B3;?PBYU21.!SG*J;3JM'&JS-*;K]*#='6J5=+X=M$=ZW?H6U[&7 M)F4^,-Z8]P^?S=>V\LF:IQ&Z#Q3+ MBV9W;:^[H"3%P@B%NX8A9GZFK.,HY=6(_?[5<_U,+\_+*/M&T.M^.ETOU]P) M2Z)QOT1?[I_DM)%T/)B.GUE0G;Z^$II(692RV'A9;-3*$W:-@A8 <1'YAP\Q M :Z1(K^SI6DY&!U$>N20HL!MT]_AMGFN^Z1\CWQ/L]_3:,SDPRY:OYG>#T;I M!SQ4=U(SL\O6#1VVX$:V:SML::4R[_3=F7<[0M5D%^?4!6F=UGAT31#1DO>; MP_NE,$Q.8/[$)2=YO8/[HT?R3O-\+\.9[Y2Y@_O=;8Z&2K'*3Y4P-VN6))>"9!*#!_^EC< MDZT.;>P94)'7ZY*.]9ULDI_"/RK!"3QF@2&+5"483&OZ:K;VT&4?LP=6C7;: MG4S%_P'!,;EK5>Z:'P56DL<8K_#K'K"1P]:XT]9W[F.C8? /VX[/KG.'%6S \C[ET&&!EZ=FZ?-F6M);<4LY,/YY=2ICI MV->QHY\.I2QYYSHT3;YAJW=:8TW7I)ZY0E[9TQ3VB%-)[\*II&4;(TANJ26W ME#N5CF>7PT\E76N->T867$>>2G7CG6=BG8)326^-]5Y5**1UXI4SWA,31?)G M1]BHXE8_/(\O1N^!19-UQ2AWRN[I&&>:3K\U[N_P#'%HBC+^H?.S6=/\0QD MN;/YAW1T],4H@=7XAYJ77/C-G0=/IL>4@$T7#KSS87.4=ZB&S4'/<#KN:3B[ MWPXO!^.M8P\\,55\E-Y>STX]FIT$XOR6#4IVO8SWH-FA@#OF[6 M>B;.(C.^)!>-P#!2>\/L95!JJ<:S4K>SIR%VU8=>KR,/O6:Q4ZE#[Q1^JNC4 MZW5;XX&J&Z>$5"1O79>J.N+8ZVG(1D8OFT#7?#UU6UDIH_,XC'JZS"6JQZZ= MZ"OJ]5KCWIY]O(%Q4TFH^GI^JLIH':.[TA]E,-AGRK1MO/1=K'6,UHT][I Y',O?D*IEI3[N@ MRL\]@\Z]3O_DB@[)3K4\]X[GIZK.O1$8_ZJNRU2G^O/6<['6$>=>']-SN^JP M>W*4I(;,=%-)*F0PG<-?U.]B:6)%_B*Y;:=LVXD.H[[6&H_B[JJWFESTW3-G M#$E>C-$J@Q:=ZF&^^IAT>[I%7,.XQ%6R2TF+^#F0L?H]3-L^Q>25S'-=NB8_ MO;_?;XUEVL]5LDKU\$O] 1Y+5P2_=-WL4O)8>@[$HCXV#=?DL51_YGDNWBDX MEJB#]\FAT!HRRTVE>)"]:\7?OP M;N8IO.F[Z_@+:W6?237T_E\E.Y6T?L\ !%22 MPS3BL.Y)6>V2N:Y+5^5;QP.]->Z=? V7O%)'7CD9*:BDUNEQK3.ZQJCV5;)3 MR7/M#%!")3D,\7H[:B:W5CKN?BK2/R;P:#UE@#-CJYJK2&O"2AB&*F M.A,6T6"8ZS':AT74[9P)C&A@8(:)!",Z*R\]'QK18'0&/U8#$X;'JJ#"CHV2K&K!P?>I-@]C]0=<4D>:B!A?;5OR---BME- MB=DSQX.'.IF1?>/D*F@I:+7BN9L4M%)FY,4CY4.$%==473\EHB#%KE8<>)-B M]SQ2=XP9V6^-]:ZJ59;K7VLQ:^+S#1#I'$X1'O!P(M'/@12EXQ2"I?@*B[CJ MV"#(SL$3S*S#-S-WC9[N\[]7+DHN2BY*+NJRB[JBP>DX^B4P85>BB/M6_#:1 M/K$TO0?+X3:,%AZ]EC-C3O!*&](15NDIV^T<=,PF;U(*^[EBCL_0W,M&8>G3 M8,$4C%S["H.ISY1W;,J6$^;QTQJ,/D7K:#K]5U-,9X;_Z"I/IJ_\M51R4,I< MS<3ADY/^,M^V6 \S5P>QN3K QD[9Q" %R&W#/]1R\Q?,?CPD=F;MO(=V._]VG-ABHZ[M!ST!>1P*C4T M\D JR%F@F 'Q+7"LXLX59DX7RHHR,Y2U#Q)-7T[7G@>B""(P76J$G;VR91#G$>>:+-K KAGM M;!;VV?1 7=;=Q<2I7;H[K4#2"7([T[^V5_QMNF"SMO]92&*QJA0F6WIJUFF SO/<#V [2K \/'GO@_\PS M)":F#U_!!TD5.S4];X,J]=&TUPQU(7X;/H]J/*O109>::('8MOODOTKO8C'! MT"U X:&'[?O@$ZVN?+9J_ ?KV>6O[+-S2O+H=720Z_%8,(:[*\R[A':#O[U MZR=K%BR @)TVT!Z=<(\> M2-TB_C[Q?AD+M7<]&:P';CE88;VKS%<]7-2L^P[C?GYC] MR'Z#ERQ*)R(8"!6H#D_OT'WV2$VC81P.5Q[]:T%MJ+OD_ ONUM^?W-("@\B( MZB G!_4R=60W7&08 SE>?%\@O'! M77NEY6) EY0*Q/-6N41<\V%LX+[XOF,?,>< \ M>6H\CW3<([&/%A&C-3948W1RAV%Y=!PN(E2"SN((1TY80_KWI'^O)A5[QJ@Q M%7NWE[U[0((8_HWL8SEK4C$\FHF;:S&FF[VI/M5,<][K=O61,>EKYG X,X93 M?3CH_K]N!S9_=PS4>(88<7YLZ+,;,&6@_)^_&%JW^WH/2DY&1DS+^U\,#K^S M_*GM^FN/^=G8^:C#10]HQV;W@?@,1TM'U'$TA893?F,F#H8I!_YN[)RM?8G? MB>/GO%5K1.3^_MM;Q= Z:I0'<:9)T(BO+#A*K>D!T\K?H3//<>>,E!>"5"]5 MT.9S^-Y7YCA+GK-@^CRC+$P66P$#,9[U]>2N[9DR89C[Q5#+4]XDK( R&13X M]\H$91*X/"UKSN!+Q;;,B65;P49Y8:*9805\R)>*Q7,GX"]G:JW -($!EJX? M*.;LT83SXX&Y:U\!=OL!@X<9FM&KXG$Q?-;X2=D&L+3'0P>DESRC5 M)07J$Z[\HO+3)NL! MRXEVFP00!=1Q \$)K_%I/H>DE.*/$L(/OYF:J*O@[/4\%ZPPNIU--LD?"0T& M&LKDLUQ/0#,!:YDVZCQ,C5W;M@(W\F64=78 P^7;:&DSMH?I82O7M_ 'KS@, M/ZPMR@K[6]H\$+9E)W[$G("1N0Z*'\GE]7/",1[(6?W1%K42_UU$UOX*#JJ[ MB.T1.I1'^]6KF>4'V@K0*N&QTW5'ZD5-'@0_LI?@S4!)E;6)O@/Y*D%A:" M@'&_]L@ !=O5PC-N:J]G<#J9_H+>1O_ P>$AE"3ZD.\1STC& 3B%E<24B0>& MKWW^/,@8#!Z0"3LQG1]P%:$#8]ABXJMHE&P(I. ?LJMB1F;!"DR?XAG'5Z4XN>V?HT)YV"^ MP"2!0^/ES^*KBK!QPEL3-W5>B#6_3+XMKIS[H_VM'4\[\3J5?_7@/C+/H6L6 M7V3J)U/TK-&=B1%'"&:@)=/C@4?[G7R*F#QW(7R/9@Q8Q>.+(='/75;2Y$N, M+5:KO3RIKB)R]G GJ' S+XXOXXD; M]">2VG),N.G'=R&3]CJ_^BNL^]**)#U/5UU=]80V:O<[@TJJ)T;MT2#_FZ*1 MBC_OR3G).=5T3KTF%PC) >0 ]1C@P%*UW!=V^PVM^@I-$26T0DK4M5TW);0R MU6Y-2HHI7<=XJV$D>(GQ>^YQ:_@ M"M3?<05Z+OM4ON?6WG-=>=?Y0O@A\GMR-_"K0S18W6%VY?/R^>,D>$?%1G>4 M(\K)Z,;=*.MLO^CU\6U14%3%#$I[C4LLC$2>4N1R;245>4N\GL()S&??63J! M?'3OS/!_WL=,E),L7K:*8J2UQL.AVM.RJ(&-[0XLY>1JY:3;.8NWWZ]* 1_)5 MM7RU)]9V'%_M/M&O,=0F>2K!4WMB4V?35*0:QLG-]21;U9*M]L1RSL96 M!EA6';7;J4M?",E7U?+5GEC..8[ ZD(Y=8RD-ZYBAKJ0R#8CLLW(*1=[JJ.L M('#2[;3&AJ%JPY.O\F?O,?(,[F(I9;[!"N3 MLEY5/D I9?7B-REEISM(J[ 6^\VQ%F^OLZI&6"QV58+9/@LVW@YD:OY+9&K6;[MLA@]YYVU:3=W:$\RT2>+ MNF)6WN'J'GL%U:NU\[D[3>]\^9ZN22HUY=IJEH7MM1Y<;,8TP]Y+9AALOP/3 M\\K9TK)*",9V/[.]$6CLNOK&-;KM?7^[AY(AP[5U=H= MHVPKIW.W>)*3*C6IONR&)0V">QN8*6WAL&O,:^FS_+)!M< M(Y*>U,]-TL\O:B% :.XG!"@C*%JG-=:&6:VSV#@:]?8 M/>W*&:ZD17PFCMMK$??@R,^66AUN$$M^N@8%5ID%B?!Z:F]4%]3&F_%\1ZF> MIQJ0M^+"VP./?78#$5@\I*]*F.OZ@W(ZEI=28:KIP%Y)H[;:T!B MK*O3OPJ7ZI4SU%GYJ3(+"7 M %X2_B'=D3N$1=_32**\-9F1"QU#5[V305'D=?T*^:=RB9%KT:B5_T-HT'X:%(6I2Q6ZZT_DS#N\]7K T3]S,;F2_OJ MI:S5A.MN4];.*&I5A3'T(9F:';W^34\D_*=/;^93_^*1R2!$J(0>>W>&P[&&VXA#49"SDG(EBB_;5\W]7.GMABML=97M6&V$D?6=TG^JCY_0T+.2?W< MH(R+LPG0OIR+7J%25)]'K8O*^VM?J8K?<1+VG MA)P[0D*TRUKX/:TU'JG]'/1262 EV:MR [\G(><:QW E+>(S<=Q>BQBK<$Y" M#)$,=0T:K#(3LH\'HS[4:Z*G;L;U+3'G2@J(?F$+.4.=E9\J,R%'=#)V^UF6 MDEY(B3I75VFI'$XC(QC]#MRM]+I@Z\@+>YWXIW)[L2]1YQK'<"7MQ0L!'_2U MUO@4:U&RTS7HKQ*87F #[ZEW6J]GNM<;^KZH.J.GE( M;)V:,*$4O?.*7O7W!XDI)V7QFF2QU.7J3,*X ]'[@,,1(XZJ/CREP: 4Q7HQ MY6V*XADEL:H@1G_8&O=&ZLBH*H@A(> M:<-=\&=GU<*$%/"(2 $^*DWZEM5"K/C5)CM'P1\)R7OQRDCABE=K+=AIL MK?Y,\-8V?9^3"T]BH%>NUU Q?07^[>$> 0G@.+P+_[1\P0+KE>O0IHK'-G1] M'+[V8V.[TQ^Q'6"T% ;6P0H& M#KPU.P#3\?*;^AUH&X(S<6M%(#3IL%4V$)FH;H:FTQUP]9T/[)\1^LF&B"S( M%>\C[+F_<)\([/G=MVWU",>*,8P;*/)+VMG*?>AP'7IK #-9\#A(W]]QE MWEOH_6QJKH$U\!V6[Z^9%_%.8I8XV,)\Y#\C8TD)7)!8MH(OW F82\3]@UJD/)TYJ,DG?+8&3-PB]*@LK]?>+] M,D:U53\HHUN((KY;,U3PKL.4#0.#!PY^F_D2B.=F"ME/2@GX+3K&_PG'KN5\ M<=B_@(OP%D#P9*4],IA6.E([W9-+DV1::2D50'C?L18(%K"HAP68ZX_\$YE6 M>G8)NL]O>X*;N[^71+?;;^UQA1C/X-[*OR)^=@.F& JY%[NOE7)>P:^>NP(V MVGRU32>X=V;O_[.V5N@*>F?Y4]OUUUZ.%W"@<9D$4K+9?2 ^P\'3OL%P<')$ M1R-G=^9HGV;A['/FK&<\EP5]/?A*?J&W?9(S__J>IITZ$UV/UY^@%,:5(RNP94H6U,N7V M9[FL&UVZZZM3!9] !4C?_*WXYKOZGLS(PJL"Y227=@;T.-S1J*K*G 8D&DOA MJ-/:R@G'X%F%HP_"T5.[?1F:>CY^>+.V;)RL3_=^:[GRW$>>-";C43L$8_BL M@H$E*[JN=O2ZX$E*U(!JVE:QP'95.ACG6ET0UR227Z7LU.L\*SN-@)TT0QWTZP)M>POF[%MWN5IC MHM7"]&9/6*R"VM9WYP'^(4W:'=*QI]M.M=(QQ,RI 0A'75*GI$5;+3?M =ZO MF)NZP$V:JG>D0?N,CG)F^FSAVA5X#6[% -D#)5RQ4&BM<4\==$[6L-*:K24S M[JH565G'#V,IZKMHT3X) (3>3!QO%B M#'3WFAQ!F3ZX,6.Y%#SGOHJXF,;O$B2&?]L,_P%"=9^@=*' E98U"L1UU.Y) M&)W2I*XCR^W#H;P4RV&PKM-1.WK6P?'L+'<+=G=^M9FJ."R3$2&KN&45]^G7 MCL^LM%(P.J 4^KHZZ&<;@]?-YI. T5+.:G&[.D;.$"$![E9#H_YR=GL0"5>Y MJ(.PA[?Q!A(E[F+?>UB/3KBX\, KCX'A:CVRN S];^G*?S'O3OR(.8$%K(/B M1W+! I+5D1=2)8-NNOP_^=]%)!XK\X'=33QF_K@C^*M7IOUD;GS<@>0:88%) M@AY(B^*5S^=G6SG? -!E".^,.PA,RCS\%4S'K,UL"LE3-/9P_)\O"/Z;\:W=W@'UWER?25OY8*K:6LB_ZV=9'S+;7SOJ_ M8\)ZS%^Q*9Z!]F8+"?HT&"6CYC!*HR-AE!!C/^P)(%"W<6O6"U M\MR?UI+Z))?B);^XL/'#U]>TJ-M!:'E,57==#8*W*,L=X:W#9B_ MQQXM]N0K%JS*BA9*_1)@NG=+]Q$FHRHSA7X(E?EH/ M@6_3!;S69E_FT>:]Y7T/"OH%&(.&]@L0FQKU;+"RS"J!M"205MZEMTDX6!)( M2P)I22 M":0E@;0DD-9NH&XKOI0<7R%PI4&E*PT=[0G11E> HQ+QC"&!!.FG M8^[7IZQ)BL*UBL*>*.J)HF @+) Z&E05-I6)IP%'+*N!B_8S[85]-; M Q>H,M,TD@/LPD)>R=\93.L1NRUDV7[4&@\&V4IOF1K:;!XY5%<>PB.C3FNL MYS0=E[F?"D?DE(VZ9!L-^E5A>G9 MM)(/E@.F'.9 ?(F;P.].,:E_K+XH"X8(D(SD*PMSIARM?3]^_K"]+9]@+E_F M;STVL[;4[]SZR69W?S+/C31O)]ZMW@FV5873Z+?&CIM1_MF(U:$B265(#+$W+">#_ M@7V57J?[XL=+)2:TL@)B*,'"Q%9Y8(SX"A/DPN0?RO3Y \24S91O >:&M>%/ M./SH"WQ4A4'G:]N^"V#ZV!O>8P]KV_24E>D%_,,7."Y(AK)PUY[_RQ-C,(/P M+PL(7)(/\>5Q!6WD?S7AI;A1F MLVF J6"X@9XU60.3KE?X0:'^ <,1Q#F+GY/*1LTYH$!)L-G;\#58T L4^,=.?NE_95XX5?CGE.I\A8:ZTV*V'K;&_2PB$^;9X2.4(BAH_(!N M=Z#;1E7\]>3?8MUS!AMDVHIM/BFVM<14/)?OY PSK#R1$<;3I;5(_3T9EUK(J#76V]FXYO'9X-W>Z#)K@?,.UY)UOD1KR2F[ M*+ +MHH-=F:9-^M@@4UQ%7\%A'8]5. SOAMI$=YUU"1UQ/9Q\S^@]6?N\MQB MW^]L3_- S"L M^PU!.]8#$!G_<-,#G0,7!A$X(X25MW!C\+\M3(^],7TV^VJ2.>AG+@K#3B]S M48#/LA>%;P$\=4>#*6TS:@UC*W^[)$#KP(9^O7JK)X<@O@7^;$\NV@@V:>@\>FOX^[H+B MKDB45?$GJOBH])$\I[[RXMO][_Y+$BR0_2D>&O3C[">D;6 L%R^:_*.["6VS M^61Z,VZ13DU_ 6=0N!KQ#=P[W/7#0OG )MX:[=-0LMO*%T?YQQH.'(-_P)OSL$"Q6B8R29) MR/_R%1]E )',\4R%T]54OJV06+;R&^.W)YC/M^2/@(CWZX>U'RC:*)P]-9I8 M3WSVGS7, -85;B-^@10EL+*]+\=O^=UGU]M_ _._.Q2.DQ[6=/#WV/[RC6&4DIO_> _1ZX]V&342OWR Z($A%L/A*L,>D:\EQ\ M7YC.%\ZNOR('^Q^=KU03=;A?:MCIH[+,GCN""\G,(?& +9A[[C++CRA 6WO: M5N[YX^XZH-HOW(QU)-B19 JWUM;3RA.<>9$"P^$G+'G-Q"'@DKZ,*H*B\50% M#F+%PD]=/Y*D%&^QGRN0#Y7JVH!(0A+ M)J.9$"-,&% 5^[HQ.%(0,U9"C@C( M$4U"CDC(D5E\#,C@^5N$3)I#4LX@G>2B# MM#6WD03MMF>0HC7=&:@.G\<%^)4'3D'/I:-DQIMXT&#'A5+ZJ;"R5IE%_DY, M^@,8 ;\1=WW%T^K+? Z;Y3R\ ^XYS <4!V"&'2S1R?%G)0(P'&4@VI7D09P* MQ9#'DV(P/(#,SUC?;D5<@WQ#8AUR#3A*LN8UH9K;%O M_;RCP%K&M'+%@ +C 0WK8(%2"Y_!LB/^XU_S*Z2PIN V1V$ZC!IM#:,FN)@Z M'"()D^PL.!=&.@>;'6.V1E3FS/66A(?3/PSDE66R46N<@Q>XQ60QQD>A#MTK MW$*1$I*'$G@FW0)GYB9\>&MWT/X5C]CF04^DXX"1X>G'<^:335YB4J:KQ_UY MR ,8K"3Q0$MYBG@G9$ 3W]U_>ZL,NT8"T 1'<1TDE[!KR0PG1PGR76@GO[%- M>/&WZ0)K76(4%&[(DGF+ R[=&;,;=[K$L>]0?&:Y@%N%F6X7SP M\N+L2T0B M\?OH^V _O5O':H\$V,\_4 Z3TM@KT^W 23#LJJ-1-R=EZ'*H9OSN59:@@QH0 M%-/:>YHZ,K+U3PF#):6_8H.3% /:*J ;$-WG(>^26DOFWQG^ C(3=;,[-CR7 M(S-\Y3]IDG !X>04QQO?\?#,F^7MHX:]GMIZ-DWEXF)Q)*F-VI(:KH3:L)W3 M!E.9D92FDP^WXHS*_8Z,1;6>PE):L9U-3#Z3E1GNTGWH2?[@>N3H+ZW]>JWQ ML*>KQB@+0GA1N1&:%^PGDQ(XTC[S^3H TTJQX&0@8RRMD!MG,148JVAY%EJH MQ=9H&*$3#EIN]*:L48J>3=T'QPI=O*FADSBN<-OG>R'F$/JAAB>V)[3WR;*'DQY]0HF+!5GN(B!B3['] M2OA XD=;_FON3/+3^V8YJS5WX_,K/ 55@.V7J\3M/>2=M2^>2E\O\FX5N&E\ M%A&7A;\+8S;?BE@OY _+CU:'7KCH#K1]]YLPN+1A*(.@'$/VM)Q'UW[$%2X8 MXA:"$$^9AY&+P&)Q1 $(;%M3,V14V$"3:\AH^'^O9P\\Z_:;!2P]AU\[B?=A M-,I>S_A"<>H4T:(P$\67:>G<5H,)P8LPD-8XOD0V2"\N$QV![0J),HM#5&&, M*;QJ\_LTCR]Q1;$"7J0@#W[Q)&R&R-P5ST4QJT08/AV;\9(3I,AM(@:C,#W7V+!(,)B(WWT+N,+TPAA< M9B_C79DP? 4)[Y:C Z/!#L/4]I5I">?7S(7!T?\-0D%9U; >4.*$>4J!/0S8 M G\C9NDL6AVH?MATQ@],%*X$A>F7 ML1TI]>P-=0_)1X ==OL-18"-<%T5 =:Z7B(V\4$;75%VY-4ARO:-=K>G73FB M;"TGU9,PM\T>X!2@7=3!C43:_1?H3^5]2GU*T-WK!)&5H+NG@.Y*>NVC5S=/ M:6P?>-<)4BS!D"M, I;B+(%*4,&R;SHWAC9L]FO#5+?@ N(X3/MBP!(Q7T)[ M']HW_;F4!8)^]]61457++8FE7Q/6DP*W3^ N8_+I_*K=JZJQEQ2XFK">%+A] M C>\B,#U0.!&:F=4?X$[(@)]W-WL\"8/YVA.(:=V,Z%QS 7FH-R/S%F7O@#= MP"%PI:J^.] OHNS[Z/LP>C(B+F6D 3*RITG>F61DT!IK:G=XLG]0RHB4D?/+ MR$6B?8@;KJG]RNX,,AZ^GRV^K)C'JY.%N]Q_=4@^\[E,^:M[OJ+[!E>?HYHS M$\>[0V:BTFH0;_^HG(I##Y"F:]G+^$*-UEA7>UJVOT]C+1')5 FFNHR_#SLM MJ5IMCF[)5-4RE7$)IM*QY94ZU.NBJ2JR!YMQEO_.?&9Z K-RQAZ9[:X0BT F M2>X0DXM4I.A=NC;U3Q83F<]61Z8:7J2"0]?(7W5ZAHIDJEHRU47RGG1$CE0- M_>2"AWHE23;C0/^5MT3@D.@SQ+!# "3$MY%W]!V";XU'JE%9TJEDJGHQU47BFOH F6JD9^'H+WI'KT4VEWS^!I.O M9%&*3-EM9%&*/I1%*5+@;E/@+A*(U0U9E"(%[C8%[B)!:GW4]**4G3C >\HC M!*KTD?B31PU^QIH1N:B++8IX\Q="+$_VV4ZTZ91]MW?WW8XA=F7?;=EW6\_M MN]V[;-_M?/A>#KKZA8.N5M()([_-&;U'O.9_39N3[#[N>U30XJ+7N9(6%U$K M9FK[$J\;.ZW,2K2@.;K]Q?4UO-#:FJY7T\:AU^[T:]=;HK:3VDUTV?"B]@/( MAA>G-;RX'6A_V3I"MHXX)[UDZXBSO^<60K2_Y_=Y/*KN\<3E)PSKNG@G"MVX M#O6>SN:=I&J%>Y6UNOY@6A[>_5CBWH<[]P$V[J/8M]]AVR)'[YT67P2[K;'> M[F?]O,J=4GI]@QJN3VN->WGK^]N6Z^$$5B[M9Y2B,!S6D%40^JX]ZE4B"D8- MU]=#4<_!GI&B<%%1&-605?JM<:=M9%GE"%$P.C5<'[8F:G>S$#-YHG +X!;O MPW[4MC5GR@OR@A[4S;'JQ==7H L<]FC4Y7#T9#]'3P[AZ'!COC-OV4V%\6$Y MTU>SM8=[%3,V L-L!QECH2U:PZ!6:S!:XT%;ZV=CI4>?4A6GZ=;-#7 ,WQK9 M4-,E]WRT9\_E;I^VVUJ==KO?.6"W;\&_$AV[CRXF==A6L)&^E=K[5L)=^]]H MTXKLS'ZW->Z-VEJVC+?F[I422]1:XWZ_/3K,EI;7RFOTL)3@%AT$ KBE&G_C M,SI92BRQ!TLDJ!N!4_2PENZ9- :$;37"TEECB@)>8T[[QY;PLLVYHQ M9Z9L+&;/SN1OJ>]EY7#&UI^?L=^)O2EDZV%KO,N7+F^L53-!MX9,8$@F>%XF MT&K(!*/]3' +WHQ_TA]PK)DP*_.!*0] ]D"9 =F4.=!7>40"G\G!44/>_NNN M.K^OS"-.W'/6Y?OMCN%P423P*^Z)_]&!]UON+-RR>[YC].4[V*]('")^[T3L M/L"NP(-V#MAH%5M[AIO-];!&M^ZL@0";>KN;Q;B1K'%FUM#JSAK8R54SVMUL M?LTAN:H-J^>5@]=@\ /*;T^NQ4N*4[(6[QY8^]$*-@7U=]A^["KJ[\!8AMG" M(+Y"2$YA=9TIUD]UEM%'Y0=L_D:6D0GI*/=IJ?N2RE M[DH?/W^H^K;T)=Z6S\*->0C^4N*RU(-[M#92^SEHL57?I,MPPI6"BET)=%BA M<^"\OH$$MV\Y!L(CB4ZD/#;OM\;&H-V[RK9%G9I+"7EMV+F"S@V2G/Q#8GCF M,R+M4?O5B0."0 >7L=88JTZO TI>J?XG'=JUB'A<[6 M*^@?4W?-&N[.<;JUB0;XBZJ5*U[U/_K^FLW>K3T@ Y<"$A@_Z6:-2%U:=QI@ M81OJ:)35G&S52GB%;'*T_1W"R&NUA-BM3&J9GYZ>WIC-EMGU#IFGE MZO-$V_2#Z\V9%:R]6(#*ZM=A!_1K7^WTLXVY*JDKEL;I)?5K#H.4U+##+EBH MG5'[]'9(];)0:ZU9"]S&2=B^DQW'1X&H-4CH\C6RUJV[2WF(;6IU7=6-/0DX MTN ]AT+6SINZ=[P/=JBWQJ.A-'6E#[9^6G50?Q_LL =V3-=0>WI%:E7:N674 MZJ#&3M@AEG8:;4WZ8*4/MH9.A+W*]>P^V.&@-=;5;DZ00KI@&Z\Z3W7!#H? M')UV7]JET@7;1.U9 Q>LT1H;/768 W,I7;"-UZ\5N&!'P!^CMIYECT;;I[56 MK =Z8 ]J=R$]L$EQZ]?= 6M@1&R@JZ,DT?9M,S3K[?E? MJ]:M)[I?Y]9/-KO[DWENGFCT6B $AM;57DM;].JT9DG7Z^%*"K SV+@"V=LHW7O*<[98TA\(?6[LFD@8L8K2O+NR&3 MM6[ZE>A/SQRO7XW6N-M7C5XV;BR3"AJO7W,8I*Q^'5&[DL&5N5MKK58/#'KI MI]@_MQGTZM4]Z#7JM,;ZL*OJW6SWAZK-W9--W-H)SN% -GE+;"BG[SA=>C6- MX8VZ<*B,\GI@7=1H+X/W=C;PY81BUF$I,W>-$)RGH<%6C M]/'1< P]CPGN_89J:BCM"Q5R;'9Y?; 'J$59.=;=)S[/>V\L'U%+9Z&,5^-EAW=(IPSQ MPK5-&/"L0WSAT.+GEN<'B@F? 3E\Q <&YL OXO9,JN*O)_]FTT )7/HJ)#^% M>X>O?:*&Y:QQ6.#:1T3L%S_%Q9O.AF_;S/)@%-=+;%M,XIR=LAQEOK;M$E-M M'PKW7R=I#=S M&&Q@6A-*I8>M M1U:N;^$/7GF,SS?N./*W="L981=UXD?,"1A(ZZ#XD5P]FFR(<"%%.NAM42OQ MWT5D@:_@$G$W\9CYX\Z^7Q^MI7S#0"1 M<+F1]8KS&OP*IF/69B[*PD.M\A>+,=WL3?6I9IKS7K>KCXQ)7S.'PYDQG.K# M0??_@1ZCMD@H.V]1(8'\_?T72AY;FI;#E0ZH-M"%:[ SZ * ED#)]E;'VO][_>>_A]-\ M&\_R.TQ2.^"F,&J-AVTM_ZH0:==B#5_:(.J=]TQ,$.FD@]#H=- :&!4>A-P> MW[(OM[V^S6.R8L]1$9/EWZV23&9T,'[3[M>+R:HA4IK)NH>;FT9'VVUNMA58 M#-ZO^360MU:;,-M]HEYNZ'G!W]&]A[\4N3*MXZMMOT=^^_MUL'"Q(=WL#SR: M$IGR7VW0V&\V*0_C[TC13'L^HW.%[?D2NZ"8$SAUE&3#O@//H:MKMJ?UV[UN MOWX=\D:CCRZZ+2 MP"<0.!)H(B=)M?+BKX?4R=P8Y81@%RE[R7?5\]WY>E8WM[6U?$\S6H*3;^PR M6:S'U.P9Q^4V'^1OS7I;/[E/S./_LI96D,WQ-#J]UEC7VCDE0WCK:,(:_UBM M]JVQ#VLBH%77JI[&]A<]7:K!W3'JCA1I= :M<7F27+([O4 MR?ZBY*VF;=N,ZKGW$V6Y2DDQU_XWK6->Z_<74U3"'. M*](_X<9U"/K::6S?) 58=%*>NU_UR3>NKH[U:!U5'V7;$9\-E>]:^:+HQC5H M\HVKV\,;5R^3(RJYX[QFTXF-S,]VX^KV6^-^ISVHZ,8E.>)\Y\B9;UP'G"[8 MYW"H:KV*&K](9JE2?5SLUI7EDR'H%*T]VJ-39#1K]YX;-;M;&?S>46DTZUG7 M>,#=:H1=6#KM7K;7A@QGG?E0'-7]ATKNEP93;Y<:51_ M-ZSF7@J6EEQ0TX! M$QXT]I17N5F^XK&I^^"@QD;0/@[\YQ"M3$SM_Q; _U +#X[JLUQY; $Z'[&T M/CJ(^]=6[NF['=@CWA%0&MU19S>8QGL!9?B-PQ;F6S&?7>>17WC0@/4)J"SY M_5O7#SZ[P;\8O#:D0UG$%JV_&[J,H,0(*'#M)*@]34P#_O #A4"_> GF6DQ; M26$Y) N6:)><\*2NTC@F&8$]Z*$<"\<1_(8 -&S49JCQWUP/?$1_NZ0:^6@ M-=:*8%TX-!RG=UH:0D ,0=FS0"J>?#$/(?4^P-3SH%T.8,X\&QZ0[1P!.TY$G4T!;E8 B'F(M7,0$_0 OS, M IW91#A9K=/5%+PH*2O/?;1F,'JX>R:R#FHQ+UZG.!N\[&?(USX".6U]3J/X M"K EMPT4GP6!+2 PE%(21*(SUD ET?YV&'/"+ALZ)TF 2ZG]B6F,]^ADX&6 M)3;I3FS2OL0FI1V4V*0IN.LGMGMO7)'ZC?___V MWK[)3239&_TJA/;LN?8)6A9O O7LHXAVVY['NQ[;U^W9O>>O#2256NS0H 7D M=N^GOYE5("&!)!!(*J B)CS=:E342_ZR\CWO\&9VHA>ZKFRM.TUI7ZV[S$5G MQWMPNI1S*[6M])VI]$=:N3)E!XJ+#:RREUI@EZ;VQMK E)51-F^L;M=[&1)I6\?!O"4V% .' MP@FV@5!?.%)Q&.R$%-"K#6^VM=4U#P38D-#*"U5J=$-Y!J$!YQCZE?6 $SUK M]]TMVM7N%GHTZ\Y/I:\6O3=6!X8\&AV(**\[9T8M1RVYUTR#:.8@+]:NQ(NW MR>8DAFSTQHJJ]8=97]=56\16E7J;P9&_99Q#IW'G)DK^KQK$GK?=RJ79,U8H M4X ]#[+Q T7*QYX6=7N(/Q=5 _BCFF;QYVVZ.8D_FR P*WTU>[$+@?GLQ/;! M#^;$Z9+(W"2FO#Z=D_FRU1L;FFP,LH4C3V/+0FQN!EN.*6<%!'T23\;\7=7J MY]!-HV5FKGEQGM$\<45+6@UF\Y/JQS<(B?L8^&FEGCDPJ.N#WEC3-=FT:JH4 M(J3J#(0L+=#.X-M("/>J- MS4%?$R$=P@#-'S,^6_>9,QN@C0'P8F4@#^OR!@I)NAPO/E/OD0L8H V%=E#. M*:&&Z&0Q9&*";P9VK&: -K%&MF?+ R'IYA &ZS>RYN@':H"6K:\A0$?*R ML#^WBRE7MC\;.N;CRF9.9S9A?VXS6ZYH?S:,WGBH]%41 6#?Z%F?QW*6JY/'7S"%U M%VCPEYF_PAJ-HD,%A]4]S]0HPFI(HPC#PFZ:_>P-F.X4L;]'!+9\\+ H=TZ; MB-W"J*=TBK@IVRD"50*^.T48HT.=(CBO: ]KINOSIJ29)>W3"TC5I9=>?7WX M/7Q-J] #<0+IAG'S&1(\40YA2Q&LB$221X5-_ B_ D3M1 O)]EZ>*:N8D.B9 M$$_:RRV\6%;=I=NM_F:#A(B7@3NYA3ECF4Z P9?Y=SH))O#>VTO:HVS^E@!? M?F\''FVB&1>?I]V"XR:Z:9XP=WX"KOY# G_-#F[4-74.![WQ -&&;\PR!:Q0 M?/VET2;!V_V!TTM0L)Y3UB23K(J5GP?U;_M I^R5^-<)OE0B]*UTR4F+ ?P2 M%M#W9HPD#O(BF,/5NPH,U=XX6@2$[&TKL$9#S&%G!.8U2W48B%L K)L%I+_C M)!7^/=NE#"PI[9\S,.[CIFL$L'QGZ<#R=IL0P(ZS_@2X=M8X9W<&_J;9)\4@ M'$O"AL[$4NB(MPY<"LZT ).1SCR=@R_/%V4H9V-=M^!<@3G_ 90/6SYSF.\P M.9WD(L]V@H)K>_W]:+NM%\!BT\L!@.1.5VR454A1(_V&P)#N[<#UI250'G[Z MY,^(>[3QPXDU[-?W>8K?4U 5J5(_U#(E]>&SFVSM^@/2KNA2,11=*G8Z0W2Y M2T7>PB^O0"O/A:/82J MYVP-3721:?VAWJX(U&8PY"XG;36(.1_*VAT<]QGPN!FFO781/%Z=+, M^'KMWZJY#LUA;ZP9\G!D"@OU-7CQM9J_57<=FJQVNMDR8;H9_+B,Y[!CH@]_ M'/ID_Z%YP']X':%'B.3MN@;.YZ@TZW-4"H']:H[*)LKNY4WAV:NA88Y*"QV5 MFJSD*,?"(GX]_MT$1Z6E@!@_ZANA+=X+AY7I]12OZ*2V=VL:M04VM MD(1078Y]7ZNI:"4_I67TQJ;9NAB39LC3(L/Q""\>--1-:0T!58JLYH33"DGZ M JQXT%@WI67VQH;9.EFZ&?Q8)#@V@C>?[*"TKI'@V!E"X9(CG\]C:!WP&.95 MQ.J&2-OAC,/:..AUW7<'B7XTJ)F#"LFV#C[*H>>N.$DI(O*BL3Z]5@DP_$FZ M1UQZAW&EBFH>'+)JWMQYQ>E):VDI#Z[9[./'?V^5,;4"W\,UQ&]#1L#?6^]G@A>I=0#-=<2[1 M!C2G]1YO;4!')D@?_34+;58;T&0S60]0Z>LJF"Y@+Z6OKNUM3_W$_FU[KK7D M#/&MR4OQG7A3L;LQ#%=/[(K;T]P-._/NM''CGSOE=9[")J5XM;.FBIMU2ZN0 M(0J[13YA0[Z=;GUQB\;W#U^_2D"5=,23>E.UK365H?95[7#KIL)=H$ \,KAK M3<7MI$2_K(8/4+!C5^X+%:.A#9_^%QO>OM]BF&A)*N.TKNTDFK%C16ULYZ?< MQNQ7H=P#L5_K_5+RX+=[=;2SBYKHUE9C"*,3_G$S#PCV. 7GQ*L>6GNO-<(XL66^%UU?)BV@^BUV3G75LJ4WHF-0MK)NL%.@,.)P?>H>J LH7!,*RH!#4M$0"H,LUSP!"HK"X?KT/5#/@T(7 M D/>)SX(UYD3Z=43?&$1UE*G@3>5Z2!H"_M1*$E.CE/MI C5)IO_G01/QWTF MHX'1&P_[@\&NT^1L$=-=.^U\'G6MTQZ*TS[K:>?'FUSKM,T"I]T%R\/Z0OKA MN[#_KA.]"*L#]U:'Y-3^OCZTO1*8!RT5.<&QY*+'$$6#;[5K:[K%"X MNF)[*$XMH 8B( ;9&@^T0)2@%K4W-K2^GJ46SHT0)9:H M 2",OJ$).\2NV ?+=F;$FTDO#G'/5=.(7V6E.*>_ G;?Q6>SEZS1NG: I(7& M6C<1Z!P2@2&(X+)$H')(!,/C1,!C=HH8HTCP2S;?9*$\X-LXI?_O"U@QY,;;+YB3V"6JVC_5W)#V3F0T8?FCH27^A>GCP!R M"-%L?:I-5=N>ZXJBC:R)H=JF.;/,J68.E7\J&FB-\;<6:P@M[4=R,PF(_<>- M/8,%(O=;\ \R.PNBC_#P7:R5DYX M]9^W,QYN9E].?M^+N/+,]V7SP2B+\!LJ_PLGI$RRIGH*'^7TJQX ML\OX;,X^JP>^8^9^QZ3?X3^'Z&&U7+I4WK%=:6*[+"-O04@D.1[SSN!B4SE\ M+CUEFO8(_['\H[!U63^FTA]I^7\JG$_LGW'F\B$CR5N0G7F]&][A'U M7!V??6]Z(D:P$:D\J*W.ZJ5N#]&+Y'SLM@(U&;VQ*JM&95F$Q^X@(\Y9+ZTD M6J<"(@P[73+LG';SE.806 18-D;9H'S>3#K".:R%XG5&X]RZIDUUBX@Z+ZM=']$LCI(]R6EJU%OK)BRH:FQR7<>UD'8!9C& M8-&+8HW$L12B97N\Q?GM"A/ M$5%;6Y0WR5E:V"$\0[MZ M8Z]A)M.@UBA+STZTD'[8@<.Z&K/Z:UOCT5S\=>_O:.&'J>?L %NT41EWUI>P M43*V)O<]^D=_'K\JF2C@-#46OF7I!UCNY!D;O(LJ)T6&$E5.^"Q2(JJH&M0M@:GAU;)DN-K!SJ=:E(^E;' M.6U'-N/5>UM ^.I4Q<*LW-JM'ZO(3IR PT%8,'!%F*F!@A'V^>,% K2$6O%]R M29MT]%4PJ<6?P*SH28FH[,X$IY:XWA**><\\2645%GV QH !-]4W1,RV@$4= M-UX&%EG*5WKCZ@&I(B*[\$G_/?&E[[>$BZ#:HE= LIDI2U66PM7>6#-YJ60G M8JXOR H+D8<&8G[U9&V^Q'RN.2 +H#[!$2@B/COHK#AR YSLH]!U+*>EJ)7+ M:8D@:KZ(2T"JXJUY.J0,"BEKQ#VD1-ST->*FLYUW\S])-ZD4O7DW&!]:^WOS MBBZ[5Y_+>;KL[F^1>K@9JEI'$]IU#LUO=K0*X/][&K[J9K4&N+EY.\?>.BZ:D-E\J- M:(+ZTO+0_TTD>-*EO)MI $E07LXN-)*8\U9Y2&[[7V('F-"#E+ WH^=,C.7B M_*<5CBL0-G016MB5L*HCA2H.*@M?X^S?=ROR&49D27PLAZ^T2@E5^\%=!'LEC8)C.BW0@1$K.."6CFL+% MF@VC-[[AA)8Z(FE:0M*\"/MT?N1*#$-0KD:52Z<*0;-YU%.(?5*J*DF2B'N%K*)50*0GQW.>5D]Q?&=2(KN*L%HA;:?5\"G*@!H?SZ,Q6I"AKGQD43FQ6AN%,)2O7O"W_*PH?;&JI;-V,V$20MAN$WDD\M%RY -EGC(&O0O3C5=D'B_ M JO$IMH_;'=%-AU>3FF0)VI3=S W_0@KV'.'E!;D:?$'8U2Y^$,3!'D!, &P M:G=M'H*,6CI07DI-.2%UDH\R"@V8XIY*#^DJ#@>J.G":J'UW(.5:EIZ)M+!_ M$,GS4SG M[--&I&+ZU9X\^6$3\^3_07\A,PDV+[ ?B120)]OQG'4'(=K3'K/F$RU @E,@ MTK,=IG/A)9$,+Y+A&Y;+?JED^%8U"JS:%+!5N>6BO5YQ FB%T65]6][%M^6W M]6W).@%_Q]OR)B6KQ +*JQ=B!X6J3%07W1NA0N5+8/IA,T2R_?'NKS>?_A&W M7MFR3\ 4I[>S58![OY'2L&56?YB5G$\_F9,;+77H9(T+G*P%7*D_.GBR77"F M%652.SI4%19U?)<:1JX91I0VU]1"K",DUGK84!'G5Z=.+\-LZCX]I=8";ZAE2 K"8F4 4:DW@JUJ(,VXR,^F1TZ3C8>]_TK"5!C6%N3 M;]0-Y2K(=^KJQ7O4:,P=P?[Y;(*>(&#&><]-P&IOK/3K"@QL.@%W4I[=O6.V M!=F.A8_5>L,+S60K]X;&_V+Y:1S M3KX\^O2Y':. =WY?$?G1C=((9_'#:KET"<;4VZXTM<.%-'?]9\GQF+Z,2Z)M M(N"NCOS$KK3C*1:.8N$H;IB?5SB*3_ /L@*;$JNPB06H@2E4=1XW05MI>5EY MX?+NF(7W'J_YI0V\#2YYR::I'YBK-757"&E*[41Z@KM^%5#1(#<7X?:\GN]3 M/:_G]]R>7KF^@9::3<^)M7 (@E_@/QUU U36;+G;"]%$O5!;T6V3<)*Q6S;- MQ#2 .\NJU:+ZQ (1;47$D:Z@-2$"JX/)ILD+(KH@*NV__@Y[*"J[#;G;"=&H MHM#EE[97?XRK'\2 _^*=G'-IFEBL?V!UE;C95@4(5D06%C= MA1,$=$'W8R=5X^4GY-R&0[O$Y?SB,:63(/*@3]"PQ.4S]&E M5H3RK4%O;&B\U"?=X^TS#GG[SF5_Y>[[7;CI61*)3=/C)7\2V? $=020G].% M[3T2ZBGPX&4[5M^3BA,)9MAP9GA$#/B&PWZ9_QX26G#A2TQ/'[WW,35]\(.: MBA%9&/LN:^K%HA.%#"%@&=B6]#$4W,']^S6?GVV_ MV+$!@_$#2DNWP!)(@$_!=&QNYB(M F2\?SI^<&9O3*LD8C#H/?)LVH#%'N<1 MQ9ZSL"Z0YI(?Y_O9CXBDZ-)__\E2%>47J5C1R.36P4PSU\=HV"_S;V3J@HSO MS(%+XUZRRNG9TI&6P:XVX"5D=A?%G^'8VP4E[Z;3U=.*9=A\B18D@,U]6@9D M0;P0&(OTR0_#O34IDOJ7>2E(]&5-2$%BJYYNK1IV.Y2@0Y(91>X;@D M?"WA-GD_2/(%4-)" L-2%:POO8.?0#G#*&BL$2(1#Z^7/15-L:!I -!Z].B+ M;.F_RL@[JJ)N23Q -2&L$7[*B#X[A/(_48XU[B8;J$ M_L%G,>8QJO!P_54@_=5&\INL0J"1,#RES&NR60_3!9FM7,#K%IH^>C '@I#: M4_#5,AM8\/7[@L2Y>)1J*9->LEX"(=MF*AI3,K=3[,;?![R)[:($'5*#18*" M\# ,Z+\JA1[\ !_"!)9DBL(1++AM*8*&U5=TM>4I@EQ.2A=YB\T>H$KFI&(T M-,\,^TV*C,D#B6*GU,OD\)P+YE)> &^-V2]5[%>I_5**U/,X%+ISJ3NAN>_I M@K?R+9/Q)3N2)@2D9EI,%O2P)=4CA1NRR0Z74@T$U=&NRV6/ >(A DUYX;N MHO#]OU>G.%6LWEC392TGCZ5X0T'AA12@.#\H!I<#Q8AZ&BTEZVD4H."!< 0H M$BMK)F3E;* 8835N65>S,2L7QT1-\=^,U ?7IW4ZXJT3P=NF19+ "CI=>"AS MWYKOUZ2 4)K3S!R:2WLN;D990_EUD^YS_!(.]=PP!]YKT%C0[81NMRV7F"A% M7]S1F"U2,77>TFW==32&U9V**<:N8":[GM-2O+'!B"TGLG)RLZ(5E!$N1&XJ M%:[5G*(I312N!:FE22W3COFZI*8!J6E\D%J=,FOSY(>[N*+A1CP@,Q:%QL<+1)[SKE*VBT',9-BY,JU9]%@Y! MIRV@T\)6D0O3Z:@^\\CYZ+3CSK[/)R=-57'_G:$91$V.N5;,3#@3A3.Q=H'= M.(\S692 MRZ$F]#XKV5 'X0\4_D#NT56K/'!!>SG 3N/'8"[\,O72V;'Z8!>E,UW065OI M+",L7)/../(S"P>@< !>PYY0U5B=@ZIAG88%X3KAD0;/98RXJ.L$2-6LS2HA MZ+0%=%K8DG$&KFG59-+@WH?'M622JMY O-D)=1L*NY':F*=;;O$M8AU:4:!H%9A%J9.ZDMXL,"8P=I5Z*LI &=104$5@C"]J$QCCJ#P+ M8$RIH3[+V3'&8WN(U&HU^,O,7V%E7ZXZ1[1LBGOZ7FR5CL_M<5&T=\-PW;N! MTQ+_QHDE_IEB#/KPIM9_ICHX\ (U4]0?/\Q6]6?#23 >.:EZ?S)JWLO4QA0E M1].#[;U@(?]P-?D7F492Y"?F\LC^B2&D3RLW2>"%Y2SPR=\H6 M\P?"P?3T03][B4EQ)7^YW+2'%YJVWAL;_6PR;S)K>DJE)FY>:.)&;SSL9X/= M-]N=+I#?EQ O9#YG'Z0I*P"RSQ;B+TJ\TK,=2GNW!]8! QRDR(PKYGTRR?5. M?8,9WC-&!;=1W*(20%QLSX"?;38-6TY8_6PW5S1O83E>6=HO)^8O9KBSF#V" M8IE5Y4T<,\9RP/4ZF3@]D))3-Z]W#FCE-?M9?\/F'+:HMVA[!YXNIPW8UB@# MU 78-6XF35ZJ@F:'SI:!.REQ9!_CF0#&V?]I1QJ8-HLLR#^T46^LZ_UL4_D_ M;[&/@]Q#>EX0C[JW[?B"I=QD&<#" C@':;8B^"D.MMDV>!JN=KCX\.-'WY\] M X^C'SL!YHIL+LU9MK/.OKD #PNE9P(#V:R+B0_*CPV_)LU4:0 ?:UBRD2J2 M-FLH6N""ZFDBP\Z+185N)$7X'X@ETSMO%A?)RV\JHPQ076UD5YG]\A3*81,* M%7\M!\6)%%N/!63I!QA>B0/$?6]M%]8"A$-)8[D*X,Q00/L>MPCR/9I>!.1T M8%P@3Z0+UO8F%/UEFMC*AHC)$GE&CQW]FH0)#97VV:H*VA'EP:A% M9:8%<-H*G",Y;1<%C@K T613RUH1!7"X(2X!G#Q7WG6!H_7&NBKK.B\W3A>B MX&.S>\<2\\OU;"H8*'<"5N+=+P\5'2,19$6O(:".@]!406T')!D.J,W NH.* M/!Q4*3PHR(U'$H(5Y@56"5<[O;^1"*0;$#6;&R,>6\7:FG MQ)8=232LEI5VTN U9-2)17&WJ),3"[>)6<>8V21$^S8@V$;\!]F$ROYY.S(Z MGO=@\Q5[ @M81?N_DAM,G0ZWN1)[-0?;( MVNZS_1+B":37" M,;VC!O=B_\OG\;"MG!S##^']*%;= I"3 IV Z-C=SD18! M7FU_.IX#"RH:#?/'^'2\VC!6_2]O[''>\1[([=R32*KU3LY1N%^'SB?Y"IDD MMGWY"5H3\Q,> -.T_J87[:0-',X$72?#L-P!3$=AM9-$4D$;XO>YG)1(*FCX M "*I0"05M#GH6R05B*0"D530Z/=TP=T;E]>_+8*^DPH/=_'[M?:\Y+VD_PWP51]S_,4>)R>+$LC\I?X.&U0(-V[=G!HO;$A&]5CO_@*'VV&6/B ]8A$ MP^>*4A3=Q3MO]LF?UH(('6.I=24;N-_87,26D]19 OX*$E<._1B]L3:JTGY" M$ Z'O*C8O7P"N="&<-G$C4;G;S;C^NUF(N<9S!A)'Y7^;X)B>*28HJF4IU#,J#<>9AF-R(<\1]4M,B=P0)D^@(UV4%W[ M^]T2Q?(=9()7EJ^ID8 QWM)*G252_%0?],:6K ZRAD)Q"3>;L(J*;>6)>'>K9$ME"3FTU8I=7DF@D+ MNV[*BL4!877!5_)WVXWK,MQAOK_M384J75LE:>QM2F" J>,Z=)/O:=?.CUZ" M'7C@+@Q)%*Z/87T*N=@8]<:J6L4R*10D#N7#0JTOJM%2229L## ,6ZT>&2/H MC4-Z*U2Y[K+TIF"0LZGRTG"E"WTCRE6-CA?8S1*7Y1;?'D91J&IT=9'?4&DO M#%.K*^OG^E5D#^B: F("8N5EOZH08WEU.F\\E"V% M_SOL]$I[U>KSGKFVL)ABW<6,3ZS!^GX^)U,L:;Q1).V(;"N3^XJP&D8#B[#> M2<'6XI+RJW,60 ;3L:-5Y K0S]/GB0E5^\A()\Q$ZZHVU?EU.V2H %7'TE4*%BPDS>X*%:R>K MX: W'O2S%4/KCZ 7%-4P.:(<'6%89K]R4&8]Q-0%6\C# KLO3NR0X!J?,""! MGIJPA)SWTO[LHV]A!8]-7!('@M"S>(M'<9\ZB7L_C/*QHO;&0RYD;1$OS_=5 M7@>Q:?F,N?Y$($%GEZ6SW1O^RG2&Q>?[EZC(4?/=WT#5?9.):2=Y-)+]:#M> M& %)L)P;JMG;-.NF8WI\61SMR@05<'1*TN86B P$T25JOPIMK+%"064B&_;& M1H[X*8B,-R*[N,I?F;3,WMCJ7ZR,C+ "_.K[LV?'=27G:6D[P1/Q(F$ N+P! MX.-Z]S_Y@)=P.R5D[OPDLYO_D,#/!XW5 X!8JJ+^(DP"S2 ZSDP"6?++(S.L M"*)7$BX%>7')TZK?^[7S-'/ &4_K@EG@'IZ N<*)(8&$#GKS*?T$[&Q/= YT M1G[.EPV6@3LI)CROM_\^O?O?DLW_2@*,SBZ'(Z4V' FEC4NBRX]BO"[1J8+H M&D9T-?L.ZB>_/#+3>F.3 SM4%^P$WTA([&"ZD&QO!B?_@[C^\HD*"B ;.%VS M&53U$)07L.'#>[K387(2^9#0,L)L+%[%KX'_PPF1""(?;N9H%7AK5?O$AD;=D5R/*-J%W4;K M0_CN?Z-'\&Y] N$AEY&E8;;R]257H1/QY04O1$\E/."6+CS@#2.X:WG 3V9E M!K(R\^JLK M*^.]>0& :_R$S9 +4Q$Y^3FFN@^32X$:AFI\Q,&ZS_;&YZGV\ M^2RP]"!*AK580H6BQ25=5;SUB])5F8O?Y"QN6=#<18+EKTISO.7_=,$,\(W\ M6"?1^_/MK'DXZ@F<=_32,6O 9:6"U E\F:<23C\ENW]0+ABAQ8R3-+ M+BA.626X]*B^C"9!=5Q2747)X#Q4QUO^3Q?,!?>N'ZX"@G+!7VU\_R2PO>E" MHF5RES3%P7NDA@,I(##Q\,0 O<[(W-5=^^^<<.F'#@/7VU4(,PKS?6DC]*75 M(!H(]8U+4JKNX-]#2F68LL:9PB:HC+N,^AJHK#X?E# +%*63WYQP2ES7]HB_ M$G7S+A9U_R5:D.!N]J]5&&%6XIZ;W$M0_I_W=PT3I,^= %24 MX)4!9DWE%>L1%)_;.3"9Q/K) [VMX\U@BZC6*SQ_C-1N:_"7F;^:N*2^X<44 M,\-3*G@3V? $_'_F_!@GP/F\>@(RF[+?IPQ^%'<)W.,'LH+<-IX?I@LR6[ED MR]7(:G5CRZ[8Y^B0\#M.XCN,]-;UIW^D$*TP!@+O)[.[*/D0WT2 2SA75&P M(KWLS&$Y.^2M&X"4Q-QY&Q#71D[SR[,SBQ8 (\K,4M^*]W>P^8H]@8U>1?N_ M\F0'CX['&(:ZS;A9Q_LK@=_<=+9GIYSZ=['F DO[D=Q, F+_<6//8;*WMOML MOX1(*>DUP@+3&UIP+_:O?#X_V\K9 U\/4C=EHSLL&M;LVLN0W"8_ M_#)SPJ5KO]PZ'ITY_=(O\6 QPT%0[4@.=&O9GS=XZP\8YF++2OSF^,]]^-.; M[.>FTA]I^7\:])7$>F!+4525/D,BVVFV2B?.5X4K3P5S#& M+"RD_Q95?S@_7'6@:K4LMS+&&K-?:A%MT3C ,B_%UR[._EKAK7B7E81NSV80 MN\;W:PH"81:X$>>G>3>=@@H\DPCKB)$)"*GL=>5NQ?]5:8D-M:>NPMFN,55/ M&U-O,M;4C,T%?D@^B]NG?(N+?MUY,TI&,%),3BGCS'9 F+=ZNIGY5)7%-Z\- ML5K*:J/"+2(KQL6B& X=8SUA# )$;061P2N(L"6VK!J5/=>[6KP<@U7$0?L2#)E(3KHMX G7>;?@_EL:+WQHHF#ZRZPCPN=>.( M6/=SL.C:R83L4]EOBT,*RW.?&E*: 8:;#?+(V ( M#%96K&SU^,9*](*"CO'7>BG([(UUV5(O%I0LQ-D-,?S##@+;B_V=8>1/_Y#\ M)8VC$D+M&:TK]_X3_I^UI/=F;XE'YDX4/BSL@+P%%,W2#]S[X0F2B86H,JQL M,RXA]S:? JN;)BY @2.DP(%55YBQD(U+$--'[P?H,W[@" &Y5NL$V]67/'I7 M!KVQ:K;(LBT(I8*=X1"A8/>%4>6+68B[Y<]<])&]H,S+VC/>@X;Q J+#LQW, M4JT:2PH3"G4<:BHOPH009Z\LSM9*7-2AIIF\^ @Z):G2M/4XUDB(JK7Q7[JM MY9& [C)Y,.+%M2RDV&NRV9B&K6SX[\GVWB6[6QXD%A9\D(?#2W2H$D+L):FI+.NM@YI&E)J,X25:-UY& MVN6:R=*B:7EIV:*0V@6D8% Q2B-$1>>7)JMF79&0%4KL\"4(=Y;LRO+ID\A. M ;)39%.I2Q8^']EUH?STN[PV5 XY,8?T^ ;P!Y!\JJM-_.O =G7*FO>.+ /@ M;E0\[9@=[TP:9"JQ[FN AM+HY:MK>]&=-WO_[Y5S6IJ'BMYG0S:,*O*_L./Q M2%G%I93S4!:ZGD>R-JIBI^#0CL<]Y_W5]V?/CGM::>Z.6%I.XKK)Q@(L/GJ1 M[3TZ$Y]_SW+#2&[5D&N:ID4VU\S>#$FQ.L MP2,8^D5C=GKDYJ9F^LR M_?FY,FXK;,H=)N ^DKAE4UE(6/NR[X55#)-")]W6TBO(-NNA_04(#U+'N0$XG-$ M>EWP>V-0?BX+?RE[959 #G>[4KJ.:,'%MXA=G*0XE&<4*F@)EFSJ-R&0@V)U]L'S]_*("]E\]^A!W-'SV8[.SN"> 1?9G_[@7KS_*^ M]+LW<\(H<":KB,S>VX$'1Q)^F7_P UB3][":A,[,L8,,L.?.3S*[^0\)_#6F M!RE,Z[VQYV?P+/W>?^AO27H$]\>U(_S-ER+8NE5Z0A*)9X1MQIPHE&"T&SI( MF)H9-A:#OR>]AEA0G*;($C:HZ4L/*RQ80O>#]2%SL+_;C+UR0F "CO>#A/@Z M?Q7!J+0+',[E=S@A^/0A@@F&$I+6W,&/W)>^]#&2')Q/)"WI\J:T31F,""/! MN46$CL!>B^,AM>,FV"Z5<*.%'4E/2#8XA:7]PKK/>?1;<[;[Z]7WI;L#*Y3I M=S8D-Y/LZ73UM&+;NF<_'6_/7L)K_NMT$,P_SWGRQM MJ/^B) N2I:6["O??!OGMG57%2I^)LE5*=O]Y?"4!-L*R'\F7.;!]9#+,=I+; MYEDS>^-AMLFSM&2C4+;(!H%=Q5$D\G-*"%[CF67VTSM=VP;+Y]SAT05VV.J- MC;IVN&G\+2T9 ?>"53KA@N2F X<4]GF-19\7! Z8]M'% \3KFB&=7K*N*[&N MPC\(1;M''FDS8HG\@ =A8!G$"+RXDZ_"X$]P%]VXSA]PK=_ M>S=X*5.[V<; M!@N2L9'_YDX(3H/* 524 +T!)"W&H^*U_C][5E@S4ZXM<3/-G6GB9C\;7+OF MSKC)I59A7'X5.NM>GW7R;E81[;EVZ?JP;Y\,9QLNL7G)#Z 3_&VVFC(9C]ZU M"% \9;*W(6X8^IBI0!B#DZ:@:=HHA1V]O'$*?JK*$_N^XX6K^=R9.L@VUC2? MD#F%3RSY1Y0;(T$"2PDP&$%RF)R90Y:(C64 .QD _F%?F.B6R+8I(3:7HS\2 M#S^!-<(;TNTAS\1NZ(BW<#FXSK0 VHTQYP[+JHZ3(>:$V1[;G))()T%)%H% M#)"93ZD4] /.U(=[,63J##Z8*!K_6@5..',H*D L^@<2F TO>:;7SS*^>M,2 M*-5]X-B]1Z!+4"#^!=! "DG/3F:ODB6@Q>1-J:F1G[!E7B(XO3"PK.#N#UC+ M:"3A%U!8X(\$OPX$I8P:?81H#D@WQ4ZIOJN4GDYW8A)7E(8_(GD#QNI5RS:O M U:;E*\NSUH5U,$.<=::[X?:)J[BQ ^H'>6O!"HR.',I=9#/_LJ=X6,K-T(( MVNS>2(L4,6V <*G4_8JI"44?]!*1\EO8KN4]8,P!M?+ENRR64Q(S2:PE(ANP)+ M);!+Q"EPPUG T_3E6Y"GQ=/I" %!X2JDG[]W2I<#6;WK!8\YVZENQD7.P^8H] M@7U<1?N_DLN6F'69M2B^$E\RU9W=2OV[6-NYEZ#7W$Q :/CCAHK[(4]O!=^" -0 MR9+SPZ Q^Z56H+I=YF<<8'Y78S"<,+)6Q/B_C?53.TK)6"!1+6$X?U8E=ZUM MH6IY2^0[(*W&>+1*IJ%40)JN8YZDJO%2'[B&Y .!B;9B0E4N! H#T]JT(2\] M7LYU/38P>^(N=LJ%FU"9V#I)?#6BPD@NC>\V1)W498XP MZR4<;NSU[E@9GVOQZJ^XXP5!9?7&W'0-$=5Z>&7492AJA&7?N::H3HK4[T@< M*+>3G$)^+IU-M"E&-ZTB%LF9BE'NF)!=*J7P-,[]+0F:V0;:)W1O?IG?+9U?2-NM8>+5B.M(3ER:Z!2LUVZIBOJ+$,MY M8_AK(A!B^:7%\N2N+2A$E0"<6AO@A,S.HS!Q&K^O0&\%[.2&AA4%39"9TQC#\T1MH:Y5/ZFQM%!=?C6#.IN'U1MPB?I"?-&:0!@GX1R&45,X MQY405C0,3I0B.O<43ZM8]&8KZ8)%]"-M'L_LH.G7A_, K MD0>0'<7[V(R(I M0XEJ6,HO4KGL*MD=AWL^U9:Q9XD%#9F$Y)04&=AU3'0- W_WT[/C4MKI!)SD^Q? M%W=>6@9^7%:")0)/7=MY"N.J!X&S21$'T#B>';S ]J^"D"1UF":K$*848F4B M%ZMU/"[HTRS3,3:()R>1?L'4]N)2"A>=\RJBR8(PB^>%,UW(F)4Y(YA'").>2?8,6'!(K M("_#S##S6(.990WQJ-)ZV!,Y!!TZ[XUJ(QC']YR<8Y:*RY+)V"ZQ'..)'6)1 M-(8&FOZ+E1^"9 .E%?X9,_=SQKQ__P7@M? 1KK1*QL(A\U3%")380MS8)_L/ M$DBO[K^\^^VU3!&-I23"U*/P Y7YJ 8/O 2_L?X^S'2"U8(H8%V@C;5[#I@1 M\*PIV23^8V O@8? TX^TLA"M&Q-&<01ZMD@B-05#8@=8 MU@X&F@%?='W:/Y'^SHIPN/1G>P8L#PNPL2HX4S^,UER>2(^N/Z%%) " $<"+ M?H7^-9<')_.79@Z(YI%+^2^RM\U1);-M7)F&;[")@.>$]>\[5*1FD")A+V>I M,BESO(P_>GC5(NW]YKMXL\K2_>=[Z3<;*-^COVKOI*^!0R4=.N0#YMM+OY&( M7DP.GFV-R_.?QT=V2.' T!#$: MII!\ZPF^%<8%1N+/;O SW NXCN$-VZ\_.#H\>O-$'XWQX-JP\3=8K00^8.\& MOA /G-ZZ@\-J[VZ6^.!F3NE=/OC5N3V!:X#BDU9"D)[8R=!AFD;/W^.*#RNV M9TO0@Z9Q>4GI"V1 & M?0!5UIG#]@$3NMN\]VO\7B0^N#[B"A02\",O9%IXNMS0IGZ?PY[&0;"X&C S MK(F!!2*05*C0-2'$DPC&77AKGHI+(#\I(XUALEDL/L**@#+./'- 1 MHL:0) MB9YQM+C(Q"NL9O2:?3]52)"6O0@P@?IG\B2;,-9H61>X8>'6TY>;)'3D$<1: M]N6X2!(#4%Q+(Q[(QYL@7"2E.)*'L"QIS/VI)$L7F&;%K(9I+%WNX[ZB$,;! M0AC:SFZ)0AB=*(2Q3[I7\Z5[;6_I"EUMBM$@D2I2-<)VF=SD)>=NH&RGQ24J M#*L/ZG2+2U1P.RE=5+MH]@!5*D$H1HLK:13 M6!L-92NG^RU/*2&U!OD)R/"TME*043F S @@8YFR-AH)R C(< \9[?J0&6*V MJZ7+NI'->+T.9&I2 M3,:=4N:_^ZDP\K+"5#?3V\LMOCW,8CC@@%F8V&YS3\ %$LH](]FES,H9(]A')/B+9I\Y%?XPK:GS:5-38B*$B!8C?F74J<$.D M '4S./N(@?A+4M:,<3'D8:7M3Z;2&X]T>6BUJ,&G0$1K$7'$8EL+(C ,5I,5 MLZZ"W (1 A%72^"I!1$8M6O)@X$(Z1'Y.1>R\E1+T EA ?#36<"@]\:**AMJ ME?:,(D&"2SK*).&JHGN"D)I.2!FKT3D):00S%)?#I;(%PDQ(ASX](28.KB# M->B-54M6AB+?1>"K!?@JUP_]D@*=A8Y-$S2#*@*= !E?Y-9-D-69TU(+M-3> M6!_(FEXY9D"DK#0_'Z0!4]R3LI+NK5FN.[#O/7["5G>8^15ETE7"??DJEE8B M7X67ICQ,KW)AR3]GTT7+M,VL-W.P,2.VW@DDW';6I2?RLU^(>T$N V L MF[Z[]A/VZOP/^X".&!+1SJ<%R31<3DID^#1\@"XGLC0KG6 K%VD2O"F:OU*0 M9IJ_&4624SJS&=W+//FT*Q^);!-^9]:IX >1;=+)2&)5/1)*_!7C4(/HY:MK M>]&=-WO_[Y6SQ/:KGTE4WH:D8\:A(FL6+T7_19B] ,!H #B.="^H%QQ# (=BR*9(1Q'I*%RBX4CX=[UHP !8559K"RCAP*,M MB"E%3$=Z$M1+3!:-IK8T0Q!3*XGI2 >">HD) V%'=2AX(H.E/%UT,4^E'!:. M]$HHCH7#75U& ]'5I=6$I!T)&SY,2#D$@ZW^-%T02RN)Y4A)GUIOX)$*-["L M&I55 Z$GUQ8V)5)01/3N(?YP)'RW7OZ@]<8JZ'M#HRY]3P3*@=DGGZ0B=IQ:FI]35*EVDIS0X]Z,!4ZPK/87V4WF? MRLKXX =W24[&=Q\C#MW\K)5OY!&>V9>V,AJ*-BO-S'?@5F\S+X*!1-+,&;!Q)#3]C-A0!X/>6).-866!2V0] M<$E:1R*]STI:2F^LRXHFLK-:25KZD=COLY*6VAN;LF:*]!J17L,A,HX$NI^, MC(/9-NI $]DV[::K(P'2I>@JAWZPNQ\O=04$Z=1+.D<"?JN2#FWHQXO1ME/J M-/('V>2T_'D[RR:>]V#S%7L""UA%^[^2VT\F'1=[ M)<9DZML-7=+_+M;H6MJ/Y&82$/N/&WL.D[VUW6?[)<032*\1%IC>T()[L7_E M\_G95LX. %BAS]J1W@+O(@$^!=.QN9F+M CP4OB30XAFZU-MJMKV7%<4;61- M#-4VS9EE3C5SJ/P3!"::,B;Y<^D>[Q,/M6I[G'>\Q1/8WJ5:!-UYL[M4@Z#" M*6MPFV12UG8PN8Z,,$RX\$1&6T.2Q[B-(9+2)C#:1 MT59O$ZN=1I9I.57DK_$[LTZ%*8G\M8YF&AS)7TMS+_C9)3G*=FE+KH)AU -Y M6+T5 3_Q,P(C[<7($5_C>3"B $84P(AH["0PT@",''$,G@CC'J MC353-M2Z*DR(A!A.*$_@K6(>VEGPIJ+_="3KJF@1)?#6,;Q=P\^D8FVN@:S7 MUJ!<9)XU.*VK 5/2U(\13=Z"7CGI(Z==9XRX\1>9)& M?>E^87N/,*S#-*AW3F@_!H1@>FHH/3O10KJ;3@&;D8T? ->)?X6-I%_XX'BV M!YS$Q:].73]!EMZIY@;W(9ZR?_4BRETL76 600C\[_:+G M;?%^WG=]FE@6 *CHZ7T-_"F988&7HF=VK887/VPWSC/SYRE2J[H<7DCPRRJ0 M8!#[D2)/9LB+%D1:VGB%.9KC#)5?HRGSM3$M ]8'_; MP#+^FRPM[% B;!O)C(X-=RR9X@ >"4,<&S^N]LL^_3]+XO MU_LNO8*WS,@<%CA#GO)M!=Q7T>P;Q7A%7DLT*Y*^Y@'F'CB1 U]Y_W-*F1"P ME@C?I(PT77J5_O3U:\E>3Y#@S-B/,#_'QSL"+GIXW^0%/G5"*2!+$&/ZTEL[ MA$]72Q\35>PH63TL2*9?/V$;81=_T,5/W=6,;J,-IU5F7"VN](W.$1GJ M!Y"R)&5P\S>YZ!X_PX";PTO^^L/!"07$#GV/IE?:(8P"TR=L]8['Y#D\SX#\ M>^7@K")?FI#DG6R6*WH9X K8/H;LZ\]$FCN8FPI2TVKRY$2IP]PZ07H 4[R& M9S*;=1CBC^'J"< 'F)C1&;/!\90^0N\#HB,;1*ND/V$HSZM7$KK^/O4?WH"@7G*B-^G6YT&G$-/ M%&^UDP$&5 "W2. O Q"L";[$=EW_F2X#%H>2F/F%/CP4A UH&IO^CES#?X(WOZQ7OZ$B M1OHA\)O000!BS302HGSIA(M$8'JR'1"F'(_]+MDS( $DE_ EQ"L:F(>3[%Z, M?PDY"( OV;T@V3U*ES=GAV+/5E*&#%G +0_IYS+QV%UEX M3M*$,EV?S8:B]]D/_MCL0\(*Z3N C42$YKL_X*[Y 8[P)7BTO5@)73/6[\#8 M9L_V"_M6&-*, \I[/JRWY,QS M/YR\J0X4;7,\KY/+,CZW#4'(:?K.O_>29%>FY&N*+&&&I%R1C@!+ZRNN+^4! M#]BH YA!]KD$+<^9(M-/=).Y$SRMG[2!RH#^XJLOX5*5Y[>^=($0OX*<)GW\ M*$M4T+88V1Z\[GEG]"G-,$/7?GOX.8A25*:;$.))GB]--\M&2: X0:#D&ZZF M(+83.&%GKQ@\?[U'&PKM^_+8O?8'=#X#BU\)RTVCZW8:(HD4 MM^L3?&41HFJR4YD@YM.>[Y&-A@>R>^0'(=*0SR3;/4K=$*@9B3F^H+CJ@,)H9R%P1W,W\)5/S!M1_S0L/FMAN2E-%9[1TNAK/S ML@IOTGICFWTCMT!5ZG>X-/T94U=@&T^=WO?@R8L*STXOMP\[FU[N749OC$P. MF$.!S0 !\X5Q%7M*%:TP"E;,@P&;\QR@".A)2Q>0@@(S97ZK (@I9,JF[:ZI M,]P8#9A.:K,;FU(V\+80 !O.F70)S,VA"/Z!-HTY\4*J4"<5C&%$1L:P 4#' MTUPZIHP49@^KN4D]+<%2J/IF!P$^2F6C'8Q0?J(/K'CD;^01E5%<],/-WUZ? M;F,T=-YYZ'T_;9_[MM9U0? A:%GZ*QQA.'.F<25I/,>O ?F!>_C10SV?_J%I M7!?P=$!U%S7JC/TUZLI0O[FF?E'9[NIS.4]E.ZZH.9_1?;W[]AV4O8\G<_'A M@',NK@R0B\>RH)RUA#(CZ[T?+)$LB/0KJ@NH*S3.^8>6A5S3>*)R.;@?U!^# MMCW8$90TXNM=D1@31WG;E\AZE]:2,WP?11\[$0N8F2"V$B@%K 0I77%!F-2! MQ@IU\$O.F<0BS#=J& '1A)IH5>67M6$]O02?*CK;2]^L95L9>'9<%QT%(8E0 M2(.!8O48- @=W6X_7UA1%"H*;:8\M9=TY'C*\"!<9;!018JS.*3W+IENW'H) MP27S?EXXH% G;T?_PPQU=#3KXPN 6N 0I1EP>XFR_ET?S-S!,!7I!2NSE7'$ MX'[AT7O3A,)G$IH*8-7P=>!Z\#/0>F$33K.(G9U?3.)&5GPMLC5(0W@"87R\ MD1/AX<6$D,Z^#W$YJ) M=84\RI2O1%#,?EEFXT/8>5,"Y>&5]EJ67LU>O])?4ZK$'PWVXUK%F.2H&.(QM"I(-M#RC$M)[6.J4W;!O5Z%#O?/WS%_#]"4:K$+"V,68 ML=W(F_L'QR" $/^%D'#7R[D,X'=G25O][-Q0=7VH_"81Z24DWJ"23 )6&K/1#3S3EQ\=? MO\4$_;"P [+P722'W]#G&33.C+8'IV&R2?YZD_(EJ,I23[7CX!E&TIZ]Q8GB M7D9HI4^Q"+Q=PW-M !TQOI_G>ZXCGO==&(7W&H6'HG&),.]>^R;^ MLHK""/@.:D7O&1^\>[:#6>/N3M3(YCZ&G%(;'FNQD@3=AL>BM=+6"="15I$4 MHCBQUH0P@-;'-8'DR;30)_L%&:D3ABL,LZ9JV_Z+A(;&_F L,]P(*G%P,WW$ M8WD8N8_=EHB6:D1W&5WO:\;A1B=7Z+YB]!6E7,L;,:FJ0ZG]T>CP2*+CC1B@ MKIX[?.5W[_&OHF'O'N3R1S]X*=#[H>!F-JL-R.<5C=.#ZS>^B%FN3G+=8E83 M^4F"J1-2N>LOD^#-V$_),CYUO<&]_TS#E")VT]+$Z$SK@J[LZ3_H+V1V8\.L M0*_8[. R<*9QG-EF"]F>GG$?APW=QPQM!N0IR6E9&_LQFB^VL=.-1,JE!LYC MHB)]^A7YF?@JXGO.V64WNN2..<5^2E+H&VO>>1%=!RK50$HMBR8_5UC%%_5*AGF]@O1F)# M:R0/K%JVK DLZY6:>_M6K0K-]9KWL^E#=JN3**)(W==JN\LAB#""7NQ6X=UZ MK6#ONI1O\Y%J7_D;KN/SK?]G: MEV%?TW$?/K)Z!"'USZL#194^^?#,=\S AK_!CF&D )H3Y?@1]= C6,'EB683 MLA!P]'N]CZ,GI0?J^?J:I";B-_;[]CD^197?4S1U3;9&VC&CTMJ0=,BC&5N9 M3CC"HM%E(]ZCR[3^.G!I'4"[<);A5M#8]P#>P\ITAG)< Y#%$0,\9F2)<&A@ M6L_'H\'V=41\'HK>/+KS&+'YLKW_N6&;!UZ2>U3-"H8JB#93Y1UM>A]V.0F8 MWQ3-E#Z0N#C9 PE^.-/FU28\!Y1VD$3WZ*OMT(#$#2U'<2H;I:ZOK,9/JO[H MA[C&3W.(743^Q9%_9BWIX.:FP*Z(%[SZ7#J>#O[WT^\VWNL&*P;F 2VEOS99OP_3!9EA)<["]QO'2I+-D9(T0KO!3G3GS)^N6$P\%OIB-QIH0U@M M>)U4SDIV%0Z66QE3>:.P,+/::])7,G#K+7)3I MDU3<3?5%GZ8D@FA-IO8J)%3T/E"U>E.,(HH5#F?MBXMK^4O46B2%"__92RKD M;G*9P_7&PF/P19A=:^A9XXV>$_FA>:1+2%P8CBX@9I/.TQ.9.:QL>2KI C5< MD$=M&O6&FDC-A6 ;D=J@Z/V!42XP?]]0EM8W]5&1X/B:XIYAKZ_5XB*F+Q9; M62*RE*_@B?S%O:/U%Y9)I9]XK65B2#@\QWV<5SGCX5$6(4P0ATT0BRA:WKYY M@[5%0C+M/_H_WMP%TX7S@X1OR.S1#MZ ;&N_471=&PY';V"ZBC+2%-6 X0U= M,\PW,V4TLH8CX/2:VE]$3ZA_.<%,NF/NP=B.3P4(^!"/RF6I5+>BY7ZV<@P\97R<*.\N9-C MG1 _))-@90,@3*P5/T-(.]& M8=!+X^LNJ=:#Z*@-DTS5_.M<$R M]?[J<2%]]G^PVO2*(;-0G=;J02!N(NK5$JNF*,4I)I'I\ M+5+:!FA-\6#FM+49VOP#$A+F'T]*-JSK.)PHB^K[+[F395$FBG8 >D(4Y0!Z MX6DWGC88:"-M0&\\4]74^,;;,6:D6EFR,JQQ\>66D[8RZ"M_$L1]?>(^6<\: MZ4,#:%L9)(K6D0CJE,C&(F_O5H^K,)*,4BH3TLU!<0WF\__FR6M:1Y0DV"!5 M *MYP-IK0E0 =-LBVP99+"3]"[M,[I+6ZW'P^D$\EH";?BY38A>PJ DLM@N+ MQC86/_O>#9+^*O*#EWUX?+7N3?&Z9FP: ING8U,7V&P7-H>G8//W_D-_G>15 M.T"' J"G ]00 &T70,W3 /JW,P+4% ]':!# =!V =1B #V4\UP"6Y; UNG8 M,@6V&HLM1;74@6IL8VL4QZ/D^;KO S(#T*QO/3D.*F&6T@>RC&(K)@LP461I M0J)G#'O/>.5PW'\0UPVE#W;PZ$MO;>\/6?KG'>ZI#- MNPO M01PFP?E$,KHFG&X M'!- 1VM%\Z =Z.\.1ATXMO1;7_J_OEL"F&4DXWAF*IM9)Z I0NR:"TUXGS)4 M31:[NG.?(28# WVPZ:NCW)!=5A?EM4= 3W-=J5'C.1&))T.Q#+)26L_";.V MZIV HHBP:S841\9V&/E>*/[NI4VPQ<( =H-[SG+_;=R3:H=P)Z+G6H*[8U?@ M:;C[VVFX.^FZZQ3N1%!N7)K]GC&_K"\;G=9]4,YM@#GI(HSG MU@GXB?BXQN)/,0%_)@VSR>I]7TE B[8B)$Z_",^KYYG=B:%11#A;",4<6=8VU-XA*()* N=9DO:W7!U6)U F0M4:BS(5-1YM2 N]:)8V&NPH M=AOW7J58M3("X5]7'F%.@ X4*$-A6829-!<^.\J8%L=<%_.*_]7VJ$BFCLJH M9=\P*2&2WOHS/SBSK-@AE4P5 2L\H/#D[X$J4 MRCNP+:]2Y:SBT#2F%:K:Z^YLPCDX9UPF#X1[Q4T7FS59#G]'##,B.K,] M8!O54OJP1O!I GP'P2="--L"/GA[?;4-:T3@WMK H$4@2)8LST(5.HK7E@C M O=6 !8(I @4)0K;@\!BF0K/-G84*Z_RG9PKM#> 6D"00E!$:K8'@MJ9(7AB MVM#>*KX"@A2"(HBS/1#4SPK!TAE$6/%2H.\@^D1P9WO09Q3+5C@5?D4AM[= MKX <;;LD D+; [EA@:R%<^--&0C [06T=>&VS)P)S<8?JC ?S_)3U6) M[94/JTGHS!P[Y0^??K:=ME+%[3)'6WJ,6U^]9])P)J= MPWX&'GEI.35J0A/@CAJU1!.XQUV=P[[2( 4@2JK.+AR2SE'^,HKH)P M%5["#B>V1\.;+3Y>\2'?3J/V4K0K*YHVRU:.4_<'Q;&^* MQ7@%9>^A;+6O_(\@;UG2'PV&G27]D2GHGB^Z'V72SOG,O=LW M;[E9TV4I_=_(OU<.>E30MT&\D/&:;S >T/:+]-5WG6G;-1=EH/0_?G[XGW/> MA-=8U__W]MLG..4PHB[J=_YTA0ZRF[A-0?SQ+/X8?H W>WXDV->_LR(:KQ272A$SM50C#1*%$7Q/9CZ%D!T3"3I,S+(WP[$2+]1@X M.?9@\K[^UF:WB90>[O]OZT@I?8+?[9^^YS^]@! 2 <>@%8*G"_)DKTFLM4=[ M?_>I:T=[;[O3E_MY(G]T G'CW;G"K;A6M;R0[Z(#.Z46W-^RS*^W7 MG_[[3\IP\$OVWX_>#&UH\"9X!VPGU79P>W!+)3^ GV/5%[,YEQ@;"!_:06![ M[.'^MN[;V!U:<\'+OWQ[9RRV"=]!-9RF;9RA-%\%GA,NMJD6K=32@@0D\JF* M.<-(SQD:,NWIE(5D@IKIA-*=YZUL5_I&EGZP:5:B#&[^1B'Q[+@NU7 GZS$P ME%.%96/X)OU9^85V\ENN@J4?LJBYQ%JJ6&MC*9FN A"5X._O?TX72"=H,<4_ M*R--EZ5-A<"^]+":+G:7F3,36,T$U?)],:F.A^N%E<)<82/#5)QK:CJ;66CI M6&[[R;?S0;'68']0+$[?F?V?WO&(3,52>B*4EINY7#J4]@K4;.92 M\\/'7S_???_]V_O"]U7Z;E+-JUU,7U,LGEW2U+V#_'=;EJ$,5#%>S5X7%FKP MH6^;2W\!HL)L!1<^]03,V,T3,-&+"3,AG"/+BD$WP80L;'>.X@ .1(DL?@ 9 M,EFA?$/'LU?1P@]@T;/"XD)38K!UI:^I>BTQV,:PKYO#.F*P!Z@*Q^,T7&?. M)KAD31T[5[;"I,A:MFC]6+U6E4)A!6?=UW<@P]VN&QLPM5IA34;T',=P\PGI M3?AFJU/$*3:S(T03\RC*PD#+ KG/F4FXLE^:M%%GWJ0F;05:71T4 *B:L2=. MZR^3X,WXU=< M&1G:;O9!UX+GB5XULD\ZYWM.<1%?_SJR9Z"7"48UU[R./]. M-6D_]L2-[O*KS0/(Y.ZF4Q\$=^R:NY]]%?8O-$2'*J@L;;0AU)0FV) JUGVE/66OIR8M]NF,F5QC M=X?0GBZB/8G[D%>.)F1X(<.?18:G?TN*I0F!7C P(=!SL%M"H+^40,\5^SK3 MB5V R^6[GNX7MH-%!1/A_ZV/YFM:V>HXFK3>EC]BY (!#I@+1R/ MESD]1/;T1?HU( AM7B;USO=L=R;]VI?^AD:0__ RKX:V/AP_$G[W _Q;1DSO^_P%02P,$% @ 2VY06":T:$1V$0 H<4 !$ !P M6RG[;<,1((2+Q2I@J1M]=??+D!2E$ 2@"PGNE*=MJ9([+, GL7++D#PPZ]/ MDX \,![[47C2Z;W9[1 6.I'KAZ.3SM?[B^[[SJ\?7[WZ\(]N]X_3VRMR'CGI MA(4).>.,)LPECWXR)LF8D=\C_MU_H.0FH(D7\4FW^U&(G473&?='XX3L[>X= MY,GRI_SX<'_7.]@]W.ON,[K;/?"&[[M';YV#+GN[Z^ZSHQ[M'?1^&1VS]\ZA M=^B^[;Y[QWK=@Z,CVGU_-*3=_<,]QSG[V]OYX_KJ3B3M9&D#/_R^D/IIR(,\_?X. M/A[2F.7)ISP8+B2?\BB) CJ,WSC1!&3V]GOP;YX#^,$QHZ!;R;\&XR MF[*X6@8>[^!CU+/7W=WOSC45DCV]Z&YWM]?=6\BDFQ1BY1P>[LB''4*3A/O# M-&$70/0Y\V@:@$@:_IG2P/=\YH(5!0SM9"%!Z7%"^8@E7^B$Q5/J,)-:_/B* M$&37GTPCGI!0D?5H/!1YC7DBQ#I$6L)5Y-!$&#BFC/-B*>EW6)#$^*N+O]X\ MQ6YGQUQK&G='E$ZM-)=EI/;LCDT.2F;=.SHZVGE".ZW.0:7=B?1=O.SVH!GV M+-36&;"Y;OC5S>76D8=Y&[7+0R[WS#Q4MJPZ6]!)BM_Q<[-1] W6V<@DK;)1 MW6$8M; '.9;Z,[3XX7*^MD MCFNC,T^.%Q4Z:1A&B9#'.]F]Z=0/O4C>@%O85H[S!G/+O'SH4(;/BEY)_#FF MW.%1H.G"=F @F#*>^"PN#[T"8,R9=]+! ;B;#Q#?IIR]@9SD210%BZT>'X,& M%L,H) R2K:Y/*[S+,M/XCXH?^W*#U,&&Q+#R(L^+\O MN$,#VX*#B),&JU@]BM_#<^*[)YVS"#R'#L%[7V\O&^9P0JE,GT22AHS=Q!^%-?+;3H3SI(T""[5BK'<8B.J%,MNYK77 M4*?]U/63RQ ]*)$3X^I5!+4UO;=8TP* E!!:5.MG41A'@>^B2WM* YR,WHT9 M2V(+ZZY#T/*P#Y5_!S7'"I.?0Y$,BTBP+25)?$,YE&K,$A_R^7Q^%N&T9!V8 MDT5>+V#_JZ7D%;451]Y9-(&"C5D8^P_L,@1VV$H,ZC"U-!XVT3A')Y%'%O") M5+"ETKL;@W&/H\!E//[T9^HGLVV?1_@"5"-@6D?6%)BEGD7>:QG[(8G-N%$$M%>]Q&NC'3A#%( D_ M) 16?0[2HHJ_2R<3RF?0&?FCT/=@X Z3OB/B0GXXN@$;=< Q,Z;#$$Y+TM$R M21FPZ-?FT&2.37+P%I%WRQY8F)I/*?+TNNKO[2Y7?R;9HKK]PA(Y][F*XOB& M<9@63:)0C*GFG5,#AI:#GM)/L22;CI'7"/@O I!$8LK!OD7T7$+.PY$_#%@_ MCL'Y^!Q%[J,?@#_B#L #,0_3:(&T1.TM$S6')!+S%Y*C$H E K=%7%U0G_]& M@Y1=,XI5)*8ZQ@152VM9V5]F!7&( ")EI!;Q<$WY=Y90L,L[YJ3<3VQ&]DIA M+0L'RRS,8<@9;(MJ^,(/:>C M'PP#/R1R(Q%CU\EK*WW=TJ'G\.0 M$DZ+./@TF0;1C+%3%@)L<@-3&G,.*H6U'"B^=0Y#,APB@%I$PET2.=]/*4AC M7)6%L=TJ5XVXE@C5?T:@KD B9:@647$%LSZ+"4^67%?5>XJO+ 5;5+%]QTDG MF LF7::%%03T5,T7=;5(6CH4M[F$*3VOI14.A&T163*"<$^?+)I"649+0(4[ M+&(60KQ%%7T%0".[WKXDHJUFQ;^="[>HDN_8"'V76X8[!V&J9SZP+@MJ*UQQ M93,(4F"TJ=Z-XOPOM'Q@LHQP='1X%J.%$_?)#S?1@9+,7?K@6194LN*$@,HQ^S;6/O+X6';<:1:7,N#/L;< M2C*,HL+GX!?XP;ICS3FJECK%W[<)-6=:VD1J%F7\0CF'G#PP6_KJY+5$*>Y^ M'N_$J',&UF9&LC_#V6<6C3B=CGVGSV$BM2)!.C@M7TH,8,Y7?C6#!8FV=ZH-!.!9?&X:,/E*=RI+./!.:8PS!??<#U)PB@H $!9B:S2!9^9 M9S!'2D#$Q&#R3.7OHF?9(@./B(R)"&.6M3(@(F6+8"VT,]VRU9SJ/*6M':VN M06LG2N#&:*T,IM@E4RE$MNRKW*P\?E@#:[E6 D"&7+=[&#%O?,M/1/+[,0U? MOMT;J]8:B1*/6J%#4)]+.?WTA&L7:^\]M(JT MAJ($S P-16HF9=4DT]U*DZC<0)&]0$4#66W9([>?%*D'8?\6E^&Y'XYPQ?MC-,C-)L\(Z2=EL4%(^J3(CIBDMC/\4+73XVX,+>R> M\0FTQZLH'.%E53I;PUF'+JVQ**'"ZNTG,.Z@YB[J$_T.*I>_:O:K;(U#5,0U M[O(55Y'7?X :P<<7$;^C 0P!PV2]YF&O36L@AON3\'ZN&Z6ECS5>H8*+='J-J]ZHN6CH?JHS>&J:G)^9_C=->;V'QBG(XPQII/I2J/BJOA: MYM5=8O7,Y^I(IH^4%&Y9+VIJ(&JD[T!GZ"?6DU ;3"V[2KRH@5VI@N0ZMH0N M]K&R>N)!FN"WTO#[C&OLP.O!M10K$1]=UYT1'9.2MBW9BWRLM_%60FJ)52(X M6F);W73EJS5WZ70J/WQ)@_)71DI?U;'EU!I8RZP2R,E>"\)8W%S+XL=,RM\% M:C&_XO]G46P=::T1UW&E'CQ><"4N"(*UF(_R$L9@RM ##$?]T)5Q%R827?ET MZ :T>MGW-I7[)>.4)MCZQE5XEA&KW( MW?; M9:(LS$-1RR^#+4IUVX#]JJU1J*$.PV-),L*] B&YP.TT)1*K_FOW"\T M86C)K?C00>G0@+:W]%+5HL%&(>XJ'7CR]BF#D8Z5DCR#. MT+:5*='.)TKDN M?!TK>RC5+1T9T6[&;WCTX,<8]KV(N$+$*BQK$+7,*N'-)6;G^ 045)+94BYO MF1.%#GB:V?O/%\P%QR3 CW:FN/6H2'H+8]3J!*^B1LMZQ1%A"ZPO*D6/.U-+ M"KTE$8*J6VX-Y\QCG#,7?LBW G"O^>H1-WMD'>?J]RB6.,_U"$:S-QO$IO66 MQU-JV^+ ^QIRN#,*_;\$/=D&JN>0;:E!2[H24&MNZ#!XES4*4\AUMI+\Y0.; MUG4(BBVNEF@E<*:>$+4]%T7'KFP<%SR:9 'F*%P[TS8ZM*RK.P,K6,^:/*HD MA6SAW?:_.@D;&#*@^&WKZ",N>CKXI0\JTR\>I=.3 MCDP..B8=DLCD">_B57SL1K@<>@G/$*BS4UNV_'T/L5GM)N7.F,8,W_D8>. MXA&7(COE,GHTB(M"&LNOO;#R3BYD4%3UV$XP'X:"<1V%C2(O5"+(!TX,]>4I M;[# '4_]K AUA:E/_[-+(C;374/?$S2W*#7=RS6AGGD;*N\6[F>'F&@*TB"Q M$47Z!*T7-ZZRA8#B8GR@" ;?1[<,9A+AN8]MGH&-X0ER#@N3^FYC7?@O65M3 MJ<2DNE)\ZS<;<)NIKTRZ$9R7QRNCHC0(;$2!_D.G-+08L.O3;\)(G9D\';&! M=T_YB"5?4LS=&>0:LC;P3AGZ$Y2'X#*$[F\LE@[F(^-7_L2O;XO/!]97CQ_B M6PW)B[;!1D\JF'M2IR4G^Y:-_.S3'??L*3D-H%^N[[36I^$EVT>2JS&IM+N; M&TU_54JQ$:WZ3#HX T\TU_S#C[6DU26W*8M\-I1;_^$!&_JFIBSO3*(09BU\ M9C)+%1;47UC5N8(<,V9HI>8 &V.$!I,!7(B@ 2Y#0,MC_BC\].2([3^XLV<] M\PU3%2\X&)CW=F+*"#,D-W7P[+.F%ER9=".:LCB(5WDSJ\\YUCHF/9W-D]S0 M&=[J/U(N#FQ)9IP*)2.BO12+B=3\,XQ M/8:):NO!!N(9H4EPI-R7\Q0NP_\RT>"OHP!/*+K!G2T3N&[N8;5B&]'9_L X MSR;$FE[.A\$,Q@85?HO!KH'W-9;?^1@,$R"*N9=%W/4BX@NG1\QT_MIS$'^V M1W<_YHR=@_\BAMH+R'< _S4WK&:9C6A5^=$ <@5"1V!=ZI]-SMF7LVOJC,4! M$Q<^CQ,GU4SVFR0V@ICBT!3Q4C?E? ;] W8E^4)'MA[\A#F5_\*W[JO%VWL2\=T3[AL5X]O5)<=MFMZ[A,C 20L3E.DYI#RTK_^)KAH7[C@ M4,?NB@J9DBB>#\@/N2&1^+=__WHZ>?89N_EX-OWS3^*/_*=G.$VS/)Y^^O-/ MOW_\A?F?_OTO?_C#O_TOQO[KY_>_/GLU2^>G.%T\>]DA+# _^S)>G#Q;G."S MO\^Z?XP_P[-W$UB467?*V%^6?_9R=O:M&W\Z63R37.K-VS:_[?YD%"^:&\D4 M F>Z1,^"39JAY5EA$""T^#^?_H0^F6*R9/J//]4O$>;XC(8WG2^__?-/)XO%V9^>/__RYU?+<((3Q?_O;BK?/Q76^DCQ7/_^MOOWY()W@*;#R=+V":Z@/F MXS_-ES_\=99@L9SU1W$]N_<=]3NV>1NK/V*"9E+\\>L\__27/SQ[MIJ.;C;! M]UB>U7]_?__FVB//NMEB-H$X_V.:G3ZO[WC^0N)W9;3*MY;C+F MD0.H2U(Q*(46*T1'JY!(YTLISF>>2^3]#>_Z2*YPYD67GLTZ&C*IL)^>?<&J M;M;:;(4%NG2+3-=7TOH=S^?GIZ?+SV3C!9YN_KYTL],>F;"8M9GRE4AI*(?* M_([Q\*@!72DL)N69%J!9\#*2LN92*.F=*+JQZ!_C\MT,D#\" PX40#,B7!GD MR_.N(\L_TB(Y6R"PH"R2P9:.19,B4[;X(K,44K0FPFT4AX[K14K=.>;K,GQ+ M?DQW=>TE2)YKXYG77M.4:\F\Y^1Y2, (V@7DKO%0MP(V4$6X#T-N$K^]8)JM MA;=GV-&,3#_]BN1M;>!\VXRZ6)$]",Y 9%KN+A46T 66@(A.#,<(M.97E&4DQ@:L@CT)4I3&I/C(3S; M4$-]G]1H)H9FQ'A-8=+L&U($-JE1RAWC55HX!.3,Z4A\!U6/PIJ&XKH[Y,B;072C"=D^F;GT\7\'7R#.,$-%N)G,854F,W.U)%J\OV! MHGQOO$\?:0'.0]Y'F3GGM-:4]^[_LZ96_+[W-<#FR4 J=X5 '+A6);C:0EHPO M8N:>^R(L6NC5[;T!:$A>;P/1MYO\7AS=FX 09?+*TB@# -,T8!9Y-BPF@R+Z MHLDO[]'/W8,+QW)S&W"AU<0W8\*[;D;T7'Q[-X'I@N+TFJDZJ]M#OQ$BKZ&D M'!/SKF[L>$'AN>660360TEQ%=85%["KE)6A1*Y<(<9B1]9:*0K=-B#R/:A@GV^V%" MP^EO',)LHBBCI U@:]@4*# SRK,8+#"T12-W3FML'L!>!;"-P-WW(_#])[>M MJG\S7<#TTYB(M]9#9'B,A9P*#+7>"+ RS-M'@#/F>WIG"5(R(#KR6T#JY_< "WWTT;Z:?Z5-F MW;_>>X6:, M?0GS$W*3ZS_55?X,$P(T?[%X"5WWC<+K_X3).8ZXQ10EFD?;912F!6 MIT2#M9X!SY*EP(V4F4,6N;ENN /(\/(:;93$H7/>?"OF$@+F/%@QI+8]>$R(;0&!R MT#)(5BCV)A^]EC 91R& $9R4&<5OT+H^^ $XPTN%M"!&J_GOM9I60M! [J^5 MMB+(E)1.NQV PA'+F:=@\KF?.X2A8F[V@AOIF^A+/Q B8O9Z>GL^GR M<2/DUJ42+ M!DQRE0N83^?H)8O(<,275>@_X<51#BK$.Y,8ML]E6)"T=JO/3 M\V6YS5)-$Z"S#D](2.$(<4DK4F48_":L:H]Z3BQU/,KZ&;4JPXOP+Z%99Q&B]&OACI MHW+5^B/37FD6K 'ZHDI&KFPRK97/XZB&%+LUYDUCD;3+_5QJOU5*(7&EE="" M)2\H?G :F.?:LUP0I @55FOK>Q/#D**VQC0X:+I;AFL%R>G+5X#HQ+U0L5#< MZ"+3%@(#JSA+$KV.7'DK6LO]#AA#"L<:B_[02>_CW-)(*7!!^L24%(GIY#4# MGCA]:WD0)F<16V?T[SVK<]!(+H(8;W@)]6"9DC0@*($D1+)"PX.3 5#QUOLM M^]6'/\$9I)VD_<"YRWWFNNW^ZA4P5_;S,X].%G+7C3 U@*UXG"/5"EI%8:JJ M;;U#<3^:(?G K3C0:.[[/59T!932/I"?#>1,I>I\IUKF!9X9GEUP4?*43(\5 MEW= &I*'VXH5+:70]X'$*[",5=86%1F6NG<6I&, =0/-YIB4Y%$U/UCT**@A M>;[-E$93230CR*NU-W:QLW95K^%B)#$YLQRMJT=FL.ZMI50QHH[1 _E[K77' M(Y"&Y!NW(D=+*=R@QK\]OSE/O]+W31J_?%C0UUI0/)^5.Q) UP'MW@KFL8]O MWAQFI_$T:A=SF2O[A=A%:$A%G).66*L+0O\^G-=($=SA>CP@6:+ 0SI9Y-RY9<5$U15I 2#89E)K>76H1> MAM/$8Z:/GFT4\0K#>G-PE*V2V9.K%DK6I'TC,&^"8-E% ](**9IOMSR,:$C1 MTU!8>JK>D;%@)F&E]&,!P$CZT5^97' M'[X-\QFGY[B1Z7T13ZTHA7P=M MJ+ZPDLP'L$RFK)T*P&-H?;1Y#YA#4M'[\N7V#DV_TFJX93-?O"WUW/.RN19V MG\<)YQ]FDSSR49#:YY(Y6IQ,BVQ93(6"[@BHE$].0.LCIO>CV5'KLN^")8TF MO^7^W4UW_6+O.:",,G/2URYGBJ"\J^J[9FI%AA**--"\8OM^.$WF>?G=FGGYOVDYKX^"KB8)O:C]XBAF+5)0])HD M"]K4P\$0:/*,0.G[<'^;CV1(.KD5*^]T>Y^6 VTW,NX8R^_3#F$R_B?F_R"M M0@;GKS">U@&^G5[6[+WHQG/ZU2OZ=OKI'7;C6;X8C2;(7#DD!U#3! NO:"": MUY[ 3M%_3O>S#=+#6(;DN!^;TT?E03-6T].O!!"%DT%T)3,O!&=:(RTL83*3 MH)Q+WI:D16,J7@,PI.V6OOBS_XSW)'0PI20/M?MJ+6G)0&!*CJP4&2RWV171 MNKG% T(_X'S3.IOR,TZQNHU2!3(%Y.);=,"THD45-<79UAL!UI2(NG5H=@^4 M'4U]OY[U_L*_]Y#3 1/?^)1;/WD:2\$AK73-G(J:X@-:[K77 $-M4&.0J$7K M4U)'RT\_K9%N3<:GEW^OZ5E(D>Q, ):5)[O#K6#1B<2X]>0[H/7@>FM0UDYA M7WSD6F_0N!Q@4AJ9RH4FN'A@D,@4:HC%)6T-5ZTW;V^!&)22/E3X]V:+]YKR M7G+%:&00,7AF0VWVP(5D,=*RMQQY=ME(P-;-=.[-%3^M$FPM['UGN;WJNF"; MX1"\M8X):2S31EOF$S>]SM%[WSJP>&2![T%>:N 93QX3@O&V>?#T"*0AI9@.X\0MBC>4Q<&T MK]4AHY>3V?R\P[?E_\(93'\^IS ?:1V'0@!HY9+78,D7EC72@UIG&8((.6:= MW(W#7[=K31[X_$&JL8,DW&HRVYUXQ:4S2%1;'<:]'. H@R>_-'"FDC=,(VH6 M540&5ELRG\98U_P>F7O1#"EWTG:Q-Y) .R]FW<+XS>D9C+N:F5Z:;(>@P=/# MN2ZQG@=++")REJW0R1:M*21NK?_O1#*DJM3&:O_PF6]X:'..]#&UZ\\K_(R3 MV;)EZ8:83NI@P7MF<@ZU$!+)?ZL)PR*,S &];UZE]2"@(16CMN5$.SD\44$J MS$]^FN-EDG?$^#>5T*IL7(&K!)V=INT)(MJ?EX+PTR)XE! MW)CB?>N ]+@C//CRE^6GO"U7/_GM]* Q7*!]-9Z?S>8PH=CU_*PNY?$\K7)X MF"]3>"-CM*N7 S#I9;UA50O &P18'2@026V,9/?VHAQ3A-WKH:Y\D% MMQ-=6^[N5=CONMGG,2GAG[_]/J\'-E;'OJH?G2A27AT%D>"+)A2,\V5/*8>U M IFS@!HX<@_[O5NB&U)L^QW1OB?Q]TW/VE9UOKB.3R>1O<'(@K:B7A%# MT9THBODHBQ%6&QMZV)G>$MV0XNWOGYZ'BK]O>E[$+%?Q"6VEU(4%BYKI)"T+ M*=,:D@2;>TDQ3>N ?WMT0TH"?/_T/%3\3Z$]1;$)==(LQ66QNR9H.7!F1$23 MP%@/K3=5]]6>N\_#._BVC$$_SEXDXDJ']UXB,]):8*Y%*%:B91H,.6$B!68L M^6) ]DZEUBU&MDCG*3&* 434"\K2-&3#N">69,P!Y-5=*U+TG>$.*BC'4_%LH92;'GK6$+, MRYJEBNEMH9_D\SH#ZWLQ1L%( $W6#$T,]2H,SZ*J9T.+*ES$P'UNG99Z'-60 MG-]C\:FMJ'JDT"-$CP&D<=PQ2+6:+7&D5T*S$*04)?#L>>LBLETQ#LEY?3)Z M-11C?Z9QLS>/JQ:J2V=^]9L\4MGP&!UG22M7#]AEYJV7++C,"]!* =NZ8\\N M^';<$OLQC6(K^?7'L/5M474>EK\8&33HN!$,G/2U=9EAD(VN2C=*%W4UUWW3 MZB:H';O/_YA<.DA2O=C#O\%BK3*7-RRL\"ZOZ9E,Y@]IV%%R7"@*+YA1*3+M MR!N,T28FN+2@5%$JML[M- $^I L"G\!R'D?@3Y%LY!Y%H6B78=&*E''D#&+M M/YM"]!Y54,T[L^R;;-SK\,Z-[-[M.W-(0B'D.O@@0JG:A/1*KL?OI#$0E* MKG4@M VN[R&#[=H$7MV8_6VVN'-CMA:-U=.Y;Z=_I]6/KV9? MIB,EJT,=$\L^UH.8.=7+1P-S0AEC,1C;_ C*OEB'M#%Z),(=1:PM;PCIL"+: M5*&5XI.7H6:4=.WOI1.Y1)9>$0;@ @#[N +D&H;O(&/3FC0'B:%AX]*S#M-X M.2_T>H+K%AIKFF:2VNOLO.(:,&153VKG80"*!KWCHQPXT$ES(G7W8P9>?'*C$^$ED: MB*3E ?@;/MGFIN)E>%-BB-H[IA2G ,N+S "B(F.H4K EJG#S'%(/SO,50-]# MPJ1_KWE?"?5(FO55E)M&SW=>23D"\JET\,CJW9/U()9@L?I7(BAI"LT!-M4Y:"^5!OS]0I,B\Y,J.U+<4I++Y_ MJMT M0VK_(]EZ=H*JIU/=-EC:[,E>UE)J0SU M!A7MF1=DQ67&(KDM(37?7#\4\U8)3/XOH,[ZDG/_[+S2U&BCCIW3$&L')2B0 M:N++D6+6-#N28I*4HX[0NNIQ!WA;<>Y89YJ>FG,'2J^_*W9N]'4+A@O.O68F MUO09EL2B 60E1Q.1C+WVK>LY'H&T%8U^M%1X0RFU;8Y[QT@W!X0O#@V/)#NM$Q-;@MJ+3#Y8D[T=R[:X,O+=+],:-7+7U MJUU9R?0:9Y6@D"/3-"2-+((DCQ$$SPZ,Y+[Y]8';P]N*7/H'\_7[$E^[[CXG MT.'/9(US[?=+>G25X+?.9Y-HN$5B9CH*"D-R"30%A;NH)>C26DO=C60KUOQ@ M6?4&,FG&CTU])"&)X^D2R*JWZ"=2B;4M!DU$MQ9(5\^A+2N.7BZ/I)&#=UI3 M)&_+/7]R<;FB&,D8@JUEEE;$VL)&VWJ9?&(I6\>*)*QY;TVM_"3Q% MDPG &$26BH7BZGW":!DH5>\35B7RR %4Z[J]?9M,[.&?7KE,^5TWID\_@\FF M,GHDDY%(UHF69CV.;'EBD)5APA@?5=).-.^O\2"@[Z%6\5 */73=]6$2:G[& M@;SC]WAVWJ43PE;U_>GI;/IA,4O_&"FGN74N,9MKWU[G@'D@]:Y4#D%Y+2VT M9L[CJ+Z'8Z2MZ=-85LTY]!XGM2O;QQF%4/7^NY/5Y3.UP/UN-SIH"Y8#9[Q> MF:3)/A!:;QB&HB4OJ23?NI!\7ZP[UBS^4'SK5:Z]'+9Y,Y^?5TW[MBP1SG^? MYN4UC#2:>D1VFN\&7K?]+AMK+5?4V[-5^RSOA'>^'@-!79A6H9!R)I<)?!': M:"&T:GZ L,\!?0?EE,WI/!B"],+Y*]9AF4B]:_I57U-;5R=4V1H*S MHH3E2O&D?.O;8W:$^!U4;O;)R]9"[+>/[+7@[]WR*KKJB=2E\R&=8#Z?X*RZ M)V?GB^7#WA9:4>,$M4GAY)Q,RL4'T!\O_^P5+F \V:O_;']@FO2M/=)<->IW M^_?E^L+\XC-V\ E_.S^-V+TM:R@KG?GV?#%?$#YBYR@[:^KA1":S-%7[1191 M*&:]#(&C-L+:QHIE1XB'JMI['G?K.4NIC4J4LGB>&;AZ%U\FCSP6XUBV@=1" M)@>H>;O G0 .J8]KGUR[J6O[DV+;RIIJ!&!R14?,7RP6W3B2I"9$^<"2]).W(4(K6^)/IA1 T2Y_=] M^O+^LI$B1UM;BNBD*)Z\>_*]06;!A K!H8O60.L=T<.:481LH80F+.U>Z24FGE9@(E@@O)%>0>M=YYV1SFH MI/K3L*J%_/HUL;_ N/M/F)SCWQ#JS62K?,$J3P"3U2C6O\HO%A?O?CM]\;ZV MF.G6WNW\ /O:&D(3X]KKO#2RK"L4%\^NK2-6U\N-=$;K'#F/!FL7 *4B X_( MHI(F*6Z#U*WUP[U@#E6/ZS;:-YIGWS7J$$3.PB/+!>K!FN183.1&1PN M=X#5;/'8)I:R^?A;6<<;5+I.H+4[5C?DYHNEI1X%C2BM3K7X5M9SXL""CX(E M)U+4TF<36YN/73&V5H(WGG?IK2[#H=^G'<*D J@U[9?U[,8$6;(13)9 ^CN6 MR((0%"_Y+$PDE];@D2=J.^"#*A+KE9Z/J=7^Y7Y\NUUO?$J)QVH"R")H4X^' M:<<2*O0J<(RI=??<[])N/R7OF@BO-VIMNRJNG^Y1R@:(3K&4:JEZPL)\ XO]N,[H)?M@F>W>@-?'V]C%W3W!_?FA!XX M!SVYH?>J0,,]*+251K'>^%[#)BL2$\$KX7TRL7DUU7[VJ_4<7,JIEH/6+J?X M_Q"ZB]!RA%(4K,7'(IM0_8["ZO$@ED(R E5VO'E>YS#$@TKV],&_W>Q\4P$? MR;&\Q/RB++ CR!]/NMGYIY-?QI^7Z.=7X-.')RL?/V$'%HX] J\92I.>#82%4YYDC>FN!W/K6O2Q:81]4_J@9^>YH+GY\ M2;<\PW WG%6!!Y=&%14MDW5;0F<>Z^'DS(SS0D;G2@BM70;MH6?SO 0-[ZC":&[V%DC0S:Q4.JP)-"GE7)3$GR;#2/))6L(Q/%+#N2 M@ _M&SY>/O_PPN?U9ZTXYKASVA)]07@*,40]YH+(61;)T6"L#JZWT0RNQ&YO M.=^N-MY[DAM6N*\Q5*]\.?KW.,?N<[W('.B962@F(B<+1,J$!:PW+4L7A"K6 M2=F^-_Q]: 95#M>> 8?-?K]J?=DB8?[A_(S4]ZHV_F>8U .;'TZPGH,JL^YT M[>3LK?9W?D83LW#8R!J9C?D95$@&*01>DETQI=O9\FUWLCBK&Q M.%%:9S3O@7)P%\B[/_:WV30M&\ M1BK5\E%?F-!U0R('S0)$R3@Y-@)\]>RY'B8+"Y=IVN_C:\$JFP*+5DA5;0"1K MG<76)0QW NEE=%>6)5?1V-K,PSBGR.'PD7F@8:M2, 9M@LL]'%]X"-*05.7A MW'BH4]2A\NAW"6P6I<+,@PB<<04425!0P;Q5GA6M9.)"83@.0P:H(H]$CWTD M<0PO?OFU%H(<[*O?^J2&'OG#*!OYW1WE(/O)DNL,/Y8G.O)9+B,3QGQI=F'\A ^T2L]M%K[0TW'EM[U0_ M&9*1V$_V#ZW\0^:^F5'X3^C&=7/V66]U;-X:[3:* M(=5&MA'X@3/=B]?WOL[>V_+[?'5:]MH)V1"#*$H&ECFO=ZQ[S:(+D17I M70FM6P!M"6U(O>[:6X%6,CF&*WBUP/.R$_4TW^7/'E;I>M#S&KJ5+4;HK@UN"%YX$^NIG87 MU]'8]!NY$Q^_X.0S_FTV79S,1Q*3H6"1,T+EJS:M_0YM;1P/SHB@*;)LO;VU M*\8A>?!/RJV#A'=4A;54IQD2"JLR2SH'I@,:!L$8ABX5B*!U3,VOP=L2VY : M33^YNMI96,>U?5]F(\.AWOFHF0Q),FUJ=Y+:_KKDQ)V'>A*YAZ:#VT#;ADC' MNE/LR8FTJZB:\>A7G,\1[RDVW5QO_8NS[P*J$5+<)%U6K,9.]4HKRT"GP%"68@%JGXC6 MG;FVJB=\Z@VA(["GA4B&FQ(>W;C%JO^D\$@\?5KXYJB;525LR4>%1@IC$XM8 MB#L). M8^]H2E>&M9;5/O_2%OQQA>1,$ M*K=.R>R+];NTH+MP;B<+VDJH1W=A-WXV:;4$"B23WI%]M^A9]*DPY8H340O2 M[_J)F+=#:#0XHWL,PNTCPJ?AV3*/*;6U4G//? GD4T)2+-8<@5!*"@DR\]QZ M,V-GD$-*/P^/:SN+\4G8MMS&E=4K\K MQB&EHP?'M9V%^#14JQG/4*3U@G,*K11-"7!!!C\8EG/(7G'-#;0OPMT-XY#2 MU,.CVJY"/#K5;NPN^^) BD *N-2V":6N"@\L!EH62FN>1>LS$GL!'5)*>U"D MVU^<1]LP&2&HP&4&Y@#JV? D"16WK&0MO?:)$!^[DJF?LW<%HM5"(W/%U]4? M4VWD55@LJ+3W:!2V/JR\Q=F[@==G[<*.K3: =A)#OZO@WIRX@YBLH^!*T))E M.F;+ G#%4/$:Z,N Z2A+XI"MC<$48S5G4!.Q]9NJOM)A:WD37[VGM\,3G,[) M#M0NPR]/ZFV,\S?31]]Y0$US#RB:I+3[GIU632]N/?'R0N;?8)C"?C\LX+0ER\? [)XH'H0%B8$H[TA")7OD@+/->B((BDIH0K2=J+Z1# MLMS'9.>MO<+^Y=S,\M^$^ O-Y(M9&J]//[_#;CS+#\*&D&(N9$R25N2P&/ , M)$9FE'7DL*@09.M=K(-!#ZH5U5-2];CB[[MW89TUPHGS.INS:76QWI;5CU<+ M\LI;#FIPN,^#&G5!/'B,S5HE;CA:.?-R-J5(_YR"_7743\KN%IS77Q<=T.HB MK[7[]H;6Q+RVX*"_I*'18SYM#F"/3"A&B8B,NUHZ&95AOM98Y'I:TQ\J= ?]"WXX_34>QU 8K%E@(R=5+B1WS(EF&15,(FY4- MS7O*[8]V2%F''XB\^W#A:'[&NV[V>3RON GF+<-[H&_QR(>W]B=V&4M3'X*> MLFZY\C-.L8P7HZ P%DR"I:#(H_4H&)3B68BF1!U"X+'U$:I[H!Q\=_/*C_ZP M@ 6^J%>!DJANCS?5#C-6%<:3!J8IVJ/Q@F:65IKQ,6,RK5/O6P$;GCT^C"NW M;FQN+IUF5O,5%B1P>:W^[AN]E;GX4%L,:YEKP^G"/ @*!84SWECT2;2VD-LA M&YXU;$N='N33GCM(TPR3>['5VPQHB*S>,5!OD.8,*&)G 0"T@I*%:]V?8CMD M0ZH]ZY4[[>33V%LG,.^1G+\TGJPN/UEM.;R9;J#7;-#R_O.+KNP32D$K,>G2:FDBD.4U6&O4V M**%=<5QSYB(G4)7%/AG!G#?"8P' YDWU'H$TI**P/FG20B+-/:-K'O]]H\]9 M.N"",YH$\ONSL#1PEYG5.J.REG/=^D#(+OBV(9#[C@G4FZR.EAVZ;FIG9;T6 MZH#.ZXTQES:91M@D9;3/$UOGD0X>=:/DTNM"S%M<[*:N'WA7SG$DC'(JU/,; MQ2FB*0\LUNN P*+ $B4QJ[43L3VZ0W7>W4^Z+J6;4>Q2-&/ZPZK"QS 9)0D@ M9: P)->^.")IYK,2%(NDX(31A>O6/GT+W$-*8/7$QYMJ\^CB/M@X5XVV%>S? MIQW"9/S/BZS+ZZ]I&;_4#06DRG-L8TI&Q8SSQ\2FD>CXKO\?,F0'Y;K@3/ER6^:_B)@PR>HN2 DF(@L, B M6O* T$7C?'"0VY%Q6U1#2K -A8Z]2+19X++-"%Z-YV>S^7@U@I_/Y^,ISN3U)[S&?I_IBLXHDK2#O43,5:E^E5,L&DZ&E5+PNRGF9DVJF%[<$-:3, MW5#48A_R/*I6O#M]@/-13J"](L="%8U,AV2Y M?(KH^C;2'7.._=;-#XB%!\KTJ/Q[L7@P(S<"0:&5XXD)'3+3Y$S46ZL%2U%D M;:WSZ%L?-VH >QMF^G\]]=A2V$=EZ6^SF@*N/D:I2JE*%.L#ZV/)+'B3/ MXT7D%W7='V?O<7'>33>9_G299)7:<:.58(X[6C/DE MTQH29A ^RZ?(2][$N143?Y"MFZ/)\ZC,VZG$T03PGDLFEE?^)ET8Q*"9(Q>Y M1*XL^J<@9>,Z5O&#[.T,@05/'A2].3V#<5?7X&K?=!2U*#&IP$06-1.K:!)- M5 Q\R* @.YU;7Q+0"OM6Y/T7W !J+O>CE<#=6FXPS8_=S[ISU=N6#VE=Z+;/ MV!K5MMVQ/UT#$&LD1.DX,R")AS+5*D@H3 5>=-8Q*M':?-V-I%6=[L74_H:+ MD8V.2XRU?YDCM2P-$3SHR)(3P)U)G**O_D9W@6/'FK)^<^ -B'!?W>W><]^\ M6OMBS5T=HHR!1EF0"<^AEA8KYNNI=.'(UPP^&$N/$.J\.J1% >+XCCD MH&!$*20SB (H#"[UZ%SAEDRCT4YD2[][.G*T4O?ONAFY((MO[R8P7;R8YM?_ MX=29N9"Z8@ M"*NQ>5_"O<$.43T?B6^M1?ETS+OY_4B(F():MLVMF2:+2 N&XAZ;;3+>HDO- M6U8?#'I(M;?#8>)!HNV9D;6]HBBK-3X4P$ MGL$JD3BTKMC9&MR0JFB/S+!#1=4'DRZ#*)&EI8=J!AIIO"85%C-17!;NE4S9 MG-.*:1XI3VA=P]#&.(?JU>W/PT-E%0NAQR94V1J-"%BP'E@ M ;/,$)4,S?N.W8UDB.YJ?S3:??+[(\*;Z6>R&K/N&]D-P'J1&T5C%(B13ZS) M)P9@ #)B+-HXW5=KK=MHAN@U]D>(_830'RGNV"-4/N?$$S AN6;:1V#!I,AJ MRVLKE=>A]&[+#^YB=+3<=$\\.5 N/9J3BZNOZG4=T'7?RJS[ EV>CQ"]M=HF MEA2$>M^+8\%7>Y<"H 4+3O:8-7D,WI".0!W!\+014W\\NCA7< WE1FY:-^5OA7U(K9*> M(BIK+^ VY&UL[;U9;77P^ MX XRDXA,@*3:JB4N4*8O7T3X%N[_^__\<7+\PU><+R:SZ5__Q/_,_O0#3M,L M3Z:?_OJGWS[^"NY/_^??_^W?_O?_ _!_?WK_^H>7LW1Z@M/E#S_/,2PQ__#[ M9/GYA^5G_.&_9O-_3;Z&']X=AV69S4\ _GWUSWZ>??DVGWSZO/Q!,*$V']O\ M=OX7+5E13 N0&!BH$AUXDQ2@85FBYX$K_O]^^@NZI(O.!JQ%#LK[ ,[' %*+ ME+3T61JY>NCQ9/JOO]0_8EC@#\3>=+'Z]J]_^KQK3W/O_8^KWYY_=#&Y[8/T6/[C__W[ZP_I M,YX$F$P7RS!-%R^@U^?E^3^\3(W^_O7]UD]+)=/EC MGIS\>/:9'\/Q,5&\>L+RVQ?\ZY\6DY,OQ[CYV>RF],Y.PJ2E@&\\ MN@&UJP?!"9Y$G+PXQ,6?T^SDQQ5]/\^FB]GQ M)->=]<.2_JQ;[6)6/GP.<_P\.\ZT4?_RWZ>3Y;?[B?\R/XY$H9!OJ-0.Q0S^L<1IQO6FM*'B>):N?.BX;HFS3L5:M@WX^ACB,1XIK[1@(4,N6H$R M.8'3.8+"K%*,(LG A^)I1<%5?B[0\F*^X>QL]?4Z1,I\=M)4G\M9,S&N-45$ M_^F'V9Q03'83_6JU)?PE'<\6F/_ZI^7\%"]^.)LN"=6_'*]>2,L5/]4OFB%A MO8I^GIU\F4WK&GOQQV1Q9"SC1I@,0AL$)44!C]8"8V1O:9ZBKDZDCH1=73-U&B$AEL):HB"K:;2'1C8 M77&SH:0^&B2R*"8$G@GR,8%R/D.L/A5ME\6B$4)%\WBA<,4*W3\2^@A[ 00 M.2>SZ8?E+/WK[ROC]$A)M+IP3?YUE* X4162IB.4H;>.&Y5=:*S]&T2TU/QM M%OU-M3=0SJRE9&^JFNVJZA2O\7YV4GM=Q+T%"#03N(#K/SWN"3^,/\2YM/)]-/BC*ID M?+;>,A"1S"<5:',+0D1 SHEE*8QRK#$.;J?D*0"@@8QO:E[LO!&D='IR>ES= M[K?+SSBO')/#70_(K_AJ2OXYGA'*O4?4W$!0A6SAK!2X*!B@\(HIH55AK<^" MSL0]!7P,HXF;D)&[0H9HF6-8X$M<__UJ?;!="=*\GQT?_SJ;_Q[F^8B7G+G7 M!K!X.NJ$H:/.10]!%H,FY^A$:^#T)'%\^#2.3PRID@&LCTOFT"J^MWA[NJPY MCYI(.K)<).L+ RLLT::0Y%!D@&*5Y3Y[.AM;Q]WNHF=\; RJS.V&Z6Z:&, H MNH#F"@KBEXM M%J>87Y[."9CO<#Z9Y35>5W_^1#+)];RDPW*5^SQB,3&,W($LS!/)]!4QK2$Y MB=H7(P+70P"E'YG/ $D#ZFT TV8+R?\(QZ>X^MW;+Y7,Q2]_X#Q-B/BCY)@. M3!3(23,RWU6M-"B&X!&+,CH0"X/L2'V(?)8P:Z2SFR!3@^YG+Q()9[%2S^(H M6.\RMQRT-F02%D<;;_9T */@BL7(66@=?.U,W+,$U8XZN@DF/>2.=85.KX2, M7B@H7 BHX4=PB2PZX3"'@DX0#R-N5,\>2KMIZ":2S.XAX7^>+I:KLHN/LRW1 MRA7^X_53^SVNN< /./\Z2;AF\#VFV:>U(E>\'CG+F'#)U=!6=7"S@%B2)G:5 M,T;8DD1K! [-T]-&[D$AXB;B;9.]\SU^.9VGSY6#FSO]4>;,.JLD,!LT*)<" M1&L%H% F,<%U+H.8=W=2];11UU@K-W'CAL3-&MBYN& B0\#L JAL$;RA/QC+ MQA@O(L;6B9-[B7J^J.FODYN@\;N"Y@TNUT'\U[/%XH@=CQDZ MZ[D'H7U@683DR6UK"Y K!#QM,#Q$,7>.=F_+YE3BB-*WY6/X8PW4ZS)Z M$1?+>4C+(^-R2"YDB(I7TS X")QSR%I8J1DJ$T5CN.Q.]=/&V,A:O068.P?8 M[V*!1(233].?3^=SG*9O'^>!3+NT4M\TK[X[7EEZ%S;BANFC:(6T5CH021%; MO+(5G0,N0R2O.-4K/"."]>&X>#$G/V;ZZ;(Y<QT](&S4H+G*@N; M++.^M5=R!SE/VSQHI8=;]L,6&-F>]-?*E,!L(OPJ!,5HGXY!M]+ M'HK^+<]=7VIR3&9&8 >?!1%NN 4G:84[J8+61D8CTP,)'^6.7U/-;/;M9A+; M]WV_Q7QY]#Y,/^'JCHHM#(M*=,"$DFD/%QJ\]P@Z%1'I$$O*=MKKZ*F7]CGZ M[F*/N_+"L>_MM5/;;%?Q-?1WE=M-F^L/K^&W@["/^Z^G:0 MW("*%,9%S1.KB8M .Y,W0(YP .LLCSD5)EBG=-*^%;CEWEQ[_?416&.]_9TD M=7)Z6:,Y4YF\3V:N_+2\3RDG<0^:R&S MAE7F*T+"'Y<(49Z3,Y/(XD>B006FR"Z.SY3RH3H[O?B0+!>*AYA;Q]\ZD/7H3:"A5#! M&LKB97 LSM974@ ML864IX>&%C(?P S]Z72RRA6?46,,<9@(DT4K2\"4@>QM(DY&B:P$BRJYQ@BX M2L'34_P.$A[@FN#K,,T;BA;$[:N3+_/9UW7+RHW[;)64.FL@QLA]3B*#XZ5 M<'2 8=0*;>LTZOU4/3U<--;$ +?]WN.7V;PZYK^1K%?F,3?,W?A M-M3W:DO[Y;0><%>HVF0>O8Y.6D;6:"WRRQD/$(#4X0RE@ (S\;3;+OT^.C\G>#)/YJI%7O6ID0RBVD%]"6UOM MF%239L0K<)2H0XZ1A=(8%K=3\D20T$#, YSPOU9AXNO)5\ROILLP_30A*_;% M8H&7 1JDYE:3%6NC5Z!";9Y%9BX(&[5&U%DTWR&ZT/5$@-%ZPRVWSW$>"%0&4,, ;N.+_)6.O-6UDE_^J'T4\(@AG60E"3 A>U!:0N- "Z8&?R;YYB5_Q>+:R<#;$I>RU(SL&DE6.B.,* M8A8)E)=!,R:*3*U[I=Q)T!.!03NA;VWEU/9*QWNBPD2CN4XO)XOPZ=,-H%M/)@E%I8#;]V<^#Z:=MU9MCQ_'6M%'Z)E(8(6O&9. AUSB4QG MI5DB!\IHG5IG)^^B9ZQY4$UQ<'U7:2;P0[@[K"?OV1M3+P(G<,[S'(UGF#J5M1V4 MTN^XN#*6SOO(=8AN&!M'^,/ZK-BDR0.7W,3DP!AI0"GA(6JC0'CGM=0F86E= MM+*%E'%O3K31T_7N$@V$/$#4^GSJQ$^GY GC8K$A;XUT'[2OA1>8:^>*4B($ M9PGNW&4MD!P@,=@,R-L(>C*G?GOQ#]%E?TW+YF#J0,Q %0M7"-GS!,C=%74= M CM+>8A!&U>(TMF:DI0%ZPIY0MR0)R1JSSP51,E>%"U;>X@CJ+SKI,>!-=Y' MN*UK%6J&_6RX]H:]S;'$O T< TCFW3H4&G54D'6(C'LB^'K)\I9:A:VOV,.$ MI8?+?=9<: W/\DNU$U?I83F()%RMH[%T,EGGP$?+H2AEO S&RTJJ-9K\#_#ES"]AB//N=!!@DRU@"8J!3%5!IT07IM6*'3SV8]6;3N* M:0#SZ,P(_)4X)H]AU7_NOR;+SS^?+I:S$YR_FJ;CTUJ$7'/0]%]>]3UDN:B$ M'$Q&1L>&8!"R81#)<2PQ\H*V_?C,WF2.#Y)!@[%#*VKK5CY(XN>JJ&8;4>V> M][GGP0W3/GU8&"OK$Z0+R((#36JG(R 7\)8)\$(PF47F EO7:>TUZT.(#H1D M P:E('Z3A6AJ\[OLBI21"=5\!.>CR/KTP4&OK$\?@1]"UN?=?)9/T_+M_&Q@ MQ_H>=R["UQXBH<:]5.2T(Q+Q0-_5 >5%TX'>( )\V[L/,O;32ZFSAL)M'/(_ MHZ?>ESJCZ#SFV8&HA@F?K82,G_'974UPOIK^$U==VO^^;F?]KMII)_3UID>7 M#L06H\W1"$,[60RUA[: J)).M+NQK+M%#>YYT;A)G4:ZF TDR-;AH)_?_/SW MD#ZO*EI_GM=;'KUFFXFP841I1=B'SXB$L64X/B/&RX)<(B?7H]:>VE @(CI(S)I4 M?.1>^D[ZO/[D1Z_#G435L%)_1#6=3Q:,5&32J[U'+T;1.Q'"9*)$>FM,X [+WI4%/-WMMWJ(^$1VH[ MTX6DY]=WJ)>B.O2?>8B41P) 2B&D' P$5DF+T9,UA&2"<1ZR--)ET_J\.]R^ M0ZWUWD>X0];RW=9")WGGA.!D]Z(@?PV+J%=9!0B?>"PQ&.*W=T7?P?8@ZJ6) M;=5]NXIQF!J_6_LC*6^5) ,G(1I0B1AWR#FP8&N+)(6>K!:VXAN MD-J_6U%F7'3*9&"BWB1PMH!3.H 0P9+"7-+7Y\C>50'X]-391' #U 1NK,G+ M,T,Q">X$)F!8>\[8G, +%\"%9.JX>61EJ Y0E\@87^%M?;%=)3M@QZ\C5K*3 M!"]PAM>^(;5\N+8=9ZRV#T$CC&@]/G3S[OVI]<&*V*+87E)LO1%OB'B1_OMT M,L=\>8[SM4YC@B$OPE34VDPV8PH0M6!0T)F@(E<)NZ5/N[_S\2IY2.$.N'W? M-ME^/56E?":_M2I0LP.A/16!90MRD+]-'J!CJ;9:(T,PDJ_@B]4Z_$Z>P+*/6F._>"DC_A;>^\OY,O_.(V+5]-4_]K,@HO.J%(L M1+*^R96TM&O6P(@8EZ5<=IRW<]O3Q':S&&IBU%-\ L;4-NS_/3N)DNG+X M:ENF25YU49I-5XY@0?(*,S\R/+L4M0 K+7E>=%B"<\*0MUFG1:644_/Q27WH M.X30ZR[6YV"Z&&)21_BV:M+R<7:V.C;$X^(-+M^6G\/B\R8.=<233\EX"X*[ M.B3215H[Z"%QYYW%@H$UGQ;>@[['CIO!=#&.?5%GC"R_O2(G:(Z+Y>+58G&* M^>V\_EW-\C>G599ORX?/@7Z__FV- ?&D,@<=H@+%' -']CEPK3/3(CNN1W!B M'D#Y8\?:'O0WR-30SCOMK=S5<8=G[!UA44QQ=.#]:F32VO#C8(7G6CCMG&H= MUOQ8I&^IZW[R:4YV\#A03(< MX*++AHZSY-LTU6[[^!+7?Q^1H49[GHS 2NVR$[,$5^\]\\+)0]];Q$CLT_JWICSI >XZ?:W#A*Q*%LQ.L:;7;$F]A==N9MJ9+:;@7 M^9^GB^6J3R(6^C?UQ@V1[I%9"4G52 ,S D+*=28;BY%.5MK06M=##,3*8\?? M(6CX)G#-SJ.13FKAU_^1$8-K_3 M5]$PUVOS?LKO]F]?&/G\-TU*MWG:D8]T[>PX33*$>^B0ULG^QW M:0:4D^=IGU^]_ZT[>_AW_.YC\? MA\79.'6E:,-VCMQ:SLC6K"6V(80"UJ>B98K276\-T3#__@""Q\K2#X:P[0G\ MH=5W*&G^.T1ZF<%U?R6K561*0,%8R)JH7=1"<< X4XGYI&WSU%T/\O9?#C X M9CJ/4MU-=Z,.WEU<$/HFG&R29%W(':BLH">I^RDR&$SUW2'63&\' #=>$%D@ MR]AK260[QR JG2&RK)R)WNG0.J!R$#"[IT3A4%'61UT#H.OO8?XOK!>:WB.Y MWK?0O$[-2UD,>=GD=XR)%#=Z4#-DEC%FGK&SK)%,WRL9W+[C$%Y_FB)='31FN1$R,7'Z6-"A!?[C /4AM=1#<&]F\'V 938_.6_?QKV**=?CF?Y(VH!+W(*- K7R M@7-Y[8KKME:%MS[_:6J]E4 '2/E^G(>,E;WS:D";=?&*@:'7@^+%0##URK; M9+EFTJG61\=U&IXF")I(?(!$\::CWLK6(2DO/D^^;$C+W@;D3(!V9)83:T@6 M>=# ,!&)J? H6J=7[B#G:>.BE1X:9H]K6]#WQ/59;_12IUS2UN23837.9.HX MU 0QJR0C5Y;\M"Y@N*=#_/D+GT\T[N%R;GCJGQ.QF936@8R&XR NO7K\ 1 / M%/YU]>T@N<9S'BZ3$ZSU+-H(9(!A=5,E>&4D:!MDD(IQYUK,\AY<@7?,,V MG7ZPV&(,A(+IN2M3^1IX,@*^&UQ:R1=QJE>Y_R M+K_T$2KOP3(;-^;_MWEM0$'FEF6A9$C"A#K3,H,GTQV$9T&5PG.6KG*Z"QYO>EJ A!:P;!DIO MD*Q[.V+^>PN5SQ-2+50V[I[T!I='T@MMF#%@LEGMNY[V71*+M1B+MZ84;!V^ MO9NBYPF>OJH8X$;1=NI^6V Y/7X]*7@44*B@,YE#B4PD%04=L"4K<%;RPDQ* MWK;N4-B%KF<)F@>J98 @\!U">(]5G'7.QJ4]<7W'@1\9[3BB9^"88'662P0Z M>3/0(@A:9<-T&/$TNXO49PFP=LK;&G9N6\K]:YC,_Q&.3\FI"(O3^3J92OR% M:9J$XTWN??6K_&)Y_NFWTQ?O,9W.:Z_!G\)BLMBACKLU"2V*N <52Z,*[O.W MGAE3T_QZ$N+DF/C%<^+>3L\)H@^\F4WG5^B[M!Z484-N0,Q91RE4Q82ZJ8A46Q5Z#3$&"8).'!$)]>2I'Z D M1ZT-WQ]V;^SE>]'[P122;[C_Z=N*_TN5@5Z60E80\$#'E,I2@K<^@%-(_W/> MYM@Z#[F5F'VEI?:$C6T(W4E'0_C)5\5SBT!6$OAM.HL+G'^M@G@U_7*ZI%_/ MZ!P]GJR,H\M<;>J1._ U5!WY0#SMJ>"\#73NWC+WJ_?'A&N;(@KR*X"Q&K$/ MW)'/H0PD4:+5V6)N/A3L<>'YOLKVQP7G/NH>HA@U+#YO1OB::(V)!@J92F0@ MB5([SYG:_EU@0,V0-Z\X/7_['FJ(#D*CUXN-'J:. 9(H?Y]-\=NZX/[7TVD^ MKZVW/%GE FA=,I!)303QE" S@45K;85KG6F[G9+O@&FEIB$/QY^^G7_Y'Q.< MTTL^?WN-7_%XM2%[+K1FC &7K!"5T8%GAJQ>ASQIB=ZJUM=HNE'VW9=HK+TA M\BJW1M]NT'NVQKH0.[2WT(70O;L S32^#52#J6O(?:P3T61OKG,"S5=6%Q!%=K6OD M[=W!:J/:#B9P"[V,Y%-=)U68E!EF#C&56MM;$%P=12"$2C7;[,_7NAT M]Y_VAIP^ZAC+"S_?BS=G;M*,D_T%DBG:>!79[X'I"-H[S@LR8W"P6.(==!V& M";230KMXV[MH8P ?:GV,GU/Z*ZS::FP 2*U&Y4QS_:N.B_@:CJ^X%A<$'R4E MZWPN(D\0>81]6F:>-F=F-+D;VOD2A\BC=B)N#_76;15[2[ZTO58&.,->? V3 MX^HA_#J;?R J/]0UM%IF+S$N+[X[RD;GF"4#BX&!LH*#4R%!-E[Q:#CSL76( MIRMM3PT\@^AD ']^JQ2.M%$.=2 ?UZEZJ=H4"%%$2"A=9D853)U:?[0XQ9X< M.II(?:L/WO:&QKH"H&+Y K8?/L_FRX\X/PETK,^FG^J7MWUNAUL9+5[;XB9& M<_8;W;ZXU+)FZUYS83\QR[Q6W(!&D>HV8PBMT8%5.6GI;(RJ=4RN%X&[[F-7 M=]7K+US'SPRSJ7"C('M6XV>IT-HM!I034:%AA?'46 8=R!KKQL-P>+F^N[76 MQ<'<5=A0^1<>*;'Y3X792 M]A7C;J[QF_<==Y;\ (;W9LQ?=6X_X/SK))'C^K;<0NWB(SUR^F!ID)+A7/ M&1R7Y'RI+"%*GD!'IZUW"EEN'6+M1MGXGNK^M#\;7'5#Q%IG\R^S.=%YU6;9 M-%V5R!VO51N2,U Z$'$!%0CTTD2=?0FM780["7K&<&JGJ$&VJ;_-ON)\NMJ_ M/R&Q?SVPMT&[BD;DR,$:DT'QQ"%J3U_94(*(B+3?-]^HNM'VC+$UB/J&F!@? MIO_Z2+;%2_PR6TS.ATQPFZSBBHP%59WSE#4$2>#/60ICM7 >6X/J=DJ>,80: MJ&: &JKKKO]%.<=6L\[?I',-Q9>!O)/:+^=)*QR2XD]N*CI@""OI>BD0HXC[XG="/\.SY::'2+9WK4H(!3E?:V<8P(Y[?)*@D?4 M(&2@O[R(7OEG4ZBQ/Y UT<](6?IW\]D7G"^_A6FNU4I?JIW[X?3D),R_S$U^%%PA"2V"H M,DDU"A%&6V 79.U_DE5+.,R&5@;S]9-*;J[8K M=';4R[X@Q(E22Z:?JRDME8V%8$.@1:7)NZC3'7GKCGI[@\X]J>V#0$X/=0R MF-=DE&ZZ9(D8DG4<$@NV3H9@$+DLD'@F0K0)UK4^E2[>/KZ3UEPYLR:2'2 $ M^M/IY#BO[RMMOGQU0G[*URMSP*WAGCQ-A!+J+3BA"D0B%0)/PNJWU,<#&<,[T>1>'DE0=G<98B: XF?Y!1@%.R*Q$4KZ(U@&>:R0\/2#L M(N,!@GV;<>_7R4*K65%"0'*6@ZI3GX.4'KP/R4O&8VG>Y7(+*4\/ BUD/D!6 M]C6&!7Z>'>?;-B992Y^%AQP3G69>VTI:O4;D2I"." ^M R1WD//T(-%*]EO' MX>RR0ZPJ$E(5\*LI">+3'!?GM*EB9$(%%CW1AH+</CZO;RO9V"Z*&/0F8%>W3>.BBQ@YA48FT,.W#/M>6-LW$W1 M :&C35"UH0*&J,*X2'>^Q"]S3.OVS_3U,:[$/KTRSG(K,T>2:U M)M5;VE;1M>XA>!<]3PY$S82_U2%JF[7^Y>3+\>P;XD\XI0C>*R.38:4: M.A'6+LE\\W6+B_>==4VZV!PP\B]"ZX6?D@O4M+&LM8!UUX$CI5N M;H^9[1GGUGHYE+3S>SIQU]W'*D\?OI"K,)N_KO^L*JPF,C(3"@,+8#DG"]"5 M#)YS\B2EL=%ZKGW&QFB[EZC]IYR;XV$VI%X&,'[N)/#,:>U"XD!9YP[D[2?K MW%BQ?6"S@U;V!"#/F)(LUJ9#3(.R4M$*XA8P\YR4H]_&UB.X]P:<>W+.^\=- M'V4,@!>B A?+2:H$;JY&"J-C8 :P7CQ2+",$%C.88FT17H=HFIN#-Z@8W[-J MKJSK76UVDW3#,%":G4Z7\V]'OWTX,@Z]$#* 7@5 '7*(C!M(V6#QKF@O[[JJ ML,#TYT^SKS^>/7&MZK-O+K1\\;[QM;JKU&<[B6R(AL.S.4X^32_QPYVPC'$& M!3F"RJ'6Q& !%T.]Z<6L$AN/+OUR\P_DFWD!?IAK:4UDA*PP!31TJ$8*#(+4C**,S%ZO-$)B@@2%E@C-*8&( MAF2E8I;-FP=V)NX)@ZNQ9K;N:6U#NA^6L_2OG\*B+HZ3+V3'KW;T-V$^IR^^ MX@[1W8Y/;A'H?0@3K?IZ?@YSO/'J%_3FZ2=?.1=^+;J8?%[F.<+[+DB M-)>6CC9DELY-I\$QD8%[S6@I/)-\^*-B-^M&ZBXZ)T>PAZ3&4?2GBZG@AOPLFZI+[. MB%.\<'!%2E"""W#:<>"KDGJ3$XFS=4KUTOOW'W0>%0'7\ZT/U<00B?TX,ULT7%.XAU>&6;VL"@VH&%JSI7M$ZWK2-NR>'-NL0B M66Y]9(VAY/MN' VDXS[2;*C;:O$>U7;R2YR?O)I6'Y%LS4J;8'PS(%1RQUP0 M'HHWBIQ&)B%R%\"[''7F/,OK]XIN&M)=7K2'TI@=E# ;2()#%.^M3I[-A3B5 M'+-U>I7DE@Z?%!"\M &$3TP&E,F(UE4+5PAXWL?WPW4QP(61APOB@HUIOGY< M=>!I("M@"'[V8TOL )/K?LNAZ'@ DV00WDIFPF7G &,LH*3DX#$4L$5KQ16S MW+;NQ?5X<'N/>73@L.VCVM96UB\?WKT[OQOF6U?0;'?I#F!L;5(NJWCNVR]5*)O.OJ74"5VAUD'7N;9D M:'KO$((*F+0M3#1OS+R5F&>,E[:*&J0@:[&<3](2\XJT,Z("ZMH'.D$ITA"L MR9MP.1L@$6ANC4LZM/*83)!":3\ATY3934\+;X8KX\>E]EL3+7K.-DL'D% M.=:!,(HEVO9JHE?%*+S5(IE.!>;TU$LHH>\N$'+EA<\S$/!PF0^A^,WEXPYD M]/'9NT"@_:9POWN]@_"OJV\'R36T&:Z3@X'>7FP$J[0ETX4A.#)\(:80R LK MCJE.-N:^%;C%SVROOSX":ZRWL\JM3>^86%CB+("W@I@QGKX2C@&/WF2#1@?= MJ=#N'LU=>>EX)_).8I^UD-D KMZ#*Q+J'=GEMTO30=XN/^/\X^B[<#- H'KB,Y M1- ,M3CB_7S&&WS^\64R7S<<6#-"WC995N2)RX#DDV=&+/FB(0K%2]*UM+YY M0^=6Q#]/>(^N]GWD%K;)L9;FUKL?OY)JUA/:W\TGB;R-0GQ-/[T,2SP2$16+ M+$(IAAR'4AP=?V2Y*,O(TXO)8V[=D6U(?IXGR@\!' T#2>LX^N6@Z+O3>?I, M'-0 R(;"L\6I14 IL@!R@ NH8&IC#Q(>XXXL\&"-2=<&\6Y+871[X;-!V&!: M&*#)X(/W^G.6UMBG?WTRFZZ9/;NHDHVMVSXG5][:.M5)@W?"0E"BT.[OC3#- M"Z('X^;9@/? @#% \45+:\6BU/,+T\O5N(ZF'N[U(^X*\81N4"KT=3Y0!&" MTQHR5Y(GIIUH/O#P 60^/Y .K,H!FC0^6&+$VNH7_X633Y^7F%]\Q7GXM%EF M:Y8W:R\?(1D929&IS7)0=4@I6=[6%6#&::.7IP]/XP?'F!N+@NS MMV7QYK1J;\//Y5ELJUC*$=K(;*#3I5[]!J7IL''9(Q@CY:IYD-&MIX8.Q2_DW@>SV!N2S<3[XVQ91ZXOR99;3-(_PO$I'C$M M$#5'**4N5C0&?.VWGGP1Q)[BQC=OT3@"7]^!OV^PW%P0?F_AE#,>WYXN%\LP MK>-HKIEM[['JF'Z^:NH0TO(T''_$^8DXDM8C$[S.=:]MQ1W/M >4!#KR:'G2 MNNA!BMW'9?-Y+I<#AM(M^9K]9>-O\GQM7T!5<@B60=8L$6=D^WG..7D[WF7# M7$9S,&[ ?H-BTQ>?Q%.IM8S8O; YO-<) <,I5N63YO+KVUXOKHQ\*-@A8B&18@Y1U"J M< B1-@J!/C,3G"9]'.XJN<;-]\6P'V#<@OF=,[;GB66@WL^E7 M7-0E7)E:K#RER[__>;98OIDM_S]'>(/ Q:W '[G?.U@G*VC"+_.YF<_JI_C1\GHF)E/ M9 A&0>SJ2(P' ];121>3-CZTKNL:E\/O2^-P '3+>FF38=[A[/O'2@R;(-NO M83(_._D<*ZA5<$ ,(C&6##CC:W%GM$;%8ID<)*<\ "_/;@TK M(KNSBB+R4=Z6CV'^"9?KS-_/X4LUW=Z6GY#KI)GKR>_8[SUY.3 MR?)(%%D4BP4XUF;*K!B(VDEPVK#$+%IUW1?>4@.Y*R7/!I#CZ^T6U#TX@[L# M];]]^;*AWL>29"032D;I:,UPDB"W#H34CG-CC;A^G[LIZBXH^8ZZP?1V"^K< M>(VS5S^]L=W_\D?]LGTS[4YO&Z[!=G]F#Z?IMJV3J#$PB$9H4,H3F&,%E MPS7=[J/L0VFZ?;6;&@F-6QTX!%=ONT?4X*WDP)(PS%I6ZQ,:P_6)]>WLA8$[ M^W;VT<5CZ7O8A:?O?3M[]>WL!9,Q&B ^1,>/!;\Y1!,-$Z MS]6M\Q"LRA"9 M*]S)H'+QSQ:WO?IV'AQL^ZBV==_.2^T!%T39JNG"6?L19Y3@J10Z17(-7TD& M/M9#!8/T600=F>WDBF]_QP$ZV8,K<-9>^@W[6UQO-\IC83Y9!DG)",H:,G1M MO;<=#/?,>18Q=0+!DVOF^F"E/U"Z QQ4KZ9I=H(?EF&YDL+KRV-^@S'.&Y,@ MHHCU'DB$&(H&78A +#:ITCJC<0Y(5A@1R10XDVHWG!),CB70+OGX 7*/F;H? M?/01_0"XJ,4#M+N&X_-NL053D;%(,!$-J*("Q&(=9,<3"R[Z&XG'G;%P@XCQ M;92&2IJUE/ 0O=/PF'[UB4RJ=8^@FEE:9R3.Z$O9,8XE0M"BMD]$ 8$[!4%( MHCA'0GSS:VWWT/24 -%4_L-TB$=ZX&/9ERJ JR1*%;U+5D+!0!#6 MJ@ 9XQRB%!B3)!=?MCXP.I#UE%#26@L#&)]_PRG.PS%1^"*?D*@7R_4TX:M$ MZAR8+DF!U1Q!1X-;UV[VXFPIP26]IH8H*'7B^/59S#?[LN= MT7KDE<(HF02O)3GVJD9>3"R0(SGZPEMGKX<\=L]$=:+L ,GP^9'!U#85G-F MC-*3:Y>'7BP6IR?KX%_SNI/[7S5,OCD'1CA M(\_:6VX/IA'UZ\.K.)'*.L:T TY+'E22CG;VR$!D.CG0<72L><'.,ZPXZ8/2 MX2I.^BA[WQ4G5^M-?B8B'4N)6:ERCJS3+9;G,PBFEZYO M'0331^8#S@_I0L;3&P332_A;!HD\1'(#*C(4QIWS&6*JY#C/(7"FR:H4-I,W MP=/UH=V'J8I^UD%G#>.W-B33!:!N2J?$>)XD0ILCG4O2MR,IF MH93M-J7Q<4SQ>;#R'BRS 8*I5VN?6"Q)*&DAA*Q Y57!@7"0LK4^1*_I,/]> M9=O:%MI=%P,$3P'.T M64=!7K8,4J-A,D>)3Q-9'1.)$GS( M#+AVQOA@K>CF4?7 S],>@;T+>EHHZ9#&O9VWL[B4Q7D_6?SKUSG6]E]('"[? MU[%>F5:"UT811[4<.JD(W@L$4:0@_\>A*0?3:[TK4P>(YX'3 P<%DT,:VWD; M@S7_G):8UPT?<\G%96.!I]7,WUK<( 4'QJ+1QKMD=*?9U'T7P"#T#:5Q@UAN;#J950W>V MGNBH.9 MR=&5J>\K8:\P&6JXZ4,8O'4:^[6*K]4OZ[#?=8JN:S\9XAM6=?5 Z7'5G'V7ON[KS;N&OH[ O3I>?9_/:F/HWVHSFES:P M&OLE86PFJ*U&P%Z47D5IZQ@#!MI*\MU])"M-V0(F1Y^C54FSUEW)!F#C\5== M],)C)SME/%R,%M/IQ-)-ALZR'EU8&K5T8R=V]E.YL7>HM8-^4YP\EB7 Z>R5 M+ )QZ$'E+.CLK?-K;,W=91O(!7FNT+^G^.-9(+\'/%KW:;M)U-OI^;5:QPM# M;B$8$T#%0HZQQT1RDLYD'G16W3KUW_&20XENC*C!V0#B;]ZI[09='W^?;4H. ME'+,:J)&H .%&.OE? ]<(N.&QR"D>" LSE_R'19-Q#_\;O&1-'Q^ET=Z7@UJ M*'Y5UQYJ^*\DP))LE%)GCOZAP+AXS7=H-%+!:%FP!TIJ-7MD_=5J%$16'(67 M=$Z'2,>VT08<2G(8G0C:*>>4/B"?^5Y^#@7'XT61#@4<0]7_M.)M-?[D$F^< ME5RR%N S"E"<68C!%.#%Q<#0JFA;]R0:DI_OP-\7. ZI"NAFFF<]&>B("\9M M8@%**0Q4,<2:K):.$K2*N>",'?#8^#43WR$^*@R&LF0>4K=W97C?BVD^K]F; MU1]=XK/SQ._HC/;29;(-2\U/%_((T1H@+U!%$0V)8Y %<1#B^? (+.U M9.A O(WU>?NVG/UF-99Q+8TCK%'R( K4;G>@K$#PW NP/'.3?=2ZM)[+/1)K MWU?& 4#FYLH8:!#W ]F\R=Y=FP(_2DZ@#N2*6FS88$I8ZC3U&0])#F2 J;D"0GYZ4S716?)]K MVPX#=\^U[:&+1].QJ -/WSMN]9MKVPH".'PM^K0DIE#I^U88Z=<+5 M-OXU*ZR11\YB"&&SZ3JX],M_GTZ6WUY-:6&=>I6$5.2"%2JZ]FTS1N+M^QH:>PWM@*V&A7^K^TW#,7G)N?OY5-/8QLQO"ABH7',6U M*Z0-$WT"*8RM308+!,0"UD6,/!N1GTK@X""U<&\7R,N+1Y7 N:N+AQ=>[V9; M"+J6" 3N)%>L2#5(Q_7#$<$CVAKW'"H] @^JDA0=W$<13JF@H\27+815'(, M@G<.;"[>E,A\T0?3VK0DYA< >S6+NR?SWQ7R8BWE(##_BR/;]@A ,.:(F9\G0UJ88)O"1[!1C M930N*IFO^[C[#WU_7Z6#K-*#4V,O<#[&$/OI'*_?]KQM+@DIJ_; >1,@1(> M::^JUH<(*J$K2#)Y-.=M'\Z_+^/#/&P'0^_CC.S?+X.00BZ"S LO;*U%P0+1 M%07>92>,XMG$Q^/^]HU@M;UK_B*ETY/38WI-7A%6N9OCYWJAY2N^GBT6;P+Q MN*1O=KARWO\E+6Z>[\A:HPOH=U+Q:DK4KFBY"+=SC3$G(T$4:T&E.FN1Y0!! M9A><])8UGT?8E\:=;]QV>]_Z.JG-Z+/U!7BVM%.[S,G)0 =:%1/);#&N-+^0 MVX.^L:Z(#XJC&]=PAU+0H=SY_K DWNJ#UMMSY6\VK;OSZF:>33SJ+#4P*1+4 MF0;@F G$5LR6&V$$-N_XM M!.UI@$X[QR"HQ)1NAP*I.3)6T.A(=8).8(E MAI(%XVWK6$,WRL:/!310XW8KI94.!KA$]Q[3<5@L)F625O3]2I)Y,4N3GT_G MH!O*X2MV*RI%C >LX\^+5]-Y/#ADLZ$_%*-&$'86S MKW"#4 6=3 **T9YV1Y? Y4A+00FO23$IE]8%M <=;E!>VE!'JBN5(LF#_@B2 MD;F2LU91A-J@^WNX83<<[11NZ*.@QQ%N$&3PR%I@Z[RIG344JQP9*#DSE:/4 M138?=/[HPPV]8- KW-!'':/YEEV(>N[AAEZ*Z^1D/D3JXT'">V%L<8#<^"FYH>5X_&TZQW!<.^Z_6A4F5#K_1H*HIM>FY5\6 M/$M)I-9XB3*\CLKE"()+AL5'ST/K&T1]:7QBZ&FOER%*ZFM7R,^S8WK:8BT- M8I].XES93QAJ+VA#>V!)8 V*E)R+5C>O;;]!Q2.(1>[B/>\H]@&.GFT\_SJ; MX^33=!TD3=]66V)(*U5,;]\@-R'4=[/YZA>W1%)?Q,5JO-I1DI)LNRS N-I/ M5W@#@8D P3(T3&C#FN=:]L+H$X?SX8-G@"/X;9K\A(4XO)Y86-R91'!,&>]H M83,7+"A>"GAM+91@A(S>ZQ1;-Q)Y&*7C8_81P.@Z\(?'P"!=NW?-A G/65&6 M&,"XLGZQ]D&OEQ2BS#[8S$QK:_(1ICX_OMJ8&RIY@,03P'W82995U"8F1OZD*J%@\U,&4H$JT0JELA&J]D;>P M1O9QYF7IH_0^@ XN@G)2@@M)USMY3#DT2+\[[#.OW7:ZNHIQ_YET)%P*&D,$ M[BJ\2@P0ZU=%.$[^KK ^C[57=B3YF6Z$0RATB#GH-^,FOB1A$@I(CM:FJO/+ M@G(>M(O$J]J6=JT50_K )A>Z[GIF+-1)2*C6="&1R=PW38KZ\ MR+;_#6>?YN'+9[(ACE>9=IZ40,,M,)-)/K'.?9;1@M"%"6>*E:93NIG><@DM M]-T%4NXD8%^U2HUT.VLMXX81GA51:^Q<)NDLL=6%J#X%2?-YRPU%/QL)ZDU3+UN*'CS^B@Z6W((#(K76._:67#2"[".98^. M"WYG3+&?WMZ\?@IZZRFU =(HY_;$+W_4[B+X$TY)DLLC%KV)Y'8!2DD^X"ZB5]*P;0\CZ,0?>_IP%ES?TH" M>$L&ZCJZ>22CESRS MP2SZH(3E:F99"M%=DFHY)M?M>X,W5/"2H#Z:3A%K+J M,]>=S.M)AY>G<_K]Q\]X-CK":$Q&D.V2E:(#3$<&K@Y8, PSRTR$:*[% +9T M,&Q&TE. TQZ5-$""Z"46G,\Q$P>O)R%.CB?+;V]FR_>89I^FM43QQ4D]6=^6 M6K2X^=EM_^BW:9XLUJ%AS+^$^92X7+PM9TGM#Z=Q,3/$8P%@L MZSJ'X,GBULERJ81V#%OO>'M@\RE@_;&@9("<0@]*=3$\)QG!9EJ]*I+?&)U7 M4%@J-EFT5K>.*C]/& ZDDP$:I)[M_]-/J_OD83[_5M:-*TD *A9'O@B0B:'J MG".R3$40A.L241.UQNG&:-E.S5-"1R.9-VRUN3(5MI-%%D B#SA\PE6"M<:< MU](Y\KEDP[(#QL@-5MKJ:A1DL):C,DQDG;N-77S RY\")$81_$V@F(;6V(O% M I>+VBUT7?1W?#S[O7:(/K(&$1F2,T*G("BF$&((&E*6003O:(=KG=GN0-93 M0,U06K@)%+N[=7)A9Q&99U&/Q9%7/DA/%.F,Q+:+"('+>G$Q2F71:!M:WP'< M0LI3 D0+:=\$@1NB/.0LJOH>O]1RG>FG]_@5IZ<8OUW$65]4/W2'DI&^KVA1 M1K(36XU*2Z[3\&JZZMI_QLT9S,BP]#S7:',6CBP-JR 4ID$[SJ*-147=VKKK M0M?.%5;I,^;38SHO[WC;3]_.?KE.GP?KI4B"04)&HL@I0=0^ B?7C7.?>#;- M!WKV)W.LXI3FZ+EQ>7!@%1U"]0KM[(O9\22O>%F);)6S]48F:\A@DYS7G*TF M9R\H#46CJ-<>DM>=ZDGO25_?_O9]U:T,KN]94[DWKF6X2=%9\K +30VK6;;1 M,7XQ2PL=W:GR'00\EO+)85,,N87@!?GYH7:+<3H#^?YDY1473>IT2?V@E'Y' M&>56C^=+LA.6BPVY*V0GEW0PCL/6=<[-U@X&4SD ME:,F"?C"'9KV9?YW$/34C8'V6AFB>\F:EDTU40=B!NJW=X60/??9VUU1UR&P MLY2'&.Q\A2BOA?*U=XYT=3M,3H+GWA+@77*L1&W"0,[X(?33&UCC?83;ND;F M-Y(CYA6G&_;.3BL>F#76< MP^4^:RZTAD?\NI+F=#[[@E?ID0J5$J) YLZ0_>H0/)U/@$Y$HT3V@=T;I=SV M\$>KOET%U7H-_F?X$J;7<&1R+ADU.*4J;Y$LSR@%)"%KXJP4U*63WFX^^]&J M;4G<7.ZZWQFBFI;0K^:[+\_//I8CD[P?FK:3H^S60YUMP7_58P!D+(,JM2%K,@F\=9B5-9[GUB?I \C<&TB&B^H.K:R1!E+2NHJL M<%/O?X7L?4T6,X@%'03#5/+>8%+?4U?.JJE[X[I*YZR'VTU%4'FIY5ZJJ/CCJEKAX@X+&4 M[XRU+EH)3M;]DV5!M)%3)X6,+"(9BJ+3]<"#4OH#4E>M==Y'KB.FKNH%,U_[ MPA63ZNT&3P1F7D (*;PB'].&UI."#CMUU4M/'5-7?80\>NHJQ>1X+1E5]7*R MPIAJDM9"3=WZF%*1L76/O2>3NGJ(,=!>*X.GKKH0\UQ35[T4=6((C8TP*W?K>U"UD'&K^:H?0[J["WE-^ZO6,_C_Y2@A> M70 <,C?5]55#Y*4>Q.:8.2F'10M%>U!&1XZ>H'TIBDQ_.NJ4GWB M@$=3?C8H:M]3JVMOLDPF8.0^@HV&$7U">SY,NJ8D^HCY-%S4IH\_\*9@"(R>7HV M:Z@^'D03:CBKHS0_$0*0]_G:H8 M%^C _*I5$4X;5U,T;&88W!1>*EEN9:6A02R!#)] MK"_@Z8""4I@WVC#D[)I)\-AR4KWDWBTGU4=H8^2DT!7+%09PW!I0$B-XGP-P MEG2J%[VTBYV4>( YJ0>K;U=!C7"=*B:;F9,:BJ^WNU G\(P3;UH&5LA8-$EW MTMOA99D>K+8=Q32 >?2NXFB^_/;N.$R7+Z:YCO[[4LE[@W7JLI FN #9"P&* M<^+3. LI2"EU4-[%U/C(O(N> TTP[1*G;2;^/66:5G,K\F1Y.L?%K[/YBYQ7 M[UA\G%U+SC1,.?5^YQ"YI]T8'S,)Q6R00O!03W%>!_L2,LE1AR*5X)9[VGN: M9UX.- EE,*5(&RXP[4D4*>?::D8#U\D;Z8-1HE.#I6>4A.J#GA9)J#XJ.H0D MU/91;)B\C2DRR*'0[JVT(OF]0?CYX"92#J[U3K,J^TA_M$&% M78AZ;K,J>RFJT\3"ATAY- @$#&QU440+1ZZ#)O_!)9'!B^@Q\*)9DQY_(ZO^ M0;,JVVN^CW 'F%7YVP?RYEQV-@:0V2*2%UO[DEPI7 3;6'.M.C$ M>_F=CUF#.\EO@/7WG^^.I/:",1W( MY!UHA&HG)VX@Y>PI8/42O\PQ3=;S4*9U\AO]^']6WS8,475XRQ!!J;[,C1F& M*L(R[VE/RC5PKHQF0%M,A!(];3,E)B[\, OWX,)0TFO+1&90)SK37)WS M%E%IC(8Q]+FU*!YY&*H/>EJ$H?JHZ+##4-K%J"O]NM0D0DD[YAJ%Y:[Q2&ZB/]T6(078AZ;F&H7HKJ%(QXB)1'#$-9%FV2P+A@H#P: MB,:O:@6$TU$RT>T(.BS5/R@,U5[S?80[3!B*%U]4K+4))CGZ0RD(*A?RQE'7 ML6[DS]U5"?MXPU ]!'\S#-5':D.&H:30]#^FP&0>0;ED(<9([EKQ6D4,DID6 M,>+##$/UU^!.\ALF#*6],2;K DQ)5MM!$1NH#7!3Z.U11^?;K;]#"D,]?/WU ME-H 8:C+WC-]?8RWN-%'W,):@([,U5+UJX^* !Y<+YF)8:'W'H M=!QIX MVL5M:ZZ.UA&G*TL54_[Q11W/_)'>\G9Z_.W^,-*M2[X^9XV)E"^@[?)HF2K&6U\0/8G&:1U0F_PQH(3#(N4 MT61SS3;?5O!\_LP]; \#8N!J)?3#!'=S,U [Z>_##H.O4/M2K="Z.WO>,+Z;238F_K6NT^B6"SG MD[2Z1D$T_OV*Q)J-D;CM'4]2VYW$>E.-9N<*>)RO+)=IPA4+BT$4N>TM3UJ5 M]XCVIC+MG0;9V8_K'Y&(^_=_^_\!4$L#!!0 ( $MN4%@HC1.\^%H! %66 M 0 4 <')L8BTR,#(S,3(S,5]G,2YJ<&?LN@=4D]O6+OPB"DA'>HU*501$ MFM38Z%LITJ1%1(2 @(A @$ 4I$@1!0$% >F=2.^$7D1Z[P20*I!0 PG)S3[E MO]MSOKO/N?]_Q__=<;_[D@ECD+7FFL^<<\WRKD4:)\T#S#H:VAH !04%T$C^ M 4A3P&V \M2IWS_DYS3Y8V9@9&&D MHV/F8&9A96-G9Z=GXN3B8.,ZQ\;.]CL3"DKRG--GSIXYI6 ULJ"^ZL5U[]3Z51O!6<1.[X0!& M2.;1\X"SM!R<7-P\PB*B8I/H&O@X)#0M^$1<=\B(V+__@I(2T](S,K.RG'\LKJVCIV9W=O_^ 0=W3\.RX* M@)+B[\]_B(N%C.O4Z=.4IZE_QT5QRNOW 2RGSUR0ICIWTX#:QHWUXK57-&RW MWJ<6-YT5E#'$L#]Z/D#+(22+%L;^#NTOR/X]8 '_KY#]/\#^.ZY)@)Z2@FP\ M2A8 #)S<3PL3 PH@G#"4+D8MT"U__5#<%4I# EXI>QKS=^VEMQ&E!@E,7Z;7 MC^N_34W> L_?FXG5?.XGC@:'0SC*]<(FL=75$JY9S5IEQ29'MI#[ZQW57QCZ M6/T'9B^-JOA1ASYU,6^>[0F;7#OZ;OU I2 0%_[P\8ET!.WQ$%JOS5E\(3MD M]*#K-6PX#!NIL_Z7)1"],Q2 +IW"[>J3<*;:\I-*R5,'0 M5XR_ZZ<85C-,=HYJU4NIHO!Y187)1MR3=3T[@^GDY@9V7!,VT!"'+#PJV2H? M/&][H,L,,S@YV+<]?O&%ABA%,!]6$X>]*7HBY9IY0V=B?&M!CHC=MYW;*6(D MNQ#9C2C=FY)E1N!G%NC\;#6KKEK=>?;-6]NTYOI6-@E 0CP)EW"%F7"C?HZ# MSE"I- J7GP]*,)7[]\=)@#GAH!!%A>LSQG"@7 L<#JGH5_D=A\SPRY74PLG^JG4&?3_Y=DJ="&?*.) M#@YQRI%,.4E[4L7L[>\:'Y&KV,N4Z26W "H/(;SAL3]!((DO]Q?MN<(^6C*8 M#UMEQ 4;9RS>[>("8<8,$?U%*!P_"1@W( $,'J(GM!OD73)W$@3?5O>7)I8] MF=L]Q$"68&0X^=/'@D2>=;UC]C$20(G"TX+111DD(-4*@5$F 5^12>M.NHK; M6[:5Y<&Z;Y:N:Z49?N_HIS"J2E&(*TP%1IO^9WY=95?)# -M<(IM')P M#%I:.20$U;%$U)5,*>5%&6HMY-]$GQANW/.[Q2^_;D&S8[UVP99GLZE@0$(=X1BR&H>=\.@MQPRIXXDDB-.&!#M%AIDX!;-21@WHL$V%B? ML<^8<^0X9)V M\U:J4*WJ4>_DD( ',HF022B1G7CKN,=EI8$$_,I7\P]KLL^_Z^52R#)]HZ_[]E-DG^&R*EV!R>G8A>#]* MJ5*AS),$T)* "R=/*MUG4;]H-_T7S6.FML]N)%A2.?7P$$=91K4+)TQW+Y9 M]=[()+@,Y;KB/1#O&DH?N/2E@?^,2:Z*5$%+=OB1;.)PL>"S:B=/EL4Q3VGC MLI-KNV95' <I)ZCG5M:@MY YHU,E+%?]GGD 1KUL? MJ(\_'1>CZ5E3=[E:)U(%L MB+B3 +!* SMJ6JI@=,MW[D]MF M5F)1K#-0O36Y_5-OJQ?+A44.5:E6N2QTX MS\RLS=<]V\IB0C=* ]FC^IJG!H>L2T(5>;C/U3+S2' M*;3R!)5Y<=0(I+J=#KQTQ:3W6\LPLV+>UU6>I/:,8[BYQW#\6M)H/BLW)__S M>L,VVJMS]*2<15C)]9) ##3KRY'S;3Y_XKRZ@_+B?>Z@)G7>"]+I3L1V<00#-< MVB5<&J2O%.W6F*?T)"K'Z;ZLN4=DVUY8[2>)1HX/6'J'!T &T8.$!<(IQ,J=1G>_YWVYOVVQ M3&L8A!W/'Q2@1I\N].#O[TO%_IO3>/2-$(740]FG>H%HR8 MW+FCX8I3_S!O3P2C\%:/$2W.760_\"'[00L)*!\+[B%FZ1WJ[13=0SW#K!?L MKIN]><*4U);_8O:D +[LE/ (,QB6J0SI NDA6ERT_S!S@"Q(M>C)6;(@@4S$ M,"2#(+Z7LB2*)]&"\%0@S%8WH3T;AKI* 38_=,VR(OZT#^O>7N:X0XF$T M-'I4UMU6XA)/1;73MQCAE7? XS>:_R*NPF3(VK+KT.857:T?D$/LZ"[TMU*% M'"4@G)] ,_M0T21 < V!<^X"K^I!"%R(@QHPNE*(O%=5$1@;$C"YL;QI<7.8 M %9JRH,>FK_X?DVPYDVZ+8[%Z+VY!FV8592Z032T(%$J>EE_:(0$?$SV_J2^ M4[VQBNH\]B7R/M<[9B5' "K025'4'Y$]HU?[#&KK;:)6_>6MOP7<7*_F>ZNYHOWXR+T\'95( J3K-F1,ZPYV M($M^%W[5@N8?M0I?=$7/F.SJQAM4#DDN#RUT1J]??Y#VFT>W[:G4(=G$3<=5 M"^BH^]ST.[/;KMQ>C>O/Q,B**9B3G'4EM."=K@VX;R^1$=S_$P31,.'R9*TG MD:D)\F+8JA9Q1AK!XIQU$E!\E9IP3\KEX2\&?ZI14CMC8B M1!=(P'?(?[IKC27B\HFTOJ+!'AOU"D3VSJH=&@'7@_:9"6!O1Z_06QT^A]4E M:O:8GBR1@'Z.NM^F))K1#KF#D4GXTM5K3X0(/2D^KR2^=/+9%V2W*3R-WR4*E(N>L)+-&8@B#F@2 M5!WUCD5NDP!JQ$E: V5:E+U T__/PP1*,0IOY/@OE%OH,:W'*YE'E/^4CY8] M_URFBMX3'/OHJIC60Z/ *Z'8:J??:G+WA^N_'6Z[5^G1^%\R+GIMQ B.=SB MU>%WW3!#;0<^M!LQ.-,'(>IVLW+<5QXSL^_/13PJW7.EW?"_6#HL)5MX$6]8 M/K2XZRI:5@D]-W'UWAH-2*PY)F;5X> 9$U1P*^47IB#,/CFB?V(BD$/C01C. MHJ6![X5U)IE M=%_<[GV:C+F9]F7J^\&6KX8%R$IAP6NG./YJ)')>"BDDN\:=3L3\-@DH,VT9 MLZ;&\D>%7NAW><&@,V>9*&"=*)%?V++D%MK9U3>8B65J0;'#-,ZD6&)ZD>G- M':=T-RY=O(_[FC[1\=57&^3RK]A;\V)<4(N7LD)N#,@QN#B8PHO7#OID+B8' M!02^,H 2N4?EG)\YQ"D9_]@JK5\D]E6^2O;[=M9NG.HYH,C_U>' [:? H.8, MY!?-@/_HA.P8X_84#R>$<,3!8(LO7S!GY7N:]Y9\;.+#?-BP :QHH,K-^8F' MX9#^?89SVL-UVCD6*B+J_#I;E!?)3M-\$*VV] \BDU,?DWD,\&;?-8J=*T[GZ=[4@_D0MV$)4 M$R34U 3;P_0*KBY[3>Q%M.JU1P49CYD]=\3?557&C4(O),@'.XRG=YQO$:?L M%"S^W:(G&5$-B#_?XV+DQ:6@DBMS*7]F%'XVW^L'3'\?=HV:("X]!MKA_?V[ MPY00.==-LI;7$E)BE_Q*)I6CQ#TW$X?E9=ZZ)1"8(74H \+&H2^ZCQ!#CHZ( M.#0)DX[?W'G>L; M^/KIFE85)YQ=818K?_^IDEE/T:"#JFZ]H?&D%+R4LDI&?0YRPK&//?G+:AX( M!B+O>@J;1]=>H8@%S,6F4N'*V&_&GL'&C8TJ/X)\- G2VY&(E4,M$H B+]QJ ME%*,(GS8U",V&2)6Q_-_)@!'"DVH4D0KD@(7,&/7MQ)S6E(";_W^@8?R?K"W@S1.?[+,38,0E8 M9;*>^X=_0%1;03M7"M>./YH2V:+BQ-+"B!YJ,/%2G ()$%9NF=O? ;\ONE9) MH%Z@41%?9) RJ7ZK_; \_ON+T%.M#_>ZV&=>?88NY-YSZ=+VMQOR3'AZ0 +> MUH2$%I* R@$52%;1.V-./.<27F.0C>70?7@%J5.)\864]/LSC2.@S='0^(3 M"4O9U\[J,>=9D].O4X\G[/:%^LMCJ",RAO?%9).L53W7-+HR'K,$ X 6/:RQ M ($SXP!CR.TX^MR.I-K< 1+8 MTX$JI[%&>NRQP*=4F @$6$-PR [2F2>RQ8W>)KA=ZZY,,>@_$8_!>9W'>C61 M Z87>]&/B#'>\/[*>,#(T2C&[GCR1\%@PJ?X"!>Z$V3P74_JTV!'E=!6N,Q M*(U9-!/W"A+I,^_/#IOQ!\&:YXR2%45*=V9Y0]. TE1^*M@Z!4$\H4+F#,\X M;#!^:_IQYE+&;(KX^TM-.I=4)8Z24.&9 K0X5O0, XWNS'.]BNF@;8';],>@ M?5OB*2>O15>"'X&<[CT0GXV70>P$+Z96)G:Z#2V!L7L!; &3W !]GJ(B\'XX MI86]%DNWD/QI88T@<% Q9L# 10'^G*>P:#_3!)Y1=3-0\>=NKQ?KGK%\'Y40 M/D9H7=>O.>L,=U[M!.\4%[VI2 M<>_H-_6W27BX,9:IYM3..GJ\EI7?W3F8:::C/7>G[S8&U=['XI3"ECXD=:HG M;=:R/'6(GBZT/SJ]XKGRTO'(-I6#9S+O29:(./EH4$AR8ZF@@'$9I,#=M=]A8SD60!07B<>J[;;5 M?)?1.XB-D9YZ^;VVRIA;\.55,&WWQG#NMVCD@WLZV7)XS>-5/:5[*H.UJ'D? MO7!97P0/++#96FEPX:RL3P:'3P'-!:PUM-?7+%2'MU";)RD-1!MZ7%RJ5R(T&U\02MIOR,XB/,,@ M":()\2%2$K83;B<9D^JC?1_3MH6U]YH#YC"72_&WK:9FX!)!5YKI+)RUG6TG M2,!O([$A\XU1S=4IC,1^'Y?P?%CR@K/:^L+L\&HZ6M.!#-T\7>O%\_63X\Q03PQ@/T?$8F)("MCCT/KC8 5UA@D#*N M)O915%H\-9:DX*9^=GUI3'$>S.]@386+5"MUAGJ?1/ZH>]:T4_:-B['Z^HE3 M0H-28.'KA)QJVVX_ZSBK"A%C09C3^-X5]63K^=+>]^^SW'J.7RN/?.B/O=J;LQIM891OF<9\1JE9,K\9KP M&V-[SCX2'-\(35G6T##[EW="O)]XN&AU=E*FYA"9CN:8&GBZ%XS*XGR3[NL' MLS&W/W8M34?W*C\3.A'O4Y.&'70L2+TIE..ED91 A_5(?'(Y%=SY1"B"M9VG MAHF%X%E=/K"G*MY4,@/EB.,@&A6JN,5]^@I<7^E/:1U%31IQV%IP&Q8.&Z>. M^8]MYMXK\"O(FIUBP)6CW="H2(Z=UD0)#]Y05\'CTDAR()_76[B,F PGZ@@C M3P(7R5W";!YL:&$Y9=%9O#EZUL(JR4O[$\_"HJ/W( MIK;CCGTU7159EEK=XK" M.&-QQGA%$M!LE=;$C64L?-'/NQRJ;%&T4[52V9623YN:1GB(H6Z9$;528QZ4 MRQCVN$ZOR_%E?13+QWR6XJVFXI;OXR?5J& 41YD?;U--?"#!*E,O'^>_I:>J M]@T7Q]FI\OCM-8J-C3$Y[#"F/)::76_&4._QY_@47W_1B>&V 8_A&3T? R?/ M84B\$Y$Z%6?;.@;A\:>!=<**9%&H@4?030]6VO0 YBK@5=.W^47NTR8*C6;S M&$1S"A?N0%QK:S]1 R^7^E[!6]21T#)UC1XO8>LTQZ4BDTI0K,>$O'J1OW'= M@TID!Z_OLW/I:=?L*-&G'2"[FG)<0H-PVM.5L"C.1TLNLG0+O5L*57G0R_I.@ML M5)N_4O_B8'F/NJMSW+PEU8XQ[[/3%+&4;_78UT'EAG']1/[+$:5F591S3XV7 M&ZX/JX&TTUJ2Y=UEETGP&?#]!CC7;/,DG M[YYES>P)XO8D7#0;&72%((&97&ZV+QU^X128HU4<=U/E)1\W];WHJ#:G#K ] M_SD$ P%>/>BB(5KZ=IEZ,; R(LHQQ/(DAZ#KL=B2LU99.@7SB(NS1V&(@;&'NWG!":A+.3XU-LB^ MBVB3.@+)00[)1?@-\Z,"_,FL6O;(LVW\]WJPT?,R W7XA6.NOY_0F.82N_TI MAQJ$"?X8UY#R9\BL::M/]F^**XS?\-SG/G!.U!NM*ZEA"FF0:\"Y+48RM1Z[ M,&S%>O$/"O*);RJ*^7U\#"H4_3JZLJHZ%M&@"/\-U[$HQ02_//H"1 US:O*2 M7H-FS%E<+&BAIZ3X4=PT[E;I0.DZ6J=\8(J[IV*%M\5%W<6].G!V-^SOV3SY M^31UOK;VP2W6 #6;FEN-MCA-]J%QXO 2GN-Y++S# M72([.QD"Q][1\#L))244ESJN31\B@\$57JT@'N+05YB[Z#]X-U-,KW=SBCI=CNO#@L[61.[SOU M/8_-+?*[+>57N*E"IO\@J!05Y']AFJ S4$>Y@,#]M@25O%B:8-;VP4N2\8AZ M^RSWE>GY5\-BR$]UIEA;"ZQ]6SXR]+[NDM/S==W<.T9+-SJ;THT/]/.H!U,D M9IN?EY=7[]LWHNBZ\5(XZL7#2&1??!Y4X1S.7OMS+OW@%OJEJE%IXYRZW!RQ M^]#Z?,@!?U5B2X/$D IK(;_)?8'J C:._N7'TUPU7[OI7[T?#L,@)S<.&@;\ MU7":=_KA,AD0!XP$>M@#4M'!X[T;VJQ9EI[4>.JH%QR<@@DYB,99I1%[K\&O M8(E!"Q*&L[X=U9_*8D,O\8[T4T'9EMBY%S*S1L:'HSUOHOEU6\WC-T?FAQ:B M.-<:%$=L:@-D"E;Q#&6Y/WX8ZUR.BK^NXD'5,(6U6@F%BQ; ]<>(@ALU=U>: MAK^R3*YNTM:M?@\M*+H5&"S\TE!;N$.'L-A/%(9?QU!OLJ-17+#;FF,2*KR9 MW7Q]=C!;W_:'&6IJ?G71TG%(W2'$TTU:\%L4LYRSKM9PN5ZP@,PKFX8!$:/= MD;@S-\];X6\_9G[6$DR=P_:#8_-A1+0&DL :98Y@<@*Q[3LI0\KJWX:ZI);; M3Z%L92YS='"WRUB79\ 5![=)@%-44 JW"E^:WEE;\XPK;J&E>3P.NQ'.*(GA?^ M)K&'4TTQ7K>F=*3NPH)XE.LY$!Y-R64TNSFJ6Z7!P\@4>\>!E.KS.=D#2/=1'DMJC=32O3>[B%.$3MK M6'%O)Y6C&!V)YQ,UAP6>4%P(>Z8O0SGBY7Q_E2MY)&@>%<@).067P-_'.;4"]4J5KNO!3;6D+F2KC(X)/!BR/.@_)A9@?L09E/ MGDU0?(6IR@PG6!8M&EJIG[Q%E^-L\(J$>[@6Y^R;.;CTNXBOT#Z56[>=7O]6 MM7?Z.YW/ZXY"F&EKU&3( KB-!-"TH/LXG<+SQH779X/QLFYJ&!I:'8I8WC=- M LFQ0_[?Y\KB$C'A-[&:@760=$M<8"-1*+3#R]5AO?1&&ZW,E^O4SP2KVD?. M8\T@G'+( $.8X9@>S@E- LY9;(C[E.KE;0P)/@$*/\8:%!^&[6CX6Y=['I;? M@<=N4WHYLV%9L5\,@ MO]4_6O?=M#Y>WK*KKD[PBG[P@5[KQYLKTNUGEQLZL"1@4Q5#MT@=0A"U6]2C MA7W;6;E1PO&U/N4]SU(:-7C#^_27-KAKONKGA,Q%Z)J0"8-,(FP9K-014Z;0 M(*V34#+L[G5Y0)T]]=WO.4%J%I)#],#78U:(VB0@&/63UY4$I,6A:$RWI881 M2B>S.'<2($0"6B '#)4D8$"7G,MX!V>2V-D,+%>T_LV[ 12[9)D__86/)@GX M&DT"5BN141L_F:9DB-K$*!)@(TQF[0H!_>5@G;J6V$X"=NZ7@_%GR#*E/T*6 M."VZCL\1=3RS2<##7/#>4^.#N__RO=+?B?W7D_;-_?N&@T\]0DW$-ZY+"9I, MY[IQ/6,JHMFP=K%]#?MY!;,V]1%?FGL13V7C M#,CN(Q6"6#V3C9B_C CR=R*FCY" E.XME>U<\++:F1YN9 ,*3879/@'*M@EG M]##I1&8(([D.IR.W7XU&)( 6/.R#VCWR:]H7)70T5J?+'8X1SL_RDX O'$DD MX&4ND0W13(>>.Z: SN%H4]":QU&F1(14E5H&"?B(XY1]TG!, E[SMJ#V3@VA M,.S@YBC<3;@R.?5+D']1W">(D0"#=1+0]^.0>CAE%W1J^5\ *VK0HX(#?/' M,43;>N6NX;2-Q-VL^U7T+>>T%>:-=CSA:Y/$;(B"KV170(0B\H;(?_.WP/*'_PXR\*@9 MH@_5"AZ!D@TW<@A*] WB#?*/_E5];"F8(H($";BU%4]V$S!=K>Q3/OFB-U] MOX[E6;0&&I*!^D?VHK_J5?.XF^GH$!=R7 @^.FY8W'5]EOX,.0CY1^8QOVHV M_:\VN_V?9#+V7:\V$1 F>7UN6Y3XLASO_.M*QHH-+#">A2=QKE0.K#K39='0 M=S*@7''K)S:?.WCOWKPUZC6]7S(=;49;E)ZT5>#/OB50YB)0CD\G09JO&?<%95 M/@-5/F-;9#=! >1M^!X]1V"_20):#?Z)@R_D_(&U/=H3O:&!WH#4@#%9!$JR M 35#$!AC:A+ HOE/+#;A@1/>*4%3(86\(87^JV1S_2H#Z)]8E.\P_5\4_]50 M/+.I]MX")_EO$Q1)0#0"C<1332%6,_/^222K%U<[G&EOTSNQ&>0810*T7YX! ME%\*5M0>H1D-]@S4'SO^N\41G 3@GR"ZP ,DX*<0ZEAB8_$83WGP_??5R3C' MM1%[%F,=>W^IX;9(P#\&F#A3((Y-RR2,OZYWPLOO%W#C#9O!?GD!@XD3* MCMX> G]6BACN@R/^#\XB?5$_77\_M+M/KHF-4H[E+^-%&N1/(DG 4K8CXH V MA@1HM$$>_WN73?\/)^H^$E!A3X@Y 1&;R1DO;;8!C/P*?MIW)'H,/GE-SISJ M]7#$7Y0OL(WG)0%=]X;)'LTN2HP,:^A"1J)L$4>7)E-. LC9:Z#8=$+V/_VV M]/\&])_:E?V?3/\WJ/X')&"QX/JV?U5-M@'3DQVT7^^E7QHI'(.7%WKG_)#Q MF1EH@3+SA2>8K8PWR7%*/7GE)T_K:/$,K_AG<%Q),1.K%3\.;OXOG19M;)$SN MF1/Z'F'TVC; K([^%\H:+/Q$\5+WG95$$N81&5>%3E&TG^VXY_1DHSUZBG"C M!#,)[;FBP!'Y8JS9F$[@+(7GOF+'!D1&;UY5V6R@X=J&PJ3[M*.\SX?F;QHF MWQ%U0B448RH^>T7YS1LY5O#[F#O=RW[%!%8!D4_:)V@3?,>8'/O5%QX?0'H= ML6J+V5%(.^ZBVB.KHHY^+"Y<-]$HYFZ4?KDOKM&^XH%1)\6^Y7**:Q%T++[D M01/"66X87B?]+7-L709RC4"7V,0#/VM?M#9F@-NWKY&QU':5T:$Q[:9>5?N- MJ(;+(P&G)?9.J!>R/F5!]:=@66W1T(71,Y_?69D%9%\TUZPZ,V?5G9VW4 M4!LRW2J:(FP7UZM\,SSP"CM,JISZX=SGB8O$.NGAW#ULH!)!!_D(6(DV?V$ ME1L/?>GG=U>I=^0&8)IM)@)RF,VX\JQ:U=A)UULMI]T#:/9/L^!,>\'E0H<\ M(6_+-GB/MF0C):?N15LHKTHD0Y0\KSN,9U_0>0D&^:R!G_1Q.39<&I5*JXZ5 M=99L[Q5S5E'F4S9Z5IMU)O@GZY8_N>$HTZ-D#XR$;=?B20#R7EKVQ[N+F2'Q M+25$%%)P>%_JC8F2?:NS5-.@^;3J0:K+V*5GM?!,XYEWWKW^]Z?JG=47"GF\ M*K3V+12D_XNMA?JA7!84D MP'YW0>YK//$<17[0VQ6GH_=?X&<,QCU4E8>R S(-I5U,:B"^KH0@TZN%.NXZ M"J7^YD*H[\<'KJ&S I58>X+@\W4#S7QO<84/'91G*H)FACP1(870MH6[E_T, M[UY3U1C9IVFT+R>;]LMQD3M$T8GG'KE:G!0TBC$>&J'*M&6K,N\_WL8& MYF?$3"?,^PO@_+D]G.6G#((=#_7=228";@V:F?B4?_A?&4%$;7D*Y""O3<^A2VCO &Q(+Z3.F7C;F6WF;Y%TX ^I08JRWMW.WS[/0BG_I??DQQ<=WC-,> M,P'7-WK@(Z+!=F,J=-@LH1)H=HAY]/(9N_.1;[7M]I6]3.HF-2*+"*=+1@B" M3R7*$0Q=5.F7=NCO3&N$V?6B=^%UGSTNB\4QQNCT]I35Q0[.+;?1^WGXMLG& M^+OT;.ZHO8\R*DT@6K#5O-F^J-]WJDKRRYZ0Y_KE$5C?ST5[M6I[)&Z=>*TR M^6*=?;A;EP5L)Z=A7#FDG_; <2=_R,A1R:L>I99=&ERP,6AL7DX")%^ILYE0 MZ__?=/QOT'V11\6*?,P9882]DQ02X,#$BNMNQ8"8";9CD "EP?V M\!)@4S^P5?D'S8,G;_G:7)YY<1O)>T4P7DHI3=GT]K!'IP0105C-8)4;3_?G M$ZPJPY$?5;SB:P_F'V_937MN[?-+]ZAI2#[V2U2'9\]#)NGT,,(I':YLN/#[ M8W(2RBVSPM%=5[8>"(W/VD0^JJ!,B^NXWTC9G[ J>%*XS\1$D!@EN"[J!?N? MQ]0'!30)UV@-H"9'[2^_TA:$\G',-$XK*K)5FQV]W[.Z8/SHK+[66IMW91,H M/"&JK5YDZ_BPV329-UB:=VI:UXV]K7[ANI"LX07%1DI%RM/#!D,-[;UMR]E$O/>:0L)(^7Y?8'D^ M*$1A,N3 ."7BR8WST8OO=T7U,P(#N^:7Z'G@R"_NDMG##>9;,^5>/HL)'')Z M-:G^@>P[\:%@5RU95=UV:77,H>7P3Q71?-7@PMS)&E[8A7-<@X:M)RL/GS7, M..7A$'AK"]C<0M9[M"*!M]!!WN?D0_PD1VY.WA?4&Y;/5??R"O*TP+\MRC[_ MUESGXD?UK>!J(\O6):MQ1N-3$G?U[<)[PZ"*=5GF^E<'=(UK/TKM(*PU,[^:8$8=MR M[5GW];/IL3];/KGXS:G#4B+5KFW,,:JPH'4CQ9L59J_BK1/YOQ\.S36YY.2% M6GQ_(GCMJB) SYJPM!\U%:Y>BNEK<7:]B\DJ+NA8M*\-F&P?LZD)@UG9[E2L MT#\8!VZN]4B:]L,[CRWSBD_G"+U8B RO5=9PBUAH<,<<;N:FZ213&S MN>A(W:;2VZXYJ[O.T4^BGXB?ZPBXILVWPK4Q6+B&*K=;CL=T0+#(M_X"&]8, M0WOC-LD3+MQ\CE^U<%"5;)B>G7Y%>#"AR6P2BY_5.8S1"6H M@^D<_-*H"J]-!BZW3C1K_>JLKNI(4(&7:92L0Q87H9*+IO=6''D#'YO>61_) M^R!RH+C6GZY>W>385^CT#A>)(>J%*MWQ,1MU*?.ELCW(^3GB_CP$=U:5>K : M^0K,6E2GC?:CNXU]FYIM0?C-2L[50Y6#.WZ314-K0K"=T?1YV>.#,_DC3ER] M1DN9_ -E:^T%EH_+[/A9-FB\+I;CW#63()16 M4$$KEO;N+U>0_@-B(H>;?V@L(0_]?VWH7Y(9O%2=^TNEGOB'2AURUK_7G[T. M&Q*)+/CIL8%B^BV.X5)-*5!+<9$A1+6Z;UY\ WP*1P?!%.4*':=$;A,TG]A( M"R?-U)S7Z+QPR*@-L/05 EY&IF<7Y^AQ0V8CYZLQ?6$7!IP7PYW,^YX*/0 ) M;8ER\S%?WRMZ#J8GV%4JQ[0U"%2)1I9.J,TA^5R,A84Y!'Z<$B%VWM!G/.ULN5$ MYS5D54"0UAZP,OM2>5*\BW>Q(?-I;1&1!U 8$6(W MZA)MYFQ3H6 HTCQX.6A:8Z!+K?FE["I2HN(DLX[B6:-:H1SRQ.]!-S,)Z(BK M!=$1;F'F(A\GJ-*9EXX\?DWU7B*37E_@]=MABOX!8Y&1G\Y;=^LJX["6 .\W M;R-YQF?/](IS%ZK"W#XN:5/G?96E$/[?H-GY,V)X[]7^33E ?*GO)0DH=6U# M!1Q'R%\J@)T[;+FVWH/P'#2[=QP2MT1MEGF=UO/MM:MGY?8+V;9MS(YLT8<_ MNQ?G*'":"_8OYT?+N.&L"USE\D/\@[:^;&-BYZ3DBBL=&\K'9_F 38^MVW MQIBV6YW#/Q@:17#A@LIG+B\(OPO7V-5-^T:S-+^I[#Z\4!.N=YKP?%B%.M+D&SJO7KHH+Q@,"(?;^<]IP!QS$#IN(#JZ?QZ\E3$KH M,.0^2Q>Y9!S8CML.,;Z^=4W\W0#"$44#BV^>O8@5>&]7M)Z@%N7.GCTI(=ME M.5/W^5+0C6[)9PHOEMR-"A%/I4[?G0>QPQ(6IDR'$IO[7 6*,V8??-R6,(>> MTOR@PJR]SF1[>]D%O95IJXPV;9E[:WYE4BUPT?4<[+8)1CTIT6RZPP:J-#O3 ML50&C7?]P.P9T]C+X.V!^FF I5IL\1%M<;[?EL#?U]PC94DEYO;);"L M9@!^9N_K+XKD0MIAF#;?8+871"-0:+ZA(CDZBT\2LUN#"\1VK0NU;]C*(GFO M+@$9NV/4[*YHU.:#^;ZP9)'*05E>/T>'HM>HQ\.90\*ZVM\=?WNII<')BPCG M7F3S[?[B6[";WSBDNJ/'%W]T M]KSH)_8>_T"V(@,;1)WOZ\E;4_<+#6[;4!"ZW_!,I#%PD(YIN MJ+$[<288W?(S&>3="'02_M$3F%E?\.F"B;82_:**/65,V)::N/]@,@BG7N 7 M8C)0=]N;7E]BY,=)\">ABHJOTN>U=EX(GH^0U$J?'5>=Z8L@ 4_F7C:HX'Y@ M1#INJET7I*]DS$1^O7=]PJ536<2K$*FU88))H.6O-(4Z*. M)SE2 )5].P-ZI%N5^3PG)U3MJ.F1=./IY \D@-=_8O8,1K+8-7/&?,.T,AS* M3LR(XV!2.#"Z=M[#*<)O*)B;4NA)TM)L:*+&Y&?7-KT)W78!<6Q' !2E$=?1.KHS8S&EDTZU/'M5?JM=[7!QDS. O._F6'#FH(!G/450TTOS MJIKZM74/HRF?QW06!4A7!@/NG^GWD#>PJ,U(S&%C35:,K8=\*D*^.+VC$(J: M&'4%3Z:^#U77K]M2UFYJ!Y:SHPY0N&=S-'VM&L,NCP:")H8:>@]Z)2/'K69O M1'%+O/63[G6H^PGV7$F!U1XHC,!M20!=E=6&$AR"2;1^ (%>N]AI/JC[?.6P MA2^P%B0)$RF7VR9'*-8&*?@%+&> FM!& ^^C?@L&GD/U +O'5:'1CQ,1^N,& M07RG9D>&5LD%0M_KB/6LC;?7SJ7NK=EZN M!:;$:JBJ?4P+NUNQU1X;^_O%F>#_KR\ .RMD-%W]7*\4'Q5K7BSM^.RB?_/B MRRL3.(31L&M"[]C=VJI:?;,FOBN6%,/OW\;J.#RNC%V(DP\S4G[ ]S!P5=W/ M=9$I+)D'D^ D^MK9CN]OF%/FP/Y:!_$]-0Q:TE?;'/ M+>01HXS VC?-4<-6#)6"JU-;$+Y?-5=JJYS3O\R'+5/_[$,[>2N8.?(^LFT(NEUG)OB.R3KIQ*EG"GW8 MQG_YQJ1KJY;'>7"(R5=],+:)7+P]0%JGO50$ 2V+9FK3R5>K!HN^WO]9 G6K M.:4X4R5][%\>N; =ZG\%TQ>:75F!$5ZN3A>#2.XTVT%!E\\>T2Q2"R)MK*/4 M >\KH#*Y H7^R77B.:S(FRM%+/X#=G6//R/.JI6OF<_69\-<=>,-1EQMAGY> MG%JVM+QZQ_(=E?9:UZFRRQ6I69..HU%.?DX,/TI/5NTCE/A>=*KH4WG&+-ZE MM [_/K2?R-M*W%.@G1NM.*?^_K8@U?W^W$ZD,CD5VZ>$U.3+=*,3S7ZX'D'I MKK%L774[-B$!+XD":RF,>_APB<3]&2<9YKB[0%GRSV(JP^PMHJ4Q6H& M$,_W("T=U4#8.GV+3GSZD&M!;&J$+=^PN'U( M(Z_#AN%] %.FNY)>6TX="#TA!X7?S($-GD4^*KOHI%[A<-;$MNRA2Z]X6V%" M?VIH+&W" ZMZ<._V4D22.O?STAD'Y*4*'%HE92KN4("GKGAX;^JV_Y4M_IO1 M@,8]7V9&-_-W!,OR$3DF>K.UT4)W^'O<:;HPK?EWB>I>1T>>>7YI5-U*' M_66MH#7&KV):.+N*'.^K>)KKSNNL5AU-X=,3OG$W<.BO?"A,0_C/P6*U)E=R M!JS5/?"WQ\UA,$A7II7P3X4-&]_LAM-?I>G=5_W7\FL@[2WN(O5.B"_64//@ M3X^.PZ:FKWXO%NMS"7EORC=%+9*6C4+N]_L/,N6NLYE&FOL/%/>M_3&*PV1BCG+ ]<]XED_\$CU:%7(9+-D9YV-VMN#6D'C! M@%@O!3_O9.H PN',B)0L&-P2/VKN6;!QIGXOR%.V=?[5NDP[M&".:G-[>ZEE M4K-ZH\ST XQW(:YV 2G@9&Z[&E%C5[# *C+/,T8[,=?74_5VYO+,6/NE/12K M^=IDW"NYV*29\9* E4V66N^@KW3G%6E]>=QZK@YFY5EE3%FHO>$N][H\7"$[H#*3Z@U9T\2-9,4& MG%.ZP['Q:F*;M6C]E7>9-:=E'JZX[0$L#TPA9>I!V2%!A 3C0>O;_A6<-;[O MA%]UVJ8@:J!]LLV#+G)VW4+E5G7UMR?5'2;(L*-2HL8$/-,?JES(C7PRHK+X M>.KYA7:O8B+?J>N'["XD8'&DL"$&[82WXMG".%7"L8:YUF[OBIE\: MP7IW=W,)/[7+61[B/N* I,?&MT'AQIC\MB9M) MGZ8P$")O>$Y;@*E*.:?<15RLSW#V39IK M8V#<;9UCJ#/.@&(+*@^/C4<*ZYXVW=;"7LL1PB@*)ARU[Q[X8>OFONK I:WD MIW&=ZCR)X/*.'TN0LU';[I5;],383?.5=KO@;:WB_C*+0B_]80E#W&T66L&@ MVN+]+%CBHFR-Q&A2MCG.?WGC04T%9_2$]L74RJ@JV\\N\UB37^ M!VR9C 5H?R6X'"XD%\Z*>1(R?U^(,\&RPBD/*J^PT%2T&:VB36O)5-T)\D*B M Q?.^7\CUT=2=938K#$B2Z*J_&%;\9KF;T,:Y0>%#7?0&=JB[]]<8;-WNRXT M;SHE0(V-S(Y247 N>)#>QM;VH4U$0?#2^<"H3->Q;)TRQYOW&-?6U8PE]#YY MD(" !DE(1 H503-K]2">QS0(KNQFX\L[<_'TQ\DZ*#._3MR%Y]>!Y6K0J[G3 M:N=AXHOJ%959L$=ZP')8JRQ6X=L3#>7[X\%06^=&PZP1:1 M^B'@&A-5V;+=\_1=IGE$"^@-F(><<1+!IZ ^C(F@ *2*_M@N+EIWF-4BC[E$ M]/WAQXC'\MZ]2J9E! \<*]:K/5D-FUE?& A+;U'*?.U9(S0F<,%7W%GJT.+Q MC&.$RJCH=8GWTTOGJ$>3:3!,(43>5:=TF+UNB.80A\8'BYM)M>,_HH3VBP)R MAT=7D^_*J>GC[/%JN)86%$\#.RS<:+!0(QX]1ZF>-M-W\'$FM1YRE=UX70.T MS:@HUTW0/_D$MV'J0'+"XO4P(QV1=:(+'UG[*LJQO-#G+2(]A7R!YW5"J ,; M&3;#\-9_K>^>PFOG4>3*SAI# C:I,2MMS#C_.1U,[YOYIBQ=&M2#R6_8B,S4 M6_[V^D)3**[S8Y]2)L +ZI7-^*B2M;B["Y$R"VS)8E^'GC3H7=P9+GA(]733 MY-N>*J!6?NC!YO[UA^8W%,A5+D7 _[N 3!4N/7V-!#"6WU5M6W[+:JB;!;6A MQ99\I63SA-@GI$YPRG$'T"?6#<5+E7P@M\D&&';E-6]C@TCU0#)QSM"!G7=3/ENZX@?#J[U> M\557'K@$)OG5?+W7;P,JHL*C^9FS9HUCIC3FND."Z?P9 A\?97,A.7!K:#^I M)A3KOK.HQDOS\5M?2VX4:$64.;8^QJ>,OE1&_N-1!]SYG^Y]_,\5$CGK2@*) M!8#4'MZB7\DOC3WF**Q>';@_6.;+S_C=?&WTW80%U94+KTZ)"2U]IMWULYVW M+%D?4XI[LZC'[.#EQ2J[0^&VTLK]1NB*ZGZ; M)\_62SKO!K^L[A+YI"KQ(+Y%M9'Z122/-4Y)65$"+I>+"U8,/XLH97^02LEU MY2P?7\JWFCPQRNX7)&!2L\GT7*@'77XAU6*Z2*XC)B_E[I+SB=- 69)YM]70 M/&JH*+VNY+-+&,SB^?6U=U Y"4Z]T726=0[YL8&WX>[G.JF7+_5#/4=]'HV; M:US9- %?EGWIO#/&=>0G=FI$ G:$8\EWSI8C ; M9A4E(S_W0:5]3(D'4TXF<<)+D=FNBHNJRB,H!K@5QBL\K.C3 B_WLDW*A5KNEJ/RT2\BT.O;]5[O8U-C+">:F+W +DU M)LL[Y21AJVU/=Y AP1?:K#\W6M:UW/NI_U_]WQ7SIE")+B!EN;_;_!O,<\+%*^$KS,#(,4]DM/Y5L_ MK_8HZRU>Z"OI8 IO7).+V.3SG%9#L02F!)6ODC_@GNT52)!@@5BI+O(68+P:-?L7O%('!.+TG&Y@ M@Q>$E5%3-S52+G)8^3+0-GU"PD)K<%:A6W?#KM/\M>QA9>$E=$6 MOT]D@T&;03@/^-+,$HB4T#!^J"XRP">?P<*G\X_W4&:^$Q+8QN0[O/GN\9(M M+U503FW!RA._JOFO%\^4I#$9$OHMHYI2F<2:[&Q[J6#3@[_@*J'IE:;4B;BS M")74PDAW3W:]*B@NDIY_\\0YK"M-Q.L868Y31Q]VN;5(U&-DOT.X&=3"MZ@9 M^H3OSXZ&+1.8-*,!MX#3Z<)1$ZW!K8$?-J7Y-!#X7YQ^!U< ,QNBR(-E7DSI M=X+Z)EU/,9_BC@Y3^\T=!<5E^20BR&0?&U]YXT_"JRXX&B;*UJ;@IS]/)6MU MS]+@D28/GM^ >Z[2@N,T4^\O3:L3N1Q.QYA'QOP+5UN<60$SG$SH$,[JUE]/;IQ3) +P#%A4976!PW-<+XPB;KGP>#(Z94@8?E@;9: 1KQE5X^:_9HH&$+.BG\6?,$C U#&,(1 M9OABPV0RA[*@ M$V(_&ILD+2,E,I@5Z_QFOVZZ2CPA(>/QD,Q2-[T"RE2*/KULT#JSJN)=GH)_ M?&.&6.E-=V?1;/O)X4+K4*7"7D82SM-_-=07 M\X+5HX]V6U>-M7.\8.+C7O75](M,8=IJXD._O@V&%=E0(5ZU-Y--TD7;&#N] M%!U/^[&%W"JM??P-8Y<)LI9O\3TLA-71#\$I^B%W4]2G2A)+";(=O8B%JW[+ MA@+6(-*>'_3SC*#CJ:A@ZI2'L\@#L2[+]DI= MCY"\QZ"?&'R9MKD\G=V Z[T;JOR5)6K;FV>U(7+N#N<9JFK"5)(S4PS?[3YB$0]].(BJLEX$ZQXH M,:)J#.PJUJO\YJ O0Q%;$JMBQPI::@E5M MF%!@5/]PH1W%:.%+9J9_,[(KE[9ICC9/US:=]S*5]D.?V9_/+8-&NJ+JSLZH_% M%QC1X).",:T%B#KC3I#F2T>> _-*VLV#TW-8;G"Q6#U[SBT@6'PS+/>]*D4B MPF)J"R&)U<=\&T11^X,]W,_LN2XW/)Z&]%GS2&N4O&SNQ/#D:HN7^(FQM(](4]*%$&OM,+6A/E9F$1[19 ,LX@9 MMG+P+.1YNNY'0,:#TUXFG^M2A^EN">G]>;>:R_R\:4%%=N4X*YX^3P&Z;:WM M(3;DO!.,2"1^3EXKK'-"RFGEF@\#ZCEU:8*S$RDMM"J>%B]^*?Q.\+ M[G&X*?=>'X&W,O^I=8;=UC-^NS9FL 7(;JD7Q[EF2<$I%1"P_9K%;.M,ED'( MY_DTT$2M,TE1K$-!NL\ZX8? <4?($.$T2/+7AFD<1I3SCWZR6*61"<+VN?,(LE\:"OJ?L-4 M/WZ2+E<%+@@?_'8@UOG3*>)A850 U0:W: ^0\"M;@!(&EO/B(M<%+,LT#+78 MN^?%3HDWX"V+2;@%1/ <6$YXBQ9!'5 +4R)!./YAY?X7 7V74Q,RS\8.A!G" M[Y\RZ+?4?JB8"]7WI!#$HQN1!PEW0!N7HP-PMC[LUV=)ZW9QSA!B%?H7[:V/$5'(>PNS:*$B6%T[ 0FHKIR3C^/^RA84F5.Q[SE,%T9 M^&,K+2;DFE,H6Y&!!D\"&VW"S<\9R6TX&_SBG*9;0,EGZDJZ&*J@DLN(;TP2Q+8M_9P.E/7XCASB(UF("D[XG@SWS'BZI%G* M4G!_AAL'X6E83+&7\U*A7XH,K1E@3@XMTVFD+N(Z;37=E/NEO"Y%K,4QP>F/ MI;78#OB/<.:#6:@LBK"+@8D%*.&;N$B6_-NIU,/J#"$N#32]J3Z5ML+FO@$^ MQCIJC[$E9$5=(M4^Q2JJ$FK5XT]\:K1*'LZM2HRZ]JJ^,#A.!#YP.F(STW2H2C[6+.WF-XN M*(_WTP(3VQ:ZU#=@'TL5XJZ"-V4TP5?#M-E])\)^R\.I<&QGCQI9WIW!91,9 M$Y'Y\@'BG.&PF KP%F:M@ M4S]4?@>C']]#/Y\.@EG!@]:/?/]F__8WGI46* M<#1I608/)C(X]* GH5BEB.'G(8M:"LJ6QDVC\UEF4H1WW19X'Y8KWBO-V;:\ MFH+8MQ47=S[@)88IOHF;]YQA'Z&9+@ M_(^GR/\?3Z&]-,XXF1F6DM?RK 5CIYXK7[@KL,/%6ELUEKX9RVK%[&5\@H^/ M53H>\O^-5T=U-^O35IRV9)!7WM=2"'] -*VOX0&43;/G(65L]]V\FDJIT MC659L P>S'YG;WU29DV&.SV:LP6$HMS_L=.M?,@(A/J+0[CN4D)$5ZF0+6ODG7 M5VB(3>WT%;)74ZJ:*#M5_"N0&FV>D^@"!^3:5\>J3DRH>SM33%I2"^;8TR,; M]L)H;W:B53>Z]"%E&REQMX!OMP#M4N(@';[BJN5;0#__'^RH%"N*84'6:/Q> M4[LW'N-(X=#Z+]X7]10TIN(#K!;,DV!=]'!E$8[A%O ]1XW#:DKJ#3(Q]T[' M7@=C@L9VNQ5IW>IUMIFUUK3?6575.?7??=T\;_8!2EY1T]]@=F W9LY_+OS: M)7A_^))B4SWR[-2\J#:B>HRX342,#'+]N%XWZE8F+J^1:VIXLU?61:-$_>GV M"Q3,'E#QC/X"',9_5,/VX2#S6Q%Z=,>R3@&#PY? MC_@+A9-*^-U!SH"V:K=79R&!(K5OB'0N#-N>8KZ*6D?5;S1FAC:01&(5B.UJT@)M;S[#^^P$:,;%L_ZZADQK5-I*W[,>;X+ MKYF=&[1(L"S76'?9'U?G;VC-V.PW?3)F73M=EJM4-Y%C!AAB=+=WV+)DL$3> M9WU:'D4N; 9$\R8%XV31[GKEXY;!^@V3ST23Y%A^W='46- MYX25:N0Z7\94IQ7F]WOIZCF-\P9.9 X7'59-+$VVV]VP&%UB)P(RR<&F'[+H M-%6[I_^ R#W12E61LKQ6\+'-P@XJ39[N SLO72/9%V-B?;)XWK[UG^;$M[!= M_76"D H^ U<:&;HF-ZD4JZ\$UXG*SLQ9$-?5'%CVK YY.@2L,+%V')GVY\\H M6;.O?3,*>K>AB ](RWR_\&+U)258@;,&>=7@9U94@>-C)7^^%J>^NU17XK4TBZ.9@)?%6,&?:?01PMU=L/JA MV&/]T=,12A-3&Y"\C2?XGDZY13S= WSKC+7'V.EIB0DSBM1NI!KTN3K'S4,S M/A8.A[8<'L %$]!99'K(K(K5]LC;#(,W+H6H=(QV"F8@R0 =LK+L6__GR]+_ MU86?BI'MC":!#HBH6\M7MLX[FZ#P^F\!T \WU>Z=BW15Z.C@#Z,G4%PXV-+* MW_+CG+/*VFF/.GCT-?/;&TYL\?*T+'*1L1P#B7%PJ%(AT;;X\W8!V*+@FH&' MK<_#WESZR"R.:XQ7JT%QLWN',- KVCX6KX,,H(7)D.B@V2O?T5;:A2BG[10 MA&KS1AQKYH52MX4TLW1[(H(A.B%OI8(IC"HBEFFCF53Z=PTN?1LQ2AU),49@ M3_;HL#)ZA8@=^G<9.B7D="]%-23B8U\SEROHM4S 7/O>3B<] G49//%(XSJ0 M)E!7IRP6LL,T]$7V68D38K((1_\3XV/ZHJNM(?2RG>G,TD"C1 .89<(';1)U M5NHG,0+B>^ \!-DUG$W9EWD[:N\1C=[71(NO8IX['>.1=J.%O*EBF 2K-]]W MY%VCKMK-:)KX5W?[/U>5;M!@(H>L(8_E1)8.[WX@8CZ=KL*4?7OU+)36\JEY M/%9_I"$II"HS))-9ZC'_][RHZZJZ@B2MB;)I5_,'^_='YM%*.+*F<51M! ]$ MW:BK 1;&%UXVLZ/FR*!6K'XVIOOCI;+20&P:A;/35#/M^D[9A 4$XN,)=N37 M'DC\M#7NG*)E._>^P>SW)0X;_<[DRU;/Y:.2^PJ]LVJ1-X;VV>7;&5S'0/J^ M\F1*YW!C^_9-XA-5MF::0 MJA>GAPF,*BV%)NF4*XQ"4IE4[%=M(2]:D*H5I93?O8OIVCDXF&R5^'4Y:!6- M\@X=;@$O!X5)TX*$@U4*2?MH8U_+XO*:. MB(P>[F:CF#G;-33_Q?^8H=C(R*]=I'O#3#>).W 2<0L 7/F*Q]ET]NP^8XXH M?#+N.TD^[R()8.80\'5*Y>S,-C+ )%6$ MWS!#:_(L7$>0!'IKH=,MC<\V"'TL#2'AFA,9]Y 996#FT>FM;-F MZQSMW:A9JFAT;8?3DC<5ACP<#I%^LZE173[!NQ\+-^KW%WDI9G9H&=^XA(QO M*U)*R8/5)!X@KPDJ.32/QB//IZ[C_(I//J5BB)6:_PCYZ&U8Y"N4])4;*7A+ MU=,K#C]F+B1H$$H1)R)Z5LX8DT>/O05TT]OGGW_S)=T!-1V3\EE33]?R2]Z? M5+M#)+Z\ZC?ZO%<[M>4GFK Y4P&$'15571JZES$CAW: ME-HU^Q3YQ8 ,*B9Q4/ 60"/7 M^]EK^MZ*.NBX@_D>.JF+C=\ EXMSX5J_8WJE$<2U+;Y.R%3S?#3\V_'*E ST9?,X6J'_%ST^ERX%?2K^\U*11ORY!B M,^U7KM \O,B^'M>K9+:P19&/; *5WC-[P*F0=;A[58W;T0+_T/=**T*&3HA? MQRY:9M"HB$Z>9S1A>#Z(=J1P*LWJ]0IQD/G::\6MT7[9Q&U5 M:^IC==#Y6K.MJ7B\2T"M++?L[\); PD>P<2?ABV*#'1!/9FBT+V##")+#*_ M_6B?7?#$NNCS\=;I]U^V;R"45=$0Z_7SF^!W3F.0I^J]AO;6D,USW\(_5)TX M$XPU[IDO-45W66^NF?'[&*.^*9CSV$NI$L6FQ!ZG0Y-NYQM9K'N^M^+8_EZU MO!/-[*91"!\O^]%ZF%P:E<,"."S\6U&Z>A3N33&7EDX+:T?KBC.V41T-C$:E M7!1,"#W^9,_O4(8+3;:*P=]0]&3TDYA#_SW(_!AM9&30IX6ACI\19<(+,FI+ ME2"C!+!][*M 0JD, 1]P9?"9![I*0J2^(%GXQ<>I[\^.#/D&53=$%V%U4?6[ M)I1+)*X>32I98/NS *\K_&<$1(>:$WU3!\E7X6ST,]8$6UO\($V6NM%DN/W6E) M8SRVP'_!)$RB-Z2*)?@\J86ZTFC_HS"0CR)P>/YK%[\S 3C1<3:X?8@1G3@Q M5!5_72#I5R.:=#>Y_R5<0%H28QJ 0CSH1 TQVAXMFLYP-?15S@Q_3% ]N0AV MM(M0Y I44I>SI5Z C";6Z(O+R%J N M,I8]CP](IM,2!?@F;+O]/?"]^9D#X-OQUS78W?=QIJ8FQHYUG^03GF)ZR+S< MA6X!9-X/T.=!IPSA6+@P=^-NN&AY(NIH;V"?P2(B=N+#1\0N[=N-L25[FB3< M8]F25>XNTN6\V<#%+. MRK14HSM+CZ3A-5Q* Y)-F-&^R\&YL'-7CR9=Z5> MB7;.F1'T,PUNNU70?8@9NL+.U]NW8]H'F1=(U0MP3\?*7)G,E.LGA$U X]JU M1K:*N6Z?.,-H29-97EPTG/8Q)Y1A9CSZAS4:-UH'=I:"@@0&RX7&"NF04C5+ ML&H<4"3>#)/4V1K80H5A'ZZ^+C9G/!OQ8HD1)1:G(B"22B1L]9FZ52'XM MC-QD@%%Q2ST%;Q8GY4L.6EW\)V2HQLQ &0)@L S^6)6 [L8WZ?&^9GH]<8N3 M_K:S._6E.OE<@G%JR8W\ZF?;,[N=8PC&MQ_FUE5$=VMN :'3F@I4JQGH_^PL M?\R^_5I30] BU1+/,*L"4[_8G9:F?VM$<7S8,=O",G== Z2OR8O/[9FR+SQ8 MI9M_+[GIP(D_P8Z5RX,^GV+B,,.VRP1ZK0=YW>=X08\_ OCUQ/=.DWPOZ'G\ MRM)CXYDMSX'=R\]V09*G $)V.?->1@JE%=-KU)#+\GD7=Q"&(+L0&F9XATW; MK-V:*U093Z>\AVB9C+L-Y\,2O(I1&,.:\ZV.?I6C6.+FR=IGJ+C?MRF$M[/T MORD=>O\WE0H'P%G=8]7;"^T_21HAJJ__CNV1Q]E9G K9ZAR4]M!$-@KF<.A- M!Y?[2+NH8B7XYN%*..43O,.4BTX@-ITCH(5A:Q3JKC.V[P"K2+HTF6> @RR> M7EPYG9XATGX?T_^4B/WNJF??:'H)HR[JR%199-ZR\*OU*+D,X M1M%2DY4DL*\?Q]V1C?YM*H+=1#6J[>YV551'C6WNU1S_T(]13'6W^-6_NMAT M"] P6G#L-N4 7X/F5*?M'0TZ77R*^HF-NAC\Z?&"WOFI;I:FOX]KK6A>&YOV M$?29BA@P:RY2M,[0%#!/TB\?W->K]/F%12!4@H4BM362T'124E$2]6( M\N1LRWF+*&E V<[S*ON'M2(XFYD23G;MY>=,SY1&=]I_",:T'=V'6W3XRE1@ MK#8J[4FTC&J2H5/OQQ_>C2*B,_5T,O;;VW81RJ"9LK>L3]S@YM4#V[R#&Y< MZHPSBQ%/"+U)F[3=M)ED\V$.8@*I3+;8@H:*I0O*P M?82"3R]7U("*@X\NVVA'=AXDTB6B_$Y"GG(;ST 66M#)3 @,2J@-.5UZ8(0= M-\@8>9/4B3'I?I+6%3=/M9X^U6=& M1D94BWL#1CHIS/<%M$*-](OA# MYE6U1V?>WD3\8VD_N+L=N@?G;+@.'(\G# M3@;9P:V/0-N"$CL@GV/@W4[632Z5.?XW,@EF<^$9 \S[R-;"B^"::8OMHLTH M12L5JMGWM"_N1L,D5"C8Y_>*6LJ^<&_P!XA4J*/XR>Q$))I_:"M;JLVY39BJ M',R9\[8(BED!,CL:':.3'AEBHSL$S>KJQI+AU& Z/M(F9Z8 DI$8,;'EJ1_' MP5*,Y0[I96.UL-;?5&8N&;T5/B4LO)E#T1]/[3OOY.F19/O?95Z>'G3JMEC) MO _U4YV\EY'+!X,(=R[*Y&W;TA>AQ-FTW-,>]8Y5-;$*(:<[R!\;D#^"_P@O MI>7E?U[G1(_HTQ/8W'C@T3M57I@A/A@[/C5=?8D\FU&M7BCS>1;'$_[C0^?D M>]O)5;/*GEQ[V;/K.%"5:&(TO;$*Z9PQJ&_&P8(-[1E'6(2P0KC?"[UKW&SOZ( H+L]_N8# !<_.G[5#WW>$/6GZSM0A&3(Y M+5/'"@/E9,P1Y9U8\8HJ_!H=C>OH6>QG2#2")@KXUE&!'(FVDFBTY@?S#/J= M^"_[36>)92=64Z9R,H407O']#* >R%*P:^-5'1_<=4XM_.?+=74>KA%F,L4Q M1452!='O)T;AQ0Y68SR6=4FA[%Z6/+< [2@P*$P\?UXZC7FKN,A6#U2=7=U< M]>U@9O7\E2*3V'8[;0D::JU;D3&<;/Y6,9?M)006IG93;K]BT'G]17S'CMB1<$O/^=W9I?!W=)(J$ M=Z/(84#'7 /03/,/$1'T;-]]+RA*-[)RFHN S&Z?TD6TD?Z[1<4KN)1DOJDM M9@98@%2WHALPDGI@89:SB@_[XBN 57-?!5+:H,XU:X/;+XU#G:@C'0G&CCC; M2#SMSYA"$>HY585ZK@NHWR4:A;K.0S;"N7H1N9R6K/>45ZG"6@C0J,.>@()( MG.@EF_)6QU\NO 742M&4;.D%2;[\RUIY2@X4TGTZ7R1) M3JCBT=,KW4G^4L+Y2!5[*Y%B,&$".TZ JRGCJCQE;ZM4]WG67U[S\7?H#U4C.1WB-(M>$Q/@";W_%X MNRG.'0&!/>"6K#35G"$0O MYCJ_:48B^>CQ5BP@MX=_R:Q1F*Z)38C&AB*;%-8;!%;PL:&PSF MJ-N]R7F3SS2S6O9JJ^1WKWA.5@9LH-,36TAES+LX>$'_Z*JWVOR_O69;)\RDSL6$FGH(P4"ZYV]L=*?5\:8/TUIIUU.]>B8V[%#,4[7" 35(? M;9_]6E!S86I2<7F"MZ&#-T/V-:.@9!'JJ#+!US(.*3"<-_8;,?R@Y_@[#.T8 MZ'[#WS!99:+++TQ\+7%AO$-PM/$\A[496G+X6_)&48D+7>>A\8A19HMK,IL8]K9@-0S?-0/RUBWJYQBI$N[ MUINGI?A10 8;E]WSE"I9=/2@;\4"7CT[4EQ###^^V\+4[H:S&MT:+*P_@8@. M?@R4=[I.$K*5;JJ7;;*2A;J>Y1AVBZGWCQWZ(%SWOS0?_^TOH_S#TWBX)G_D$$.PAR& MT$\UTV]=#M54%IM U:YD:.*\B+0D?ZZQ/K.6G_[[[1'OY@C!V?H48#L&-<;Y MV5M#I3@=G\6Y @:67E((])KBL2*K86G:D:AL![U&NTSSAE(357CY&OSZ"]LT@!B[;]6EI$AKX1CRXF'5UR6*EG)2<_UM,^#@7:G3.X]O[!^*R^G5QKCSJ_OT2^B M()V_#[)8!4[9OOG1[V7_--]1=9P].N+>M6\*UU9O%A%NDF4)/"6>*XVD)Y50 M*U5)(2JH#L57>G(UH,SD 7=!L73Z:'?=L/V:$EIX,\2\2/ 5:>>V 1477Z21 M]:KQ";3S9D,7H_V^GNRJQ,#V2L]2%.=8NQS*%@>:M=W$/A9GO[L6K8!U M6?Y+@E#?75WT[['VTIU=T;F#G+B)^R@^ I$7=_$B]+-55JX%U0QY,]]7@ST8 M7+K,33?$+,? _ MLKN\GBKDW<_) 8G=X=1AOG]@\%40Z&QKA0WC4R-]GW3L-LIA[UCW1FU%^<1$ M5JURS%Q@%M1I^T@R3([V-1 .*-71'\RD:GFR*^'7S4]EN]F;Q$Q=7EZN%L[Y M+5OETTSA8+LQ;E::>U_@IWZ(0QI/62LLP@E:M+Q54XKV#;4C =:[_:(INU'H#K^1,MBZKSNC] AU. M/:H:+>NGWO'=0=YI# O O25KE=\VDB*%\!GYRK)R;AA8,WO=$%9JFJJC@-%G M>@VR07Q2L@7&T&_'7?^9M1A)WY?R)1QKJETY[S&1[[AL#4><,AC- M9=9"OS&P_6K\>5!Y3)(')WL]%_'!4U>>'R$FCIRZ!4@^TG[5.5Y,:WJ^.Z>6 MJ3MJZE+J;5GU!^=4MJ5?8\]4DY27KJ?6_?E 0U&#'R$0DS':12Q[45%MR.+A M?%#\(_Q( KY M B;0,/E,5$!'@4B MX65S6TFB?_KMW>*?M^612# S4LARM8_CS+VLLW#,2Y 2X_F%7JE(IJ9EG_R8 M%\1/'>I'CF&Y_D4GGK)8TIM@H4HN[I5)OW:U4YGXG*;';2Q,4OHHKFA?'S1PSQ._(ZY1O'1_4T>ROC&%FYX.7;6'K9K2C+N6LKJ+M)JY\A^O4D= MZ]_OJ!TS> H*7=[5=N"U;VG1%RZ,SM9\GG%ENVDQ;E=0G#<+UG.T+0+)>WV^ M!7B^^".1V3:=Z#O&+#HA]7@%]LR(U[#*!NXXQE!:1&6Z\K2=QT*[G95E<"H? MRX&AV-1 'R18H-*UJ*4>Y)X;U!;L?EK^?6#T#OGP@'A;KZ.F"1.'*?FSNN%C_ Y?:?0M((KW M7D]HR=P2 L/F()I]8K5S'_ZMZ;@[$]_[)0H<[^=X-X6L@K"_V);O0PRC4TR3 MP)DTN&A\);7#]/&=L[-#XXR>A0RCY(=T\ ??@ --EB< +PV"!:HN+,TJ39#, MDQ=A'5=[E]\PS].A4J7?90*!IC[<-?]+G]P+3CR; A6NMWCN.G>7'<0VQS+_ M9SI$FUK'E@Z_&+)6)!7=\97E_QLO3R^LQ2H_$51/6LY;?06(5:'_)(_O@-^/ M+QG,T?+O:]0,P"/?)?!96JJCL/>?9K[EI&RY M(]ZQ_0K#2KRTC]*Z*16&4&L?DU;^D7U_$]<0KCO9ECP;1&5@^V@;F M)%X*B*O3K)@%2DD7L]^DY[3;N@4FL[U9>O%!-X2N1YE-IQ4-\WYY'4H=?1WI M>)W,N&2CYN 6*ML\C1 >US0>[?@3MJXSV?Q(JGS/? '+(=\RP7<(%YJQ:FRL M%M$>F/T=DU'DL=UM:8QC0MMO_F#_ YNUB/RH.[_BQO_ZM93_H7%2=),FJ@"+ ML%CQ(=2N&4/WSR%ILK589*"(. 9"*F:RMA::\U$3K3M"AY>T@0U ME9#+.^9RU[V%\0J]72^JQ>Z.CVOQ>$^+AD@88@KFKJK/A) M',6[TXM-I0K8P-54!?1[1/&.2!(U_7X'2#A.KCI!#:^I]CP:=$G6_%F&E3RY M^U@;:Y\7MP-OQ5<>$):@M5_V(3JHYHXOZ+">R*8^=QS^%,'WIS#C)ZK*-?WY MR)OQK%^__.T_+YO$=J13>CZH5_!TRG]/A@D#_AGKX_YM?T,>ZBL EN&=:.GT M*S1%YCTR'"([CYQX,N].XD>TO6N:K@#1+I5P7W-K*$]0%8 Y0+PD,[QSBJOC8<6#U.&CS3\?!BONO1#(G *K+>D19'BY%:?('ARU^Q=P3^JL(P M-;3[.7HY#.L$(@T?G+=S9*Q-5X\:R5/ID6V?U ZZ9$ EA!^K0UI'++H@Y%]% M+V62EQ/1!<7VMJ78SQ(7T^65O6+Q27U,XKS^6Y/A'E="X-H4OQ!#G+S=9?59 M/D&IXY=?%<_>-9X'F;VK[Y$F &^%<1NL8A[M8CV6CE\F&@8ES>*\81?,#!9H M!I-);Q7$+C/'U-[AIZFJX/$"-67#NWRJWRWO7O\I(I*$ M4;S6[UK1R.U#"_K9MFVG/F1>^2J>LRS7GI0?AD$9ZU0X9V)7\$E4F]@+:K_* M=Z0L]X3\?;JZA6@/6 2-M/NU1;]WU-Q>3F2E/S:8X.&OVC6O&=R+%>P3_#W4 ME-&L*)/0Y?T>:X$B)U_\"[-(ZE)K<)X=$ER3;2O$T\!/ M@7.K3%UYCT"IW^%&U!@U&EYH&S%-G0,L+\)G2$ZWQ^I9 +@/\9V+@*#C[B10 M;4@U[TD6?61+>NF6,Y!'<9_X[T]/QNXI7A>R?S"D&T8;[5V.66ER&/B-QCR:R@4$ER(1B9AJ*\#16 MWUN [U+]]GBS)_E7;R=;#'EG+-CM(?#>C^%M&B0-6$Q+IT9:D'S=A.F+3C>* M,B6^TFQM>L=3Z!>M_MWE*K^-S"WHH;_WXR(<'?"A2''I]A+ZNU#E0B!T;B3: M0T.T?/EK+N%$RH:?U=+=;N9B% OEFR1\55O+BM&6/P]J9YLZUI;/V! H^I;O M=;5A!]1AT#&;G^9Q"B2%.Z0\ KV.]+T4/$Y%'24D>">4/LX.C\,7]5H'3^G; MW@B_Z+G\@]LPWPXM7:L?Z?1-9KXSZX !Q,U/98>XT MK#B:'(1U1!WN>UTM\&M$*8-X8_/"IK+*/\NG?:W?/P O%!5'"5;97-V]'EM/ M^I/@5R9\^%?(&'/D_,-DQ2E#!*NPXL?RT02HKM-B:M%:+:/;92W>YS0,/=3& MR:*C8,N[DJ6\\EWZS$^J%ULMP%5W#"SP#RK)FT=75 M#ER<:AA+N'(+",,1(HC-L*IDE2M/&3[7MD9#)M1Q7(@%C\/MU\P)"I;ST$K% MJNG<48X)6/9D7LC[Q#AEJEDBUB?,30&@"8#^T"4B$-A%CN3H!DDO(DIFYHRV M,4#"&4?FIXRI%G1(,G+M;I^GIIHHH'^M1&]4-?_C[1;^"5=BV!O*;S9[*Q&X M,$H+%Y?A41.L1$S!^N]]2&[U:8/4;\B+R0AQ5B_):B_;3Q[,V:LFBL?MFMN@ M-02B)@%U,L[:XD&BSO-!A/;'CJ+L,^[1ZL.HV@S2"2E(P<[9V2XD;Z[7)?\S MR;T!E:]9FZ/)>+VM^6!CW^%+3K1O[,H5]URXV!Z$;9*MX8D*^^^LAVJ;T](- M'W1'0C+OG"!"%KE&A1L;ZV%YXV=YOW((C(HF.^]^/J$; 8(.(6@(VX_I1L3V MQ>RE\;%%4*]VP!??LW0?/_X_QZ1F9_$8A?3M2C7[9XN[ZM517EN'3)-P=DL2 M\Q# %WVQ$>=_F&/(2$!S]3#4@?E0BS2(\1!B'BP+U&R*+VSK/Q76:Z)7UB-Q!:),2E- M$803Q,.\@%0X%O6:HYUMH,N5+;X-50#YI?=>P,CCT*%5,%M>8,/.Q:TU<7K[ M2(S7>C4XS'4IA+!CWRIW^UR#YS63JG4HOV&"FH=C9.Y=S*YZ T9X*A:CC8I< M3+4@MO-T2+I;S#;>TGN'W2)A2T!:8ED?N(KPGV9Y6$U$ $.E%KNZU1L%_KIB M,\K5C.B)NUXNI*JU1B?V+/68/I_^U!BW(>TV):E2E@YXJ_ Z350[1A9D.D=, M6Y!8,PENGL:Q''//6+ _3QU54]ROSL3A]WNS8,"]IBQ8OY4EBMU(ZR*L[P;F M2<9V+VD0**RLL\%J:Q-PV^Q_7J] M*2U OM7Q%U!,"1T#,XFK94FD%TM7[PLK#]4D%>1GS=D_1ZV$\\O5!UC> MR: M^9(U-)N'B2@:4UO@54 BG11X5,K]-VG36!^TB,/KG.E#"&W &+Y*YEI_29-TKR7\F=&!;7?.K;7 M^FQGOLB9>IQ2';:227E8H/KXJOKX+2>JF6B5[/V@3[DIXRU(-!M$GV1(*S@S MBURG?\3HAPBGJXYTU2*%0 //S&:['Z@QSBGB733X,G$78X'H9AG*K7-ZDYJ" MR\#X :M0*W_-7 ZX@<_!@L^+CUSFUH'?/UROKY\O71XS4T<)9@BZI)RS;YX; M,@U1:IH^/7GZ_Q2*3-# ;Z?\+-!O3*RJ4>(.:31S;-]>5CG/<+1P[_#_V\$F M4V*T7]M+: /+XYWXG220CB>5?Y/AWAQ%,)V#=$TI>9<&H2W,=UB&'WT8G1_> M4;[(]-A;M;;CN#]VHB19]*'+U[E6KN.12%.Z*K1?UY"%:D5]QL'B8P8B!RO! M <-IA9 GH6I3'#V5GRI>\2$U^"5/^4IC<^ZB.,V!_) M;N> 07N[R8F,L0R]GO!(=^AEQ)\Z)_>G[/EZ&@.]TFA%GRW\\7_^%8,PIO;? M_07CO]MK_JM+RKW7C-1!RA83UK&QP=!7Y3HNPK K_NY=7+ SP'Q$_G):GZ-] MB:1_>:9)R-Z2^E'_)EOXT\=$K\[/;P%><:^V39JIUCMY.WL@')P+(UX7)Z_6 M(N=J-A]EXUC^"/'*&E:'[[N3E[[]T-!0G];_ZJE6'9D'(WWJ6ZQN-M9/;QS" MH.ER%BDSLO?P(I[:C)OM2#+SY[%))%73%P,;Y!^0_47"('/O3^"5)%1Q!=[) MCOZ&TA:H-2IXU+7NSQ/^A_GE"9N^7)DW_YAP)B42ZK_65#-A/_H84K8A'*M; M"UCV6I'H);O$>* =6W<+> CO">,N2*=W1?3! M;@$ 6_9?F@I4O_Y7PU1R:>S0BE@["44PY3'$UM[ M7@$>8,6J8R26.I$D-']W]K.1D]R2.(6Q(7[.IUE=M3:)_WT>D8X<9H\TKY&QW\ M1)0NFJ3XZ$ JXJ&23 )YE.\#:+@.^K#S*IP!ZG!J0C LJ=8L?4A_SZEI H!4&'*]_P:E=S2H"WM!75QFB%4TC)M3Q2Q,5&Q;JU6F MO1MQY.12<7S]O#\?+VJA0)\P/T8/)^?.^157U"K+M=W[!6!; MK9>Z$48H4*T/O%>OG3BSH+I?!(OYNP'L_U%_"V-K9 L]UAU%VM!;MKTM-'H+ M*&F(V,M@GRJ-ZB+)(A!E0N M%*B"S434M4X2))1YR%HUI%$!^BL?W0)<7=*\'BRA"WLWIZ4,"[?I,X,.A;A] MM&;A97QP$^4XX3==,1*6=Q0L_3JB)B#1=[$;P[R*]U.[];>+C>BR(2);EA2? M8ST/>AG=X?&:6'F7(NQX^V55DMM&K^*ON '4?*Y#JK>"8&$6XSG"0:N]7_+P M%H L]165\7S9JP W26@]*?1K0RQ'1R +NW@U4X'H!!3TDR(T9XHM5L=*WBKL M%N#.RN@2QQV(9<&8[BJ@#[\+E4ZD:J>:3#BL7.F,4]M\H^HU;?5LE UJ)<&! MT0^;?' P3_I;#[:967Z5!'3M?%()K-,%( M)MRTTSN,N/_8&R(MB0MP(;;_CYV 5X5FL%/JGZ7H__+NPVMUU+H+(MF2V@C*B,;X4V/H4:X%)AL M.77PXL*;93 LP_JQBA9.XX"(S6DJ_N ;8BRBLQ0UEUUF*U&0BU!W%,JY'$W! MKW5*>+!Y$+?$)P'@EN@]>_L M@0ODO'[/*W3F=+CN-U$LY3V9LJ!6F]XJGS7=(C@/=;PB?OWG1&V$$CQNBUE4 MN__E@;S_\2MWB^CCE&S(%7!&)'.E%/9*OG$B;XH]9;9L]BJR9F,K4H M'Z[S$-^'T"AR"EN99^B:2@OS4KD"OF37VII]-JVBK4Y"\1%$5EDFZ13]"K7+T_EB=Q5Z\'7AV2V2CM2Q8-^&6=^@?OF_1M2PR_G MUJNG%MV:AY=6S+J5L($RE18>N4,Y=LBWX4R397 &ALJJ;[(+PEM4;5CREG# MWO4:,1ZXUG0?UG\NJZX(L*CK\=QH"D?)?ON$=5^5 M5GJ=XN1L;ZCZCD TE]-*;._+/V3 Q']=!G!QA_\LVU_/0.E\N_^C*:ZO79>2 M)$YE"W!HZK/\-^BY5Q!=Y(]D E9&Z+9!PQ7^_175J:[?G["'T&X"F#-^X&U- MZ#]%UZ(0P2V"4%UOA9744 ?7FA3EN_%O/MIO?>DD:+C\'YE9N,0AJC?X<\L+ M0YQ,(DH3!6Z6VG%Z_?1C$.!W7M(6F0;&)!) J6<6)J5D]8_ZWT[#0<$^=7H! M:-##>2L_K)<^\2-@YPLYE7:[C.A8RU.HK#I&)))[*&_GX74.$5M$+N5F7&'L MV%?1+3C'"G\/.:GW9_0\\C#0X5/#>':#EY)'MDWTSRQJ6ND6\R&W"8"F JN M+ML)XY\[H\:UG:VAOBS8TJR6RI72<9_"_*[$(=:WHS<8,EKSK]([Y*%^5$W2 MZ"3UL<,F)2?>YI;\(H4"HRJ!JL#"F)<:_XVU]XQJJH^Z!X,BJ(ATI*,"@E2E MEQ":= %!(?2H="(@O85$>N\"CX!$I-<()/2B5 $!J9$@+?2>4$,?GIDU:[UE MO6O^,_/_<+_E0^[]G7W.WO>>LX_R*NCE@-)]A=N/);J=J:A5L<;HA/6^9?9^ M,XEJJ/_UO-=)[SM"?_(0\F_$_*]2L;P*J F(:]1^3(K]([HFDD([7]:X%^! M?(@RD8E#J^ -;J_CWDQEE3D]-)J^SB2K%-QE9V(4+Z=#]0K-,*4BUFSWU:G: MRNL M9P7R6&0F=\&%7E&#[#Z(9F3>F/OO)WM6M]/#R-W*V0ZX8.U%#RE\H:DI]I^W M+0VZ0F:;'V]]%+@=[OE]<&FCAVE74N+(W,D#IS#;RX_H,EV.ASM4[>LQ[66$ M>R?23I%2S7]O8J!9;@H:@<4,ABT)QU_+./_??)PYHJ= MFICR:7]U362G>+G_L #U\=W!E2"[=<8U+"I9\7:+&]QH*FHBEW'.=%U[MQ ^ M[_9RS;J&8*U$]V?6N38S]>] 7EC\9NN4-\>>)O;^Q\W ($&"_TB7 MK,D"[_?AUO9IB<9?F\$]'698D*29([/YUG*B#2C%-FLSWR$"_N%(]CHH;447 M3\-8UX$A/LL1:(7&BQDQOYB*(_)@+Q>\:Q%97K; M,GU%'Z[J((AI;Z7+C:DWL&*#Y_F8%#2P@GFKUK=:E!^TKR-U^')>&O/IT+H4IDQ9 MN1S'3X"K-6O]AM3'8"KS4UDB0N ,U=:@"LY- =:DD+M/ CE>GS)8>]H1=3LA M=]WN&9!2[5B^O:6GH5_[J5?#D7PZOL&Z-J2SA(9P6TV=2357CWM;&2WOG3JA MF[2W.(W\ ;=5:^H =,FI&V8B>!$/,8HSU9&(KSLN1;&&;-:6?/W/$F;E;P$> M1*]= K#%Z0@-8.O".*0P4\;MN_6D8Y!$T3IS(R9;QL>7;MK\5U->YJ,[Y8HJ M3&];W0@)R%*2@AY1O^1+5_&/+VN-[O)V!8O?\6\;? 1ND5/\]:]$S,UV5KQ\ M12S,H#FL_#(Z6.FM$&2T1.Y)7P1554R0/3$A#"I^C7WU.6N[M@6U'+GEYD)3 M+H!*V<(,,9N=*8XVO\IYW"I#59(EZY(=$?N&GZ]%7W/)*F;#^@&!)A9F5:19 M80W-,8G"Q;GXAIBX?70%^+#R;*%;$DLOQFEPH*'E(F0= M(JW>=2K;@>O3CA'V VYUIQ@^S/9/\X2;2'.6J>L#-\E'!\*1?4?/4[L"#P)E M.6RZ']>Q>]36;4)9/2VODNO^P+48H?8+2?B8" &)ETZ;*Z.Y#K66F/!FIQA[ M&*N56EG>%QB:>P&J11EL^<<(OB8K?0 MXUK=2'\X99K\9G1I#^LRFOJA*ONL$ZE#X<4(CCT3.O]:<08MANE8!0AQ4Z]= MT&$?C=Q8Q*H8V6F\:8E]?)3Y1_(:E*>MLA!\_JP1JEX5Q3PM>< \QO/+U_K M3Q/CN"@QF3<+B/9)*08<'MV%6W)F2N,YS:Y;.9@ZF1AT((+68M5HW:2W_.\S MAYC.G\"5. ?1>Y6RP-,7$B8QRU*)T3-TA/.!@]HBO)5H.[XKS^*?2M%D+I[[ M?13D*TD>@G:DR'E_H(I+;E&4%W9"].U>;K5%OOC/,%OQ8F"(W!$CV>]ARY:C M+F[*M5:^V XLG'_$Y:!!Y?$;/IQP$:?&7T)0HI2-)2EX'GEG1M>I; ,'_^3- M5#?%Q=[T,3Y,;FKY=4*NJO+P'M_O-M)(V>**4Z]'QNVE\I!J\L@,8CZEIKH'%SNI90[) M,EN1'HFOX#=NMG6@-9_F:3 ^[0'L,SETM#$ ^?#31D=ZPS#M0N>,P^=&>-S$ M&N?"?5L"S?KCX%%#RX+$KL0;ZV!F6G-2F59]SI4\F+1)V!4?=9%UR0/N=5D1 M+@&)0#E\4RQ)TL738/S1MZ ,;:?WU2P&IZ; %Q0'3+^NI)E;6+-9J?5:HUBT MY(#116^,I<75?VBVO9-#=JX.QI":YF(G]TFOB?:)PKC@-U"VF9[&MT7D D,H M1F=**W7_\96MZW-Z2GAW M-@BQMEE'JCP5(3&==R4.S=LX4!_L^?WT.'_VT' M?/R_;05DTM9B"GM4?EBR>+VMT-@3(!QSL/+??O0/C*S2<8:3*-6RW9(7[ZFG MK(;;QGE.1M9+DFW)(-F:GWI73%J2ZN:;,[BD:^F$>G/^FTDXVN,IO U_7'J3;)D-\E%CN+)2_UI@6-B$!4;A!&_VJ<#-'5E@>VX>H M0<2*P9EA^L.@NR2D&J&[#"9Y/!B);[OK_WS+-:KSF+1D%A8TJ.^_ ;'Q"^TX M\8U!6PSP@*LC#4?%>)[\-?\KNIA,8\PS4M\6>0FH&>I A ?DGR##SK@+'0/" MB/_8-M3&[0BXIY&G!G]?,RFP'>4K"D1^OKAFP I3.,_8O.!?ATV,-FM, MU&8RLL.[AYN">;2>I@M[W TDLQX_-3Q[CC0E9L1= N;9L#"S-R4D"?T8_\50 M<$B'?DV#K7!YE>RLPI,'/G$)LAL0XRN8A9+\_UU/?_8 28AVFB7$!N5M(2;A M9KNPS16X!%:*YDH8.R B6N6(:GZ)$()K1NF&"ULG-N,ILX^Q52F-K"R +!F' M^FR]F0"&\BRQ2NUPG]F3,(2VCO16T%BS"$U4*^<4Q+E.WL]H%[3&.LU(J%QZ MQ;R9'VRJ1(^9C9H1)A'Q0S?6V%:BWR#;I9^HYUJLG7QN0>Z0"UVD*65J9K-D M9SM$'*+JT<@P./7O@VE^\V^$@[3*LORU!9VJQOB;@8$JV:K-YS,&*V:MP'/D M!>>9_L3\!-!@7E$)//XFL4^WUSC]1?99P<<03?X*45L0^.\QI26A+:Z5'SZ* MO.-58=$I8\U(9,)^8#BU,!JQU?Q4VPNZ!(A$@(_"[B1/)@@]I$F T#XXSQ%! MFS5;>+N.D,[/>)1B"G&N(INJ0M2R/"K@NJ7#,#GK5,*^&LP,!Q&I*A$LW5N3"-P\1A?(6UH:56F/.M4/5_ MENO?V1O1$#GSDMMY]@&J \1.XYX^"FV7*5]EHPB7/);0F;!PQ[*8V"J[)'TO MO(MQ$G=;!HPFE.QG(^3/$T(=BOV$=)MJ?^?M>OU9C,+C@"MO]_I6JG[F?:9* M0R);*4G)> , O,?GO9_'Q8J^GD./^!]KYXD[)0_;WZH:L]:KDDY[/I =H)YA MO95B$-07 )CI/?G*&I?[Z'X94V9HR]MY1X%N=ROG 'G +/ MJ EDA(2">3?2L_TADJ8W>WISXR@L>;%7@E9W:Q-N.,HI)*%[GGG!LMK*.@%4 M=)B;EA=A!]-6G.>PILRI3N&IT_EO=R8IO%Q1Z3O]^*^O_O6-5C9"TX8U+S$A M%W\.Z7PZ-?L+&U-"7?(T=$DU[ROU]/$<.!Q&.0*[HIL+W)UETYKXNU5N\[.W M_+HW<:OODXSFMM_3:P"/G9E\B@^<3]FZ^ZBE!ZET3=.I''E,O\8'/"S^?OT/ MF6D."REP?NC&-!0LSY7H4FA0826UG<=[6Z7A<[0(STEJZO$$;"K#)3'X3(Y( MV55U\3/G3AN$=G9JRIKT]X_SB--N.?B(N7+KG]QW9/6[@5QD0^9+%_Q^FMWN M9U)LK7DE&]$.@<1K$]@.'NO6>PSJ[^B#4N2OO9(1&O3\,1!D2%PXM&D8@_'/ M*U+-3X3F(JG6 K(S3B+#W&RA@7HJG^ F3HS,1D6^URO7RPABATJA'7L;V%:Y MD?W4HO5[Z=@31-BF?7H@YR-'-;*'$MD9QU-)3T.@UG8-2*&61*#6F]0XDM:)7W66FQR?HB2IT K@8OC[$X=Y@BX2](LH'HX7A8AK?( M,OBF5^)ROC$50I-N<.21MULI/GH()AF\R5\/L*L+WO\C+/68)W.=I2.8IUN7 M)V@SI"":I<<\QZ/!0.H\^LSV9!$N-NPM NZBP2L^,F4P'(9IOL\0>KW)_>@6 M>$?HVUL5.1:F_7,/),T%$TEWWBI^O"ALGUWO+E4);"/X79$7*L[5GC?%?3T( M6E: M*^I494E+#C;[^C$DW^]MG"!A/_Y.Y"UOY+TKSD/4C+P0T.?1$\=A^UR>-,0] MT.14IA?5K#HL!LE?C%B+$6;:\ AZ$D]W7\K@R M^GCQCO[M?7+#GSNOETT:CO1L_\LJQ:O9?Z71(4?S%Y M!/T))F'[Z[@4275$]L-_B*A@F!#>2DF9L/V).:M86VH:]5G24/*I9%)7PK;E MYY["O[ZH>Z1IXG6\03\^;_"!:>&^FE!G72W5_1O)C9> )X-R^V*4WW8 M&Z)O?+--F1\(?Z(%4RJ3SK*9C]4CV_[2$&Z+Z\:_AVO?#M$(\*!TA@]$RBNI M/K[UO7<._!-*I,0?=0[AU+I!MP@]4>^:I;ZL_7;*C"N\&/U57Q<_%[T8\D0I M>G)*.,"E)Z!W]$+F3+_J/->6L))PIMIZ$YUA @T2[5Y1WY,\-_G5<+OJ;^CN MKS_?A0/W"WYV?.*V)KEU9KG97?7JKMSOI'':7ZW@66Y5*_OU45FY"VV\JN&C-_5A(^'M\8RCURC9VGN=-3. /Z5&0>*V(' M[(\(@]4)SNT&J=Q!R&?27"/!L1W5CD^=3-;R>C\?OH&KI>8@V(YEYML20:(D M&7QBQPX%]()WY(!=C)7DH9LE^^;;'\F,F,F_8_$!2']P8J7(YSRKL/7QW9W.2=>HL MW)^8=MN[,%>;3\\UI;5Q$M8FSE2Y62M50!C,D&[B0A\:2I=P*#E8? 6Y>&== F[/=BC]J7;B_C,Q.UFM=QA9^P,W@@A$60OU+A"/XKW<(B3\^@W; M,/7WF(?5')PX^.D:7A>:T7AHZ,M[QKA%7/#YM:G5C8M*<6.@;%X!T.DN;\_7 MKV\IO?@T]'AGS1I6\^Z>N/'CJ4^05[6(%;<]'ES[2=Z$E%L$G!F+>5GBS,97 M,4U\$>'$F*+, M@;8O(8^A' A2PVAUBL?5/W=7HGTZP(=M2M41A!CV$+5:Z]MM4\)+VAY^YB:XW>68::H@=IA.Y(X6CMM=/%;33 M+P$F+Y ;?) D_F\S9)< [Y+^IS\,=?)7)_N-OS9A$>ESZZKRF(8->>0'V /H M_.E&X+3@B.+]/NR1X-SF#.7 @Y7*&^Y<%S+5_ M-^#LL,=MOX$&[N56N$G'6@]VA[P6P.OW90O)Z4.=OR*JEP"KCD?5G?B M[DA7MPEY.O]*Z9P<7'Q'@ ZZ =T7FGZ>N2#LRJ=P?_S@%\K)O:ZL2R\6R8>^ M7"<.6!#!G3MT?_4*_0-"'0F6CE0EZH=0-[E*4:U+ /AON-S7"*7KH47;HP'O M<%96GYM<%NFR']8J("EA'"-G$G-M),V#:##D6\A6Y3RTN/V?GG=SNYK TXFC M2!M"42R_&X/3M2'#S&7N:LPFO[OCCR4:O#S=ML=G MEO3X18 H91T*B!7!)X8>F;N6*$4UD\&!BI72UE @(M"Y)J6[SKBB M\.U%PL"(&LKT^Z\D+> N'9(<\/?QBJRKT-9MP:_'5IU8\:KC3_BA6^OQIT). M,^Q5A(D\IQ(_@ZX''+M#=[6FA"=- MNNVWD?2]=V[IVCC-ZREI9>C3W:^E^\3TZ(6V_=01HCD *S)_"6"Q].OO0-0H M1;P#BJ TE<+.M!TS![JZ/PFJ0Q]DW_S^MOY!FE7T:JZ&@=0AHD-I$JM/X(XK M(J:7X:DMNN%/TD< 3G#*:%%M3='2JB2CS@SY]Y[F\W./^TG7<)2!D?RAN MT4];2D3H%2FEU]>SU'$7H@EU6_Z)7Q+Y3O'Z=ARM^^A$H]CDQOHB57:=X9:3:XWP MLE-QDJ;^-T)"!1\V$M/OU.QI=S=-V&C&_'CT7?]K5E44"VOWP?Z [\SUWPOC M!XDX(2L"922&FF$^'!NZ+>+B=?S.KM8B=N&=^+!R!^^27>_USQU8IA,Z==#[ MQ:LR9'/ZF.39Q5V57(LAG/PAC5H.AXU IGE$1BV[E[6,^W=+68W=@\/QA><1 M%J97E72' 08A/@L\N+FYU2SQ]I=G\!U'5].[/[*%W*>SP:-()AB94N<0Q;0? MG)MVW9K5(OV:Q<#CD%_#NVS Y.^OW[L/&!"&Y@=C"5D_Y"'A,"57E_T6D'AT M_;;O6UV)JNU?G2E!:YZ./?VE(&GB;#NG1 \$G;C%4'(E<%*-=<6H>D33KS3$ M<%#>IN$'8O:;?*-ZEEY6J?RRG MFBR /U9PE7^Z51[4IH[=%=J,$5BY^W(OM/VH<;8#.5G4&?".BS9A0ST#+UR; M*EJ2KQW(]=F1^9'9"!;P\[H8N3NRPI/!$>),@IX^T_^];I*I/CR3FHJ&_0$L2)W$6R.(-7,3GX@=[;2K 6E;,YF'=TB.9S*K\U<)WZ\$!^'J93Y#773XX+"G$\Z"E?G MIIO>/A0P/-BP;E#+.;S!M;)$?\: "3U4&P&J<8>+O>R6 8G3*>(F^^J2+:@7 MG#_("/[KWQN K;TJ4-LP">(I?B@2SK$J]L5\%B;OM\53$[P08A$R?"WF'-@N M0S:H(H=J=BS88CFF.VXY%2")Z383>SH"PUOJ?P.-OU;\HE][3]*'@I-8+'^* MNB;VK2O+VB1^JK+T1OW055#Z4VG V#.OD+L0BO?>W6[M$IMZ&*4%,+9TO36V MOZZ-&A<4.(R3HR-RY7XA^<[O;$V6K(,$",T9;) HKPTY+VALD-2VC<4"KX[M MV])G;@V\?(DJ0P&G'C&"[ U.I@)?8Y+#_S\85G,K7?RGT1^VONX@U759D?D4 M)\L/S)+"\'JF@Z'_]FXR \BT( +^#K\?"A[.-]VQN4'Y3]9X6KV@.L"2J-E1 M 6ZW%D_M\'5T:(S':V3.2/M=>)NP+&13,$%Z+JB:2('X_FF*0[]*5Q%5!LG[ M8:]_LMB NEN+6\9 DAM'-D8C:.I[VN@TPSS,V"=SO#CC]?K@]5MV-'"*M4V]?QSG0:9"EKLF^4+RKR+_SK$#5UP^Z]+;/['C9+_ M_=+S^1,W_5Y"^>[75IVJJ]P:;*Z7CZ2=N8H1SJ+0MV-WL]SQY)FWWD2\4/[Q MPI=A[RY@!Z+I%XOW#3OC\2Z<@L(?CJ*SXG4O%!\VUYOB(.]OK6W[E2XY@I^O MK59"NV;IFQ_/"8@L$^]%H:?9%$*^,OA[%-OV?L?=ZF7=&:F8(8TJCY9[G4Y] MMN]F5U3UJD77.V'[C\M1EZ&'*>+^D6"K]%Y#M$^A8Z7P@,+T2\S-7VH3C5N-3KA=5!L)GO_*X S?6 MU'/FO:NV&,%R[D3V]L-6[BHL'W:30;,U^2VF10*5)E'[OGBZ%^?'%9&+)A7, MG5X"F/3FRQ ,3IY0P@>(@6Z^>-QAMS^H(U--/E/HTSC\D9^!6F-K[1A0O7#2 MTK39T+)#L:^LY#: Y>IC>Q(0C@J?I1.S]#VY24EW;?%^6^D M* #T GS#+OA)NCU@^A_S.W1.N,YAS>5F'\^RZD+WINNU?@/,;QOE8X3X.^"" MPV=OBC"'T246SK50GF<.F"1Y-TX-3??,!:^V>)/,V1Y.R'Q+1)JWIW1BD690 ML?./,1777;KJ:_(9@FH!-J"/9&N,X$]KL_>6,O!U<<99Y4=$I_F^'1YG7(!7!Y MKDW$WOBU$P>A@,D0A]H))$37+9\3&%C;#VE3[\BAE1ORN2,;UMW@%GD)J';K MF(WTQ6UM83Y?5/E7F$E_#@0U(/@V6IK>$Z^M/+"(6QC).E6!C[#)_&@C)Z6< M&C2-2B$8'8D=CW_G-]T2$D[Y2J^\\J&KT:^W/@%) ^\@*.^'H4)KD29CJ:G2(\OKC#>UO$=:2 MW @R,$Q9GNF'^[+DN3+NO6I6.Z4Y>TJ4KJB8F5$KC\+$UK8UC,Z-\R7\MGS: MF_:66\ MX.!<#7\O0C*WB'V(UJFVI$2H)3ME^F%!^Y<;?4]E[U^3YSH0C5QP MHR&EJKBXZ4Z4NZ'#IEM/V,,=4]UF_DY^[VFY]\;V-0DZ-QL)Y"?>LR9BPGQU M*S=\?IM/HS/N#'\,9V)P]GH9QJJX\8'(O_F2T-\%?TAD1B&<2AT@/IDGW9PZ M6EM<-LC9F\'=!.W[A_Q2:SG^39DS2Z;*)9]_ MG1$H:!1EB]:0C,V<%=_^AQCOQ?PJ^5"+(;<=?I2C4W/\5#F)Q/ M?".Z,0YN[Y.G+6^P+ZF[E.5HW:C*E/J&;@!WM-4,A30+$3W-2*E%IKKWH@\< M,X4BG:+#7*<:4D Q ]]L$QI F$%H6S5W\$$B"Q3$6]M$I @.*J\]5Q5A *>/ M4*4KFB7[]0)3%/4"7(XZ:>ZL(2:[=SK97*J=M7;->OE&!"T%[S1H#-X$Q"4Y MX6C^_ODU6Z!WQ](*M9DZ]Y%HGX6"6/N%6J3JM02I M=O<8C^?7HVL_1;OTLN[S\^0\$?I])D-4:@<]J6IN&8;I%JR;I-NUCDJUC(AW M)!0<'VMR&C!> BC/M AUG3>+4CL"+I 5Y7>-(%5_A<-ORLH!%CUG"]@2U9:5 M$I UWM@P. =)K)WK.F&[!$42';(, AM7U;12E4;?_.5&/JCQ_18L9Y*E#$'Q M[QMR!K^F=K@"8;;3'NL"XH+&.WNA:-8;ZW#>[ 8BG7'FWJ=7&D39_XN5&)^9W-I M7BR"2WX"^/*+=JF%Y7J*GN1)($3!M*SOQ^<4FL8B08!B)-/ZJU?3"3^O>(+: M4]$S[J)9O]+^3H9HV[::\-P/K#09+&[-/Q#-FJS[9;C!5(JF_!DGK$H\YJ\( M>?#=NQ/D'%P]%)7#9H$"HK;II\:C&,MF&JGK M_]8 MAF21$8T^G;(NF+T[G*^-*J/H4@0D=NA>D >&FXR=W5+;NV(" ^G1D04 M"K/!XK)]IB*!KA7P^-;N&;5W)>+ESH3&'2O=-G%<(PRZ6C/]A?F[0D5_]L[O MS:4'YW;XWV@^2;6P,N^UG]B=4>BN:IO!T0!.#RM8X,RK[R\![3(8424\E(,-:4>\3#>NVSH08R0RE,3!^YV<< 0T_C,F3[A$$ED M," C]ZU\K360%=%PIX;?S5242 &'QF0'Z)TXL5L]"7'<3JX;:-J$_G4T9%F MZ[VN&5&21&F37^XB43-TF]?>ZNW-MA%A#^W.4GF4HN9S<"DIKS/=FH8P489R MUA]>P]F5UV6(QIB%N>?ZW+];!""^:F9:H.;&^X9*[M Z\56B74QHI+E!(@4+ M4\(^0<_X[K##-('OL;PO__WC?%2V!YFC"3'2Q M,W:7Y=T[E\6&'.6"F.X8LP1*_@\!+VZ<7 5,#(19L\.B@GY$ M2M/8I<.-6\9RNS+U!TC\WP9""WTB<[2"Y1J8>/Q-9[B:V3+Y=UR""HKYO$Q8 M;Z)DSI\W]@54H+( ^@G]QUK[K4$JGT_"78F8[1\CX<[$<#W,6:(2M[G7D]T2 M@R EB7&@%)%-43(5)AH5/M%1T5 MU!&F*#>W]^K>?$&H$X+E4S-PJ=SU:<'C.M@SJEI8TB MW.Q,'7@/B-KB4/6)8[#:.9_:-]D%E8[!WGQUDF!!>4,5S,B5'*>$^XKZ!V4\ M L"/B4+X1C\9E=_>5J)"0=:SK\8>UIB1MSW"WO&])I]?/6# MXT=F7XZ+"/,WX@56/CY&%#J/L1U^]BXQ*.H*O)/Q^WZ*KO=[JU4+E'HJ/H[=FMR2NP7<=Q@+<:\ M]#VY>)ON8$V?XE4+GNW?!:%_-VL6D#)[7?>S3H-4)]N6"IJ#(Q<2TB+=B18= MTJWBEX P:RL=V0,#$=L.NAIWEZ^*DZ?'%VQ[J,E9C:HZ+%"]Q F[]SS#77ET M"F$G%2:.:<36L*^X21_BE)]^:O% M\K+!-"7 NYR9.0-3HE>[6=DTJU:P(!3(YDVOLSV$P2@.73"(W/PK?-T$O8>; MP]T\&Z[_)5^HJ"X]VWW!W3S!K1-J5I5AJ)+Z+K4$T:\85-;52DVZW;=QI=MH MI:;.&?\ZIV>.[13U^L3EPNT5\H:X95C?K H-W&]L(SYJFR_K&2G&5]1MF4-39#XBR^:9&I/>&[0%V7Z:8V>2S<-_HRP 6NUS.E30 MK$"4YU1[,3$_GH+5JJL> _UP4Y@6HHI8X4#<6LB]2!M9@PN,>,^BXR6,,&V! M'B;J(<9O\P/PK>I$S0B4E) !@P7HLY]-/?&G3?7TKLW#%Y;NH\B6D9:7/R[H M:@D96W3E4VMLAJ->Z;\IR)^*MT,\?%<-K(^++"@UGGH836#K])'+@BPGNREQ M>05;\,;9LT1E@D&7D!NMX[<9Z*,AM1R\4U[(O29->N$@4QG]M!%34IWZ&+I! M2LC%9!!Z\^*\_7D3P[IGSP+D H.J[I[O3)G(*2RS:AW#[>7:"8Z&%4!,P5ICJYI=_)&CE ML\%*1 G\4EM'V8!\EU=9B\.+%FT[7:A1J8ELMU6TJRRK[*'4\B4 8/%L#/X0 MFEG5BHFT;,1$@[5#?FP],_Q:FG%[@1_H=2 5>6IH,;/!)?,-/09^@1X6V3_F MK6X/=SB/?6)>4#;EX"V+IS[B(GQEFM)S;62%G&/>,GJ2@J3^N^F:)A MKCM$NXP$F,2;2J?3K@*3E&YC:SG#L3IEM>M#F"#W_S(CH*M@TMI<5_N< M,E,]7M>K5_8+33E( "9O$,7%P]95U#EE):Q]6VB2:G:Z\X>R@G3]7'9.8.9Q M$YX_TJ*]5;AI%&*6"'%,HYE:2*J'%Z8S&!K54$W7G-L'T7;6]6*:JR MK:?SM8T-XM4/!P27Q7_X4?WLWTIOA]*^DU9\=_L[Z#SD,G6O,EQ87J%A/5;\U/B(7$&: M PYN"_5+0N*/S",P#H6S)&[(B/6RW0<]294%#7Y*=^L/ 5B'!3=V4S]*32M= MPYA=J,]'M=J^Z2)8DKX.2G9N3YGS!M-2+0)=]\&5_1Y;>>/K3>SA$*U2--.T M'Z2;32P>O=SV&\/BK2"5U&E?)_?B^S5-+#G/=@##@F7<N8R\[1P%GYKV(1^F3?03(S*R*RZ%&V!Y[)GXDA1YFD5[. MNT6 )$CREP!"A-10NXOT^L:IFN;(.VNO!'\F=^'D2EW;8.QIF&_%)>"/9D?% M%]+4@EPM8>L2$.&E6V%R:[])80/\H:+,?X#VQ72(..%6M[+4X0U&SR936./? M,PQQ)=0E;P0NYVA^"0CVCO?$%W0W/,@:3HMR L X1L/! MJX>"G)]M-V!SAK!<'4(H-KTNB:0[?U%2#,WT/O]%O:A3SE1^\<[%HUKVW?7A MOSZ5,G,]'::#F"^KUGS(%P14O"22L>?]5[%;_5*_1ED_W'&+I*;C7QX" /Q1 M8Z6/3S4X(KN(9P_^=9U2>M<69UX7U_S4OS>(*1#:A,9Z0VAZ;8H=+?)-JR+U*7)L$!^HB$,O1Q#O*X0GR.YKNNI/2.^RDCYP9<5FU;K) WZ MV;=]/_WYG!?KEE7D%F6Y&8E&FU#4M1.&>]XH^JG"Z:B5MKY&VL7NT9KO/[:F M47=N)BDXM'8=H'X'[")9X$,!!HFM@JNM$D0*5,FZR8E0_@DB5;699Q==O%UD0R1 M#W*K0O'G\6?\)1USTXB>UH?HE*'.5MEQOO&BB'E6VY!9=],'#QH HGBR58[; M)[=C8K>=;/!(!D?YV+-WYV7\5J+$K\T$YQXW05R#1<3I[?BJ[#>#?NV+R\T[ MZB2)?\=[R"_Z3V:2YZ&Q!G1_23$S>N8G"G*@WTP%EL<]K,;7$[, 9)"\5\:> M=#\3^]VX2?+CDFT)F8J> 7VRVU:A)\M*ND1=/RI9VYAP> M?.\ITB/:M,M7(A?:PN6QT<*+5_3(Q.V&V=KO:4M2T('I.WNZQ*>\=1?,QZW$ M1==#U(C\XU/E1:6G<%Z20T?.34+;YKQ=<;QN-YPFTGC<-A :+ZHERHO9F]^C MM0C:;;BC>@F@7ZBJ^->)E8%[$;\3)SF6%UJ(O0 M<#JKS[JA,1+)V9ZVPG0DUBD697]R8EV,[G>3K[S[-&5(E\^B/;&!9/1 M)&=3AQ95!/ I.5Y%=^P\*G2_0E>56%N7.V.M62[3L:71O:**(7QLM%5_IDSN ML\8[U;? \8WQ2OH.9(2>,9R*;01HAE>* #4]\4+^4M#5S<53Y9>"*X.R?<4< ML#^ V^=L7XL^)R9SI\\H$;Q+G1"B\!-\MG;M>,YC8V$$[7O_WYQ)'=>FM5JT=3WI;*.>]+1HW?!B@(M]LM2OIIVJ;+U;6\RKQ"5$V3[JGZ6X MN!YV\5H9&X\.*R)?O,S,01FY3(O%M560Q/OY1::N;4CT<]([]&T MH14%G^=NP\U-D.-E+A8)5,T4Z6P%U ?*;5L9L6S?227WL><6>Z 1^-X=\LSBC)I M711RP'VS:UY/"BA5K._JBA[B/Y+0T4E9#%@"(YU=,02A[UP/,UF]E6ZO'8UT M%%*S\GZF$I^,PW.L*/A+U62^ZU7)AT$)1UULXVUA%T](:MVXH1BE>;DZ@G6> MNV_A.GAXQ@G+T_^C*1R;9I/&;L!B$VR,L)UE<[Z0)D9VN-TFH8S;"&Z17A6, M!O/G#\7?)G8:4;CL D-#&$.C3L-/5C9G[UP,M=UM9KY(*46 &(>(+2,::.PO/5DAIOOM%&C8#6MX(,S M]:'.'>('>T;2G=N)-6&>L'Y"V$J,TDAU,_NIXIDL MR;\,MY[#1HC(^NK,/(PVM#3+U;CIF>2_Z!&PG_WH)A@6YD+86$%%752RN ME1TF2P2A9#HJ%,P;&T)?8B4GC9E)&E$O^SV/R/C)W?MI=$"2.%)61XX B6%N MZ";,<(+/RGKO50VRD_I]!CW:H8^SU<1Q_!-8\2;Y'L08ID8"SXO%LMFR(6+1 M[(H!$Y3B[1G)V[NS+'^+BJ7F,Y4^H+D_G!1%[,\R^KEVG[8WBHR-D'P[GTQ] MQKU*E5ZA)SORY8#-C'U,#UWR!1YU-SK$--\Z57;BNO6[&>I]N KBLCS/,IFP M4VE=[0=-VKY]DI]]9Y^%P]WR$M#!S>X7J7Y5XKK:J$DUUL172K3E0,YBZP$[ M1!#G,O(IW26@9_%NWB*>ED(2%+G1$Q'+!$_$N=P3SOW4]'* >: M"-,8T0+M=YD0OB#(+\)3TZ+P\A*CA"V9%5\7T,)&>%-P)1N9I+TW>^:3CO=< M^6 Z%$QRY,QX@8J&?CT3T[54F-//5YLS@IKD^8CH?^XKUP/1.4;,#Y2?U%85 MS?16FCKE"$2:&GIAL:-4O;VI7+KJ1UJN(8V<\%&349A-*8RW-N55S03F'[?Y M9):0VCBJGV6IPSX)R&GGZ=><; E/2DK-3[SE9FS+1HU*=#7V#U:#G(]JA_U5 M5J*!,SQWYMQ. BZ8^J=A&A@,*<-I;M1)R,K2C'W8X^8?1@GJ^@UD>JLCZ=/; MHTO /:!:@?.1C_G;+BB;$TWQ3+\;(UT8BY\/P:)AJ+ZRK:,BB+O;X.;UP+M% MQ324H9PC3Q\KB6%V_>\3/,V"-&AC4M.VL\Y$XQ'H4GW]I^$5O&WL$FM,C<%% MCLR.O_ID6#JHOP?@4[?2S^S]]II>'_?,7.Q@<:T/JL9R$[6',58RX-8,/!HW M'+,\OH)X^K&&NH)UP57Z7-Q)JC_^MFY;='SI^E'ZS,.Z<<[]6,=M*S4MNP+=&@(/ I_M_3B-TBVW>H@1Y!+MA,4+61)F;H"GTUK[)L(]2C-3E)A3:$W6=?7=*G0)^5U>G5?[)?TI!Z-\_SXMZ M"7;]O-VF9K:<&NM35-@2>)6:/AW=P;ZW:'82'N[>Y2RN_,X,"IU(V\Z-_V3] MRL3XK]H3Z@9WPH3ETO 14+X^A[$)DP:]!MA9^(MFI M.<=,U3"Q2\"MC"ZW&XZ-W15\!^@U?KS<'Y'F&1G=3V,_ M'H'/1*4R]8T^VA@XN'7WC)RL1*/;J)W$2M9]J\Q-'[]PY3AK>TH6X-W[L*H9 M,6>E@(^,G*_.W#8E?UDPWC*==VWX9T/'W9Z2.6P?6V$.%GG=F])?5+1"TH!1 M\9OOIW_47%5#:(!QR?L#04X$G!*-VMPI+Z&9^-?Q>UT:K\<]HZF$;0/^Y0$' MB[O?DHT?"/5*MVZPOR$:L#\V*J'2Z#U?=@B%T^/\(-:IULWC8LTJE6@E^U.? M+]^K>[*W7GPALQH785IY52*8F.FZ4J;_4: G_?:_GTM^C?UO]LQ_LLV@^6W^ MJ-C:?= /A6K[SZX#_82%KA0_B:Z)@#@3DX#@H937;:RQU-W:6PD-7VBNQ'EX M%W[GVMFSB2V8;KY3QDGZ5Y&O3=79-Z+$BY_*L))OO;E0?W\)8*OT[F^+SNS, MX:F-&#)YI"0^,WW4PW8,_2;D>^QNC27&+CSTNX<7Z:J8#4;']A=H.>CV1TSS MP$*S%ZK(:0I@IPNS;%9GJD2[BY9 QO<&7N C0]M2P6+CZZ#O+RC+_M>[+#X' MC PK,RX/;XIJ/*JJ_8BHNXU<%M15!&'UXGJ<7*C+WTW%J/WKGDT94*4.>,]U MGT0S!Z&?M9RU=J0-:EWZE3+]S(S71U'[_H1]UJD\R49]7!BU?]IBC],U&[%+ M/-4QB:[-WK+C)V<[$!2XGD/L#BTE):I)9X(:9")W@%WNOM>\LO0_D7K.D M.7MX"6!!URL--[_YNAX8H.E=]-'^Y)O4QOX+2JFYQ\W&TLEB9WP3$\RXF%\F M2IO'5'D]P1%R'!PKBTJ*2''9[T"%[NE>S$' MMP6N_]H7P_'_"%@NHFA1;?IYMVR0M&WQ/".+R9,A:4R-?@BL.7@!HIV[2MYJZ/ M_N+HYRP.Y.+91Y)D+>K^@A=#&_FU,(4%);I5G8#2Z?,OW*QWB.1Z:;TR "JEEJ?>I5-TU>/ MBH3+$!UB,R16A7*SL);%9#2G#='Z)9!S$2%I-^N@GO\)LD:-]4\!'@9^&% M:S3?\7;>)[[ZR.X>6'#<(KU3%9?=D):H=P63LODVDOHE8/[!J>^93O,.S^ ? M^(5[7) S-6+A7CA0HMCJS[I\YM2,^>;> P%=6!^+#3:$VL^[)PP(Y>XH0U)J MSL=&0EV4_V9U>4]*!M;?E$CQ\-RG0#>K\.TKL32[IL,Y$'1 ',QDB>?V<^'? M7^[X^BQD>UI+/5]@95'?-6L2>3E= MG5L)[P,4>8YXR6G1D2NB-="BUGG+]U M08OSM%V4^#A?7=/7' ,_6!"+^ZT]/\UC1*C8E!%R+^VR4_KGDV Y2Y+*JA^+ MU H7#V$Y;RZ+)IP-=H(X+,QU$_DU]+I>(=K+DV6(%; P^K"@@>2)MWJYE=GG MR&!ZW@:IJ[>2\MF)8*2WFZ)D.8[4Z:MT2BQ[;!@FO-^2VMC\12AG1+<%RKWF\04[_?:ZLSA M-\:% 0+B'F->,?I6DX-_,OPYOLJSGBOL>N+@%Y(GL4B#R)>>^ 91JG)5@&Z, M*??2EQB+<\]1%KKC&H:HXYW=(F5F6#)^^)K;+\^H MIKZW6S165*J%WE00I$L'::(_NG0A=$2D1GJ'A(@(2!<0D-!$>@F($'J1&I'> M$@D]H8= B1$ZO%_[AUWO.=]S[EGG/L?]\/ZMC^LM=>SGC7GWL\SIPW7:I/R MD1DO%1A:W!AUQJ[A];7%]O?&[)H@VQ^6A5@/FUY:!7Z M5;&T4*MDJY/E1.(K/K'8;DM5XY=\)I^,_FH_DLW\S<)%JJJIB_T+@G7M M+?4#W-KN,JZTON"?U* **ZKC16[BH0+ 3[^ ES9GGW4)['820E1(%C3^??KIL M71+Q[NUH9.*BB-^.\'3R>W+8*FEU],.)$$2VH4ZEJA:#TM:;M<#OB-4LPS>0!VS'QC]F*%^^C6472$6-2-7^XD_\GLK$,))#OL07:>=21)7O:T'V M0%DW#C,.>5V$(W5MU9ELM6^O"<]"G@!>'\H60'UP[&=LFRP8NRA(L0U&G[Z= MT'+M;%Q&-](/F4?#UZEL&NV0>,:/*Q4C#*((05<4=]#/*M&J8IOHO"O3B&3& MQ=GX;%XQ6R_CS %G;T# EO2(\.E?6I5XJ<<'HU[M;FQMK_ X5>!L'8N. M)G/"A8HGX?ZR46LI+XK\Z'O\LJ2"%5$!G72V2#%R MY#\U7"2F<984($-,Z64TO>-R)P"(-1BM=UX8YF.G3(@" M5UR!_-L3?:X]M&.@B-[R"+ZF)+@'"KJKB#@YNY3T^%"!2LH:.2)9/76@AIQF(",YB>2&V)* M96X/S4IZ']\ MQH^R]G?MM?! $__L \:B:=SF=8-9ZL6U1,A&]X@ MUH0AD:<F0 MH]E+:DI!EUK-$//[&1FI+2!:ZY"B=T(-/H^\<9';_V9R1_MQF0K) I:95)V)-<]>]E"=$(D".;=VYOY>N[8?A:'Q MA4 TM(A!W81EM9@C\&T!"<\[\W.IC_JU_GQ077* WB@DMO:TQ.%5'Y#D$&X/ M2@HJ;-]$L]>V*/EC'_F,Y9T#U.TFX+&5-VZ@/B'"]<+"M5%[[H)?QS68";#_ MI[(8/'P<&IS6:\=)#5A:)_;7^16X9]H)UR&L*UTPWN/#/:'53Q0H-26@2_T\ M%XF'O;1Z(O8W-UE:^MK3)^QFD?[9[TV_W'O-2Z!'[I?DYO:2M7I&E^VY!DB1 MV)AN"K41FSEV &$\!L_7E6)*F_92&EB1@^Q2MYZ2,0A/).[!8F*G2V?D$4MS M!15VW!?.!QIOU9["3D;-R>T-L+.R2M$!+A;@UGX=HV<6B54G_]+]485C);9% MU C#5NAM>?29_:[GW1\\UGGXJ$O$:NB+TYPS=KP=\X2R+&0)+K#^='PEU9J6 M->8P<(C0_,NO?TU1%5$JM:4EL@&6]2&!D(?Y=6TWK8+[3P.L&6-3-AH>?VF] MK2W6%CW#J5MXJ\S3+X&#G$Q#+;2@TI+6L8;1X&>XY)O!I=TPZ'O[7NG!T&Z] M3]G^#GEBA:L*CML*!S7%MY=H>CX?!!]\(GJFPMZ$OG,O=_]V@6/^_K;E6]Y> MU@34,+I'XL8"-+P6002P37XS;=N>?>] M&A/8T)$TN(S9Y#AK\=]EFUFP,01A]3VYU7=J/8?I]C283I$*?Z SR@%5G>\" M.QY3Z[ U,6@F_)E01\O91%MF'^P]YJ?U]8(XFW_$IJV]EW5QKI=QRL#?DF=# M=A>((]E!@N_:)(NHP%X]NG/ #*8/T?"ZKBDXZW*%#J&U&+RZQ/B[LM\;G\>4 M;?*-N/C>4X;[J1)^])9K9MI V=:Q39U(^056GZX=FF*@C,ZJ2]Y\<"L6VPIS6_J7WBTTY 0HU56VFQ_+@1Z3& M#Z5HQ.CES<=)M=X V)Z%]]X20'[I[3R-U8;ULM?[(E3 J64]+5\YB/)U\$7S MWEG8SZ>7;_X,2_S"6&PHQ2NR Z9=@OCU\5PE+FZ?XO9QML\UL&(NQW+G )VY M*ZG6(:N<-Q3YRP8.E?TK$G%>F'#B+Q\%Z?. M>Z_?&<(T7G,U[9)E#[O!=XC\H88Q_@AB TQFEV$.4J/3L!>N)]3HN1G MITA*H[@15TMCTY LX723)X9N;'PF8^O):>R*;O>ZMB132_EFX5P;BO9^OTX, M'7'0V'- /6,_/8LA-RCO]D0]Y.JH*41--\>1<']"X-IU+@'L"JZ\+^0P3E8_ M"#O:LSB39D;2BB.;V=J;Y_VBD)QO5IEH^#LFK8<_JGO#[ZDV?X1>4*4GG@/> M*=N>%N!L!34:6<,?(*S#C@?N"LD.Z19<]G4I WB<"+7$_%"+@35&O &S!RUS MRWG16@QYBOG7L=R+?FJ18<1((WX..!POS %7;9[PEG05!EOK?FN8$IB&$^"I M#W>K']P:>!SQ=ANW>QLM6_M"AIO&D-@1[U3D9I[R>[/!J(H%-9; ;US674:Y M6(/2C!2(5OJ0)^1HZ>@0K<5^.?2FF8>_K2KREQQ%;HRM;O6/C_#VJ,U+'UBK MAE)[[*K^?*$"-4@7-(K(E1N;WYE?_T/;J=K<[V=N;8A()8G#,"PMZ@CGA[1E M!_13#(;KY@\+LV)$S7\6EKF&!E9L'3:PH#W;1 QO-/-^+G><]+@/4TQ%,6?( M[$UH)%PU.]M06 HS@SUL_:WH&/;[BPRWK!?]TB1!8T9QOU>D4[6U%H8%7R(F M,=X \0AT=,JU9+NWI"T^ZP!8 7ISFQ77\Z8WZLU3*A5*[QQ*I=_P34U+*HNH M\H!MV&0')_ZJ[I)4;Y,H"<46G/5-=@QYG'5Y4 (]UB0>!+*0^R7S0ULU7 )! MOUKO>!V(R;]P"ANDM6XPCG(K /)MII@@2V;Z9'R+JT1$W5:+XMGH*D_'?'Y0 M*F6,AWHRY-OCH+\IO$X9L]OFYP"7SSNI$D*!S60^-H'BNN^-DP04K05?0T3X MML]=,]XGPJ$/6QG,VM_%/2PR^O\@<_._E[QYY93TCXOM5M5U>^.\=/+A?WD@ M1?0DOT&=DKCHLL\Z-(OV#$$N/^$U'"!I(I$<&HB#3AH))^C1\-54?6+3,$E.XW2JL]^$!_-; )PV+Z>&94+(87UWMKTN(W)3&!] M^R[Q;N*SE&1*73YXC,;MW]6Z^>_CA91EE\R Z$W G^%N+F=S4L30&[=J3WE+ MA.35^I5L908]YB+^&J>9@MNQK=[%/>QUB&D/53&=J@^C=[Y-?YK#FL*D;HEC M>!1>#YB7L)E$_/RG!4)N/P@>P8>8'1TMD8"5[\?#KP<_ZPD7;$3[)\K6M_X, M>J5D:7G7X]>+C 3NHJ7I71[YA"5KH1,^GBQ_1S%*MKY&EO*83R,HN34)J@O MN];P)^,0Z)C?&CBU:^Z8"Y>N[BVH(:PE=X($A3O6VM6TI^&R!'&T\; M:09"F2X?'%;;=\.XFXB=O;3#@0X M5&G2KZSL-O\@C!PJ7[KR:DLUW)H'#<*)W3C:$[&&6(V LHQT4_A_67XZN.M< M>_#[1,2ES'U!LJ$])F#,HKKZY*1?;OG) 4UQ,+PF CM^P!C5V!"J7.MNXBZ) M6,%?"FD2E^Y, G#Y_7ZQ<)?H6=5Y4[R-]4K].8"8B.?(":W\509&/&=)E[IZ M57L)^AVQ/BC3J]!O]K!D!P[:P+2< P1<" ] ]:$:#>6%U%'S?!O4R:>'GW=<5)@[QN/@]G6<(D"?8J[AQB6"H- MMNIZZ=R:K=-SXRKZK#L&BL9)FDIQ\]2H)4X/UN71&.OGXT6I?>*$G8 PZ^"! MC.7 DR%<)==929QEM$".BZR^O*CG-:V MLZ.BG:*PR-'V5P.77 ?^2*<@V_TIJ@\G9/4VWQ!D1:RSRZ+MV(K-':B7[!_A M83(M\/QD!"/#7T:FR@&CM?A:)S?*GN$E)?H=F4"*'CBLQND1W_"P4PN(Y/IA M(<(K#U5#Q#"7Z"7Y3XMX3FX=\JX>(\Q\W3CJSE=,*Q"UY],R^>OHO;O2C,36 M>LT SN,B.YTOB,7X9QVG+USJ'3\WD!UO+@;6+UIT3W-#'276H\<2!CQ3+VZI MIN][%B\%[\HPQEE].E*>=->K>%27 O_=9"JGDYSDEU*T#H./VJ4XK5%=H:B%#LD<@5UK/#MVRNXV34U-Y'M,'_51V,[ MLK$R961KK2G'8Q36N"W,$8W)4DM25@/Q\6.&/QG\G5C-OR;V8A_5X4S4B@I< M=*-P%+1-RL:+F;WFL?LXLG-\1LIO.5I_>^4-[T7U,M=.Y@#:=@Z]1 VOXF.^ M <^^VK;<<=((1.M+E=NZ1'VB$JE;>QS*A"K!!8APXCVH#& MAY9PAJD(*N&>2HH8)J35^]^I< F.T_4T G;$V\*AR"^/1^3'*% .\(L68F>\ M9_V'*H<\!7^W $D1QJ M>$-$P50]H..-[[L$AX\$I[O[4Q%46 U!U$R8[/(@6'-G 6B?VG1:E.;U]1SP M-HP0C7"LT ]@+IX*NF75F2G5/[,W.W8\;8PEW)F[=K74W=EMN"QYB#.AL,)Q M"BA"5.M)=56]V-#4S#XEJP4ZSE2Q+%IQ6?1<1,KVGT@2Q=H/XY0#RNP?QTQ[_/D M']3US0WF&1,@&%<\_>Q9&?*2A\4^>G@#H(@C5>\B86\XO!*5G1?XQG9E8[VV MC66R/\.MG,SW2!')K?N.^12=JLUU\I8Q)6_8'VTM4K)]L&C8JUO_-UX+=D_4 M2S9]K9$A4"]W](4$NS<105'L_"YC+P)5'XZ3Q51V"0@ERRK<\KHE\-5^DD'P M">A']0EKF1T&?']2%J]8(R>SMFG)WGWOX:]4+I^]):XC#D^SV-H@[[7NUSS1?I6JSJ-2,=MAW0(9E-U).0.5]?0I2GA$\#9(\2H'4FP M=]!:17QB]UGJJ)6TG9;[5J-N@;R+H&J;?[6A-4I9$2L1QY&8'R<&+XCLV:3+ M0+.R/C">Z6Y\:'#],LG.GN)A<*S>^'YCP3_PB/RUI-RKM(TQL*):_K&CVD/D M\-DTB+JUT(W&-B;LR'8R+KAGU%GR!Z9JN>X)CS@\?QD1L;A&L#-[,]$>ZE[T M%1Y0V-Z0F>F?,*_%GT^>HMBS@-6AC-3";BO;>J9Y:Y#A_:S#TSZC(F8DC5)E M("^;:Q!'S^9_BBA@Q.89-XK@?PYX/Z;GY=UHG-T_-UX7P!PZAW >UKPLG3Z$SJ\7)U(0C+=N*V M%$E?&EMX09S K_1RZNNHD&!AJ#P"$!K%3)^3IN]&._=4;(?]SL"M#F)B$E"% MU]>]@V7]#XA&^L+/&=I\] WCM2\[KM A[N__18_$&BQE,:N4]':T'/H'R MA?%KU=F5#55>:P\:>VJV3S%^LNP<$ LI.G[U-(0VDDP9#DY.!K,&$0_[,H_H M#U*&5YJ2WG8VG(Z" MO+WB@F3PII']";8A>?5(W%9M!/O#0QE9;;Y(MA\8,IG_H$T7C*BG\WER_7\% M=5LR_P^@[G\>,WR63(5E 0[OJJ3HS3LF)_;UFFJU0-JK406,GH'U+Q.<(-<( MYAM?&#GBE\\!O?D7"*KLI-?A][\]=]1'3Z[QC>FVTRS;QO2< ]B"XWNE;2VI M,=UU&ZSF%=?S1RSOYJ1J[?Q.W[A^2%I?,[6C7,,_N@\DV=4AMF6^(6IKC_9+G,A2,%K)DEXZBLZNHAL^H M9N5;*&!0_HRO'J7S 8?E?>#=+W?]/A8>]#FYFQ]%-__=NWC6_!E6U#D <]MB MT(LN8X1'^V3NW55%)6]M;NEA9NF*6D_AC(9VQ)F!UZCZ\7]/KX6=RZ+C;:TS M:O4$<*LH;DU0)5_';O] :5WES_FAEE_>&;R I<@S#$L9]#,.8DG\!MCAH:DF;+ M,*)E-/X+I!DO])2Y0N^0:=M9=,@WPR1^8_0"Q1)7UE051\L.F/5Z?]=VC/5N M]8/R;VB!_#W%>-:W_US*C=_G8VA6#@^0'JF]4[ZO"[-MW$%U>L];:M@6;LX+ M6M:B/:Z@\@.85YL?@']:^ZX$L%=Z%DQGEBS'K83?["G&G*A-W!O?S32I2U+) M=S.;;8]0^J[DE\>("&0F?PYIF7)4])P^^+T1W_)\[>324IA]S-'%3?/,O^3Q MNW+K6O]V[0 74$?C9?#1'D3MQ]'I=!7\RI"M[]XHAY2>7)O'&'[ZDAO,",."-M:_MXKFCB@^B,\O1]S M-IF$-G+/M&-O1A#-IA=_P\D9/JWAVG,#IPN,DU?;KT16"OUB JX&*N0]3KAW M?7@VR^8P5.3G06?B8V2'RC4!Y^UYWQXC-I PJL]0IGM6N5X\N0E"QY1X:4@!^CBFNI72A?BAL(L\'S^%U, MO9<>AJ(2G='F\J/ETZ%]O6'R*_E; ^X-&8E^KLDH,TS7XG;C,X\8$\24 M19:'+QHR@7R?BI<8RFAQ&;NP"Z)/M.",M*H!5RJ_0Z.07$[R^E,9<810O.-D M6TCXS*<382<]RIZGDWW_XX%*4Q2E#WDDV. M]I2!7\299 -A(*WOMZYD"(T),-WN&O 9+7[A;;:29KQX=,I^:^C1F(>N-=2^ M?.<3<'0O?-*JDV)7R1]^O1DTS&(+^YZ%'FRP67IY*$B/]$ @:L+'6 -;SN*+ M73LXLJWR+28?QN-;8?>$QVDFY[JO!HFR[R_ M=39U*.7: )L(?KKA2IJ+UW]**+']]LMPWH 0$9D/!D*\2)8[REY8PJ5CY2MC M51.;SHM#LX6,"8'X.-,N8"E)ZV@\O*S,F2TTGZX3?@[0#'W O/P]?$+^^M^S M?F5+,MA3;^9$\U#R0>C4U..%05H-KC@A'TXOM/4#(Z M8LO-<:@5&I[77X2 A+'UN.L<;] M_V@]PJ"'YI'&Q';,?'XZW3#I4,TZ>#/7;')1CYC1]/)%ZC[!M2(0D@# MTE^Z>XVS5:@)AC(^+/3!YYWBBZL%C:DN-TFK^7'U89LR(&R@NW%W1&%G/)=( M.=W@K*:6+TA/6+;/>T?W83"BPIWCX"__M[<-+% )+JG;]CSB/+S M9 T!T&I\.9L K8L[NHT%OGM)C8 _JWA&,IC4$[LHFN$63"?99,2&C+E\43.$ M7),=?G]#C9A _;YK>(9)[E6U*C@;2SP4S3+RROM;XV!\MJ23KP&E MY@J_K=4TX3'[?&JG.D!?2L4 Q:FMC'0"+U_C9KR<-O;BUMED'DNRWKA$QL*9 M_]1*!J, 6] @76W4T)MV'24T&[E&;DHF_TZP"XXU8EL&!.)L#S,@UAL-> 5( M:MM['GAST9&F("*L-M00K$1,"[*GC ^DE'S'WKT1%OETM&%.&UPSOW-)H9N, M#,7D,=**OUB VT-)D$&-\E%3WL2X-#T7CX;9W=!V1CU2)_(.2;ZK\XY['G?& MO@:JOMDA+MA9/VTV(PM(YHQ9MZV).1.V2#07NV1RVWI1HTBK/+OY&Q],I=#O MTA8#E,_.QX>HU0=#O@-#Q8BUR;T= LWOS!!QCBO_I/SBY"2AV0F_S8,(C%\K MK8/Y]"=K^'@D14X_>8C-^K5)(6L''3\6_L6WP; !XYX7[@F\P!H/UN6P0K=7 MDI^^XH?]K8*F#W9!/)M+C-S6X"?$ME RO!Z585+WX6S\[5"%MMC!3[7TD ;$ M\5.KX/A_2/QVO)-D'RZYH(MHZZ2Y#\I3L;-*K1<:WX&F#NQO8#86&!#$ \MC M4;E7DWSO-.>+2'/D&G8BNF?WPQDG4;5TR<&AT,:U[ED(G54,)LNI-^Y8J@FY MP*?Z%LW-MKRR+CB^D=V07U.P^"%/6/(]\,7.1$=[6[N>_?5S@"N(U3;@'ZXT?B/5(8_7_.?3._"'1(,_2 @P*,> M]M'AU/!7DC^YT+?ENT:9>&^ 'TT6ZLGF]Z!)QYY(#_^ MYE:I0,>< ]R@#*"CAF37!H[B>HY"4;G#M%GFJ!)!'@M/JB [-SZCFMZPZX^E,6J.&]#XT M6OY<\*\%&"U'KNJT!RZBSP %IKQ#BV(9QZ%N?_+@N&1.MWQ&L*(/?&OX8=W[ MBI0;7KX62P U#IPU)6+\S8E\0*7[8^?*DC\&*<^\5#J'_7>NJ]^\'/.376'3 M5JT7+K!O0\RAL(2J)+4Y^UN^";A.Y]/BPA]]*9KM,D2D1PSJLLNA5?!SW! $ M$HLNIS]+*9RS4^E]5.'BFW4-%PAL)!ZCV*PLW";;75S"3]6J2\VE&L1SK8T2 MIUL#5!R[S@%<_HQWW(ZJZHI'XD.*>ETZ:CL3BFHUKP;AFOHO/178>$8_73_,PRDS7E+;T-;8ZAS" M+]3PJ(?M$DT:P4HW@T7>)W03[4G9+4\ .3YPDIFHV^P$4<;&QE7%;#86_[[# M,+G^V$J<"0Y?FG6'I6JZ9F MZP\6;Z3>"\LU490JL_.7\I/N-A+G[G.KF=?539P-/(B:/DCI\E+%@L?N,$HG M!,#5Z,&,)/%DWIY_LK<]S@'73J=7&JOJ>%OYWD4IK$=,(OS#E/FM\Z6\[ <. MCI.@;DFYY4WU[0MY[D>GZV,R]<;VCR$Z*=CDZZYG,A.S!J@#:@"GU.Q)>>;= M1Y>O\KQ_O6_G_B]A%YTE9[>3"]BLI4:;1HKX-_V^NC 1WBP=\CKSMHS15?DH M+P2HDV'6AAH]0B_]HH?SP]TTL-L[S6<\O0 H1VNQ.^7Q:JKMYJ'W J9S/H.& MH?-YTMGT*^R"4FO(RZS+'W\6$?>!T^&@+"LV82 L9JL5^WT[&PZ=G?E-]=SO';.A"H^< PCE+A231CHI@QX!G^3/ ME%U[=6/;2DY+G0$5^]3%SO(?>T>WXN(-!H<)LV,D LVR8+SR;6RBICU#<%+_ M;$]+%+4]KQ\[UA9WG7/:6OFU-^.;&VNRHS.9EE/5RL_H.$[?AX97!GLI#VRW M#7[3NWHS2V=D[,D2<)RY!PPBT9VQ4$&56^;HBN&BU9=50&E",#+MM9;WK-O"S?WSLI"BONPY),%YV$]L6 M=_P^S3/B=EE>7LWYOI*6X 7;%I<.FE?T;AS!2 DWMD4]C\DC39/RM\84DW1$ MQU&)!8FFVY#9-CA2CZ29@E52DKBM51I/^\>Y;O$*TG>K&9>''#/WBH&ZT!#G MSFAAW%:*3N,[.Q)>65C%EE3]PI7U5^ M6B+Q"O+EFD]68WG] 9HZ\-G1>'.QI5/Y7@ZYK#+J.WJM^. JA\&K[#_!^9EL M?(()<8JDE/?^W\,\9LX2?^>[O/VTLAO8.+U9<6K2/"CQHW6ZEIKH=0KWRF?6 M6WNZH 56AKV^WZ(3M/\-@$R;Y++,B$A*J!N^;=C]>K M0VU/#!I'ZT$E?T5=>^ZB0./*)E@@T"[='7X7>L>5Y2AM\]#*>K#UE(44^+.) MWU>%!"/F,N)BXKW.1#I21UU4%N46@ZS. 6C3XK%PP,(&99$!"[%;L*=JK+5DO+KG0(D0 MV;D0\L=G%V8;ML1-J?4BW9*9)N!4'\)0%GI/D=MGICOWFO_4$>(HG)S''KHS MXJ([]UH;WQ#^IJH8&IK+/J@JH"!:9-\^VYXJ?S)"?MOC.Z-E2&4Y27Y H0U1_F'23OR91NR.Z7)+3,TX=J^A4" -2:^'PLNL*AL/'8U^)W%>,;-&X^\$R ZHVN( X06=YNQ]D[*?:6]H8H+7N6[9GKLCSUT MMB;^>LCO<57<---Z\DAHRM@N9.M_5E+.HT&2[GF,C#QYWLET M(OY]09\+Q%-;5'E+G# %6>%=-#[I5-,@9L;+C'*ZRK7TI_@VR@71?M1ZX;G5 M4\> ;1"!_:N6Q=_PDATH-/U=-AN9/7S:/U'\KN:E##-E@1#^,1H]#767L*O% M+LS350,^'E(T218C9I\.[J*'(_M9,SMO*JL[E@=W]EKY^[BKZA=QO'FE3=GE MH_\8F)2^BO,A=2D(:9Z,S+.NN2B669T:EI35"))8^VT-]4C.C Z-VH;:( 6V MT75+Y44:5OYUXFZIBU?>5THMVA3]L(8KD_(^B?=&7T5'ZJ)K\@M;N2V4XC]1 M!A-Z!5R/<'&= 22072.$I]N0#I)F/5WTN0L4X'O31*$_2(EN3S/X#A2T1 @0 MG^>UC<1H-6]] B91U7#M(^UEKO@R-TD+MZ.T#&]$!#&_Y' XHX 1Y>. M62G!YX#\=KVSLX$SYA4UII?$ZV;EC,^I,QCY@/5=YV;,PTOS MYX!_QR%3@327[LK.PWMVH5;:(([XO*C M _2&[Z\97G-OR6BEU9%-KYQ)\:&[NUS2=?R%L!34%V#/I7RI OQD_$#$5LQC M9IMLX27 REC/-O7HC;=O"!=0A.2XA*JI 3^M):FFN;A4]GIH(.:CYB=G#Y2E M'A_SY"V0MY?-.8R3$:%XU$+\6K!"8WQ"\3:PM53OJ#-E>HN7ITW:<:E=HK>2 MTAIOJ^OHY7%1(_;YEX]F$0HV3%H"S>V&.-;W_K:FNN@ WNONYC#4UPE,5:I% MI#^=>Z?PX MY0HEP6GRILOLI&D:YR:,"?=VONX2Q()NB7C1L#.!_ M;-IDGCQ48Z+&=W6+A@N* ^R$KA([\#W2 M:"*Y,M&QUWLSD#40=@?CE" 'O()RLY-_,J+]1VLD-.Q%&!=K^VZXJI[GT;S- M))X]IG7GC,55(]7B%J31;6+WR68W>?>>3 MLE!_L)ATI(G QLI U/2F:QSC=K>E%I]Y??Z:K?"G^:<]Y0.2^=Q")!\$R?>,W N,OKRM%.Z(GJA@?'\FVD+-=JB9V81!HP+MLKQV98[7 M'<(8L-YC.,[/WCKD-D/$3UP J>G/@IG6RK! ]?,R;)]T+QB V8G[<;5B*V@'2<(T6D%AB66G-;O%EU3OKI.YXOL1;8*!7/:<%SZ;5]KQ[G?X;_:\,T[0?"F0DJJ$JG)$: MO7C&K$ER.P?<6S[JZ;'PT\ND 2*E\\!'$\371L;,8>4AKR. MH%_X)M*]V;W<*DC('8VEN=1L\[\8-'^3RF",?-AX^5\NUC5HDHK$_;)F9D>Q$Z=5K3=J#:IO7C;SXV2<2O+BV"5\8,L5H\AGY!,;NFUYKF3PRY^"*!&%<$A64!@26RUGJQ9 M239DM&LC\?RRZA-9P. G!Q;6'F@ B)-&J M)@?LA/V'*DC2ZI?7^[Z [K72FA6#!NTAMIR>AO-GJ.W>6.T9"XY>YCX*R?U< MI=O=9V!/3]Y3C:J=VB9K+^B)-(F/LQ7*W!*)\H<)_=C JT!]YG%3(DMB-57]NO=[K#^8II:*6_KZ7 M/O$2_!K14=76?0M*J#:=0N07T*06%/)W0YAGK:&N_V1?Z3X[N BLY81:[4;; MK(J4AW4FUH!.U[.5IY_*^1QVTF(HQ\G?U$=E$-C:DR?3#M1<$I]^OO%,J=MC MFR"YVD>\S:JZ=?+E*V>('JL3 U(_?+DFRM$09:YB: >C<&;'%C DL!A5](41 M3((I58YORT7^'E6AP3W-O:%-S:V1HS-ZK7V7*=O'X^AB<$UU\&2_WI):+$:\ MH(:V-?&B]OUCWZXK_@:XN808RL+CS&NH^.=W4^B#H$+,8G-Q M/OC=>N_"'1+W6D3-I-RRK=I%V=95P3-] >9<<;$D>3VB"EF^%W08.Y>D:3T&_K[9&F'=^8V,3? ML5PP,%@Y.'D8XF'&*E)YW7G*VKBN5:F=%R< 7Z[.QD M_"Z[V;#A^*HPB7'A+F5SX=,W,76$F&G0'^N3P20G5H6^OF)^V)_%D^2*LIJ4 MY=,BV?R;5E3S'J-I<>5'J;&=]8@/'I>NU^:+]E[KEY++"9(EV ,DE TK@\7( M$G?F;/6"?)383+8DV2UB %$_^)3)U2'+3@:9];YV^>B"2;K7[F8470G08JGA MOLI5#Y!!8X>>D!?!L2UMQ[KM%[_7UW6!:G2?W>.6.G2'",BJ-=8#K'A:0]^V MP!<\E#HS<&,Y58K!F.V0PJM[E+D,3>;%RD=#&ZZFJV:^F:@/Q"[WR/QL"XF\ M]-8 *KS(')'!D^,NZ$^ "AQQ497[%2KJBD$R\VT36QZ-\3(*N_2%H,>A\S1[ M)Y'^$8FQ?9X=(M8^[;O5H9NC8][\SS;RQMIY,M )"P_:J<- MB!V-?1R>M7Q==MY<'WC*^R))(_E8I:U_@/]C"$]>^H3%1IYX+;4 QRDF:)=L MV#%Y$*;9WNG:ALPJ;$R.R,O^P)_OOA7BH02];6V_1][Q$<44NAVK2'BH0I-B MID(S/]0/\U#Z)RA'G-:5ZY*S&GQO)[[U/TTZU5HWWN@0FFC3\(%>S0[CGFNX MS1F6GJP8ISYMV,F\3ZCII=?K9U6[@A!3%\O;.L.2/#D': 3DKK%#6PRDD7"= M);5;76ETV&V'6$WR QPJ-)Z^M/G;,$M*W M#.LLE9 \R&7>%X\G2??!;,\!=FQ-+T#M;I^ M@S6JP.:DU?G%#ZNI(K2C FNSOSC%GP#_P5'EEOSQ=GY+T)O4P1_YUPDGAB7N MQ&>%F*W$:Q,8 )@XO"\MOZ$B"9MVFIL;-P7:=/Z1:D]8 'E:*J@"A\\!J8AR M2B+S$IKC,$G9C)3?V\$Q(;M1#Q?H\Q"WS>/>J7!\.EY:@NU-A:C@,U!G@L%; M>XM]>5*U*/C!7Z+P%^B^LF70]EM_&&!BLQZMB"=?K$VR5Y3YE%&NUNG5MF"9 MJU#RQXX F3!I?9JPW68Z^=\GER32<=M"X*'G7V6*-)TM8Y\@TP]9A(/&[?,(+CK!G'2&\?'&_1[!)CW)Z^+4:4O-)2:V9?K;X^ M=N.@8G]KTK]DLWU\R[BBTM2,KXZER2LQCW$*'$)$FX_+%%SO:)8,"0_;-LPP M++WSRC1H+=\]$PQ!)B16G61YMZ<]N9,EY/#MYQN\+$0&JGWZ5 M\;H)TGK>,(&PV!%L",MFK+?^\XILIL>41>Y"P@.?T7\HE@!=6\P8W7.Y3 IV M'Z.8/?#T$#O\*J(6_7A(C459!2MH[>C@4$"OJKFO%BSPIV,#R;>&AV&!2Q)Q MF4O]Q22!657CS_3O_">DO=\*V=B;;,\%/Q#P< I0Q_BR- MM!"AA/MMDF_Q;WW5N1FY4&OEQ+^LP? ]^':QFZ_U%M$MW&_KL4??[.PSY53N M'SL&VB:&/#T++=F[\79WQMH@%<]*@T./35!/^UL2=W+=N2GIG-(CZY2X+17V+)'?-5=ZZ64G_G 6]+V5GGW<+.^9/1OM$*DGQG_0S.)I!=4DOIJXD]XQ,HCP MC>'CNQQ&5,%7DP[?@;U(>LMME%!X4G8)J $]/F[+&ZH; MSYRA>%B:HE%86S6SQN^III?1B5Z?7X*)Q3$F6LK^S&/!CKBU2*S(O#LF3.^4 M^Z#5$8PS>MMO-!ZS\<6C? N4W*D?J^+%W>5$ZK.,<$(&F M^N-A,5'3 3_%#H;M_O%__?WCKQ3RC6$9"/F^/5-#?O/+ O MZ)&]=IK=,P$_KLH$KO4M:;O)I;_(CE:+Y-D,*N66,)V\^H7[ )_],Q 96%94 M:_I[R;_*6@W3V@,TPLQQ2Y@G#:SM";;*_8FC&;G#LJ&#WZ8754-[[Z66&H9G MD/_5&V,X)6D<60[TN-U9FEFP<0Z@!S\&"RY!!'5 U^K1B)A!4+#3_@NY$(_? M[ /KI:&;E3__[D\/V":_._#HROQPCN37 2FMX]Z4SXR/$G"_,.JC5E.3X?1;Y9T$2Z#]U;,G@B3G6&PBR'0< MK%&*Z:JPA7S5]A151EWBCTB=\S;4/4AF#C;5(Y7$JZ956<'G$WI9$I.NW5UA MTKI[')EKB2^5FYA^/E+1H;Q@T(O0_VT:=: _$2TO0M M;''S+W4B!BO!3JVTEJ_]3,Y^T:@-KFNYSW=#1W$]!;:RH^9RG$_54)9WN5KJ M+@MA7KV/!7D0GR>M-GR_/M*F\D9_GC)5V7 M]A_@FB>D#T*[Q$M7&MG&6[Q)FX@B1MRSBWXVF-\7*]M(<0TJ_*/3?)6Y(2&Y M6,^NFD;TJ!AHY;N6_BFP(?[HA#9*%1C8'?>PQOOWOZ-N\O^N=((D4VC^2V%D M\@;@:]R_]_6%> [@ KNA'(GHY 5!DY7T1,U/_K$]JD*V]7\(8ULX6!,P3<5 M/QB%LJI=DYG=TY)43ES$-D96$5ZWD6[@\]U8FB]:.H0XODY+I1&N@MXX\/8N M%;(K&:AI.[=LE )Z_A4V0G M-0W7& GFJ[1W:RDIIX3AU22&8@9?&9#IKOU8CTS;?&&-+>V!W@GNT:B3;PA- MJBX->+\FU2WOS3 -]NYUC%NIZ>#<0D-O=CS82G4=%F4]DIIU.Z3_%OMZCUFW MVI#&%Y?C7R7"&!5^%T&T[XX/&+-3(D@#63GBJG\0D>N>HDAETBA[,8>"V9VI M7,)\0.(Y0$75,8./;67R'>(X,+U3S-"1!.UGI OF?*&O9MX*XTPL6-DCS*/N MJ'#_IKORL]^=E^G$DQ@4M7,WQF@Z0Z"ISGKC1N$CF(""21-76M*5$/N^9$;J M.<".!(RM AI,RZKX__1J@2XMA_Q)^==J/_)UN)[50[0HQ,MHNQ9 M\=?&W_Z[=$@WF>_;3M%+-%>NC=KPS/F9?/L=8""5@VC46H52K^BQQZ=;/F6: MH.C7*$&[5 J[SF3&3T(*! M&7+Q_JH 2EPU GE^52O@:;ZDYYKDZ" MM1,KK1??W*KT\)+,_EA$%X$LU26O1G5WZY:0O%9!G7MC)+[$OA'QI F]=8C: MJ.GL04W2 AW*?]B<@C:W=)S [8NS#KZY ^0B,C!]9E M>[:]JUD-K9$5XRJGAL_P;'U*.JZ?6E2L9L?(]O3X#GIJ05FN[L@")T%/[QYX ML-*DSGIG@&U.8>0ZME:&-S[6C3$1P,ZS)=UL?C**@4B)-I$:E*57I($5$0."'"$HO41$I,2#2 @0B M(KT)""A5>@V1$CJA@X#T7D,2!.D)-4 (PS[[FIES]OZ?\Y]S9L^'^;"^)>_U MO,\JS[W6L];]-E[#6E1/W*H/>:S#+(,>[>%N_,"S=6=F,R!#PTHNESC0P0KC MP'?$.8R@QY$E$1'7JX6<^7?:G,$I>8K+; DBJN//?TMZ6$SO0JWR+9G7,TWN M'63([JXFAOR @0D&@11;/.U099JUA,M^XJ/)9EU ]^3C9=[5Y6A5#K(O7N#H M]?3O;&O5M)MQC.52 !U..E[U:079Y0CB@5$Y.9LX?#3R^)YC\IL4 7DW+38Q ML9=V5V874U-=D_>/%I'=6JZ)? ;.1\BAF9#E]H>&[1TN,]H5BF!>N/2@_RV+ M:0N\[K/;NR73 MU/,T]Y?%6_[ 4(^R:@D6);8].>L>>D MHV574P40&^4J,3]2^;%LG^[PFT:' M\3OPPCD6=YN(6X'!O'0J#]@E,HCV;5Q6_ES1\],>8*9NL61_9YYU1VZWS>6E MY8E<+YEG^WMOLW^M!^TY*?=;A:\O-5Y%GAPDN MF+AK0P(3EQES*=S$S93,U62]B+F'O49A-],D-QE>]/4Q]F-= M0 3O0PR2AQ?[=>C#<93S=E?QG,GJ*O=(10LFGX?TIMY/N9&O[KK?F 2 M(NA!;'K00+Q"EC,34F+)TKK%>AA3U4G=E&PE,I0I1.-.'$0PK%O;!F[*G M@$N.G_5_3UO,7RJ-\WK?7EGB5A';O"GJVXH@IE $R5X>7HA\:U@L9O:U_CUG M^-2&V/XN-B8MF(YFO+$N?!Y6V)]1X>BSI[BR@'N"0D?XIP$O$0_:U(+ UW/K M)]R'WFU;Z2_-FXF/QKZ-+]RY20=8)J[95)]!8[I),D@S1F?$9F%*2R=*0MCQ MKQ>G@"N)?U2*/Y.J6RSU;9^? CX%MGG%X%S8,F>ZJI7E=ALN( M,UU&UQ][Q-T>?L[M)P_4O+;X$G@03.Z/*1JE$#V&K%. >0!T MB[L/6A+P\ .=I@*OIGM/RZC4YYZV&]'JN07[\?5>LTVV3[K?_XGF-B!+XZ(D MU!BU+U:N8OCBS,7DK10GA^66YP;Z!I!B&;1P2;DD/*^JGJ+-C$VMO%?1R#TA MZYGJ.P.] [E>;,:^3M5-TM2TLZ/K\5$CMV4"PL)?.W5%#4#AS_9#9U;7QUGV MWA$33O:M%? *:F:X+%P*:-FP,"!&M+UWQ'#_@'AC^G"'B;X7=V9NK[ZGYZ', MW9]PU)2W*4&_?Q7-%6G\A;D#U6H ["*$PMQN1^,2.>Y?LO--1SK":R#74E2W2G)?RNOQR1>=] MC\A,^D4/(I_D=;@MR7J_-G]./5/O8IVY >3]2V#HF/7=? 7"=6572S6.!F#1 MZCSS2 ,-SN\\^] 2U#SF@D':N& M?UJH7&K$6OMPSO,.;E"D,\T<30*OC;\3N)Q>\Y36H(D]4T_S7=7BYL##>X:Z MHJ_A)P5P%I+X0*"_X$JH&'4$SVAF8_[&K;J7E>ZP'_MEP7VI+@S#Z;1!XF[F M^@5Y*[/!U*H'R5RZVA*I"5"/UC) ^_2Q3Y/0%M4H//*0?\#!6IS&:FH(K]VEQR/'B[ M4ERX/5DK\_V$W)8?0HR1V3:MM.ANLS_<='C4I&F:?.UH_(/O5VP+S#X.NPYH/)\]%&ZA;@P+A MY_"H"Y2_2((=#7*FZ3P3;SA8K?L4+4,G^5G.GPO:X,U=&8JD1" M$&!7U]Y"+?\A>=_9PWHJ&T?8663[RXS\0O##V*UQ_SG)K8%$V^6T&6\%_DA3 MO5X8V(XGU*%%Z:.*G<* MN&'NS"MA#9)9YULNO9(-',>/8)E5SZZG^C4;7#;"6X?.=*_U6T\X9"8P/#VW R^XE[[T M0PWWC%R^AK<+;K+/S-*^#F-^,!4'O?1]J[%WV>9.!4:%JF M\VI1+3P^\.E8SM+&*#N@&$6";C+Y$? M@9GLOU])32L4%57.Z%O:3\WY"[W/R]D464]/ M6C>4#?#?N?+PZOD/[Q!7!LDNQ'P3XG[AV4D'<>"R] N:H0JYSO_/>F*694O++> M7 (E<:NR*M)NZ5OKK1.=!1,V-98&4=1Z<7UA+5ZDH MD)#W+7<-#)04\P@HH%?,B8+/R7U^VUL(^@4 BR$/6.@ZDQ)E:_[<(9I0I?6"0#WP[(6T=-OG+XR]9F\>= MJQ.JC6!FQW*(E*.H[^71[(@!WZ=8I:ZN7]KYM\K7J8(P"RJ^?QX+'EE*)R9\ ME$W34Z2[<&Z/LO:S@:[ FEQ,H*+P@D-H;D8APL-[,P9^3D.<;L@+D$N:<@F&&T6.UABJR79/CRN$9;<=?;>8MVH'<(#9VRO^R0GL2G&:,$ M9.^,WOS!;EFWI6SA18Y+^?[.1],S/K/'JH@P&W9T6F8*^$>X78TS,H0DMBJ2KSX_OJP[Z_?'B"$@7JF4Y;ELK5W%>Y5Y0'[S#RR7?:@YN,))' M[)NO0%FONEQ+\X8Z#(>FZGJ=)VQZJNZMS?,1JPI?DE):!E=-XI]44=GT](H# MN95M7LQRZA$NG'AGP42>&R]N95/BZXZ[@VW!5X>_ CY?GRV BKD@N^$PQI0X^-<'C9_XTS4;//'=G M]809U"FNUZIZDP0.L,'3ZVOU&DNW3C?((R\'RUQQ;;S^VBZ&+M?'/F")Z!R! M\Q8DSO5G,$5P2^O)2$4%U%>4J?CUP;!1,M:B777+K4WK38QS,S H2N+7^'LS M&=U ']8E(=6GOX VW\':@R1"[JHJXH62ZJ(@P3M;K\8#E M\W6"#]EO=U[1ESWSKW"L=Q?/HQ73-&VVD=6D Y?\V%W)$(KK=W*YXHS6&%*6 ME4FCA.6C*5]VJ9H1;0#/NX9DPQ[PR)GA,9 M,:R([ZNL"WL3KD[1;;Z*X >KD-VT0UIVX,XLCJA\A_0'=[5L[VG>V/[],S(V M,#6@JP#UG,QJ[V9+3&J[9[W<=WRKYL*+H%?FV@LYIM?X@4]2N0,QQ213"E"# M/JS0(BMRK!+AXTEYLAU^&R6S]_$_ZSHJI^CCTJ0[N<3[XXNGUGP(R M^3[QJ2-U;].T$] DTV;ORX$;-N)$KM2O;IB#)S;'B.4LX).F_D9?C7&DLF:. MA9,G"^?;S6R6]M^ZF\\&%\:&I>YJ:=K"RI=-1^"RWO(A;Z%;Z,=/N7TM0^YP M+T26:L/M^ CQ]@XZ)J(1@043)% MYCVLZ7GX_.+,PQ'=1%>EAOZ"AC*ZW@6/"V.:;O5X-70Q MU:,E0MWAJ^/&C;YL7(*%+BX$Q[J(1 MIP A%5E^?0F[*F_6%U3Q'(9]9S?CGP^355M'T7KZH"?U38TUT=,]PW+)WHMO MQ1RRQ7[Y L[)@MLP_"/*EEG3JT>RNTJ)W]SK%^JJH=VWECGI5AGAPL<*.@3Z MK:DM@F34'O"ZE9/)DOA;U7BW\PWZGC=-Y2]DV*0HO9C(I]P^R2FA\L!9R2ZV M")P!L].!UY&455B#2E9EE>OO.<]ZX9X0?@%/.AF%J,='F/!#_GU[DGR'9+C% M/3(:"5M5E.&TJ\/BZ$4OW/G]B-=$]OW[4K,[ T9*>RB1P/TH7M?C2WFP94CA)&EWQ(1C M.92]6JK3P@K>E_@71-?3)N-_(?3 M%2/V!0PXY<.OP\H-6!%O1:/#58?YJ<$MB3!#% MSP47)=Q6)XZIX'&;%D,%585-&<;,,O3KR==VG<4 8MM M4''%\UHO)*W?!5S;ODS)K0/-_W2I\;=:JI\3QM/6$ZL)PEW%Q7DA[3YGRQ"W MD[*6S=(6'RV& G"'V$F"KI5,D3HLLZ#.3/IYNN29,G5'=Q@P.N(:X)D^8:JI0\:]P[ MAD$&#R=BD]J4R[W6*AG><6O1L%:/R4H3'T<=SOE3F;)YS M-T9-1JUEW%3/0T-/MLUBDF(*4("3-%4QV I&"4SF;E>J0A<[;34%4Q:>%S71,2+ORS&E^V=&(VC4R29_AQ,E^:^JTKVBP2Z MN;H*>79QW7EC&]U\'K)3K$?>('5B%U22.E)B>"V[;?/7$%,1V9CT3_-: \'> MK[BA\FW;0H/.XM?"#'4$9_*G=7I M670^%_)7X5[1XFBZNQ\B#_Z8V%^Q8$)*2"QS<<4%5<>MKSIFW-;DV]@:4>"V MK'8:(@Z$539Q.LA9C$?X\F7FVG0MS'KR.'S8?A[0_3#/P?:"J%7@7TM MJ P,$SD%W]3A$C&O%D2QOQ@2".?']Q98#*P';$K>8L")'RR^C7H(-/("Z1[N MM-OG\'OPOR[^XE-:G#O8UV* MZ4DZ7)W$TAYE!",W&>^7AYG?NLAU]UW5R\SG2/<]-/W,5AO M(Z#"#_CN6]]O=UNCWB+Z43]/%)= +)2F4GS;@B:O;3>_[9T5K0SXF.W=- MR)BV8<_M&41G\&"8G?C$3@%!@;Q?*SX>C3PIJZXT5)D;9AGJE@GY(/40VJ6> MOH? M ACVOB5K.##V1W@(4QHLXM,RC)>W58)\Q=WX1,B^>;!ZBT$/RVP9CFG9KHP+ MXQOHK[9?;.=T.K6K:[\SI8<[_2SYQ1X@\JZ9+X2SA7*)LO(OI\;X7U)AQ*RM M V>DJ3K4F%/ 2\%3P) +XMR$6NOK_YUSR_XG(:>[PVRG37B^UQ0VT'4L& M8[BMN5KQOBFNHKV8A8]3MG$*Y^N21487L_#ID2%/)'2A3M'/6M28UAN ?BAK M\UD#Z34.I*_4+RWFR;B'"^[+C>[5B4NKXPZ/4)=CKUSF5[#[V:E=4UB0]>Q+ MADQZ5I1"JW*9B?9-XC$N\1N1Y+*(3CY+-)^."NPX;VV!X2/,(\*#KZD>$T.: MK*E%>LE/UN^,1-W>5C<_RV.>.K ]>PT-[9N@D27,TY(W2LC;1Y+KIX#S-G() M^TWE?041D^&:'^7O&9U3H%,V&/JP;N,JZKQ)0M)1YW87A'/";=(<@W_8Q&AE_0<4^O+W_?%_ZAXOC^N:.H M*F'_2_S[.DSG"7O_*I9963ISUKJE .)IXC;-QJHMDVE.SX#B]>8AF7@8<#KX MR(76=2P50VB_-K/727V,24]YO$8VVG<;F?-)V'!> M%#NY!T3.7SX7^?J#E'_.E9(FY@:QI5W)4)FE8Y:MFHY6ZKI/NE\7WE6[(F5: MC-<)XBW9\.=/*5T'ENWE"%PQUVF:QFSM+M:FRZEDXJ%,F[T R# ZH=Z#1-.6 MR#6KI#*.MJ,MO-TSW= L/S)YS.?4&*5G@QV^:9HW5UOO+ZRA^1[$TN#HM9 F M_Z2F EU=G[BZ?]\H23KT 6/J9X-G7;JU1?!'Q/$0V5&NZ&H[>U?(#P.VBHNO M):0:/!9]C)[G"R2;ULPYN<9'II6XNYL((0G6=!I#IJ:-8\@;(U9V$A9/#4\! M<_Q;_FQ1!+]S[K3C_:@W[@F<\J^>VO)-[>VOZ4T-^$HU(E5J8VLUW:H05RFR M!9?[JJKMWHEO],WFW=%X&^KA%OTQWX7+00^29\5K-*M>J!#=KT]YTKYP<4]& MRL6P>E[_"T/>$PKL8US<:#O V: M=-=WGV,"M2OT36#VHR:"EF&9UJ';MA<"9H10IBJ$)KJS>,TXZRAM;35Y^$G9 MZUHYF[N'H@FA@(Z.;OAS?W#XML%YBM88Y3[^,8690.#QJ0"2$U=7Y=H*A?-\ M'ZOX0;_&2UY"0[4Q3ANNA.]6N M#%KK]OFYGL^?TL53]$Z2J""*!>GB$AK/J[1J>=Q[?7E._/#+HIU42O]VN?5?6_M/V16^JXK2!>+SU M&-MFQVMOVJ1C$8K:$#KFFM,U3R_B*:#5\.(8)MNI[E/K7"+AQ/7Q 51+)731 ML\,'&$!AS:'<)T9_PR%9Z (?CV1>M>P0B.(7<6MY(Y#>N.83+M':%4E6V]RVH\6C@TZZ,&/UH#,9;?JG4?V+[1B!6MVR;'OJG*_*%Z_/*KC 9(-S9S_"MOEIMU=/LY=4'?#=:O+3 M,W2T][X07ROXE5;889&H4-H9+B&]O#8P^6SA9*^_6&R:<4:[X-<$XUM9SO'K M@A(\#8^YFD*I] RV_? M7D0K/CU\>QW5H\YPUQ5L/63P+;XGYAXI:1VW8, # ZH3_?:3Q*LB,G5XZIQ6 M#H NXA6W$BZ^?E9?*SRZ[9T/,]CW(,H'HL6=C@;TT_%^$/T(G5%5K(=@ZZRE M]O4HPX1N.I'OK*,[R;L]=ZRC?Y+ /^NLT,6PT4N'VFWD$N >= +QKX=WZ9" M0J'R'[E[HB:+T@V>)'A1.2UQ6(I($]D4/)4$)D;X56R< MX'U37?9I@T6%E%[CGJ=@Y%/-D;(W-T/.: M=BRB311^_PR)F)X"KJP=2ZU1F<%5?DWK6.>47SO5S@/?ZCVE9Q2RNT#EJ+:, MT'2%^ Z?^7A7U6(9>JA[F8T>F[QKP3D3L[$/<(#2T96]Z=OU]/QA0ZI,9-NV M)GH!LI>MHXS-M;AA7]:WSKP9/4F>I"76>F%?MW310*+V^DMB->X@O#+FJB.7 M_O:\HSBF1S1-RW$AJ(?@T[FNM7FXMXST36"S#HKM@G'C)(.I/*M\0HV#&V^J M:TB\QZL6$3KW?PJD=8LUW[NO+1P08&7=M1Y#'%[#(6,^Y U+Y!#[TG,\') 6 M5"C6X6: X($S/Q/VC@+*+BOB1[DRN+6I'-@&NK2B*CB"W(5$D)4UG*NJMPKG M>SWX'S44%=>SU"CPTRD:[[*7$9OVW8A)K=P$C^\Z)6774/8\2L%(E5]/6W^5 M&#-/%FT'IMK/-SX\_Q;&KUGH* M@]:/3 ?=GRUY_OC;>6]T-RO\-N#?"4UGPXHJ"^6U7>(9,/IDV\EBQZ4E"$5U M&0X\. 6,>EKL6_SV%X(Q 4/G@0U#N9\M?Y'CII&FBZ\J& MUI$H9\R,-\,=GHG[GH>E@(ME,\+)@/I_-Q?\KQ"Z@5- E3TE_@1$;=4[!63- M8]10/]3^XV 6XN\3>EO_+7I? M)29V @C%;8+!6N"@$18_8_D*K*<"<:'39*@2W%N BHH(>D9*OI\#RVH][Q9%UX M\T-NV.8EU(/!4X C\#PLQ828_BU[%5D$AB6/H=Z^1 >EEH@\MD^J?,'^46#J=4YY791R_6?$LB/R.^"S-LAC?3%=8 M:KGO>9).O45A)G6@Y[-QDUON6]R.4C.K24J.87;$T?[UGE!ZX%Q4;XV0EKKR M!N?PT&A$(_![)7B&!@<.5?;!L)23KB<]35PP;W%=5$#7U/0K?_W=26]/7'R1 M.H9\MH\D0W(HNF :G=+*Z8/4JG(DLC*NX\(Z[IJP!QV364#T-P4!KD,#G/PZ M%C\ U,\AJW6J,I""3DH34%U>CH6./J.7<[[O( AKO<+O1"Z_93)S#;!)(+H\ M()T"FL&A\U)#@F1;;WR?:#N?D#P1ED=?P*9](5IJ._A^=,N.+4W:9&:GRCE= M:P//F/U@XO-DR:@]XU%!.7_&NK@!,\3-"H;0QR_H2._OFUXD2,ZX-<^SDD(^ M5=I%'QA638C19HO/-3#U0=ABPVZ&;@C(XW&7)>PN-K,UQ M3OLV"J,YH^L>>PWA"OQ1WW)A/67=GE9:V31+BL(\$WI%\'NDY0]P.R)_YS[? MI7J2WA]5UIA'8^Z^.IDZR#PSN=_?4ARY<_CYU=[M_,Q.O#&CPM&*0/.F)V*O M>H Y(28NN W^=EOMRGB#\B2_[Z]:-%M4M@&S"@.CID6K&9R4.]GD=;+6FN%4 MB5#B]"^LQ*OJ2JLE_EL*Y?;YWL!6K4T +: K51;U!MB=I[71][LZ!$=HM_O+G*X-\ M,YR"+@08FG_C#)ZZ]&".^M!WR"%H:@MQ%NTAH. ,]@8SN"+NQ"-O=+9IRL37 M*TS2^)S88 7#W>NJ(8$=+I1G9_N4\?' 1YGO[M@IH%P-_:ES6CLL#?B%#:,; M&--0LR>$L3I)]:>'Q1B0Y-O(#78+&9Q3JS;7O4UX=0GFU?%Z:+ XQH%PH0IT M)5>[5&?#$EO-WIEI3TI98.]/R#Q#'WH(ET(;@VOQM6QS4+GUIQR'ZC=X6)L5 MLA/A'F^G'_2<1"VTHK_F1>#^A:I9C@/E'K_8.3>Q,,O$LO(J2 M6_+)D@2O*+A*EGQ@@R7^F"PX4GE.0%_9\\_&$F_S.HO4STG5[[L_B\$7_1G( M]<_),P40JB0QKS:/##8BIA[)_L((C64WU29\FX!]+CS4.#]I?/V<+Y?B*YY? M1Q;+A*1/XGN2%\P$CV?G8#V2:MK1\[>6'%I%D]3FGI8P&63NEE(QS"=!5- J M5WZ'P=75(R3%9RF62+W3()H)OCW'\RU=VUYK@)@-/05X/KAO.C?&8E7:H5E5 M>@8?=32$EC@!U!6J\;9P"Z-0FR9)L +"91H!W8LOO!?879'P]F-9:^6G!5O% M[MT./S]-S\$.)9GE)UCF9?S="&8C=DEG\.AA4O/=%0PS:3ETG6*.TSO1LVP< MI\SH&[HO)4N5+'3.'-VF8TS'!KG.WR8N5GEBE(<\0%><+&(B]G@M^T=DS=:3 M->]].W=!5T$]\A2 -<-C>K/J"%]K!C*2JFVP^>[O>D6,0H15)U:P>^L#2>[ M8&DP_ $IEB3Q>3JMHRK(A(0TXK#GG9.*-=!)GASFAD2JN'2KZGT28T:$LC"B$.*5/)@X\LQ:,2^R6.'VO^WH!METQ-THT?9. MI^$7KR;P@VAC+K=(@KBIASML:T,\=]XI&1@4U]_OVQEC71T[/B_TN2@(7M:\ MX#LAZDVD@J["'Y_""BXDI2U_VONCRDN1:JH=026W&<1M2)P95D5? M>^+OO%>E+U[N,#!)*70U@L>5KXYC@:_J1KZ/R3:RJ#%W^2+RN_-DRSPFY:_C M:005NV@XCTPG*DWM]W-V#SRA)YNG@-)ECGU9%;_-,.B4Y>[D(7_KOIS_#7(\ M262B+5DF^;D\AC?N/N3RBVUN-ZW +U3>]F52GT;^_&KR?@PQ6SNDS:)!_/OJ MYZB'CNMS1G([M+,\[^]>CX]D4ES"1 U3.5>.3-NAEIWW9JWD,@L?_-"C9_Y= M\/0[I.&SNU$GDUC-)E_SHTU]L5*3@]]0FUX/7Y0&(2.<$0]DLR*7 M#Z^I-\086C_PONIX=/=>-\M=>FFKC=DNAS^BU9@A#T5E1Y*_R_IQE1X*V,4C MY8QZX^/1I5<9OJE993UQ*2MJ,U\P$92!6YA3 M=!:R1(OA,A-H%)/UO"-XRL#%BT&.4:989),>H^QZD,2YNX]$1"<+Y>>0#]8M M.#:A#7XNC*E#BQ_+LPO$'OR1XP$=)&-R2D4&<";?@#&Y)(^QL:7LP@^];Y., MG,.''K:=RK.\Y8M%,N3LPHSSN 6"%W&)8IC@O6W'C: M+W7^:,?]4"/-1'F3.P)/F#1$F9Z?B$"?=5A(!DO*()6H5.[[$?MWI[5%7_SL M4:(Y]-AC1ULMQ\#I13OP"_HDPX&]=ZP>(?ZPWPJ'_!&K_:^:"6@-VN"1Q.4K9 M$(>ZNKHOM&Q,7"_7S_LE:+=MWAJL0,>85CRA(EI\MK NDM>G72P/V>7IH 90GI1%#;*0!(N4?LJPZA2.=IY*S(+7ZI_H1@ M5A3368Q?]2X-_H]YQ7]'SE<>^2''QAI_C9/T7)UU@DT?6$AI,8W,W/JQFQ'* MI56&W[!L,]01L*A*9L\)?CVU) KP$C[XT,_HCEX&7+)?Y@6<>IN-D'.#,IE_^WJ^G2E?. [RIG.?4;>?OM[< MQ-=QZ'7TDM!S8.'%(('H&XP>7CWFX*$ WP5?D7QBJ&Y.N;-V&YFG'"1B61 M4M?YOL?H]@XW:.: G9*#HUZZL=JL!%SL*W%ZWGJ=I;'L)V^Q30.D_'D>NO&O]& M)MS_ZH(74"ET-OV#W#N?Y\-.589@S3<'[P07FRL]-VZ%\3#E2+S7A*<)R*<+ M#(I1K@3DQ+=M%1B\"Y=.C!'B/P7XW0-%>?K3D&1L;I.B3@$1'O1!T1,:@R\# M-C]NWNM9J_W*M,B+QSR,]E\=?7XH[NMOFC3[OK-:&MU4FC_$%A!H?X'K\*"- M3X[$DWYW<,/4?-3YK<=/^Y="N1 V6U%.40'=RS=]WL%D!V &[?,WB$UM"!9R M'N\K2$0P)@Y8T7W=8=SD]:\N[ 722*SE*:"$S>NIY_@I0"!C5;/VEI#QA" 9;"D#9FZW;'!G>8Q)F*9RJ0N.5ON"KD+KA M>0UOIV+&+ZY0YH63?1>\;215=B:H+S,BU;&5:0O\R,KICDRN CNA2E@4]$>^7]\3%)P=,? M5V%J$R0D$KN-MF]DNEZR^F!E+[!<L@LK$:^,>ERFN^'Q,/..Z& MIIN]DTM\:J#BIGI1'$5G%TR?@4KF.\YL>Z!WN]0#]!FN;LS!PL7)@7P19V_0T8DU M2(A,#H#N-[D.OQ\>/IHSCEAP"_[ MA@I9'G$WC89Y$8*1'H60(XDR7.ZPQX;2P ;1HM>SF*?,M>VQO['+5[>1 ME? 4'+8SI8F#G'?]%*R6ZC]E/=@\O&?-N5QEI;Q<"BRB3]+ MX8C%4;B8.7C/TIW=A>B=W]_*MRPUU7:_N0Z>O)%9.") M[?0?E, $YAZD K9]"FA+9R7^G$"4/ZS*5$XZ?T->XJ%PTT2-[+404GR[OP3) M>JXT$*?9,%@B@>GP\A.^!5?A[GS??:3DT%KY2ZNWOOKL!(NMKBBM";PL-DBF\3Q]2H3T=;MZC)E S>QWZA_FP,BCQ>B/ M=1E1-O=&*8Q$PK-QF7J/N$W9*[Q?S]%N7OC*O]3"']Z[BF;+O(9.Q$J[E!JY MIHX,N1C$I KTG[I1WU?%;2Z <5,WS?4$HS_$K1P=8-HG@(8#ZR2 MS59E\S(YBD\!(0V0F=U%FRD?1XTW" A^V;HNUY^S?$#3;,&M->; M 40*X HRASHT'9Q;"+/ @^EU['%S/AZ5'_=U1FN_?LZ_HO9)3EO%-3DWH)0P M %4QA5 ?*7U(&/+(:+/'"75':S4I[/7JY*TE[B )9F^V8UZC!S,Y*Z-0'B#8 MB3\ >>?VV0/\P;^,?MW6DM#!4KE. ;%;-P/=SRP\%<.%75-C5&6;6KV[LH]X M.Y:K=.RJ[\*W^>;SD%MNFH-;2Z3)/$3,6>H>)N^-^T\ M+]"DIC%Z]*]J>JD/#]X&M1QCI;9A+?NE65OXQ-I,IWG:X;THKOGIXW:6/IXU MGM_MY^0V;AS\?#OJ]P0E$E?1>+0_ENSGGR0=48>N\QKBR]>$=3:2MM>TJ\E! M-X:SXJG,WLBL&"D0-@SL*#S"WD]Y0(XH6:.R#NTQ/M-H&'PK@:Y_7K:-4J[- M"TM(\=WX SQ M!8I<)4['0E3=:A_?5N2>94A@42D-^Z1?@_!?J((=/9]+"3N:?,KEYLQ@'$OF]-KJ;%!^ MMKY^MA?[Q@*_B;])..=@1A T.0)/Q$;>7W68M],4AMK #T$A1E.-Z97R/[+@/AO MBN\"MP'(8B76RMK*7"]_OLOO8D?5W.I**I,Z(6.X+OSC$4=->4VXH@6G0%3" M:X.&3Y'G53H ^GHV4")-!P=5@'A)W\;;V2-*:=-7M%M(\?WJ8N0IH-E<&V?S MG[2#_P\$I$;]CX ;T_R/R>&_03/?IG^:/\;(G9QAF<5\)\3^E?A3@%8'^/7@ M/UV7*.;!50=W$2Q.7!O(C*1"<*'.XGS[70'6[?B .#I=).X4$$3E(?;'%SI6 M7>.S3L^Z5!NU:#]_Z49D_,B%"7/-]RQ+UI=C+22=81T+@_8>/=Z5\7J3?&:+P$AN\DI%=D]9-E6T17Y/M[U5MTU^M M;5:DB1WA,85JOOFA\+K66/;E>^VR]A4U.HIBULR*?KJ)NU7&#F%-GE<=6(&/\]\QFAGT-?RVA6O64S-:$&0-WH'U'A.N+1 M]]O!E^'2>*2'AY]6]38@*I<%?H=X[*#D&<-F*C=NX5L_ M$RJ1H_VP/?$PH'O59\)6TWY/64TF]V?I 8>8+X\8]B)<4"Z0*@/<8J/NG01IG";ILW@M]NS/ MB95W]))365YD)?X\R]I7;^^ P\"7G1O,\>*B[75,%2>!>-$+#IJ]#X6B'T?[ MFSS4+J3TO8:9+D07YSIBE/2?65*O/YQ@\^]\)6*'43!_2)Z+SJ?=\"CYN%LZN,EVUE4LQX)+:2 M/M[K/D9ONAN?^#2.+.U0,3MJZ^NRR;]'CDX!_"V2IX W<\_:>_'< \RP7)<] MI-:\J(-$)GH[CDW+Y#?-RPHTC-#HSG>.+%E(!G?2M"LEUD(1\ON^COCY\0XH M07/VD@@;:7!Y0G;-W5#,PUNSI5==6Z)-2]=)*?L3^1FQ#\,+XZ6HJ9";L *E M]E$,5FHOI-YIET+Z*UVFDIZ-6.I4Q[>/;SM.VV35?;HGE'Y-YY+?9)S^E.W' M!RH5X >&SWBL'6IU],R='<48+W?>^^(>W14' 5^":SH2D);M_LPD927.L3C9 M^NKTGT]RO]B^ZZ:F]6E_I_"1Y /A.GZNWV%%W/JL3S$GN- MZTNG&[3 $?)^4''QRRMMS@%>5;0]GJYYSA9_+:?8%^E(7'%]$O=@R+'9NN5Z MIZV.ANM(J>C4GZ*C#7\[5:BAVM2DORF?-2=![:H_[9H:L^P#270OVPA_C?F- M6'?2_J3M]5\0N4WRJJ8/*+J!&QBMS%$(\W?\2\>#[DL%3UJDHHGRSL=S73Y_ M_I2DW\JI]2![RD=?^^*]CA$?8$8$V BD/"&N]^$GGX&)QU]^-$2W7VJ_R ZO MML;>._19KL77G0(^G0+H,W#X-7FOZ9C]JNH2JY24WHZ('A-% 9'2)P Q;)K7 MKK$!NTF.-_?($>(;&_&YH_[S\#%$F[_VMUGXC407#AC!G#KR ,/_PU(VI%OQ M0VBKL[!7WX@"OOPEF5Y9E9,H],7C:R_LS2E@(T9R:N#HP8[\!HU7[THZ9+(@ M=Z]HO%I^-Z'I!DR$L8IP(H_X=7@*L#CY)BNNZW)5W07O(+[;:$%"F?,U*^,B MG"_9B<=]#^ABGYF$\R?V=JJ*33#E1-?]CO2$ ./4/Y6\E&=-=XLDG&\4"J^U M%>TV[ST:H<1>[242X3U*9UCV%)"BK&HPA:?.M/(QE8TT/$JLPP:7"B73$][^ MY2SP?I%MCOIG;?)H] B\?NQKGTU>G5YN?[B_U7&9.>[W1M6A453'C,/;J^;1 M@$Y:.MD-F6='&[Z6*4>-IP 5C6,UIK1#>!.]OW8,+&7!>A.91[[S5K9 ? _( M.$/_4G L/^,"]E;IEEC5.0(_"NQT!M*#(37@*[-F,]S&M,WSDBL9_>5[%5KXND[-(0.W&")&$6]6NDI>;.2PD0RDZ M%S>+]RMK*S#!OQY]AG:R?5>3)[EEX/?S8"@<,+3!-(_\:A/!V@8*=[\?DJRB M+D9B+6;>/GS9R*YM\\X/,G&[(%JD!.J..$ND3?%:QF(/[&B^"!1887M@B/:BJY&>2484$"E5E!9^W('.W'$7G MLZ/SOO&.#8T[EW!!S-.U;7\?:@C\H)O 0-:4HBUARUW?N+JC4S[((GF@NN\; MT&"B6!/-E4,_D1^NT3%41BS>.VG]H-BI+BE0*.3I\,;N&D0OZ6./GJ6MEXH */RF07$/T@_YW]^+U; QQUN_/#$R-2UD=![5\ M6M.('GME_4P'$B;O#?D9=S/]ZXT%'_%7SCZ-_\+:$=]+(K8M.2:(*@2C"E4F MJ[!0\=QKEL&=G0FCWQXLEQ*.3/,G9)'DU0%UDG\ ;F7AZ^R:JE>L5,!O5&+] M5];T1C6EE7]9A8YF^13PCUVS$Y.@?VC,^'N1T>N?4,I$)_8?:D?_$HZ7_TM0 M=\FY>,DP"]4**"A06<6^>*6/=B6OQH.AW%GM=B_J>I?SWF\^(/F0!.[:@"FK MX1I%#8\Y#56Q\6_6"5N/I=/R\W,!?OJ:L. ,4D:[%-RGBJ@REO;%1)^ELJ1H MWJEI"CXL70_RC)K#0 >WM+HE.&)2 MMK\#,PM02F1S%%Q]+.5OT^HS#]%#PX(:3M YRU_*F_V\=:XKXPU>K=A*^0[0 M]9;"V3\8GN$]A)_M282] MDQQ3F"M+U>+]@#9)USADRTHTNHETOSUY.0@N[%H \]6BSHZR)VABGCP0YJX* M2&SIHN&KQ7]0ZA%=@FH0)MI1(3[!&6I1#=(0VGA?H<&;G41:*;80A1L\N.(5 M/T9R\K+\\C(S=(E/=^P"JB;7@8'_E"+SVIX7Q++2< MV+8.6V+)\;20ENC'=_(3L35;M+J M3/.!B:>AN8SN<'FQ=]$IP&[GT3W[&ENL%$98HQ8/^UR#8JQYOQM1PPI],I7B8[P/L5 M(]\;)$ 'VOV7HH."7KP$2[L M4>0X+=M9[\%I;&GI&B?E6A/0_=0UE>$4H$2B1\4TL2@#/?)75:6(N8VE@7Y" M@[<.7UM%XOS= K$,BBW?@;E_"I#.M@WH8+S0'%L!+_8ZB#NLG6 M6Q\:'IAUG624MG%CWEUX[T3GHK>XR MJ\S9_!L?+]VJ8H,^I5/O (C_EZ',-!+^C#30 ;JRQI5SQ!$BYJ(L:T^7L3\U MZSQ=6/=0^RN03J7^*5W%$%@6KD8>(MGBK[3YYL$@?]4/F_RQG+72\GS;.3PK M\V%1E&:DT>,40*R5S2 [H,CJJ@/V)[&1AS.6_:> &!?Y4M>#QKJSYQB"EUR$\X*X">5Y]8J37N5 MA#> ) TS8M]$F#A<.A?[9SSN^J9@%/CV X8N!_@"+0^!1G83?-E?R!)N0HR# MW+5 ?XD059>MESN)_L['I'CA*H(+L'&[%-*%O>KN$GS$ZI3\:TFAHOQV-G?. M-]+G(A6$[O;6QPR^/50XZ*J'OM"!?M5()1G*MW1[]-XWUUNW&71:<-$PMG.; MH_]O:OA3WR]FQ+':Y_FGLH^%=>X)R+1Q0A#O3A'J::3[-2MD]LTO]26 M]A' D[)27SQM2BD$A+;;RP_>BM)):9&R7:D&4KF>L2PL;+N9L5[1<()_&_4% MP[8V+TL<"*;8%\'^FHGP=64%5^0=&NI\%KW!7_W+(-_BJ )GWV;MUNQ2F&;; M,6$CS.$4P35;#!3F[.;T7(M=&:Z@TE.8SK+O)W7;!D5Y%7R%OX,-*KQ?/MSZ MJ29M?_\4H OH.HFGJ.0Y-@$%QL1002=+N7)K%=6.01,!S$>O4P_F;'H+!-L3 M.>XXK+&/:+4*.X>3%81)'=ZH-K5 #C!]@V'1[(K/ @((KG7+Z776B3P%7#:7 M]^!5>J]&8]G$KDQ?2-[1KJ@>ECVD*/I!7)=SYVKNAT[WF 9?L%?+!<#G2)8: MI*1/:"2=)3E61E5\B(7@-#/SQ%;3N6:F\L5G3"HA^8B@,8;Y M$0T+C+QK\K2-OZP%=25IWW:=;O3K18/DY&_7M'5=O7_4:3?)>PBE?Y;8.'. MW\U1-7FMUMSG]:L/JB]/PD\!X^21DV.7DV+]LQ1BBJ*VW]FHMA#3(D]6G9Y1 M+:U#[8>%1E5139,J$,?:BMBC_Z.]\XYJ*MOW^$%01,0H2!6(BHB,%.E%JHX@ M@Q11:B"H*"U"0%IH"<+02P0<45 "@J!4D0Z12 LP2@T0Z9" =$D X0 A/&;F MSIU9Z]9Y]][WUGO+/_8?9ZW/_NUR]OZ=[_Z=??8QPS0D8D XE/8:4\'O*+>- M6T-C>OWM,7Y4TF"(QL5_,%:7=O4Q0XV*A S.91%M)M5)[U\/"3S&20%#I3^( MW-/^ALH(W%)UU9("HP,I[>>;>YS]%!:6FY2;\#"'(T]5/7M9AW[R@IQ:0O/I MK,%7YD5E:NBJM=>M^J>L_%4[+K^OM,4:/V19QC4\"R36"=+&XKZ8<*1Y(MU/ M(M:\Q[Z1E-][F\UW(WIUWOX"NHTI2E(D5VQ%)OT=Z!_*R M7IU:Y5W1C](NP[A"1&'6L]UMR'%I4:]/KN*7MRYZUKH'),=!=.X%4-Z&4?D; M PDQ< &L7D4_3@_;:>UX)Z[UM"FD]=TYJJIVN'_$LRU9,%__C:&F-L7M2WR> MTVUEFOK)R N)3.;!YZ=M/+E[S.5T%O M%">%"CF: ]5M&DD*Y+?.OP3/).G6]DQ>7(R0)%S0@92;>"H^YLV;S!NZHA1L MN$H\AM;90*KE]R6YK64WMS_@6SA=2$,BV_5F?^, MX!E?BWT)^DT4A>?,]8_=[I6^*??^$&W(HT4X5/^**?N=O[?IV9;0++MQ&GUV M!WAM3F;&N,[]].>C$W39""6WXT9K7L$NTJ_3W!?3NHH6;CL)SNJ(*FT)[0!M M)VDF2SY,]_OQFW+QRSIR^FM>/D-X& M]!$B-=Q^#B=JBLJ33_2GV\D[W+UU*^CUB63?>UE%^E/F&O]P'+NC3,9':Y^# M?LU"\&*J86$0@L\-<33E:@E?4[[D#,U[IE-HWV(#[Z#"'&*N99J'\'DGY7,'BW*VMNE8N*=7QD4 MW^M0,>RV X3T0@^B#\! _G="N>$^9_OZ%Y4XLI,LEH,RR[LMW55$]8:GE63K MQ\(#4AK2 D=4YZGFW2^\I-^6#MU%":1[#"7HBNBIQ]'; 3\AQ%GX4YWZVQF]B@7:<3Z-FA3,V8UQ'-_#5XFXX2H_*E47#\B#K^JJ$[ MA2Z5]YJ%[Z*JXZU"VIA=(OI44FXF>1K7S#D?K[#K::-E%B62!N>XS%Q.IIX> M;*UO8Q/:Q(W+MN1CHI5=LN1ZBL0,P MCT)#M&>L2AEI#.?=&\\^#MGDD]H!3N\ 0JL'SK ^HA$:H9R@K&G2^J7NQ=6M M5V+GRA*=Q#G8$DQ>0G_P4?Q%#Q[1[#U28IFJ=+-7 7 AN%?L +@HPE*)_7YT M=Y(ZPYE^G%OU&&5;L ']F]8<*"=,4V:T%RT_Z MSV097Y*96XK^7]&OZ%?T_RN*^>-&W8/LZ@RAT;B#2F>FC?(Q2OF+'J@?S/7T M<^T[WB(7^\=6Z/S;:V=7CKRSA%]K?75M'KD!QC*W>#<2?X?\ M]TS_/1;W!ZK\1]@_T+P_F_NUA'^93!)_2#OU .>DF/ZG>OPS%O\3Y#]HC\$_ M;?.?)_\3+?IKI3\CYKKMQ2=M=%R^D#K<84$Q1G5THWXAU"/;,@>OZN6@\(INJ)DD^=RN(4V,3VK+^=M$&1+;W<%YDR7V*)C9K*+58HO;V=A)LM0R=L@ M8757QO[%+HU_2X*/T?*-RZI =CK?)YC5G:I(9,K9#*FGAR++4>$!Y$:"L',J MM+Y8>,:/W,!US6QH#8:1[GS2\E( &GV4I>0%LZ-&FR%6=ZR_'"=XZ84-XC#1 M3"5L>L5VSTO\LIJ:YFM-A)[V@)-))9W563TROC"CO\BO+7?P$HM3DKC@*%6, M/8(Z%(I( ].H[9 FT3T@,M=EG4)9N?R]] (<5OS0EZC^@&4K-R? TKZ084U[ M-KTH,M%Y]&)>_HSO(ZZ#9/25,(>'#UDJW:GO975'0U3M(PE[[M K"BF+RE1+ M[)5JVM;CD4'-[MH]XTGWE.^7%K_5;K%G6RC39KU$(7"!";+<+H;G0J<>R4H1 MFT+V"WXY?F.E56G6GLU'4\*:#B$:7;!.M>.>S7Z6$W]9FE6QZ36;TWEC3]O( M6 V[\1U@'T,DI7Z4NQ_7Q#/'W_ Y,"+\^7*O_.OQ^YVM82L:IGO3M >P)N%E M[6=MZ#_4/:$4?B>KSJ5T8P40GN2I)4FHN)\V1!R5H9&Q2FYH.S%SDG2?4X_0R)AWC%61 ML*RCQ)Q<3_42)^-.MXP2,B8U_86O]ZS2O)U=D213=1_.&\AQ* M=*(T5Y)RTCV]5#[:NX7E"U\*U44_;BT@W$=+D? 0NH)!7[G+0;XC'-S6YH9W MA^,RQKWB$GO>ZC?4'0<1XS_%RU/G4?%**!_QZH>V!KK]W\9XI[O0KQIB*6ZP*:ZE,)M>:3F4!5X^KZP?]1W>G+A!PZG>R:ABA0HA(0R$^Z@\Z#_B]G*,9>W/85K M\(M3-1M&%7)Q#UBF3*ZL9G# QH-S(] *+NBCY"^/F\/)*1H*4D9I+YP&3[[K MZ+^UO\-#+K5PZP)*I6'T"-VMU^90#LYEQ=RQ.ZO2AR^VY/+Y3JYT?$#_#M!L M$J,EW%^G@M)O"G"CU_64S2PV-[WB>666?/X<2X@$$&9E#Y7!GZ#('K8#DW7H MLFOE:YF*@0L6?=3#&=B]L><$U5BQ < P>()&:M Z36./*0]&F,4-U[N;E[)6 MKKE.1*5@ZXSE@5ELP!2#DW9OJ&54C'R2Q-#E!ITNFRB[N5I]YWZ!@^W$<6S- MB E@4?D.)P B+]-:XC6T*2+79]X7P@I,1P1L+D'/OIK0OUH%#2BEM1#A$)I> M+F4'.# R1[(#8;!RF'=_TCZS K$;)BFA.N)#PKZB92SA]&/CB[D109(N%!P$ M00>QC>L\CX7N1!&[550[-5;%,A;G+3%W:H^Y&5+PAT>&FKT@ Z>U;%L%O1(. M<3F#\\U,;EIG_<<@S@D[N_(-=QEFMQ_JAG,OX-4="3_LF1Y1/38PW[RI?Y\I M=BD/X7?KQV:W%W$_.CAM1(W?U%5D64@_T46E^S6:"(V!E0U\HL)I5[@QCO:- M[ .3:>Z+3T4]C+MG_+SSTX7*WY:#YN.0!7MVESJQ1QL:M1,^>QBOMBG;!&%R M>YTJ>+\(?,/Q#H)](MN1:L1D>I+)':HDPM,(::THK MBK/;:IC-YGTBY[.2@!O!T1F<-NL1#*47S-Y4T;3G0SI2J9?;1U)?GLMN4KY^ MZ#&1E-"4N@)-X.NV9EC0%<]]^Z AY5LISY?F5^]W'?A<+LL#\I&I3I'X.UES MHW"3C_& M6_+@;%OEE%&S*EN(?+ S*XDAESWWGH:MYT9Y-=AH$92: I'$C"@YJ+:R ;LV MK@>>"> -E1E]BE8KZAAK3F>C:S?: ML\T*I<0[T1:9<1IMX85E[:<_W\L,'8>B$=';F6BQF1W@B(;1C3T4PAZLHO=;TMIMG28H4(/[DC+&D (#2M(#)S QUM;5ZR*1[UC M7-+=NC@3X(-MW $.V2E_!)#ZJF7F=MQI30+U(DPJ]-6*2-M[-?KZ%? MH764*N>BXG(TN#UJ0S1I[#?3G5G3Z+GU/C0LEB$[D9E_++%P/T?5LO(&_':: MUF?_%GAYURRAU,8.)#?;7-G,_5O7"V;Q_AES&/X@ M$XJ1+(4'=5-<>%-VB7$P OMTE;:KP !_>S-R@8U5@)IV5PFT[[S$P,NOGOB17V616 MJC"9B$O4&PN845J*81ZH :4F)R]046CM!A'K+@=-W9 M\PT[ ]>*6?>GM]=HK?)$_'J#"GMQP<;D]&>W6A[_%O/_A"U,:$@'I(B(;(' M16B$2V";U-T*GA\K'A:(J1BOMMUZ0PL4[NL\Q-A#LF_<%%F/QIO6\([B64B+ M#N4N;P[UO/CH(2_@\TY0^$N>EC"]+MIA2PV5U; RMO_+T-"75$Y[Z835$8Z. M<65LU8B)Z^HS"-4BL2A(F[88AU9!LLX+W>5$WGOC,N9JW7?]C-@4-4-#=#H& MF-!0V5(9<165I.L]R7>==T!.T(]U2I=QG?]0]*+W^2'TS+H:==_KN\RCL_"3 M8'0VZ-28+HDUC]A422R&=V('Y!KNRMKK!XSOPH5L&JC<\+[(YL%5]]G M=&7SK[A,47O%."(@W"$ &Z P;P+&4Y'LX'O*HW"_G/G"C-A 7W[TJ3<5J'6C MLL436FL*+=TE3P\ 5*TS0Y[L:YJ=S\X8ZI#^1'%^C1(P/V2H(\U(K M A)5S&N\T4\\TV(W,'>9RAH&6B8S-$E!TGFN?N? ?,NJKD7\L_YU M7WI*4VT$*\!!5-@P9<]E6-3016L+7. \=.WORPB0X5%7N19$_D?8I(#!1W.8 MA.;UQ XQ-Z:%F(\>'1GY)RJSHCI9"D=94<&IS_/*T%Q]G2G*\=I4U[^!V9 M^\()!&_I@PWC:TZ/VQ, ^#F6Z40=49/=)_K]'C"?")U*$V^D&,$N<*K=/7Q,54 D8%G.3K-X@73S8*IO?#ZJ7$H#]E)WNCY7.DO# M(6RY+"R.OM@U+GJ6GQ*10MLT*"_F=M:22;[:)_,YO*_BL;3=GE)5I^$/^!"% MA&.#'^&^4Y'N3S0L_,+07-:H)8KX=&09 MDD??/]=F,+:B;V^)W?SRE(7\0*L4NT1)4>D$+MY[4<*ZKSP7?+AYA2STL%CS MV:?TE4O!AW2Y>6WW.@K.MN9MIL0R)(N#''M]"GF:WJ!$^]S(K;T9Y8ZP)V%< M0UG0AL82HN]*?XC&%D4EC*$YH99AQ--47'2^E=Z.E$X>:G.K%-;Z;*"VNH"( M*W;;SM3:';!$&XMP9.Y(?1&B?V#+L03IW#\W'^IYC[7_]L-*>D MKHJ$/%Y;EFJ(>"EL<+1;SD)/.)3KHMG 0.=+NXL(!.>P[0>*ZD2\H4*)*G#H M4XA6'\A!7QZC7$IU4:]M<:-874ML^.D-A.[VDCE#7^2 TSO9$(\@M7*L=?\1 M&0U#>0_UPN>)/\IN6\N>EO65^\I]Y?ZWN+$):)109ZCWMF/GE>5^+AM(Z?!&HKOXN4;L MQ0BE#PO(SY63B-6A+?G?\F#N#.P G=G0]45,0XBV?$7E.FQ9T>T7D/Q[XU_! MK^!7\"OX%?P? QVM?P\Z%U52* 68HQK7\S*ONRH 1V] GI)EG9RTLORX"@OD M;7]6BW%\3K<\ -$RP/HG%=F(0!Q,X5=035!U,/NP8 RP]M?U@.RT Y!(B\1Y M]1_%6Z(=C=7E!R6A/L&P/@)+R[5QZ+LS6L*#ITL*LOVTQ)^HSKQWS@[N^X*T M8+"+!.?\6X]V^;^YIYM*)4JEGR>N\V\7_]2+OEI"0=(]WF.\J,CF96SYW/I@?%=\]M78 MV]QO'J1/"U=FMA0%Z_U6T,[ ?P%02P,$% @ 2VY06+9TPR)QKP$ $UX" M !0 !P]]]_GNOL^ZZYZZ[SS[GKM^POC# ?#//VY]WOAFXDUP*('7(SM$.X.'E M 4XB7P#W*R!YX S^M#_@#R ;#W<&L 9X>?YL?SYY_VS\?'\^!?CY^?@%!00% M_S&$1(21(20H*"PF+"+Z9T/VQ,5$Q?_\\. %D 0(W^-0?X.\$L+R&S3/R HZW)*:/L%.8/KV8^$U0Y6D>6/#H'J>T]? MC!<155!4VJ2\8Z>&YJ[=AD;[C$WVFUK;V-K9.S@>O99P(S$I.24U+2?W=EY^P9V[A8]+GCQ]5EKV_$5U36U=?ON&1T;'QB"/^'"#-+[!-7U#F@(O0J0NRVPVN"\L=S'Y4 M1191VWL4E#]]<4A40=V0NH/Q1[1_2/;_3+#X_U>2_9M@_UVN:4""[3OCC["!1[7<(%L#2Y *^,"2<>@ M(BY@&\ %MF.Y0*='L\O?D/Z&]#>DOR']#>EO2']#^AO2WY#^AO3_ 22T5O0) MR(^^<,,K_$%)&7SP 0.O$3AV\H';;JOW1P[++\1.D[YI!Q;_Y (:G.NV@#,[ M#_.Q%&K@"'"!DNGFY29%YC$ND%-,6X 4.5G!&R\ S<=I_T6C!0<8%X MW]A^+J#PL_@Z&HTYAY>(#.B<1^=H_BR2_#V_]K0N:)OC+7T'SZN9-F$BU$0@ MYH!M=#(5"^EEP=+=7=?>F2ID(*<1AF(V?^^KZII^^J->/\QBK\Z["UTELZ_X MWA K#2L]G"8N-X;B;48KU[6)6QU7UW5V>FY_H.'HY>7;4]RWF'J)E8G6('1F+?0SZI]ED2HGM%YRA92K9$]W1BFU68LODO7U^;0[AU/[[Q. M:FN9# MWO\-!DJ.74?X>'P(L\+!LGG3,*&X7PJ&V-]< DBJ\=QFO^Q*?058^TF]&(9 M>!@)8_NZJ+%_,=-_P9"'FV-G236D-N+T($?RTS@7"-#+^*T^77 #]J:S5?M] MJAJ: _1SA&$86K;C+X2=..C*$(DE\B0N\PN@37_RK8?C4 MZ-,1:I#D4+VUEJ:&&#/.Q%G_X_0$K*R%7%T%^O5\<@E7EPS+QUL0;.K>> K- MG!G[V7MR>=/CM&^!'RQ%@*];L/3?6QCE3$%(E@OPCR%>S1\=RX,Z4]REFL,=0, >6DI<<0?[ABM0Q:R3*57D%8 M0_8@N\@\(HKF-"@SN]1-OH3SLM6IN[_'VY'Y*T#\RW,U'\,+#\7?C8\H3/+F ML[!T#UBAG7F ?8<+G,3RQ"X0:I^H;@63BAD:5O6C36J4_6O;BGU'O0+=PY,T MCV*U:<;V!F9/@JMW,NW.)W^WYXC7LPLLA:$5"KYK 4D^4K&*7[PX51=H(7J2 M,[,KUXX9V\WWZOSUK5,IS_MTS\A+T)(+W+[[?LC7E@L([5@J#.C,@O066E%3 M ;3Y.6-J3$L194UUYJ\;[ ?C$T[-XZI:4WYBB5F:XOX%2MYGT*V:?,M8Q*?) MJ^BJ_"KZO1@MFN)J*D/-"OPT,)C?LK6AI:8Y7WU6Z Z3G'O]_BO'+7%?E"CH M5R1*63'H0;A.JEF 9>+7F71H%PVQC")$H&U)^!(KQ-!(T'/?I8/'5^KFBS4/ MRP7>E.F(*)7I^G*LS'_K91SHB9[",_T8 ;#T!AW=CE.*-@2_%E-)_-&[QNJP M0MXS2Z_("HE1I_RTQ[&!\E9QJ7X9O-T9RP/H;3V8 BX GENX&1U$RX*V3:P1 M0%8'QW\AV=S"[Z5/9.0)W1_Q45FHO@GI[L9$H%ML;8NR>UB%(\# 0481'-$% M*F:JE'EC@N2_GCXOR\"EP9XL:]AFZ&0- \N\<;&RN7N=?O7E?,#W,]HC2=K& ML@D/0IA:'-$_+@^S4TB4W-^=Q'9\ZEH%U$Z3^)DSUTXAB-C+8D/X OH+OP:= M\*NW)T];!@FW"_<5C8$:L!(7*%W:P(E@ E7*[RF=R4?+1D:WJV?S]L0.1GUX M8$_UE4!\DP3B;V!"D-IMNDC[3&3Y+.TK_%SR,+*_*^*W:O;+CAI;YIHI..UI M_:GW%A]"P%5U MYKG6L$ARX@Y@\=1-NLH,YASB/;QP%'T]%0?:X^(L=T-WPR]8OHB6K(^-&=KI MJ!/Z\FQ]W6FLSKW 4_LM+CWXP9.-.*H"H4\^%D.8+$<$+U4Y].L21QSA)K?= MH E.__M*+O L1J&E!)$M'?-)E(0FK;K5<8&1C*?1;[B (,)M^G;#R$3_17?D MMY;I5FBB_*]FQ$;[D!EW,7XD2 /;_9SD'XJFEJ:U[(H^^.I;4L.32)=':3-_ MY=M(Y@]CMVEO"&Q2Z<\T%E41[VNMC+TU05WO&H1VK:^N/$'$\8)/@!L MGI2([L8O.M0,?O81S+3R'B!D^P%Q@.H@HODBS\#"8E@.2SE[C^;=CB_UB3;- MM#A(V6=>IN+Q6G)J+5&=(\?SD]11#)F/,#5 ?,?"*DDTMA\C"UM3]-:$ZI*[ MP6Y\< -9!:536?%./'U61#T5C/6W[HS-@1%OC(_G])!DN,!IQ*$CT4F6^L>- MV^[ %I8U5VF>0R.KMPZ\QFZN\GOG20\/?&>BZQ,*Y.RE+X#'\5/MS(@"CG I MHX2ZF<,SI!VM01E,>)NWD5#[)51ZZXAN[8KB/>P^.KK1/U_SMOS')+6B;DP^ M!@R+6"73,9!F 2R5SGS$3O1GE'^I]]W&>*N79.2=%Q$_Z,+2R?O@+C:8XU]7 M_UW^XI6>C[S>MU /HZT1561%BS0WCD4? /TX(NN,J,X'8D.+9QH9EY1T2FQ\ MO>QM/'.V-7SF^>@:;Z#8L( #G=8A+?3J<\3/_*$#9; +^Q[^IY/9 .]7,YP< MY-JQ;TFRY(G3]AJ;,\?GAFBWU&[G*96?.W^ENII(+29G22%N-5 ,'A@$?*(% MAS#^KG1\HFGXVEC;4B]EE&&9XNZA8TX*&O$,>YAIG7,TPDIDOZUZP@9"\U40 MMQ$P82=S@7/&#$+K D+F7V&O<_A@IP\_'.HP4EZ0BF.\&4YJ4KU?Y+6LMJ/E MZ<+ T7;]7/S]IR>JR588+ZU?56 _++*F)V'!@@.W";B!0J,0I:R8?N_D':=*/OGC=_, 9O.&,CK4+X\OKN*#"T+JV MGODSJ8WO0^/WYMF>/6WE[,C;$CB!H?S0FZRQ@9[B'Q]FJE*B=K;S[.#W[@?VZPE^+Y)^A7S$07JH=KP(? 8)UB<<\6AU!C-;\M&C MR&(O*.IIR!5%L;=FY689AT\7[MS2;O?N2=3$3#%X5:A]78 $RUQJ-^WPW525 M1F\GR-?>N>QXJLYFGW.O?Y1L^R:^CQEYKII[2ON/6+JU"BWE%:\=9EG.QPY( MQ4XFTQX4H-J=LD1*4STZ)X[>J2QPBK1INS++I]=CWV,'PXT1%W"W<8C34A"Y M5VP8+8^>PJKL[!;UR.YVKS./ ACF!0K3D9<7&MX[J+SSM^.@C4K\;HD^IT2B MUY[3B9N_X,"SR:ULL_:-"=X9W_$? WMQ^E6_*EQ=1@-L\,SHE9!3F?=Y<(_0 MX+D),C[>'0=:+R1=^:T1_R/JM?FE@(K9R(6!ZLP#%3[U3Z^&[O:)%[ZM[5*A MXJUVYM0%*[0-@6R$%%M,-0F6QU)N+"@C)>#P%5C"@'$.=J167IG;.EKKG7^B M+[Z).\$/;$S-]X699]6LSGWNFE0- MF",/!K,3D*G?\#,CE-*;A""]20(=M0EWQI;(/8RDE@:$.,ZH:<#."*'6480BVJ\9D&@1F6X M=K28G, =P8L%5\]UZ'3>WT.==CB]>Z8D###W*R3 BD2.L#$5R=-:@XE-&(8* ME9A5T;2%$4*^-CM.9.B_O1)YC$/S3.WY6(HQ"]% MOKL'VHWDPHU5_S;,[P M!URPTNZ7SR]/!KAI'^!)7E%<=45JZU-(FH4BD,WQ)$HQ3J+.J3P#@_OP4XN@ M #V.E->MBV*Q_ 0&5K;N.+8ZF:IZI(>6X:0OD#5ZV5F(D@S+9'&$D>Y>X/N? M#I\SJ>"[&0I@>+/ M7/MGW\G?+Q.WN,<1G4#(Q")G""=+"M7_DV214QV%(UZ!BIV[B"-'QR^?L&,Z M[_A>*&CI^V*'L]-.48RJG!&H:&768$5]'Q;YXQ+NW1+\/U;3]2Q MRL$::M;U6%&$_B)6Y ))JEL2',#%Q-J04*V#PVLUU>/#\SO2-+LN'I&VZE5_ M\"37>]19Z#T!=%^8PM'P:XC9^1>A4I86K%+LE-XQ;S"TK798??SEM)C+]A-D M_>_JQRZ6G OM<7VOQ;C$#$,@\A#([PA5&]=U8Y4X[]#UR3>:)*BL ??#AU8< MP(V.])ZM^6OT3(T[956?^JQE*KI,GR.?O[4S= M>7QZ__:+B[T'#]XZP)Y['(?AY2"\CMR( ;WTTKA /:Y=#]),[LR:#J!V=Q2G M7L.GU Y$=(Y[%(P$Y7NYC*QO*YS 5NE/Y^5(;P[0^=29K-.>6]9K.'@N?M[FBE3/ ME:];\4IJFR=6GB)*4&$Y(2B4293/I%22& 71YJ7#K# (VT7BJ9P7,]L2XC+Z MZ%5^J*F0X+R%5>5STNVMQW:B#:@&:<8F;FKK)*1L@P>P\001 B7K-Q&6:>FG M)1%#+M%L[EYC+2<+;OHG!H&W5/6W?E@U$!<*D M #U(PQ[>@L#G'X0(4:Q=L=T8Y1;%R%SJMV5%8V7!IU$10<9,/^RVJSM2C805 MCCOMW:2\?<=-L_W.G7?O+1.@K1JP5"X-! !#MV1'9<,4)>W39GSF+LG5OM>&O&::OJ:^OO[Z MA92!5>^F[:1M&-J^K$E%3H8]78C-&B;],B#Y_[38>WB\=B8#?7R$TEC;>)WZ MMNY-BN/FH5>[>Y9;DXZ*\*L*FQ '2)#) M.=?<=2E4!6C#6.[&Y%UR3'U5KX M]K7;[;OV,HO"T@JY(Q92>$W?T2_%X)/G;*9M:>W\2ZPB4%R30E335C71C+/5)B NX0%&A$5=C+DY[ MM).2KP%I;68KB:YJUZM$9[QMGACF\)]3M!7U')5"$*A_;S8A%+F M:A9'I)PJ"SH?8")YF]"F\OP78:HH=NQS#&E0_]ROEK%/5TU^,1K26-U(H"KR M(7'JC(%V!&220@8A#6+KJ4HX!'2NK2%!F!<5#9^W'/1..<#7$^E+FZ,$?\2QO1C7_SPRZ_#;_!ZLZ2:_VKJT7=MD'5[1 M@G8&V;CL4KG>O@JPG8DY&$HE#CR.CL> #GI I#5-L6LAR7-(1:4/0MK%L&P6,P/,:B^&M#&KUI0U MQ;;Y7?YW%\$?$A+?/%,5]K_4*4WZO3Q]29(RP E#RK2/J>RK*+%05QWL410@;M71$:31FG([Y@B MYH*EL)Z.WVN'CY.'UMUN\<7;'2 ;]7#F,'7K\823Q"FS+ES=1 =>?/GM^U1* MN5(8\<> E%U8J:?NZ09>C-&0@;*;AK:)8 V!4DCXEHF+0S-M8"TN\"S="UR' M3%@]A(/O^A:S]) ,/D\ G;#3 M*K0C!2"IRPO;@4HJ,&V>]O8.B34<#L54YWB$ENUX7?>?GSJY'\ MG1XY0MOU]#5:WQNH9%[]M<"1/ XQ$..^8)=S]D1K#&$H>2U2X.=R6EWF[YDN MT^1VDI!EL>"SD=YS;V.(^:_LF8VWVNCB*0XR+\+\$JU0R]F>)ZQ+>(5[MH*V M.M%&+%L"^8 A#MK> ,N@J 5(5S;=>/CM!!Q1 O&UMVQ*;M\SG_AZPMRA\$R( MX=G32O9*@0$YCJ]FW"3Y:K8;+P83R 0,A6Z!IOA@0&F@G&T*!?@V2D2 MP7PR])).6/U\OOR\"NO 2W<#XJ&S'ZU,:'O;7%O- MV%?Y."D7ZWTO,2_'1%>_>I%709NA<,1*_(@51& B>2:^/MJ)78NAW# EK>7] M@Y0B6A8Y\HB6HA=MS!!K\ZJL;;@4Z354$>9Q+'N@*=O_H?7FU%V_O/:77+D9 M-HW9@_CS*'K:@\F!G!C5+"IZ=8"UQQ-JIV9E1$<].L (Z=J[Y.'J2+UW4L,V M6SWM!NH)'Y?(_'R_XQZ3=C=)("5RBEUF[H+T(Z@_)"FY&?*FJ$,$ MA>:R26+*Z9IF97+F0OOW8(>(>R6"=.W@THWCDPX NK"Q&#+)Y8C)LY!VF;RU M97.T/B-KE0VNDQ]L>\VH;RB;"G:!NL:_'DO4H29^Z&2&I#BH]UQZ_:I5B3<. M8Z])?(^%=B_""AK,1'8"@9)#$L;@28DD27C3"ZB<)K^81!VK+8H=7_O!NE#V M9<+XNY*[2LI'@3.);A$.DT[HAOIW?#F!$2'W8@QP^$(L(,$'L5#&H/786,* M26'O[/$O7I?WVH=;W Z+/Q5"V,+NP 7>=$C,.::.]WER:O2#T'KG5:&U%98? MI,(18;/4H6XF"X^2LD8I46]#CUF__GM3NLC3SXE QNT M9C1U,1,V9CBU*J,[%@3G58K0'=J?6C6CN7QA':=((/?C MOMU 96&8(L.8'[]*/PCU6G-0@>SKEP97_RU)X XC-C0E43YA(0T4+)= %R"N MLB@J1,5(M:[".Q<>?5F0,FR,\A^;.^ G7\NPL@R+(; OO0+MQK QT0JV .JM9>&Q^EW*FUV%S M*WY?WX5J_T?LJ6S_DT<1_]2.S_JQ/_?!$T&OI-NFS,+ (Y(%G"-$] M,G7&%VU!]E1>I>&*QVVR^$@WC\RL^8A6MYQT]5ZEV0*?W;W?%)">4TB40#Z' M8"]J,0634TF45S@0*R'D" 71ME-MT(:YC8\ZOG!FDJ0+J/ M*CQ_1QO A'\AQB$S&PB@Q^ 6 MF"0"F:%V"_P9PYK-*FNC>AVW+/L';M\R8G M_"6=O/<%,<]\Y[LO*<4'XBZ)11[*F9Q>RWNOSQ BXR 3/XY8.M(0]5,W4@E^ M:$AC9T8XN.'2/'P9+1]9XPP>(48\:ZG:W?;VQN-EK:=.W@[^$<)B#GUIS^RU M:48 "\,1190@M(G3AP,/X=+=T37O2>!(QSR&L39^5Z$DZC$4>SQT[6RHC:BSBO*MD'8(\* NI31*AZ)2O M/R*&FMP^75U3%Y$U+//SN]-;$*@MWV#'!73W8+_O8MG%CJ!!5]1FY!Q7FO:S M;**]V5F&(:CIG?T=R@)=N6 Q:Q]]-?>$]U2;=FY?R+/K\O+C9K"#>X2@+/Z\&;KY? JMB9;2WV++UWZ]>N8:V?2*Q5(LX3"?VY16S)3@TG M3F=1OB;]UDLQUPFXA$J/5GSA(_)DV$AI[5U?DJW8XDP/$/B))Z+LY$%3TS*A MB=L>WTF@&4>R"[G@J]CQ6*6Q%JG8 =PK?*(YCG$QJNQK[9UH%6J,.W.\W2%5 M9EI.8/H MP*Y^3!(FA" \(($C1J#@D_*+&XCD=4@#R7]J+*-E11 E$3)O697_E0NXUA8Q M9V9G*Q2'+&HO93S;=]SF9,]U_X*+-?AYQ(!=.-!=;Z:&,DJ2PR#)&#PLO'Z9 M(/CEP@ #V\'1Y@)'DF:.'H]>2=TA_0F:[3/IE(3BB6%S SM$W-M.;5.5[JB&IVB')[Y^\EA6SSZMU?\.YP))E,+1F?GI:0NZ]QQ9^WM)J@X] M(C/RB>@%)>$V*^H"Z%8,[9>EDV!9#XYH<1!K.^IZ[":&7GO9Y1/[N,#1*&^Q M!H; B$_;VD?O/6^.\]5>EW:RF9QUE+!"OS+TH$2LA2*!B+0@Y%;E;N]3.ABRSS;^$ M_'A^$VE(6>Q>'4/Z]IT2!;"\:Y<,SC-2F47>5_A#^;CHQK"/SZI#[>@FT0E! M:L>F'JO6JFT\)WE^C,E#BA3$H?@XDNKL*AA-0TT7,U612Y^+/$BG&B=_U16^ M^L.IV<[3+_ES#L9PP;OY1XH)OOJ@\'Z5 \0F)(FE%8.^Z$02>(PTU=Z%DXK5 MB(S"0@0Z*K'^\3I-X7[#.Z;(2;\ZJOV;GQ#GJ^P"K="#0?_+[I);>[*1/)LMI\- M%R#^POP0U?QWS[T C_[#8RV1>G\6O'9@.DF@'EMU;/T8X&(K]Y\^/-HPX"4, M_'"%3F(GU&+9F*"QC?#(8E@.Q]3Y0*(\X@)5!1DD/X)LY/)Z^SY+H_CWNW[V MJQB]SA_U7O">BZ]JU#QW[WQ3=EP'\R$J 4,9(/ZR27K*!?P3D!([?-BRY0 2 MY]3H_?1PJ)1E";W];)8,C@0J_RPJ$;_SN$5VVKR5Z1XY+1ZP+IRYMY;^D\41 MT4#R6Q]8"LM$,#U?LPNB51C>+HR,I]WINC_;RX.OG;M2K34H)WVG7NU5ZS>> M]U=G8[3JV,U7:=XPW_TLN=7A?4CI%?W#\0\\7U<_72N MXJEW?YYU];>*FQ5]RWT=4B+G"(&$*2D.F1$[- 256J$%[-L?$9CMVH13)^2\ MZ#UJ9I%9&Y8>)Q8:N[YJ,10YXM?!ALPS4#/2HG3O$4 O%*2YV(V&M(8)9!4"I>!:=SS,5^ZU4&2Z3D.E M5ZB]S??N^?&YY>UEV6Y#YW:Y[3:B6W,\5??&\PDH6.H0R$7%*'-KEMM*<2VJ M-6MFO8.$^K$EPO?>T7MMYR/UPS[7>Y9^_UB7R<"?$@0@4:+8K1>/TK-?LQ1A M>3&.Q%W(FQ7%&1=CX:/%V2]@6]")9ML_<[AB>5HW#4][\[8APR_IF[Q3N6=H MV,'MNRX72'PJ#Q7WO,/'Z.9('F+?)H1P@:D0FG%;(V[F$D=4IRPZ@D%,-3QQ MY%?MKU7EX8EVA7Z=MYKUR0/^(N=I/M6=PG[!@BIX=#22'I8#U=A9I("R]C-Z MZ7I)ER8X.Q@>)=%(QY)@82D0'00>?E#""&#^@$II66D&RX'@R+G&&^D?#G MX5IX/LCL+Y#=4F*^W?BMDYE#9;Z[L\/1MCT=O%8:\EU(=XOQ&Y!EP@@=OL#: M&IG5->&[N9K1?$.A07DN[_&@3EGFLDI.PY7.K=7;KTK;-^\DU]P;D" M&?T%:6T5?HIX)!&63:8UH4$\4GN1^L:^0\!G7?>5&*N]_K+;#RE9V[E ^Y[> MLD#W[W#]VZ]%5Y;/.#FJ^>^UDW0S;]57#\MB_4*NGX1$Q G(B2.BQMJS3*@Q M3K#4";;<6SL*!X33%,?"#QN8.:I=7:L\N>=&QJ0\[^B^2\7W&9WG">#Q=6@; M=G4=\??$.C#_#9VHLJPJPHBXH>J@8^[]>*G*9R"\U#$_9%?VE/7# IEMWJ],$.^FH:1LH\+YPJZ_#*BOBK)^'?VD MUGDNSZ+U7,1S0_Q4,DJ#G .[.8'GKMB;3[CY2$E=<9:Y;N;UBO&?^Z'Y^0RN[Y64?3*L6%Q , M6GA9S 5$RPADK]BMA+9RT]+I&2H(7O_6.]=X97T-77-U:G& I>=[Y8,0XB[\ M$>R;EW&3,QSA,=91***55)_E[E.>Z-ZG2(D7!:;+ MI.7=",88_V+(T*^=4&V\5D3%3P=0(V YO0YZNZ4%>8/S\6E5?:=!1+G!VL_Y6/BOT;@CE\0K)_ZH+%HLI83G#^Z/#GWMW;4A* M&1:HHAYH'@MH;*IZD?FI=4O("(D"X;= )R.UF#&0OVK=N=]#8T9K1T[LWRD8 M6!G=:)+O[ONBXM.8(_5FF."5^S%_R!T>";V 6*2#.XP)?$T((28OU/K6@+DT M[0_3]B^7QTU%EZ],IT\_[L9?^B26'K3MC<.P"=Q9H'(ZZZ.XF'$>M,X1_\%^ MT*(!:]0/QZIQ9C#2T;:,G:%GS08(M*P4'7?FYZ_3)NJIVJ?B/0>S)7T J+9(-E'0+N(0X)I*1:$@)(L04(FK9];+V9 M(YGSS3;#:DZGP@; ['2P:1 M)+]>=JR,=O0OZ33?*#T\HO'*>6COBV<_[[PAF^P&WE_R_<62Y/0KVZ_:LW9$ MHIC8#^8G+A&G(-D#APT6CC?5'?=O=#L;NIKFX/K],O^/ARCR.G_0%5,2K$HW M>E9R+J?KP?Y1#;?P'AE;RJ\G=K^3;=5F/>H022 HN"#X<=]EJ&H!VUFK9E0;57 M#=M(@=^-*=I)?ZTMZX\4KOSC!J_= D((R:>;>"A9/)$+]*1*2@HL7W$B6,HG MR,O&(_3R2$?V[5-J+S_P!JA9!/)-8RCW;8HAC>+6TT<<(7UJ=#'KQHS'( F\ M. $_XJ,/LN,O9[$M@W[^G%AE@3G]%%0KCC]:>*3N;K@602#2^O"'DZ,:*78; MC@$A6][V]8F('K=3BG/@I[W&0II9J_Z/".2#!#^L"J?;=P=C8"&I(CHD)$3\ M]UQ&X:Q3\-;F^"_R&5/69UH53)UR M=-V:_D[4TQIXAT(H&ED-R>=W6F21,_S%Z8\HKA%*B-5:MC2H;62$SS=-UY<^ MZP[9W@3.=)R>S&P'O!/N?_QJF?=3 B#H+X#G);,9Q79_GN:#T660'^U!$64+ M[N@;T*V[?5 E,K]O_ZJAAZ#)J>;LG8YJ@:=;TLZ&]O2)ZJLEX/[<"O @4)"2 M!;HA9(? :ZB75 RZHR%=0FNZ'F]PBT[2"4$]NO MI7[NU95%)7VLC+V-G,&'1$$(3/4@++].]K(H[9RS=@6[;T;OR2E-,K_T4#WT M4JC<#<7Z![L$9^Y=;+5L<\NK=AFYE 3=HW;#FY:HH2$T='(=<2: (^K*$*(K M)IKO4;#0:S,('%XBZXPF,%TN['MTY4/KC)OGJ>-WKG^KWBS%\Q%I7/ )QKB: M"5A%A642K?@&ZJ0NI$A#433+U%!_NIZ(+[OTK[%03(U15T/^-.Y7D&+.4-DI MLEBW$G$$!1G7M'OA$C&4F[@:SKTG7NKZARGU3=E^SGQ.%R(NF-^,Z>_I*';U MPH%N*$@]H&T0VM6P&D[%3[9S9%>RDE4W@\FIM6P/.[SDEZ&_;ED'^(4'2#P^ M^"XM.^5K))EB]U#SV;)=FW#=$*LROCL?P?U(;7?J;WNR5Y MUQWLCMJ>(U3U[X?;8.H2K,2KY.=T+M8"MZTPJS MP!4ZA!<)=J_O>7+#V,6W<\=PPM")Q_DSRW+7/);P71AH:T$[\28:]"A2X8@N M1+%L5MR]QC/*EXR7*#VUFK[C[E6UF5/'WI^1Y$MIEVV(OX"S0V@'@5*T4(.& MY08I H.KZRQGZ&C4P)[9] $U]Q$-J6!E(UKY[CFO/K=X$W?_;7G9>2G^ISJ! MXU >ZV!L[W,6;PBNUNX1;1TU"(;ADT868EKV^RDH*EM/RQ]WCAEI5K*IDG3: M)42]L'IR>Z5@0Z8A5SR5ZAZ3VM*2_UQK<($C7@H.C;FV*V?!_*!.B$6$E.K52=X6FM[:%OJE2FGC.$"?N.?/^6)A#Z;VC M5^546^MJ;3)90D]#".3O.,8&:P]A J-,L! EV2(!FHY$BC4^&?FT*R>E3,0* M0ER@(I("VV0Y.CT=JW6HX'0R92,]\ 5JZPO,KO<7,A+&BY":]1B)ZBT0'T=, M1Z_]:O0E!NLXB(&U\L8%RH8O'R=:SC 1XX3_2F#O/8ARKK\P6_GTQ[RS(AU(JV98-:7WZ$-L'24 M5;Z*R>BRJC&#O^&&)GN%_= V_^_'D.AL5 M=92OHY;>SN<]GNRE.9GQ/XA,*HH*N%*Q_:RHTSW;HWM;+U[MW,L10?@[/P,< M_ <#LAI&"#!>)-JIA>&??[<\ MA*%00$6EHVOQ:3]["\UT]%J]W.8^IKW1DG.=,[LO^=HYDNC$SB91GN) ;R)D MHD"TSF_&A MY\"9,.>%2 )Y,V*/ZSAQ N66KRYC/2U:BV45S+' JGX9?QO^,[_NH77(9NEV M]:SL:ON%QG=;X_6OX_:%%(.!L>D@(LN-\5B=V XTZ(I)1?/#F)=-SR.H),FE MB\VS[A=;-JJSG.,Y4SSKV.@F\,IC(D8H^Q"[] MJ7?SP;8/YIXQH2]A^W%CL2)W1K36^1&MY,+3#YSRZX7/A#X&2+K[LOY"S-^, M%.5!>,L :'QDM#(G4)U1W)ZK?E37C1$C=C)A],QEXML6@$"NP-1DK1:QSL'[ MV36$ .PTOJOPQ&+7QZIQ1&]6QX[9#J>6P[M=?^@]Q#,:$D4KY^P=[KK;QM4 M:-6GKA5_\'[ S0]"Z03R9P5P #%RP8>/^7L&4%TQ6^CJ,>,LP6=OT G2T$3/ M0L/[!/J6$(XXE5U-@'S3<)N8<*N86>_6 UG=>4T[OK M=%65OFE-_,N;FS;)CR8!<2AAI.(%6^Z&U<8QE!2<"#':B!:J.S_1YA56'D0; MF'!47HJX$*SH>B1,Q"3E=G9 O]_'/-RC@:O83@RT"_UG99,CJH)(_IS]@H.T MA7O6=M2.FQN! 9YOQR]O,6[=&Z19G\'?U^EEDB\BGOV$[.+3*$YU$%)5H^,A M Q)9/[+2)@T$/Y[+E&J06O+KW\,7Y\F4^ M46;O1,QR$JF4R'=_(K3#OM5L/1[#:\@:<"=(S>H,WFS"TM"ZWG-73B;*'9(_ MJ*Y9L;)Y][ZR"(U+9HU +-*DD>O10G_6OI4Q 804+SPLZ\H1-:9@;HPKXS+4 M"CI]929@^5//YP<-Z[.%\0VSQV=-VU9D.UXHZ:YD[Z?DW/JDML-%#+L^'V;V_*_><.U5VL8"[0 M4_68, $7_Q:0^S_HQS?^#AZD,KE+JKG\-.^M SQ!S5+_)^^)ZCJ,%L&6E'6EB MXN_$DHU5C= H*ON%N7JX&B:G=*W#6_']'MTKOX0>L!A6JHNVQ\:-UE#MTSL& M4\/99X>[C]34AZ0WLAH3,Y6VN.&7UXJ&[_9;6"ST]9%OU5CP_\U_P\YGI4?[AH=V%15'LB1 M*C:(AH\P,HL>?JD75EYW'=/-5_+K;16X\\UQJ\#F'"L@UR>@M7C&F.G-?A8N M5JE"P74-*'88CU^XJVO("O(R2[RY>1/_T1>-6]5Y6^7Y,Z_*\2R-NOCH=2-5 M@J*X.OAX!JG56SB[ERR5&YJO.&TC[/\>=H@>42##IWZGI]?-I.>]@2;?V\=( M6L>HMDC$?IB7M]P'[6"H'6+HWJF^\_3-B*[UG3-=5QR2)51.)M3%F6RE"[Y9 MSR35$U9K6'N7\PL5NS$9;_62B>M^,MY+&P:U!8(&#C)*C]W##Q[@F1105XTT MY%GZX:[7OIXRSPM5454PJO!>1E(1,;#AB]>@Z_#7\4!_@!+7Y]"S-1ZU-5Z8 MW_V_[B70_]U&9.E:.1?8WH5T4;AOA"]R+O\^'_%8_X>$ ^*F7#F'".D$"NZW M1?E\&?!OKTO_R^![CPG!73>=6#-BF4,%E".)C)T$$4>:T[&Z>S[U52RG3J'" M#.U8W%U5ZG8MNX4]O\X$?\/.H*BXU0B6(5)LS)N<**3-D%C[>(OR,*RQL_B) M=WVQS&!XV1U1[SN9QBKYMX6^\VA++OK%=367,[/8#RW1G'Z2P,^%3)RL[KR% MEG7==V4EP&#NT#L9336A31%7W#:U;NK=RFO?L0# !\!D9C.4_#1V$JD(SIAI M/+5)["P7"(8N@5>;\'Y,#,K.8=>%R S-[R][1 ^]_N6@$M?6*26(ZDQ'I2,E MFVQ!\,=.*=(&UMB5$QTDE2_3V+3'A7:.[S,U]+;4(-UV7IJ3S_./2E86*[,D M2CG2(K;K*#(5Q^!P$&E.<F9_J=-BGOBJPR @W?Z)9J- M^<_YV_H3R$=A:^H*%T@F"6+.$7E#\A]L TGMQ>F%9RLKEJ_)]YT@L^\M_KK4 M5VWC>5R[ZDD /[5X2T80@>Q.""Q._+VXNJL\$DWMSOA!D@XAR<:V/X'TG(;P M)6\*CEW]>FI'R3'U/.FD7V_#--_TBP+T6!/HP0RSATU$> '^Q@/+5VF+;6\; M$G9 UXF!1W57HF82SOA.G;&^]25'3:)T:\5+R0.5)&AWUGG81- MP$_YV32L&.PR4MO8/V Z=3)D8.?23MGI/F>)Y8.A 'M(C:Z2<3KZ$CA7L!K* MPL7V<0'%V*W+TEZ1'H= GWE@HF[*.[0YH[5ZU[GA_53YCU?,,H'CL_=YO/_T MOXH0ECY/!/%,*PA/T]+QZXC5A$J>+1?47POM>S]^[7#UH8 WN:?,Y(1F15AM M^_6+GL593A+3$0J/"L35)L/R&'I#!Q=(5;:MKR@6J_A!D(#V33@GGLW"RMIK MS3HJO]KFTRN7?'X3[]E-9&*%47$Z20RV8,@Z0O8OH8U#M0S+9O[<+V_%-](: M/*JZ7KYG=!WQV5V28V]5.MR"93\P=Z0N3#5P1.\Q9JC)'95G9QQP:?O>&J>: M;[I4]FY;EK.TK8&/O8H^SWU'[83 _=L53&AQ6W8F/XX=6 ]L:C 8O$?=PR+ MT'3%]O1ZAD*>GU3:?*A=[[.[87!=6ZKYZ_@<(;./&@4[__Q/!+=(;!N26]=C M]6,G2-(PQK\B,JNS6,YHR[[Q[RYUGM,CA^J/YXL=[T^H BX^036I9>V?WNTQ M48N9MN>(:5'70J@/R@4K2^ MT(4K+=O'*OQE9MK+YFL_5);>>>.J4:!YCH_L MR/-)N(Q R7NP!RQHC5J_B:D6ZB!(3P7.JX.EG5NS],E&PD7.NOB[)74?-SP2M]]!HEM#F1\WZ M+8$TMC$>R9SA%B7DP%BC:$6+"_SW$[AP 9&L),P7(R'V3P],32T7^,5(YK!%_VD7*/VG M8^SAG99*7.#A*'ICS(?S?H0++':A63\T_VF7M_B?CD&#=R _3H(S8<'M$LL, MRP6*E0CK'TK^^^Y#4<*_'7+LGR1S^R?(67^C_QO]W^C_1O\W^K_1_XW^;_1_ MH_\;_?]?T/M4D6I&'RJZ&XMIG[FUY=K9?P+R)%/ST8E;764M::_E@.7_A&=[!'I QV$ O3<10!2$RY819AQ=F^BAE:?J)ZAG?X( 0^N@9^HIO !>0_,"^ M3O@R$JV(-'MYQ(N/X_831>#-D!L%GY0*AK05HVKO843M0XW>0N':8Q7O#&J: MJN[_DMW++Q6!]J*VR,>V+E21R.@MA+9WD"?+/#+"8>)858)+TE316JK2 M3FDU@U8'];-[FF1,E7\N:_(ITA3;LP#8$\Q8C(O="6&.3-1Z_Q"+>!9G=^90 M2]1EE?+= XZI\SI+/;G>S=MLF@9\#B/=1-C)0]TLC )J]]2K"9 M.!NG'PPQDK9V)8G55<_9SWG$!@ L$Q2@LM"--;HM\D.K.AIHK46IE MWASF9#W?U8O/9>SOBZ^=NB^^R-OX0I,O&]('92D3JPRJ-:4X'B?Q@R@1E*%W MSZC^[CFI@9WZ+?;[@U0 B7>.K7PF\H-P./LFR9\X[7>T;IRS'Y89,K?FC?%HYZH7M9+S_4ML@5.PQ;0)8K>C7GI&A#5CA%:FI9, M+WWD;;'7J>[XJ139G(-E?.HYCN8YCNJYWL?^]?Z](NLXH?<!:M#7#J?WK,^]*%S&9_N<&-KE>WEU; MFFICTK=7L0*64*M8UKG8P3]WX%!37,"178()P"@0 K],9YYJJ7KCLN5KUK6X MJ^/&MS[>"5-3%W2]=<#C:$]?!]]XV7_RRL#N_ (:3C*D8#KI[N,0ID>!Z>') MNK'0M; <^^K['3DI3]W4NS[O5XNI3*BW/7?J.D:20'8F4P3G"!2A9F-J7I2P[W(GVBUR@5C'Y)8QE/PUAW+2]:M(R M6K'#+OOTZ,/[/NH'#5CY%G$]G--S0"S)Q=>))@@*@(*%41"3:*B*@H M* A1D2Y$12!(3"C22P +BD)0FH 0>A,(/2(B(D@5DH"*2$M4PL(DB[O8X]ZW M]SEG[_'>/>_<[;_^1D#$8,^M;WS?G_/WFRBP8U!+DCK6J:7@N ;KC>4/G MIO^M)?'_\84=8-^!#@>%I!&)#/O^[1>1OALPPD1 3K/Z+UUSZ1?I^+*I:YXA M$\?LCI5-V";?1*R,?K'NQ@/[BT"1A0T8_U7FIY5%-G3*;MST6J*8+UK[?O!, MN[V\A<^ 1Y4AX4$6Z5M/:Z$W?(<-A8+EANY*9 SFR/1I1ZZG9P#!W3B.'+^,R2.')KUA*$= MB:<]HU9G=A%D,.'TKDRS@OKH57L>XR2WP/7#/VMM?_O[>(I_$7LH;]"_E4\@ MAO=$%=>?K8IO?PYJ L]G'0 ?$K#'>LFQ#%CK^O.@-*@8<.V<^-JUZSY#$6XB-PM_C3R>QSH A,MW#(R'TN+BL/#GUC6]WKF^?=*7 M&A2D'/0-+MD2UGUU#'.^12 ?*Y.!':2E1O9UL%UM-V0P4YM]I:*> :'.HQS9 MIK530\9HF4L0&/A63[PK6'2?.2KE:QH_*=Z2;W.TND.R\+?V/ (P46:M5 "C MT,Y:,JT3R#YX@DDKC$E.:I8.*!R@32%.R)GANU6]M--ZBW^H>=38EKP(N'Y8 M1?=&O\;_89N<9 M(5'10^Y_/F S[)7Z;K;@3*C!X:)W>V:8?FT\*2['=ZN3D[?'!QJ8!ESXHLZ7H0[_5*+SDQ<4XMV M"0KZX6N\JN$<:1(H8AJD']MZ ,#1?Y*S M@CF'VZ0\4:O@?WUQB!0Z\PA!F)1HEOMA@$87* 0>NJ>:P M?O7QXR+=4?ZNZOIOYI6U5MQ)WF M:H,7OP_9X[9DHJQW91UJY:JZ3=\4#1(1^GE X=A#RWMMDQ@(GZ2V,@?H76G*^$Q[>3Q$\M M=-VY9S-U17K**(2%^1WC90F#W8'=+6.[X]M'4 Q;U'CWUD:"MWZ&.KPJ?-A0T >ID.%DW,?;5+A5OM[N0AN&B0VJ0]H.BQ&LMR< M;;E9NIR[Y9.7"9+8,\_\#0PE4EC>YZNM!--ZMU0< F37K-+S?2T0'VF#1JIZ MTV_?CFR3+2O(%U4YG:L@\C*7'W8;=A4R&C@!P;@>RI%S[:%*8#T@X/S8NFW0 M_/S,DO59@AL3WTF5\*?Z, 5J2FP;'XKMO9NP_$GQK57*#D[#I4JA#5@XV(>H M'^C4C]N 51#;J8"6-T=2VGFD=3OGQ.AOG85($H8UO6\#)M+Q?NYT0\X&[,QH M<\.CG;*L3::_Z:R;H\U0AF)M>+=EU,4GUMHK)@(\89I8=/IXA'D?*+R9\?4%L(7>J<"N M8!J<_\=:JQ83G;!J.M*JQ3DZTAM@W7WG77[-:%"E9LERZ+B7( *H8L@/0J,_L*JOGG:#55C#3[A^<_C';/4@BU15_[6!YRS,7@ MI]@^O5Q8@\'=SI+Y.X&-A9>^-_4G.SN%IIG+APSU*.Y(&2[5V$4KYHN"G_:? M)4Q&6WYHUF'? BFM*HR>!-_">9:[!I//*41.KD]LKY7N*T9\_)82@B4L%PYA M8U0$[M,$:3&J=,Q+1=WD2E1\,KE>ZOB4/GG5U*HSW)CGNK1E>=5X_D" M=\O?FKO!(*<@E2 ]S,-7X*-_DR8.LN* )S1"O)H$^*FVCDF*_8V64%9.V7'@ ML_83[_W7!VK?H*;%GA$R,_HF\.UN'$<:1,F\6Y1I>J6,45"*O)5SDNE6F$!K M.8& M*A%3EDY7G;U&NYA%R37Z"0B&T\KXW,R..$.[%PM4P5I5Z\Z/;U^')M :[ZN' M>(B66Q= ZM4>P(L8)[=%C8)(AYX 4?9!1/C 9%!**S!EB? 8?4M61OJ0)OQG MY9>\7X(]Q,J>U[D8/P>A[S?\<$CF2$NA\DJE[0U>U_')R2\:-F_>?B'SR?5\ M)"(_G6<.<*2!O="91N)&M4]#-((*G# 20[.GK=/#OLY.!B)/P'YLP#PW8!.. MK(@/$!!FHUG;N16:'U8XCO[T+TS!>^9N=+937?UHS9#V S;]ZK&@O"@A=R'K M61'5]?A6W*"+1&8A MYR3@47K4>P:Q>+9CX&Q=MN@DRK(\=/>;B(RBPG.WTT3OFBM>5MU?>WSKX0=#T/P1?/^6[J2E420Z>V4?[[:[-?<:QHP=7 M,Y]C$.>SY.2//]]]WD0M5Y5R*.:NW09,6(^T 3L2L\+]7<-3>=P#ND4[R-M\ M>!Z^ ;NKBV!D0,?Q>Z?[!HQJ9ZDLXX3D:#:1N2+RY+6/@_^2_9?LOV3_J64- MT+(_3#ZT=%-B O-2C?2Y6=^,$,G;NS'IN$I_L%43V]O1H!=* KAT+8E+1#\@T MNC@+M86S+8SA3"M\V8VL,>K5'KP]^=1K=BTKFC>L.*K1R?7*EWJK%!_>U:2_ M9/KR@YMU^1"X[.]>B<7MP%XC=.-,:\3(#!)'L/KTL,<#/'^GH.1XVLUTHWC@ MP+G A^NH&22@X\Q1$=WLES-:#BKCVPU:M_Q "(/*_0==W8%2J\:]S3?GQ%G9 M=X*/I[2M-[_6LFV*T"2]0M)R\ P_Z\5];!WC3 +2#R_N1U0Q]Q"^Z*)[A[_N M@V[^PL\+.O43^]X@?<.VQL(?Q)(=.?NO8#A863JO#.K'-.(142[*L)YP\?>F_@H&V,!J7<4&",*)4][P-%P9G.&[#G M1]; /RZPL1>5T %I0?S\^^F6#5CK(P)@&XS_(Z./7RG(%4_40?Q#2M/Y@?GQF?\JKG&TY MTE^?BGY*XY4K+ B)&F-;[>NB+N#=\'^[7/(^/*T5Q3C<+PJ*G*?/(WWQXZ7M M<1"^J=4HG_?1STM7C^Z^T268&7";EI*Y4T8HT.&DT)>#)D:6B))SSC.C',EH M4$*:.9K0?%&0(XT 12+]\2^P5QE.++1*3:6JZ3MV6D@S/B6Y+2B]+S![=:-G+PQV[76U[+&4P]XAYT]? MC%!72SF.T^9 UXJJQ;>?O.T,F594X]$9I #'"% M>J/.@"].,1&NM4/&I 0+ MY?3(QA'3M_2,];INK5<^REMC)U0O<*M1+,BLHS]NP*Z0^#$NTP[C?:PPYBC! M>*%TYS=_-S?ZX*LRS=M\G9J4]^G9"FF3VZ]I8JLD#^?"Q[-F+,Q 2*Z:LMA. MMV(.+"DR.SMR!#[" C+!W:.YE;8V*J]P_L7I+;*WNM)@FJ.T3P-+ZQLPP8OX M=I?[O=P'4)32MQ+=*C!LO5Q;IG%$R>BL:TZ&N,/Y';[Q ]2JB;OR9;?)O% < M](&81%; 7MIL10!1[@"T+%#M^GKW1$'FO:*,G\M!H_!2O_"IUU$6_0NQN?#\ M#9C_ &"N PH3&=I++HC%I><8TNR.:@FG7;?#-?+GM2C\+LO,8PT#5JG3QP\= M[C'\N1FB54%>_3V5X93'@H_)LTX]I<=%&R,>4;NRG.Y5:+1-V8X8)Q]9%#Q0 M:T,M%+ 9^(%:W&S!"K%E+N@)L3E/87$;B MCXF14@NE%0?&TNK[^I<&IEH2!<57KF@4?HHZ]WN_"D@ W^ 9: )'RH.UCZU7 MO%F(Y##8;%L^08]+:-V&[UIFO#&S*;TE)KD?_+W/&N6&_\= K%3'8K%"F!,N MENG'I?@2=P[O?A$9 5.!"?K=_2\$SS6%Z@D[9:88;L3$$[-3$1$^6)=E\_'PU,7[>K63F0 M4&6PK_NNX'$8QGIIA:V%R605, 3C5N$QX+YZ:$L)YH(S_GA)0,>I);FV:?I( MT->3,.T^["[-+8>/[[_RT.(H,[H-P3B'F-2G?R96>W?KQ^;P 'T_BLS<3WN M^D/F5A/)HX]*?OS4RJY03&Z\=-6)W:@QU$:+ MCA<1YI,]&>"P/]L:.**_Q17CV2I?&S/ V9%!E0>'7(EZ*(U%X&#(RL_0:[>G MW \QJUFWN44X.#CB0EAZR%;^#B*8*CEZ@^I#.'6,=)=20B4[:/*E:_CK\&39 MB[*RI^-H,,HWZL^[YX_#L-UL?5P_JD;B-=O>'U^WMA2M%G=EYBD)7A3'V4:' MPZ=J^UNC"Q/,*=1],%O#Q@,Z:;SD_9<3WE$8\JQ!;DJK">97-[E*,-)YF+W7M;I(E)IKKE%_\<<'5@S7U]74)5BZVFK=D923RT_CQ.JT0TXRB8AV@]WV<$TWH/J=]6VG6W<&[OEE-CI:MMM6Z5.DI8W8$*0 ()Q MB0#LQW4>YN:1T<2)1JPT(]0M5=>A,POS1"MV9A#T^5HYN#AU!97Y5=K-S#Y9 M^ELHC.T!BBA"4',#;$=4+;@#@JQ3%0T =58AZ5BFDFY[[0?=@OE?*(/*QO;V M+5.:UHIJ?FK^LT)X;WW@ !*44'QBC)H0[0["2@*[2O8&?T27S0W>'E]Z_"7, MQ:^R>;AAV\/EIV\#2W>/0GZ1(ST "LE":# .W>2-LLP$"UF. J$+-*D1H3(J ML*'59X8_GN&$T')CW\WMWVN5$AWKM8#R^2 XY\"1IH#B\9O-#W$=^"O,S"1S M,:I\<[!_W=$9=+Q)9;\_>B^HX[;?:UI=2*Q,/>N<1@(_+O&XS.EC%9U*+[;' M'#L3D7L;%B+S8^>_?T#ZEQ*.7]:@Z%=H65L8"([,6GL&^ $!TUW$&C,7.EE' MV0?/O8FB=DMV6=CI4!0F=\(@EKJKX\"^I7T @B/I"HJR9WN8O_&,$RO ;F[W M6BRH@X& C WO '69I_?:%P\HCC5YY0^LH:U%9>:2TF,\OCWTW8#YE?Z*!D6' MH(N* 6@(T1P88D3%5HGC5^C$U&FUBIZD\HJMAV=V>BC:B7[C)?F4'_#I%;GU M;*?@=ZXLD ));8/V8IUCP_#NVFQX[H!OO^1%9HQV$250*?".G'W,*_OL0\TD M$PK]3LTA?'H&Q0>U F5>>NF=_\9M_$].HM.A(X'=]1P56?9F S:]/6AS>1(0 MCUF;B3J&ZV-0.T;CAR8;%1WQ-V/M^+ZH[/6-O]PG+9;&PQI--O>@(^):YQCF'*'>XCJ^DFY6=M:DR#7^5L= M\+@G.D@T"AS>.#9'6;98P[VN+?[_Q946*'8O /G;:#_ 57Z^$<0YP(5I(2T<(0^_/D3!SB+#P MIVUF#4#?8E-.,M?V^95]9]1FE/='"#R0;5_XW(B)'/LL52P;TZSUQ.O>L;X6 MF?I8B309[H!.V\VZ!#48.,]*,7Z39)E/L*^:4."QU2Y3**N\-O M[<3_AMK*]/$S=J]AN=\LI9#)Y:UG]L0G] M&&,^)2?BWEGY._%P!?4O"C2IAMWGN^[Z,YQ9N9!RI&V. (-4HQFI] H43LH. M[ZK\D1G^6_\>2F*Q(.Y$O4A;@F;,A2?'PGH;FT)_MFO?T8?QKK)!47'(OSN! MW0@XJ Q06"[P-KC52X>!B'F%0 XG_LE@Q\[[D0GTY"F"[8;,'@$I#[59&]2 MY@R5(WV@V8T/R?QUBRIH?+ R\E/SE-I7#U0Q7[CS;_[C,!P,B@O:9ZEUVNW% M'P=8I9MS9))V\?(1^T9KQ84CYSO<+SH,L#79UX))YX%@2$GJP*X)TB.R'!(* M3A)=%*^'Q5F^'JJU)*^Q_,]:TP'GI4/=S?*G#]4."VO>VN6<>IS_@EIN]+#S M0X[5I@N\LI*L/-!-&*/240E9)U?NXNFLIR%=?Y8?R1U86[!$2'',H)77XVE) MH,G/#1A=$ZB>U1="]ZP -LV\83L&2&/\ _-9:\0X),,=#VB0NKC:1 B1!02$#WRYOL3,LK@M? ;^G*_:DE[$TQ4HG MY%8VW(-W-"O/Z',4-Y-1,,SZ)Y#VC!"8.NWL7_7@U@&5L%;4T!+C,]B8"_] MBD/5AB[6,_%]&[ 8._8)#&^W6J Y";#&>GC<)<]_>3M>#I+A%MNAG4S#5^\H M^H;O*. V%LX<\0)YMT>ZT4!K4M7]/ M*E_(G(> 45(],,-6Z/R7B -?T@1LMY %_X)-<#@W>P/V)0LW[3!+TN"Z6^P6 M=WA'X<;EGMR M95^(TQFSN Y*J19?!)1%.F)!';JMXU;:/J%_*FE))EK,-[. M==XYODI,_#(TM)82)'#O>SVSK?Q"AZM"R)Y7^1\$%[^N<%0ZH1W+B_T1OJ0S M(T\P1HE/O!N5QMD]R MXI4T+'<]\\? &&JF?K%ELS=9Q:!Y "0WRS1YJM^!FD"S[C0Q\4DC MEX96MV[Q$_=KD,OD=[$+\Y@HZC=XQ)]J*?ACZ;]C&"*;RG!; =3)'61@]TJG M,_"$,7$(V8E0,3]XV;FS=_6ET4?I-Z72Z&P-QV#:D)*8$H MGM:"D %%.(XH0)/ D>-9A8L!"YVA"\\!NYZL\YQ>Q3-=6;FDJZ[ M/+![I!2\?MJNK2L[XW*S6/<#@\R4-J3E=U('"=@VQY'WGUE;;&0&@:H0_/$G MF8**3&0L*?,8(RZE^;S>N.XUA0NWEZR\M-Q-SA*]6SZ?24\SE+V600[V^7O4 M]Q^\$O_\Z3M9]?3L,&E[?7U]0D%#0XYE@M3./L-]=,N_].2'/6KN8U5PJ_!> M#F-!]..C/>2)HEDY FT%/OG5HV&X<(=_K^7 _8 MO+KO\F]I)%RL$.[AT?AE M"HI =BCHSA'@$FO#B>-44+B3OH!.)DLMZUETRK5!F>/W02OA@Q<.M4W:]K%>N!N0@R7MJ-S];YD=]]S%)^X]SIAAVN$9(90S 5! M9 &B6GNQ@&V&ZR&*7&\5QKU#"-U&"V"\NKP.';2IF_"Z#U,L3$_(F#D+F]KS MZOV8HH=[C*5XE%# Q*WE$1&P%3YS?[OSXNW^]\]$B+\FS3' M7!'$OTMC=(X"_]TCH__(\C#6W2A@)[Q])0Y1ZQ"%OZ:JF1+:C=,A^P3O?*4O MHQ>#>/ ^!2EH8#&]G5['H<#*5WR8IV*Q#O1LZTZ/\Z\KP \569-+(U+K09/K M\8[O4L@QHP<X&N0[KB?<\ M+SVE6[9/MVNI[UFU9)Y0P:1?"D4=@<:& 4N,(98_X%B*]0(V'WAX?\\RWS:7 M[HC->"U9+.-S($PU_KQ:D6:$,.+@I@L^/=*\58XP2R9 %!'?!>?!FH^BM]57 M,5O+M)I+_;\1IWI# Q1_Z:8Q>S5_M05RB!PYXHQQ4;0>CG<>I\[H7WZ=9\L\ MI>MXFK%Z[\J73SG]\F]K1##H?86[HBG]2[;L8[B/J+J5C@U87!E3E#7-3;%0 M7* *K)27W>]V5QFL%396M;.*_.:@9_?PF7)X=D88UNJI7G>] M,",3%!$/+>-X#X(P<' #5HU/ &4PA&[)7NU[3]U>1RWW.>U+;MYU4WBBFB?Z M:_IGL:@WRN\M]OQ04P(BH;WPYC[[W2];-L<8R60,G1\U/R#;? 5RG7B^P1YF M.0QFK;*G@5?9^6,-DE:3>AL>118#M7SQ39^:C9E%1U\/Z=V/L^I:/WU76,1F MI>+.:<&Q5=H&K"9SJ;^((P\4%((#1%$+B84-F!2XW>^.OQ^*D02$V,RX*JM/ M8MFE":?>R#Z->7-@]F#HCA4,*15YQ0$HV4S7H=:&IM:F?Z..^?V12/?46(W] MI#MW-OJ#:?I62LFWB$.AK O<6JPQVQIXVH44X1QE+%QB:!,XFAIX28Q^5TD. M]D9O2J;DF[CKC&M928;//IFH0/9^>&5&GSRQ$ ;:IS,"F BN^_B.RI[ MP+WWC[R.^MAGZRO@)-#P>"F,(?RS;='*UEFT&^L=1,<#NJCV?@=K[G"K-N#Q MRC>KD4 P$^+O?W>E*WX0X'6F=TU'Y/3]19:$.\G2TV*R$HV+N,0@*[5#6HW4R-%(Y&" 7F M)0IUS@XG7--(R[!EH8>PPH+IA7RCB249O].5E% MXU99F[D2C/YWGLVUG@.^LFVP8D 1DT+[C(#C=O@V58]AQO.;76T5UFT^R)R] M)<@?+_M[X&^*26"^9RZ2_VZMRVF!A[)/_T&9RK^D_B7USR_ULYXC(PJ*;C;, M8O^EA;^?W"'6EUYFNY'#@PX:%3E8EM\T>]4UJ-" =[C.W+CM=(9;UVF M>_:^+<=V;O=\R(C@&^'+DI[DH["'.RQ@#[>FYW1K:JB,!;:@R@W M0_D:Z&BO@8=7#9,3X$]KEB_DD+.IP"X*1V43T#:?#M^OW8!%UN(5$7%(\>6U M[1P+AMMP&B58^'O]J+E]>'IR:<"]-*$$>TS17V:8+G-?XJ$%RSATDL?A]&Q6 M>?HE?=9**O88KJ]H/C+!PK.+:F89DC;M\L3[UKT>B1.$[_6@L"$455%Q[7B& M WQQ((FH9'P(.4/M#@^X7]A2?A&^V*)T,QJ,]&+'KEZ_.A/PT?.H>IR6#^]/ M0U!X'R38B!O#UP^PO+LW8!,']'&2')W&<7/GIC("Y]3JRU-";-5GC_=IZ-LE M,!H\K]G&'L?;$"LR.=+1+'/HWM#8O:@8:E5HAZBNP*YT9)UQ;QRQQ%]JYP;L M8NCM3FR19MHSJZ?QQRQONG?^TRO8/Y9R[D4RG#8'Z,!!1)5\? T7 M,4MI(TF1XT$%-[_^N@%'*:OMK8/EKAK7Y=-*>B@:WX[Q/[3;^^<^*(T0PW_P M@[-_$("3F\-]#K]$KI3 .&1N/J16I61^LA]YG.3&326CX8!&_9).\*Q;2.>B M"ZFCQ93^K.E>$!7>>+/([V9%8X&)"7:U_@YX+-9*VMA31=J]_WGH6\'N.TLW;_,C[=8 MN)]$#<_]S1V&C2Y=9$BSKG)K6_G\J=7X)01] 2Z)<>XRF3X_E4^YGF9S('5& MEQJQ3U'0_1S@9Q=/(-L)!(1$?V1_2 C/!I:UL<\S/H2Z<-%/K<<-0L([5 MEQ!,_M%?QW?OW'/=F8/;@@I_F+RRLK9*/:9N=#9O"T$9]N;MN8CCL#O&_QD5$.PD,RXA M@6U%[21 !]V!7%J27[10 'KIK^50@IC!YQUNZGWB9ALP'UVMZGT'4?PT+[V( M:,U;V&W0-MC]);#QYL:#!OC.7"2M2@=/+W/N="[.@WP&J)T)+S3=(BHZWZNC MFU=\%'U'X:65Y;NKNYG@][\M-77N1#!<'0"-HD4H3N*_!9BR'J^V&'8BY^K6F'%^Q0D4C& M<0= S[0'#6B3>Y# ;0>.W Z[?G[LP9 LAVCS8%)_P_;@^_Q$L'P)*(J M;N]W=UG&R$,U]I*'2^N%*P['^'XNCW6\B'IW0T;J)BI^ U:OSU%989\'/Y.E MKW&3\+18I(#QPM/^,SE3K=L&\N,^Z5U]/YKU<=IA:IXA]F7J4O;;LNP*@]A< M^# 2V)7)D2.P-J=)7<"<_PJL,\7\W/X^X M'K#ON+I)_Z()L:??>4:;(V\(2CQB7II6!L+RB='DZM#)Y-!;"=^BK3., YW" M(^0" FD>W+,[(]W.576<^O4;SY$V!<4# .=<3#'2#P_H$+L? I5,P;--X& 3 MP^-'M9MOY>?*SZ@S36GK3<_&>[Z^[4QK;UY5'UTDQZ%;E0'DX6H&Z5[>D%&+ M_JDZN[M(^Z&R$='P"Z?Y;6938.>.PV"Y,%A;+CQ]ST!=2S8;I[R]<.R6U=C/KZ((];E3UV/*,%OIL\?M?,4;'N9=8[QR# M/5..FT)5%3:^ +!GWUV3+WF/]E?RY[VRKZH;+DOFOHMB3N[BD%%:.Z^1]?7@4* M.FU]"*OF<;=G.^,^/T+5C2ZN%^-ZH2C7M!VN.@VL480%LE_.9ZW$%%7%=:8_ M.5/TZ*>OX*/G1ZJB\I/3@GK@5)G3@ET;L%K]-BH"['/7X1+)?NA8"[%/6&]O MAO]A"WEFX9,7DXKH\MMQU:[HVFYYYWV(?6^C/PT_V^FE@%<"]5SQ[6?!79Q] M@#8#WH;3QO,"J!Y6ZRX@>F8IR#*G8T2F1D*J7>RM6$;O-[,T0;Y2\;?ESBLG M=O+V-_NRK28QABP"(VX1\K]BYO9WM9.NZP7>[V*9\/SNWW]4A50URN^]8V3O\M:$ MX-EU<\N/#,'TSLM?WL $_0/8@8DP@,(*N]]%K2OBR$B"DR:ML%$C_3@ZZ&Z-J28VTX19%.Z=BJDK'# 76_==7=FT;H7D #6J2N@00JGP42 M$.T6IA&W M,KW0@XUNWY=VGJA(/LF"5+[\I9CT>'XO=::X<=//</_C)-R;_8I2$O;166_.[L M#I'PTJT//3U6RV1.\UR\4Q]E+D]R5SUZB1&;&7[CW*Z<%8=4:_7;RD]LN_W. M6"+,<4,YXHS8&&8][:E/CLS0]7>M!]).!%SW(&#D%BT/6@Z8CWY CD_@.0#$ M^' Q&,)_+)[E^YO_(_[ZT?XX["@WNV@#-I",7/M^YJ\?SPW_2^1?(O\U(N=J MR%) T*768:-^:515<^/'P.[R4K3_[8Q##[YI/CB^NWB'Z;Y>Y:7KJE4Z'F+" M,.+?;2A2CF"E4PA%Q)_IRNJ 2.]+O._ )._,41 *)X[BQTFH$>,6F^:]F+DSC/7F8<^3 M2[Y+1ARCD$&2."NIJDW'W^O@J^10?:]I36WA*M2O5G&K*(T.42R;2\#1CC'%[6'P4C MTPC(ZJ\;L B.MF?@"HES;/AXE9])R(6#Y>4K!5<\GA^N,7'+]^:_=;]XW7\. MF4JM-%U<8ZM@2F99!.BK(O#^=X-F!GI:7(R:":P[#.W$?K#Z@,9MWS)__B=& MP '>OKAO8X=C/N\Z/ GV4ROQ'%E'4'3NN2^.#PAEK!WE9I&OI9C]MBWP<1%( M8RG))+X2S)9MT$'&Z^,NU0[W?UU/W( UQV??XYV9"N_8G S%P]R/<>YHRMZ M+7DP9[O,'E&:*E)9*YUG_ S4CJE'WITYF,V)L[ OOO+6O>?3'XB-\-&@53I: M&.,&IS6&\+XD8$]HRO)BP,DS=4\8!,O&5,61,:G!R4NVU_G, JJ^1'I[\9R_ M+AA1?((+A=Q1WOAV"+>O# !:C;+P0(@Q7/[21'PM.;Y5XQS$SJHLKETT MB:F[]PSW33+Q1D%]Q6<<*5?"FC;0IA^%JB9WIIC2X6T#,2[P&'/#_*-?YR?T MX@HI:+ZCKP/._#JH=G%R3U=&5X9]\/\G#.2_5D3P"3B"J-R 0& M3^C3O^8TTE-PDYY=>R)WU#[ ES;6IXEUF@?\TDQZ<^B6L.#Z&J,>HML!*,"( MP)I'\W(LJX=QV\%W^*W&AIK2%*&MU"-[Q;MX4OO<7/@F-./3,H7RM-&9FJB/ M!6'$I7#V-@XOM\D"MD"N1BUITS#!5#'_#P&/3#H&O/<+]C75W>?K-+^V;*UZ M@$_6ZRQ/ =L<&PK(LIVQBA^0/HCQ#5CWA'<"5FO&5;;I8["_++_;'0.S-*4# M6Z,U>MK,S*HJ^+:Z%;%"(/.RV+L!HSY']9,BL.%L-+X]'U%O")&1;+5BIB#+ M X@K,1I9,QF*S,UN27$Y4?%CL$]?/>R90\?/'F6PH6# QNP&L'VE8E, MVG(DG.IUQ8$V*> MZK+CZGSO[?N_/$ A.B3Y<'-J*%\3P* RK%> /85/;CZ_Z&.:4(@QI2C]$@3; M';LD+UU22?C=*S#$_T'S2+Z Q2DQQ =9[.9HCH?0]0PXO)OY^APQ*! +[UI MTU<2U!!U:0"7[(A3WV$%>JGI[/* %G;#J--.]1,G^V_Q%GR^#;,5< M)MMR'B6*]R..1WM$ M9^K-]VNJP)]1Q;+-7U,V8)<)8AGFMFPT1WV(.;I$E:II:,&W[/^-? B[,_ W MZFO]MZI\8('(N$ %--?B(DTAW#BK'W76 \3BM.;KW1(V8(\,38M^EYNZ;Z(! M%/VEJ*E,<9]#)R# T'PJX#"FU="TE&/^F(B,PYE]$!RE_E4)SXZN.@@ 3KW& M2!D_,Z^G 5J?Y: M%]EYZ_^W=UBAY]%N'VY?=S]U?L2'DT1P+\+R0@:X$C. M=L:#^*5._N%$B;&:%9Z%7YD:%=DB#^1O!WYE^MR!D"1XYL'"@1PDTD7PX=QL%Q[^ONA/; $ROD(G]/*7T] ME9+GL'8S+$SM6(9.<'UTT->+;O3]QNN"FR/ =EMSY#1 D>(\[ %H19Z (RO; M00)SM.O.*U!N"%0',HX^_XPI=M15,:O+)VW+NPZF3%4$Z_J'<9KNN3- MD0H%Q:NY"7A:5G$1]@PSE2C?K9\D1_>$S*:O*T24Y;;[R@#'[E7OM8CHY)-? MO]$>WA8[&X$T:]V<);8YY:65[R-H\;/#7\)"/T"VW?Q)-MLLXBAPK_$QK^?ZQ(L4;B3N=K M^TKT7Y3SAR&7\.Q@L!=18=TYUJH-CB)4:M#\\\YG:UPP9 .[X)_(3-.]/MW/5*"IUCL ,AM=1,U';K:[LRUSFQ' MNR&]L=_=PVEA-XOGYAZ\2%9)MT1@SIR_?2CH&-,BR7?&0=Q?KBDU^Z6K== 5 MO,>-ZL-!HB^O99@>.3_X($I!2D@]L?;_AVF?K1 R1$%@T.Y'ODH$M$RC7= I MK0;@!+-EZGFF)1! GS_K=G;MP+AF;G9=FO0&3+>@3=VD.SWV+8Q.IA43&>=6 M9#F[F/>(%?C%7<4^\E258'M5$L=AI@SW#?*K]6,F0.NLWHWT,QSN@#^@[=< *U M;F!QEFTZ\=U".O9'YP4@FD;D\R.)W:EAZG"?60=H;,"Z!ASEEF[NNY&HF'7D MN7MPZJDY5A\ N20^28"'C<"8TC,Y4FQ:4:JY,_/7F=J:UX29NN+7=01H$B! M9S['H.*3WA[OH2'WU( K>MN#OOD6!TIV%AA>-G,Y+';?YI7"D=>?!HYN)GF9 M 40F_O134+A@ R;0BNNL)\.-1+]*+N E:[B''!*",9%C:#UTH9?2;?,T/3TM M7RMGCS9\J'LPM&POZ.AXL*[0>SG6E3E*P >@DRVV,U()-)("/Y,5&2Y#Z58J M+ V5FGISC7WB85V8G.5'AYT99\<=U7">X$/R-?Q8-0O%O0=*3V)EN0] B7D+ MR0^7)X8H5X3]D^8M*<3@@_=UW^7?;+7RZH&IPV""W_ % MU(:6W[J]#NAEZGV;7?H)X.A?B(ZX3[8Q[IA&,TA-*W)^\N296!P6 W8,4^_],9^W!];B79@Q2! M@ Z$6X[K1]8416T?X1B7'WU##]RC)X/8O3QQ25J,>?_AS1_GHW4,B&WP6*0T M/F ,+K/^HJ/)BJ\^&2.9QMP#@]/A-N]MHE/9$F>MU_-]:B:=(PT$2Y+XG]R M)"KDL9?#O$4SB?6>FTSVID[.L; C&S OXH1S^YD%"Y61%V^KZ'JW%QX*OFVN MS=SDRQGE!GLO7C PU('=IO*TFF.WX">EJU6::1PU]7WB??:. M[]^2&8<%Q5)?*:J9\ Q^>ACAJ1[\B3/&V08TL@,@\RA U6L2M^#,.HN!-98W M$RPN;E5]K-Z2?:1-_LF UYVQ,B%GVWW/)VGJ; #]9U "Z4@[E%KBCK< M!&>+VLBJ8YC,#MR."KM^>9R527[WBW07C+?T?^56, M3E!4E+WS!Q%B,L!N#K4JE".#I QR% :]&,=&4%!0DO [98=RMF&W64W5L5^% M!2_?E&H3&\\@JWO:3 FZ:U7&U$YJS4"[/K#?CA7 C6H^SI;%#>/Y X(=(HGB MP0)9?=VXW4K7/LR+BD6X]A?Z!;V]W_.T]8*LT'WI]6TW9G9#RAA &".R\'_I MCS/PIWYQCFV%<6!;6PW?-$Y9K19:N1T^+-C;6OV4K_.FHF:I6)2HAH"5)U(2 M"W&_J".XSV0U4-_'3) CI\QZ,-2J@]4"%'&5G!V,EF=:\A1GX5^'RX 880OL MAZX%6$P?&I/OM:=,8RH"A]N<)+452?N-(N"KU^XUHQ@'74?S&6[+"7".QI^! MA "LHG]XN$]I?%%ZK9'K>&A)L;2-\ /)K\\L9J?QG9N9DO/N)LJU*Q,^\WRK M"$:6CPE 0?ZM(AFO@Y.P'H3UH)I#">$]V>" M^J9)I"J+%4YM/0&I3QHJ,F9S-W.?B8 1'A1QG-5?WT5E.,,/XO]0B1?)"VOD MD<_6.; _H P;#1C(=^/4L]&MV_#M9W+"@C*W8G=GT!.0X5)VI5L.4 Z>NENZ MMIP(XVP.=Z>0(^OH>/KF@+$(3-4*[QQ;,+*LK)H2L&;@D1/.I+2$N&AS%/79 M?).1&S!A[24/YATH6A7U#>'&K95IKF1QY MI&:WPO(PQ"^*/6$>&/5^CF]_0618I:B36'&=*ZH_GCH@TNDH9*=O+\R(6R-/HND)+"KI.3[LV8 I/3PD=.&MF9I@G8.VI MCGB&K!Q=]"W!MU\P]Z41)Y)F5]I+[+W?Z.4KQXO! P]G M#KE/JTOJ".B*U^\^WWLPSSN<_.F.S:Q-^M6$+241LN2DQE'FJ2*!(_-("5JF6YA"\!GCDMJJ'*IY*8I_LY A>N@V7,H? MSX@".Y 5^@G-YXNG#Q!.OF;F%%;T:;!ZB)>KFQM_2Q>#$8BFAX19%= M#L N/$=FY)?+)X7EQF@K_Q5)MX; $TG<4S;OO,&QAH$Y2Z4B4%05NL=\1BA' MMG1V98G,]N6<3YH17XL*_$T6 =\KH6)^QXZ6O:II",#V+;"%G4W\]XR>M'E2 M8*V<+Q1225D07(QFVX #*(8S-.Z>3YG:>NHPO[!SO(MQ5[ZB(]_D!S9GS-K M-"YQ$>)&?%&;I2782]7,%Y.''D72J=+8G2AAC&O[V;?O^DV>[_@:JV6=7K#/ M&JQ-$J<_U>2%.'<4?\%*1QF2E<%-^*UZYY_BQN ?7-9'0>%@M@B2([W".E<+6,_@E8BRF-DNI:\K MB3AMH/U!=#F0RNW*S-10E\J]ER ,>Q C"NL:'3S',T.L(W&2E+2Y^-X-6.X9 MZW_;U>TT/_S?M&TK;<=[.JSO G4W8)'X[RS2G;\#Z,]GLF]@/#K-" FG,D/O MT?&R5QR2YC2Y:J/H,:*:;Y/EZ^O!-/!MDIM_FJ3'#N]RWK?>K?6 MV].WF+\O6U%%QS=TINPV5X\\L7K1I,?)PQ MB)7UJ=W8!%3)LQ>\@> MC&K:\L.B]C"(W,)_?!P7]W=N3N[]=LEVJT2O4OY+>0T!]I"=4R)5ZL!7W/K+"9";?Y&M30X9%J MW3[_,W2Z_QT6#AR'(FY^.^ I\^ L88EG%B_=2R.)8Z87.J"+FFN_ *+"15TQ M2UOD6V^*;OEE^VW;9P=!S,$'ZJ?A+3M)FS^[X?8#T8PA:-'=Q#'$C#5AU4&F MF_$S7->NW66Y\>:<>U^^^[$JT;!\\S=7]*5B#XU'=)2\_#/RSU&R_99)2<7* M,OHZE A=\/AIO2$C55&;FO RYXLCZ+RZVNH8*Q=;S[28X[S%FB+K#G\I"N!O MX"8B:0]:I3*0R>Z0'=R+IM0[Y03&,(8ZJ_.SLD>L>S77UZ\O0=;TJ&I6W?11 M5=5#$H4H@8581M1'?/LGA&19F2M9$SE^J4WWW2>Y+DY^BMF(Q0E]V6_ /#5816>0O?OI/L M@0"T1CM1P&&REWYLKUQI6&#Q#$+97SG0.-LW5L*[8<*$DIXN=F6[XYN3&0[? M0CGR<:!H.]-ZAM*]2>6L\.T:FF2F/H%CA[NMKX#I["!\LU?I?WC?;BC?,28- M1O5I>G/AO-M1 0EF!':S;^B]S8:S/U"5HTOC;&O<.S+#SB&E29<49V%\G-Z' M5/F1I6YGP]$ON>#2=R7T2I%;X(4K%S5^'ALJ[K+&^ISNN7!WL\#F"_<9GI:* M8!QQ&$D3_9!"6%"9^#=*!5?A">SFU5:9!U> M-.YB&WMW]\B!!Z5'T\S'%8,.[M3D.W?\3R:-L!E2"5/8IMAC$#K6,_19.Z"H MFRBM66@7@#[)*&OZ?+%28W[B/JG/_?_8JJI M ]L?[$96_S?VWCNLJ:C=$PVB@""&*@)"4)J"@")%:;%21$1%>HF*= $5D" Q MF]Z+@("@$A01%#!(BQ03.BHJ(AV$-"L2V1$-6U*XFV_.<^<[=^Z=N7/FS)T[ MSW/^H&PV*VNOM=[R^ZW]KO>E\N1$.=?'*?ZYTYY=Z350K%MNY#Z;I+81_5O2 M\I]K'\)T*_]XBYA:0_U%?Q>>.*3.;N3 0"KQ!!"V"QT0/KU#Q7$ T^B:&Z7= M6C^Z^[Z5PYL#SF:%&<]FP@'Q6YZ9AR=O;OB4N+YGQ8&HSB>M(BX@I[X*Q&6Y MYC\PC38L/=JGL4@5=],9K[ZD]@]/1Z7E60\?HG2P@]M,X![W7[SF@F!9B?." M(6?N,9[.>[(I3XK]-C4=MXOA;6D0Z1!RHACGNH?TR3E^@_M6$6L7%Z%;\:.N M2T&@*)/*@IVNR%W\S"_!&Z#IHU)Q#MI_2"78,>K1_+4]I (+\\*35>=J;1,X MFCOU+PV>[_2QW>. &3;HHF0!$I1 =/(TJI^80-X_PK.C8V2"OL<^"+E^<8;> MEMPF=;UF'-K*,<9,L))C\N^7>96DIGN44?L(]=L=]#>Q-LX!V^^>:-W8' 6[+# MUGO9BPML&-<=^(X"3U*W04R:]D(\/3R-L$T@Z6/9SE,?(>N'7!AR!5^\>OW6 MO\":=,;'[2ZQ4/GO5?WWS\^XWQ5>P3QIFVM]@ VQ>S[185/K\9UC\JQ$GQC^ M=,O.^X?&[DW&57PL%&>'*9RZB&Y84[Z&X B;FR^7$0[653$A;) MSER4,H^Y"Z@\=QIXO:_/8QA-&\- .E6LJAI/B"(0CX'MA46,L*V6X)V#TVFV MPQO4[S<2C_5H),N#O[+2*LHM=PK__LJY!4MK IIV$],P-+V;%\V]A/7T&"U_ M*7@)JK\BGORP^5G1,_<=Z2^.YL2I;A0AKU][J2):P]MQXP1DP]'AI_*\F2K6 M7QRUNI?Z/1YZ8&/,Y9J:% Q/;/Q&OGC)YCZ#G,@O7470AL,AC=0N9.,\6K;# ME(G**,UR"P"V0H4L%JYK-O0W.TQ\%?%,W=8R G.#MXZ?B_9#3GF>4')7)WE@%A(""3 MF(A7IL (NSUQMKKOK#I70Y&NO7UW]?8*"26PN-G]*XU?,T_G_Z15^ M,:H"*O470&TPY6=;P7SQ0X@95[R#Q,0L$.E -E5)L)47-M[A 3$@I33Y(Z1 MW:S3FURS([;9#NXZ9XLX*C:3\RC. L:(KQA =EL_@;88KRH!H9B+LI!";_3; M"+;^(EV0JSGVJ47*4'XDKUA"ZE[NN[[XR>="\7YH2_S[542+2%T,%R-X2U8; M7D6<=\Q4W=H";A^G#?.VQ]*=$Q;/)K/4TB_4)YEL.UPML=GDL0?_.%$/HG!U M(0P3.;"8@FG:3&2$<.U7$2G[Y@V_%VUYF:+<$R-W9?^M^H\F:5W*MI_NOA<= M0LDU_WT$>\AZ_#N4O,6Q#F!P/.0 D@:,;\$SVE!8_>G@XI>#;9?P-6KQC6LN^%U?:(-#R] M@V//T#2UZSJ0BL,\F2\UJ2F?#WH,>?:9;1C* RKFJF:+%+IHM#"GKD[U34\& M.WF:\&?'>GT#E(R 7&I3- O%R,T0[ [#&WH\A-UYYH;/FQ*E#3T[/G5\>E< M3!)'=$.A>-P-=&A3:LN=OX-1W(6I2.@.OZWCAV/[5V?"C\\LS$J,$] MJ:&:"R^6^PF-;X>RT(&K"#'\^R!V1.\T#B]7W]H";'2;*QPQ/F)TM:KD"HK= M\+?]%F'N@+@8RA2)M]/9 TR)TW&+_LY>D\:,_ MI;P]7YJXW0Y;S.4"\Z<#BTEI>#W_2BZ7MD(?EM%M/9(3ZQ/ M0:S<_TWTY!?"3BY7$O]6H,56Z,-(\8Y-6$3#GGQ+VDBOJA%;79N@L9?IU[&W M?&:]NOBU3?RQK^+W8PB9*-#1\UX TZ29O<@)YS^T. T2>JUT,HS85P--ZKW= M@]\D2IC/O#%Y"&G$Q"UK"Y4,(JZ@&Q^L(KJ=X)G,@;B,%]O^MIBA$B(M=W"P M?P]%:)RRE;6J>'U3>O*Q2LW"]5]#4VC.<2B&JPZIPBA50 [4N6B%YKB Y[\%M M*CXRKV??:! MR#KINC>&8G97_VI?UKTI6G?#GF.@#"M\V. J0B@7FLC[+\I-('SYF?VKB-_* M#;"F^PJ,;OSSE?&S8_]Q_S_N_R^\CU$&NLY2:,^ISQQY,@7='Z9P+FP;G@9% MZFDH;E:67IP:=OJ/XB\K.WVWSY?*M5$O"HH4]SZL//Y>=,3*BGT7$.]0?(RS MA@FV:8] %11D!TYXM)#JCA>-MUPFSN6[7SQ773&:ATE'@:>0T($)3CK_$7XG M83)"()9.N^':1U8?]X^5A](#Z./Y7VB_KXWH773ZW%]1$'WUB?21/<>$_(AJ M8&XG =)#\E2.L#>/,,(' .E78"XGO&D4Q]*9#:W,M=]9>]#$I/;U2O-[19%Y M%^GM2^O:@,=H$@">7 L 6PA:.]0"^:TBQ+D<+RA I8[_4:Q,C9U3T\)T&Y^* MF;URI0G7^NG(5MM;GYZLLU-#W0' $P!D?/ ;7C^3T[J6:!$:1Z93I/^84UBZ MN1OFS9)*LY,43D27&.NF7H@ZL)3]JD#DR+J ,V+\W \\"Y>CD ((S:Y'L*D4D ?%&0@VH?*1,DI"S;"O'1] M5C[,C,AHMM[?]QWGF4AQ=(E1A(F+@\')O)-;#@K?>/!C^WGGJ$U;S?N%C@@D MUICZ!$1E.S%J":#M*@+25"5&,8BJ4#[TS4>/'9Y8,6L4T0*W=BP\N3Y.9.EG MO(1X35QG30?@#G1)P&@H00##C@0GG"E*QB(HYL&/5812AUW5$VQ!+R%@GTU% M]Z3_2*U[G.Y6M9A\FM&;UOVG,HP 6B(5/ 33/RIX')D\R%9F&%U3U82H#$\$ M68MMJ%VR.5?B?,Z=]SA?IW^N>RIB^9= MSW.'7N7;7;R,7(A8\#%=193/%@N$4>R*?[ZHQF_AG0!M^G-3R"CH!3B"274& M%S.,0D)=CXS6#;V*"KHB,RB7.)]5I6(=2# M_[C[O\%="Q3G"S_1"M:FKJ/H@&Q?3C"_\G>FI-.1T8FWC1TI,WY?"K#E:<10 MS0-[3]S)06Z_M;8#X 39@\*<%'XKA38*S%AC8!Q#B%U4P+^;,QDM73P^ME#G M81]S?O>3Z4=EM5$Z[O;H L>=F1A2[@**:PYT60,!#AA.$+_2 M0L-8$G4:8WIR-+2[[F?V]2='75OR;^(>%UQ9$QG [H/N5N%C([P'. M#S)FVQQAHY)Y=E4#-QZ$7/>(N>G=R4QQ&I6Z*GY3T4W^G)A:)'"!3>&++%# MK:N(;.# *J)1@67,A8%KUV.@Y0WEV3(K7J2"B9H:ZK^>.?M=J2]I\_O;]AO, MGMZM=2R\'%?>UJ"MG;#QS1G*[]-@%8/4 ^0 DK\QF3#NM0BJ@C)[5'>,,,G# MQB_TK^Q6N+S_=5L]+VV_SJ'UZ\3*)5#_W/._NKAT^B#\XW_+VR[:660MW'XH M\J8=6Y0ADGY?;S"T)33 .67T^%41A3=^'Z_:.'H@@,F.\%7$H78#G@B::?// M%QX>^(JJ>^5+GWZ8N$]+I:L])MRRN;O]D6/]2;26C]+\JID_5F8XL ZX9 M_NV**4\#W:0]0!"!E'KO7VQCAZ>'1GZZC&X+R(M6G5348!]4_J^, G]#,(P! MH\)YTNTT%,'O/BY\7* ^;_(76<6S!'LG$&5=8?KDH4NTE=I:7<90&@#&H :H MV?@=!?1EGFR[8&,%0 P>6D6H.F%3?OYP:2W6EKAG?B+;#:\@:KE3>!GSSW:T MUE$5^CE(=TWU8P-]2)AX@G,%HBLL)TQ[QKLYJU6$48%9-<\!+WNC48#474M# M'"%9M]R%EIS[H^J=FB08;.>S5AK8?_HM0T(Z,6 FJ7'IO:>QL'^*R$+Z#JQ MKW-J1>9C4,?[3;VBWR/W'K[,H69*$[C@KD/^ 0F,N0IJH!?K7J7EJRV)J MA_?C(_=* WI>[&!Z[),>U>MKNW-Z%;'NMC]9!8)AOVAET/339[!HPV"#*POE M]IDN7]W:]"-7P6<@2)URR7U*HJ@8/2OSF%A/"4+MD$710IG M-ZH'NG 9HAE:A?;16G-O/&>><["3@!F70"M>:.<:X]]Z.'(4%MA<--:@D*IT42[^:+#7LF:#W:?WHG0O=$LJ3W4M$Y$DQH"6NL",!@L.DU<1 MQ=4=RB'TWU)E.?K&7V-3MG;-"KT22.?H]@+A!I!IJD!"%MGU'1V*F1G@%+=# MC=JIBWHS?1Y:\0P5F][2GP7E327MK2WVO1G:>Y!W9WKI)@DS<4=ROW,R$#PD M/Q?&$5D8\)(@&SP^PKG')K$FRGG'WY]Y&T;T9U-Z;T>FU6'"%G7LE5U:6E-\ MT,PYEP#M+).#Z(- UU; #YE,V :$KB+D88MR@N*W.$7L645(",2@Z&[13LHZ M.@F\/5+)=C-5#;O/L,F^=7SF=2;VT:W&#G>GYHKSF BH2K!Q[2UJ%YO2MP4: M8@Q-HN@.JXCTBZVF"DK9 PDLL>>W[_6[7YCZ/+A=77/6/?VK\6_-[.R<8M_- M)8_<^T)#PV7ZPL/7GY?1.)WL?+H[#H'8C) 3*OE77&[X7UV-]\D)Y?[_ZOYX MRAW5"OEJAS., [#]8&L-YWQT_O?/181*1H%.F&F20+QJK;(@K$"/H1[!1FUX M\GLADG8/82-O;[UV_YQ6RX3_!_*8H=BQ-Q.N1:\G),0=S&8TF]3^9JE\-"3, M8H&%TP_AM798"^K6$'P@@(,8E>8?Q'3,1B#(/0HI!>48;/E8N?3=S/IV;@S' M3E/ST6!_5NC'^-WX"S??' V?IX!.U'@JZ$2!U)$\^<1^"N@"3$K0U2%N)UI^ M]R1$.:FT;>7>BUOY?_6BPF](-NY^?_]Y?-B.ML-/*GDMX1T-. DNZA]>FO;$ MK*HK/(M:G[O@RC68G??(98DR;]@[LUWN/\#ZSY8S>B,>I UV8*C3"W"VX7#'3MQ\ES37 V M;2W%?5_LZT+Z4;ZW[3:9)7],L8[?>IFQL_=4\?J4P)+43;H_2O^_CM#4S8.6 MV%_IR(4^,-5G[=>!(E4ED)!2J[3H/AZE:#*PR3<.H1AP[4)U7K7^S]=/)/:( M#J*#B9!.%4^VD;,SY3LZ*'QZN.5K#W4F@D-IAHK9!$[H!.X*6$#G/-*WDN%M:AM7KQ\QOF$K\^R'$B^C MP/ACYMCN_'U2R/J7-G>^Q@'6\+A<623N 7@I!$+?UQ(E=#&?_Z%LGC_VH-34 M47_1H>V@Q:!]M9V68H&Z#G9[X3\JCY8*SBQ0:'0@$]UHPX((+;G=!I/95G+S M5KI"5L:\_8F8,DODP,ZZPO8M^=,U;ICJ@!W?%9?W#EI'O]'B[UDCD**50)+%JRV\.: (2@B.^*,[?S=I0C)X_K+JTBZ%4\E0UK602@ M@L^=P"7A88H6HWIR9W[0 M1:HLGD]=)$@U03]/ M^3\FL3V1Z(Y=_8]'^Y@ H,@][\I4AD,]OKI,&+=#K+I+ M=!^B1H-4M=E5QS,;_O&2TA46R^^"/C1X'"/Y]B'/CJW-TP2DOS8O10(I/MO: MK"D%EU_;1?+JLD1SYVPE]KS*.;#G("\31"_,PHWOK>42Q.]PQWGS'W:XFG9C MIMZ-KR*&AD/S/[@UC6?)"(TL3"7.1V_54'YU9_#,13&FJ@,BUI0G9R#8' EQ MN9Z\T^AZ(D^J@HYO9>@![H4+N;W82)>B7Y\BHT="+WIY]E84=;0*7_AY+H_E M'C*,IA52P&!"4H^(5L*B+4C>/ETW8BL]<(WUH6C'E&84GJT#'0J'^5Y=_-DUJ=O-#]]->*W)N)(5= T/J^JZ^%WDSW3T]/=]3.>GKTR M^RM.K7M0W>F,0"!H0DZG_\=H/0+HP@*T#I0F!W;[XZ0Y&36)B<[C^XYMX@:)X"'%B&U540WC%M$ MNS]#V6PE1Q9;(ODFU2:X?<*C?;?@L0;1$7_C$8$&26 ;0)4JA M)<)NET*[A9(H9ICV!BY8V,.^NT4(Y\"XZ&BHHKJE1\6DL_YUOYCJQ>>2^_1/ M2NTP^!:%D/\[ B_Z>UAB!+QM\/>S6*WPI%7$)DHC#\,><'\V6X%U&R3/',F> M^/1B])J4<\RLRO,==MC/4HO$M20S2T!7GZHR/XD\QMV&[UT,9:PB$]@PV=XG;!AU2OE \A*8EKR+ ,$JZA2+3#: ]I(+. MO:WL\'[)JUQNR!$P-UW;-,"Z-:^C"ZAN+/@ZKVA>M*^0M%_;,/Y3',Z7JP9T M*0*T!FI3^,#;?0+Q>*Z7X.6<,M3Z!)M_OFX&"F$:Y"JE#R:=H^RP0@E!1G&Z.,, M&( $[NSL#;G=STL'+@VG?4KQKKZV3W\B>ZMA=A?E C%(%XJ[5@[1% M*:!KQRHB*+/U-["-9T[IN-/IHC3W[:E_H[L7]?NQ;>NTFN[:J1VVCXG8+UYS M*83#H$C"2.O+VBY/52\A$2W=1('T11=$.742_7B)43VB0*/OODVZ=+G.]@EI M1,\EH0MM9\0[_"[Z36O[\V'8GK ?Z#I#5@:Z8 WWG35@$E+)@U58RO&I1[QC M8),A;MJE^G'^RX=%7(M.Q?.^A%NW-#K"$*+C_]=J%?^]7U@2ZP]7&/^. IY! M3@VZK+U1##(0SYS5AV*F?1Y?D@^/]/Q\9L>+IIN)GU^76#V9=]]FN&\7;\=: MC95@PHRY0-*9WUS)ST2'[C1&;1&\FS,8]5D\-KZ@%IU\/D \*M38SES#J[KM MV;N(%$6M YJ"O)I>@%8.@([4J1&!^&GN_GE*8SAK._U*5-5LHE5NK<>3.DXJ M3BYM,?2BVD+>U4.B.FL]/ELO/&JEP#L%Q;")]"_9[!"Z:5;3*D(*"NDUPT5/ MZS=7>FT,7=3[I.@NG7J:-2IU")&@>YUR&X"!R*GPF0*!I!/_"2^(*XR[-!RY MBL@$-G\FF9%2C?;S;#C[.^\^(XV&7OSU-<3 ]+SL=!NJQ%X?F^\X9B *6R$G M@%:_!24129E.[8/EVFX5(0YQZ3YUE0-/LH_0BOMUO3'.J8Y1F[53IBI@6)L( M>Y.BRS=/7L]20O"U'G1,<([RZ\@B^(] HR">:R]X1]XMF 'TL[YDV(N[/7R M>)-U)B0D+7>O@W**]9&/%[>XD,CU F!6HSHCT/NZ\ ;F./Q."]G[060? M8,%4ERG8MXI 38H*D.H09PI*YP91$N"__"&PK]89+1J@.>N3V3#& MKA!L#X1[>X\+O"08!4#7T8XE"O,382LV$Z-M"3 7%[B4;:=$YZ-Y6V(Y_#'T M.>2D8Q]5CKSEAXD]O>UYN-;MV-;B)^>2*A*"Y%?]C>9U'M*R\9]+V=\$,@%:* :T-(#4#U@9PP5TP M@FYR[,6LYYT'R9?(.WF:4!Z3M>](ZW#43NQSZ:/CEP>-6VCN?JZ7='=>K2M$ MR%MX_TM(TUKLU4YTB,$F' S($HQXGNRA-('B_/6D<8J"8..@Z@,+TRMA+X_/ M*WF5/M5L>6%WX._9 ;7.38\+PY;YFH]Y;R/+-JUE)UOK$0AQG*'0JQ;NP++RF'_7 M2,67/M2-5IB&VCF)T#2)9/;VWO+4U?&R;2TOVO+/MIJ>V?:N7AI55/[8RBL# M'644*FL-?BD42::S=HQWOQ[?J])\K["M3VZGF(8JG"GOO M#;)_!8:"]\MHT4B)Q?;UNP)3NM*^6,/XJR0_'L ;1J MU%T7OG[RF<2_;%$U'+W?S[)GZ%=8-7YA\6$;OFT'85\[:9 MP[,4O%:".HR81FD$.E&3CCU6NT @.2HPM DMY0,I^+05_3)I3G'Q+YK^ON.J MJHW7@_A?S&KC)1NX$Y "Z1;'77#G17&E>?K#IS_O59^?DYY@)>Z?+W]5O8D0 MUKRRQ#T.+WKWFHTD3,DRB]. &0NI:GP9S:,IF8K6UH?V=!"+WP/_128[[S. M3<_']*_&D<(+!P9.A7Q:A'91>-O6D@DX\LLIYZ@9P#J>)9-OS[!ZS!C:$*P4 MEDD?@@XV*T>9)=ULF'[W8:Y+[O)?I]M?EH3TRUP^;4A($%J.YLFHBRQ;*KJ\SZG*W#]OL: M5>4/KL^_+H1!!L, J,Z&L&1^?:L,I@>K8 MKIV -&_?PX^>I"R<9A4V\/N':4][G:-O RYO_B[>6/TF\?XKI\0X9$LUL902 M LR8]@NV-D"^((7C_,%HUG& H%@I2;=K'@,:@MJN=Q>\O6&V_>,U:UK28BK: MY&TV+)O=$+\1\,W-414& UBPJ=V$7>RD2O^I?%_+4Q3?49.5'FM)B<+OTN1VP[=CLJ:V?TEQW0 M$M=?, 4HXV+HCE.B#&2*A2@M/&6%&>AJI3W>A&29WXMPR<(+]@_?UKA\O_.C MU05%MRW49H15]P,RCI\"@QY,.F&K,:""6\=_T*1BX "5@ ,N*4.]Z,G*Y++* M4#.%%G*\UT_G/"%-QQ./_T8O8,J__6.KY_\NIKCCOP@]_F^=T0 )TYD"\8BU M7)S\3-][Z*"AZ<5.@?P+TOI7#[Q"=EUY3(O2]0W_XD7BB>R;&8^SG,[@!? ? MKQU*F@3H3*] H %86$4P,>EM"?GUP6:- _>#&F2[&QK3GWI.A!Q2M#3C M@/#T0V:+ O%L0397'3^H@-J(TZZ^(M)\GA[X^_DG$GJ 7_ET[Y*8@%]MS40$ M) AQEYC4-"H2+X_U9_93Y"RB*[#AULV*;6/-_#.ZYFXV-8/[= R.C$YT$9K1 M/!5I^.FO\V^31QY]7T4T20[UUOE0T6P=Z'RER8.GL:$=>0\:SSDN!VB3S0+H M!D+_R/ ZS,CT$IK#9#!;K'2M?0>5^77Y'?78K(Z6?SC[>0OY>S*5M7T;=5[ MX_,2,2XU/0(029CS@CV(?!*+S+Z.?(*?%U.'[_F*^1$MQ>$&5D>Z;.K MLM&0Y*&F2I4*;\;S%(XIYYR\SA]B.D('B@5BQ[A:4!!.%$QDW!YC&=%B5[B&\!.7H.HQW9F1;!M6!/<@=I#A_/9)S$1+ MD0,J]?>#\C!@KV]0V.4]^/.7[UZ\:8YKIJTB)GTY]>S/N3EH6BT:/$Q(-"&( MXF6_5T\C$SLT[WO!#Y!A$5OAYFT1W39&X-R-WA5R^:VTV[#XH%K&L;^SN801 M;)5 @:]HE9PYP=Q>ZLA=!IG0LE]DW!Q)Y.UTM0] M>J\6[^?<'_$MI)M"(ZPBZG-Y"C\X'V!,C/9%P>I%8N*T/N!%@]_2 5G>_E'\ M#I_O"F8F'[R$@RJ[^[\H;KQ:T&ATIO!"PS;_.,O2K[1WYL>N+K;NNN M7J" (I(5^?$46AZ5I-U%V(2[_HR?3);ZT::0W6$>5/MMNA%G/L+Z^:FY-=D_ M-_+9T0;UT,N*T7YN4C'R4#SW%+9 L!GVN0F2.+-1O#+N,C18!7,4XFN_J@K#]#TLK3^<5[PFG77DN:H&8F(XI6=+")O3?Y%=:C]PPMNJ+$]$+R[6;,- +W6(S_.(CR MP-G_(_\H+1V0L7@UPCD"(+WM[LYB0_JO-[=0'UI_OH]:_DG&0;"9$7$'NDPL M[+]X\8PA-AOHD25?.V925X69T7XDO?#A"#2(>:HJROX:+]""7 8' ,D.OTIL MZI'1^S+?I]^E5O=%!T4I?F,/RAJ:<1_O: X4!G4Q<,^Z5CMYEJ.$7J!1FR7=58K5A%5Y5]$4'X7H%TEK,!=%64IZ++/2!8IIGRY(V@G-M7RJW& M5C*9%!A02UCM@G%Q .XD%$1?14C/L&8^A4P;*:3G.C14;'*-7UN;A-WPTVGA M]?YF,PT@[=SN*QJM2V%&X:(SW_-;+=\4A->?K>@ZV:03Y'NFN/5TZE.9^QE5]"]E(@8V&!6 US M%6'H(,$!V I)?@4:@W2BZKRVZ*C>I\;RE0T#S3AY&!T>6JO<;+$+=*5]7$4H M4VAEJ@?8BUD_FT1#B-(\"[9*W[UW%=5NFR^&F@3JT24MSLGH?;(VS$H.I9\Y MB*S$JPGF,* ;H(0]<@I^U"FI?G4_0I-9.UZ]#CLK(]KW-4DP30 CM5EH;BRVPH&?#=!244(6'A8VC$PC M>\H6:M#>5[5'O86*S&WERY2/9EZ;>%'R$E-RRUK>'VVR=J0E\3K%?RAC%?'L M-[IE;BV%?]%('5DHZ-<-(@,Q82%I0JC^)M.7:]8?HDDI03?)WSU:'7.M4&FO M6IZP(!'H:@- AUE'.K&_+D(@+@PZ=:ONA"Q!^UZ\=.8A$-4S)!TL&5T+<8:W MM6&+/99(FC4OW3KVS.RV;T[Y>*RH#3&TMJ\&=#TI$X9\&6Y \"*D,Y#N"S6S M34^U"3X4=+L6Y\8^G/(^,/M+9-3$$"M XTZ(/,0&^QVFG*D]DG MV*BHN8I(QP$,SZ7[V)Y^53G ,/#+I=I2GWL[[NZ.$^$>&S_<_61^ZY[H+ 3\ M=" LBUA88]V@JHJ2A(>AZ9,;E!H0R M2\%=0KRF^ES7'+H._6\))I*#^T0"7:("!:!KIY6"06]XVO DMI@)I%]:!]WI M?5EVT=]6.8MZ_>I0RI_#\>:'O6O11R[KX5QIE M"7$JF"P,Z 7CD?T5O60DNXD*.N1"FA(?(1)#T'J#G_D4V]YS2KEE^.G%\-V3 M05U"2XN_CCZADO"9/..G)7NV7R Y;_*G['XB[U:Q.]@_O &@I:# @^A$ #P.K.]A M8QAN(_]IUW2F#OOP&)EZ)'OB:\,(*\S*:G,J_'OU;T[&'P2RO"'QB[-"QIA19BQ M?V%KXM/CF150@74[N)C65!/"MQ*,VX?\4'ZYQ2UL>Y0.NVW/]K%;-\\FB&DH M"2ZC@PQ2*(IHVA@*TO4IX3K@)(?_Z'ER+D-5D>!L8-YQ;\G,_;'9FE,Y&\;N MAYN-VQS @I5W3-=1'F:P"3-%A3Z;H3:A M9%4>=R?VV\;O&BMZ\3HO(4H%?@""<%)XA3R'//H\3 M9D6I->XM9QASSINJ1 O/#^?%^9USCE.+'YE8FH&G6X??:F4$="E0PE'20-=: MA/_]MEP.D/P'+;.5)T'T/HX?>#3ONFF33(\Z7S:*G&='A?-L:6U)8#"U9N,JDAQ4[O39QH8&/'C%&AG.$\V MG*$],)3I(\\X(A@#Y#@<01=-._K,SFY"%WX$S'C76 M<_5J;S[?XOR!0=@8[&VO_]?-MN1CK9@B@K=63S$:'GPKNIG$DS.U@2JJO=92 M5-7]1DM@G1AS=?0:UH5WU%-C=1:G'\_$ *&C=3U#8=K9LV-'%U-N/AXZOL+M M1(&^RPO+56(PS W"SY$-QVT'[O#C:3\<3*-'WI7^0-7A>P2O" T#7<3)"DXT M2%KH D5[4D^ Q*0F>DA5GWIJZ;7=/I[I=X7(07X!A3/"^@L'A1'7]1#XTUAA MP288?";88@]:SVE-6.EA'Q>+'*K#]L_)^U(SS6W%4#DWACR6D0B@JQ&>_Z.Y MJ0D'8%\Y&>LP^NA$& '#=B$"'2NWRE@5O'7Q+,RUX8.JPC04I&G*D]6F T5K M.742\#CE^E*+2^VHS493^B+H[TTWFU(%*\1 D!"'DZ I&RQ0UT&Z=L.A[%QU MNY$++2>NAV8?K O^SV2+N(7_D$*[2ZU/9242/:%&SEU^?L=&IK?/L+S:>!0% M>43S6_9)EWV7$7D5J(^[78G;2CFE.X5+(3LP@*[0:;!N&K<'4@%[#H) ZNY] M'$N)'K.C)B8W"T9K3SVI]AV]>[',3JO-X]\HV/\N-:[EF9@F"BP;G.W\[ Z[ M*BR:\XA?U:%.;]N=8@OV=RY\WI2&=/XH-51/]B&D4VF,,> @U MR16(,]GF/1@8.00ATU$R30XVW6T2W\UP5F+C1MQ C?A'09FV^K5A6\E?U75> M[\TQ?R_Z"FA:[L9 1G0SOMW-_+>4D^?Z56NN(1IS86^<+4:T0_TMN_7[?&_*6J1'L0I; MQK%'CPHYVY0C7*?&_COKEB-B^6-C==FUQ232WIY->XM+@[QT'L3G]Y8AA/,= M<'KL$89V!DP3R_86<\[R[VJ646GO\FJZJ;("+9V\+;7O7S9(FCIJ7,"4.&?= MS4H.?Z[P[@\*TG'MI$Z/< H@[?.@+^="^X?0VC_>A^[T7PTV:_0P[BM%G!ES M/YN?OU>3G9C6_4LQGHY7#B* KM0D5=$1F%'M@VUNP WE(Q_TDI3P]_RJ@W7R MU%81+5/^VIJW/Y>D:^3;E6\DZP:6AJ>B:<^H0CQ+OXM%T_X$L,:%-*PW\;/W ME?P'>:^5HW(W=(9X6][OY=_AB>D!S-\\__>4QF?+'7S2_IG%[+%)P3BA87D MR&H#>I#3ZG27NO+ 580B7I$RHT9J-U317T6PI'9@W/9EM?7WREL?V&Z_Z2G_ MQRM"'*4EFI7+'N@LV\NOM]A(SUV'5::3F]I8A.1(AVCN\:^>8Q6,C1=O(M(W M!6@8S/48WIQ95A.==&8/\62A/6NGY/$3VC!>SJ5"QXTVA7/G;/)B/C-GPM#' MEZE*]MS31!:*+M:Q,91>!/F,*Z#!4GLQON";*.#1\AY.()LT MO8I@+@L4MK3S*PDOOC*HYB_8+6V$J5A.,+\\BCH=XLDG42YM_6V.E)O%WK! MTY%B6#SK:>AO%2.[+U9_T];9W7OURBM.Y6_/^I/^:'C*=3RGX?T7DTFQ]X2=] M!#$N :.YJ4K:,RV_EWCM#B7+4W=C72?_+%$7]G%W\TY EC70#^8B2X'XO;2X M=RA]I=:T;+N@;].EWS.!4I7-MS:M(O:)#:?MODZW]O3GK,C$B?]:16105?&: M."MV!!31O8IH-,BP< JLUTAT^1"0?-[__.OS[ZZ:3U2?/HC:CO.&9MG(@57$ M-C+R& .8&NHE*WBBE13B_[C?/Q_I(5/I='Y>Z&/$I.LH!X0OMBWLF+=A" MU4&,#6G'Y4IP?47'-G>5_: -35<))(K9$KT4$";(Z132UP5^^=2/B=*'08]P MZA-XO<#3P:9SZTP5J8WTIJ2J?BLV2BA5RSNI5WA47KU&97R]5W?]9*$9.B&\M M^$ %(Z-Y,N:<4/?:"F@&G?O'UMJZ&)P>XCH!7)*[_9%5!+#$PHCC3L/DE+R* MN$2PO,^#*LLL_?%XQ3P3-ZRHXCE^K/#W>8^E;_ M&#Z(;D=-?VJRA9C;Q513GXN^1:NL(@*'H-VBK,O^L,/DPU:)@D72OJ:&[>-0 MQ?O8)N_FKHAB9ZS!B3M7MJNL\W[R3+V@+.2MA3"- IGNX\3>#%[3!TM<#/_! M'^S,E6>@01(#[,\U+[,M)%8J)$?T_X[TG0C?CZJ'O2'MS1"D91"'NT/-I,J0 MM:&5[U>^>G[\<6TE]!;!EG5.U@#NW9@CVF4 ;5?@R4AP;ORZ"-W@(GA6STLW M;7W:X?R(_$*G7J"VB7ZBK5PFP%FBE/H883!:%JM)-@ ;I) 0\ZBGT7 MJ+4(7<(=JGX5P5 )XNIS$F980.KT'6WCA4;\VIGFKH1CDS#6G6MW,9 M!NO< @_O'[H\IY9OG[QR?_8[ABR0 3&)'<(/!NB4=5C'$\.1WX#1R2 3Z9G# MA*-9&U!Q=68(04P5O+PWX&[IE!G$7]@O3?#D2E<&3K2M(C 50\P7GJZ_XNR).=.)GW\<35%S">[DH;]' M]V&\<6J0 JC,P34H17=BIHYTSVV,T^I")G7L]:O2IY[P["^*CUNAF?QRXY MO]006Z-FFYVC64(A"QD[A>G %%$@]@>DT@,&ZK0Y1'X5>3?.C7\?KPE%HJ"C M?U81F6:_HUWPVWRS7E5-]M=(=B3%1=_[[";B76MZ=A5!(O&D?@@V]L'RC51H M6X9_3MG]1BKXA/FSO\:KZADX&ZHV''_Y2+EE^7F.4\YMXO/ @# MZ2WR9#!]$Q0%@ ;SFV;55L:]]2?"PG &X5=4LC_-'^CKOW/UEUNP\EG?:[A^ M@5C\?J(M_S::M@ADH-;CUHZ6B0K$E[D*(64R;*VRP.GK+[+O+<<+ MKA^I4",&7*F0;M8"%TX2' B1RC/FO/<-8+"^.^ MDK"Z\,OM_BT1?.B>\ES< <*4KD#WA%UCI!(2U)3^T[&/9W 7]6/\7@$#&&R-(EJ!ROX>P3=>.KR5:Z7=L9"Q"/FMO M4!VGF=X0P @U?";G+ 6&NV)?MXR3=4<9GK$EMRY;#=5.U185AY*^[#)L M&HA[5U*._(;\ST\ 8YVD8M=5Q/W#RX(5#XC)@0E?8@J:=AL%GC)XAHWHI&ZC M@P%989QJT*;7T>#$BQA'(;6\NS.S>P]T]^A:B1S7NT'Y'_)9*&'>.7@(6_!] M5,551.@/8$:AE["9=TCD3C2^="C;2F[:^PDVI ^O%E??.+98)S2E,5Q+4IY0 M]@\21L_==N3\QF\?91S+,!#Q?E(MY'P\3K2\[LE.8=3_TP@GB3U4R #)4TAD MY/;E9DBNA?^MI8NQ Q@8%%3$^^:SAYV:C'I3>N".KE9QE6V5A)H0>3CJ9OV3 MMI1-*DQ$W;_$U'%X'M K-FP_:?D$T"Y6S]$+BF=X'VHR4( :NW_])4F__D<0 MH.V[+0>%8Y;_STVUQQ1:$@ >77NSI4U61*81I'"J9=K0#,->JDR#?5BGP^RH M7HI95'R8RYZ#2YKT1WZONM%BKS#M"EBZ;E MS"F-/03QU;\\H?8^3A9H1YRNV5!JI]7)W9+?JCQ5OZQX5GWSC@)ASN@_ /!' M A@1SCH,2X\C!M*:2WR,C:#YEUS+A^Y@1K?8!_Z1B"K(MG&.4LR8E'^S1=U M?:>_R^4:)$N4)T,5;'3D&L+3(5C7!V;23F9S9L-/V7YF$W*,):*44BB1Y;Q? MT@0=>[/\P9JP M<0%0A-_NN:UEF@=76'%:=DW%ZOF]7VPWD_. M 7Z%?]MS:!@<=)1Z9?F[/0QW[&'O4?M(.O@V8N.,W-^_Z;\^:11?IM0:KQ5= M%]T"=)F1#>!E- >"[TD()$BP+K R')08 [VG?7"VST;*M70ECUO#*+E)U;@S MQ+[SB\3#_2)VT=OX]S,0>-8JXI\U&?6O4*\F_%&=:R=^>#!C2RC'ORQ#\:L$ M[04%F=?=6=8OOEN$>?R]!'IO/5[7QDU>-FIS2Z9XQX^ M5_\:/IDHD.0",XV"C8_9: X9BN$>'*K@V4&GGX9XA+6"5.?WPW4_*T=8#]KV MZKU^HZ20OTN\QN@2^8*\QJ8&P7N<#6P-M^'\P &>0D W!70&IA*9^8%6,NS- M%5]X&+ !\S8D:J>]959>3/"9G]-?W/2RZE^>K4UZ/K='?2WOU%KPS%H6OU'> M+OX3\KZU8@SU;-8H510(U MFGF'[I%9 \Q,V7(/I,IOGS>TI7]R6K8E&W^K" MO)HV2Z+#:2SC'-E M;:*C:Z"&582#'L>IVMNNE1GW?--P?Z;CGK3-D1Y M(;:M;&3:GUAOJ^[7(J6_5CCT"REBHW[W9M.<3XG8:0AA;L.XXA0:@LJD$ L5R9HQ>5QZPXH!'0\WF9=M.X:H=EQRX^2@O7A MAK;U4>92KB_P7530G\B*82=-02.<>>CQ(YS.\,49#;+BL(>EIU?A]5O7K+EZ MS]3 F:]JGXPNQ.T/AW:*\E2&X$[6\Q\K+752&HI*@D#';I+F [O?[N09XL?[ MS"_D2 DA"VD.EAFED6O<-I&+'Z" X02>/%,@[LL(ASRM-*&8)U" [82V@EEJ M+R;+=6++!TS8IS?/7JO^6JC_?%'Z5M@^M7BI%SE/!0]0IO+5;NC^R$ (\!VPB(NTF/)D M8YU!),NN@J<5/B-K^]ZO!*_+TRF:^EWS^,%ELO//O/5.A.8.#9,?[M..YNH; MEV2W4!820T%M#A9J93BNX5R =@<&'L1>9+99F^,CW.X1O!G6)'1?#[#A4IB] MG65K6UMAD8;LD$65*"Y-<"K/?E"#^F+TE.@["FA/G#P-RS@!:*@D=J-EH5&H M9D!5;<( Y\1&]V]ZJ!+=&_U3HZ-5$5&X7L/6=OW#G6XB6N2,_\9Q.YW4# M= M>JXR='VIV\H(_)Q"?#@OM37\]]LS;_7U?OI:GK']M,';\?(A>3P,YIKXL!&D M?8"%Z"L+PZ$J"(9:2)3U%NY76LM*4*) M/H"G(@3KE@1_N<>'BETU>Q(J-_U2G_R M+7#L["G13ZX+:S@N#M^-:=I45";"?X;3?(*39Q^IS_ ^_(U<>=_>P!&"TM>/ M3UGD[3XDI>JW7XOB@E?FG81"V;E=+1AIO SNX##N-)U_'+W/<9QG^>18;-!5 M\K.W$H;[5Y3^WN$LP8JN"@-$X[7MN>%9&.#!5P$U$@;RWKM6$1E+WU1BCZ\RVL$%3\U34C[_:=@B-!= M<8]Y<"@0]+=#6FE"$%B-;&+.%4CV#S+OX_VSU717EA: M4RA^1M0B,J1%T_<%6R'5R-WH!S1A?K3Q>W2RR\$8W]V&#VY:V=[9 0]LK2R+ M%YIV!]U4W%7GQ)SH)LRH=RZK;GMOM$C"YG@[N3E8?;5.5 MO;VG[]86DG';J M7=P^*;F68X@;BL=PHC"*%=VS%KI.;ROC'H>2F6]=>ZXU&D7[F'X@R_UP"F2' M[O??)Q'ZID+TRUDUED9 %F]ME^XN/-8TB_^#O?<.:^I;$X6#@$@-'0$E("@H M M*5%E 1$3%B :5%I8,8%) H(5&0WD% 08F*@@6(]$[HJ(A(;PI)$!$ALJ,2 MMJ;P[9R9;^;\SIP[=^Y\9^X\]WZ_/U;8#_MYUU[EK6N]Q8'E\C7?CBWCQ]WT M\/E7O#Y#L^L,K6H,%T%-#O"Z/T0UY!!+,*>PG[3L"^>C$R3W")XQ[^&K@L"I M/ \-G!-8P; A4S(AN^2U'IN7?E-Z]KYHC\H>H.A7MIVAC_?0ST59JC?,=$JW M4E[.Y7A[3#/!]3\5%P;MFH *SYIDZT*_QW&ZZ(19J2)>62/HFQ."#-/$3(M7 M85@WL;#I#9W_FEG&.@%:W@^S=1'+O%O]99#O&7>07+V2YC5DY"9YH:(R'A[Y MXF/.#G/SP_8; XA"_&JG-D9XV_K"MIK2#5F.;#%.NI7($J%:CZ[,D.CM5)$! M.'4%A&=HY(Q7QP%IL>IA\_,G- 3O)\!DT .8;F0*$3A. LU1S%JD@!7_1"!" M NE+$/SZS.1A!.[6M&OQL>D^3HK\#Z?,T$]3VA<3$,VP7&H!A1A/!H[/@N81 MS :$-%[+(Q ACO1%\G^E;RV5+W6=>HWMKRFGR+-.91E8],5Y9&C_/*W?J?E3 MF:7-?4/@0UX@W_RMMTQGF> LJH#QV# M$]=)UW+/ G3#RBU7\5W7WWXOF]W M+QD&DT#S3DBB"=Q^). X.\DZQKE/]D4)ZMXO=KL0['*Z86KM]\?/[U6^?SO' ME^O<^^#4<2FYT_O3@_Y> *]Z+W<#X->-X@]"B%NI8WT'7-];V!0/E"RY'GJX M*4NT[VQ&[^X3.[^6EMJHK))L8003YU# M&"[N]U0>K-FZ[TG[5M\X%(5E/BW"/_*=1VV_)IAN:VJ-0<_ M35F1_L4W_[X&.WI+X8C9[5_Y^R2E6G=NO2(LAM0D4#Y DFFM>W8"P*$<7FSN+=J3>8XS:WF.5[%)],-36#'3?PS,'_ M>%S$_X[VCXF](.\B4ZAP4&V6?ID7@PXV4%!3!.8^KFVJN!!;H]%2Z-4QS?,57I,7-PJB?%'8 UUMH8>*]E?72RF?^=^1E=BV:K M$%DFV'UZ%CHL:7R_ZT*Z+C!H1T,J'S,J,[5\[!#V0U=7/ M< X)[C9E*X32V 05"V,6/]:A[?JQ1P[EY"=8B>'V*67UC*.? V3=O]H]F%&: M[Y'0[X<1G"%>S#7";>,\X*HLKL/D\8+LH^^;T=34TXK5G,C._,WF3%DKZZO"1KPM#:_A<]E$\C"[:A^04515]E*>-"& -L;70L MH=HT/CSJ\MU<<3/MN-1O1U(RA3-/'0T1YDQ>XK,4A%WGR"4R9&AV-_#2V/T_ M(!M+IMFKQ-],)WICT\BJPY.XS=]#^'PML@[SV6EDP#3&%2&EJ9^3NPX+N+]_ MZ1"HP*BR98BOWO-U2+6:@EMM)%]7OY*&/92T$:]T!9V/5S6190QS"P M!5F&7VJGUF&]A*1&5%S9BD?6*_0[W'16_'FAV*=Q?OO!36E_%94?]^EEKGH0E5^CF)37O;RR/G M2'0B:S?W[>\GQ;&,@;E+R=0EUD17[N^HMV7;VU.R!.*T-_&RJR5>TWJMJD&6P237FE6HT MGUS-/QF-"G][JYKS T5?8H12_3H02>LP?N/9)*)4-4KB[&N&T&N',LS)I"F# M[X>VV=S=+.&=J?"UHS5C>'4KTJ4B_M00Z6%C;7V*O6!W\\.Y3+A:3IR-T,AQ M@1&7>/PDKQX?>H+ %?Y!30?M"4&$*;U.KDS6&;%:,XVZC7.GR.YS>\ZTJ=!. M?VP/=TQ"O7VSCP31T[0;%ZX 4AGI7784(ENZ@.G;7-4\\MFDT2^I^6PQ(2!( MX8J)-4LE[Y*G!B[E66:Y*?_;(_[\:\ES$=!>WUR'5;G+=]L22%+ M3*;/+JEL'WU4=<-$>%.9NOBWR]\?S=\!^(QY^8(%(9TGYBW!=QT62[[$NV*< MI>H,=-WWM1SLG=.3ZS:Y_^C@QT)S0N[79>\KRLN=]^("?\&I<+9R.P1*AJBD M'OM[>FZ!+9L\9_6"DBQ:U6(,3\RK1 =)67^2SLT_>.F%;\,Z+-? ^.EFJCB^ MDMM.!BZ2V=+C3 1+(7$5?JN,@>J1;T)SI3&)%\R_T&Z'-HI*/AI35<[Q3?WD M#I^1Z8?A5=(W0DI5)P&X[)>P;;0&:^%1AI6F?;%LZ?ZU#KM%:+^J:BJN='Y; MHS?EDFU]/?\SRZ"?;DQQ:%;Z2-_9./(%!I&^#F,\6H?13)X7>!=TJ$A="^M7 M5&Z^XGXYXDIK"M'7XGLQ^6)P6=DR?:ZJJN[PH\0-MK+^%8'P].W_R M=> 'B%5"D&S7!*7UXM!5+NTH<2QB?W* &2'N9T*9LR^_BO<36,#CU/DO!4(#'!)#R+%V^MV^'SLV?VYNZIX%W-"@!IKG@7<1FOLA*ZG^*A+3+H5> M(P'.+9?M((C ?J=5L(T90FU<@S%(M\6>[,Y52EV+7;4=QMD&^(55VI=XU%2; M.@B\D7!ZJR!I7_VC]K3E$H68!B%DF M;JHF*ZNPG> (H^MG@.3VIQ=^V;W\C MXL+08H'+X6[5J2G.'92I3=MFJ"Z1C4^%]M'(NDA*$A$XB[Y)K"32J4+I5GOQ M8WG7Q^ZSCBPJN!)[FSZ&VA<.HX"\E-;IT,M^1KI+,0',:[G]DU>>_KK2L7EN MBH^S:_ ,I*-HLW7!0:HV 8';"F8_P)+V-RG6C#4;EQZ("C!5_.43>U?YZ9?( M,[*Q)PA)GIO&:S@&G;2-))UW M]P5G\IWZ7[8#/W^S@IBT I1;](;WU MI )^(WO3;WIN)TBQ]S2.%@07%FNDV$85N=<>FM!3.YV:9O;S=9@O,E88TH2;P&Q@O*N. 4Y2@/%;%L%%V.OF39V79C4G=Z\6;%-S MTCC[84VQ4.M[Q$'9S)_C;*D(KG!\&:%=A4PI7X=)< 7!X6XS=#(.S=!D!HS6 MD)3O7%0/ SY^NOY8S?9>-ZY=^*"DX;UKI):7&[O1I1=Y5\T?S3M>NK$UP''H MXV\X3\)0:7"_';.QKG:=/2/(:K^41_8ZJ5_WIGU^:Y$9$UH-TSA94VF*HS.T MF8L\:G<*4D%"?WA7#$;!)JBIB#E4_*/WK9+X@7S=EWG2V ,=M=\5U6H:ZH\F M#'Z#Y7^^*#FT0]WC\^'W_#]=N"(8B&<MNQ49Q,Y/F!:3)7(I'S+)OY#?I^ M=%!^WJU6/O^\2AMJB\PQOSCMI_*H@F-#3K]WG!)-9@K>S0O,]9F&VT)SY*61 M/L0=@_#>4V]J*X'RG ")?ZJHO7LG5Z,P]]^)U2.]08+[>KF;!I[BI]$;U3BU$,J(B_BW&K'U7O[X M%&]_HLY3?4AMQTD1V5^I'QL^[A;$^ZIXGS,TI+M3@-L^:@V6L=QQ1N%=S;U:\T_F6>8(D MW/4FLN?LV%+*3 ZPP):OX@HO/8E*;O_=F["&G>X \F@H[EJOP MU?VZ[3ZU(S*7A.AUR\JL8+8"M-SQ^#Y/!"KQI-RK'\N[5QGD/>QA3Z;^J*,I_HEF<_)M<[G]PDH4]_!L?6*S>'S.] MG_J+ >"RD,Z6J^**<\ H"-FO*!% 4H. *C_OY-)_E M=+4QZ\)2N*'15+%8ZC-V$K#%U\?\4[-O/(70FJ]UF%'Y;('T-4E;2M3350J M6,,R9]N^9*#C)%Y<*[$I7_3)'_L<>39?N+E$5?CXX91'MF^L3+4-,E"AUK(6 M)]=APIN!=X]P6W0D2$QAAV(6\"5'OR.T9/.N9L$E'SO"M8T[U!VT H1Z2FFG3@3.W-X MN\T'MY^MK98<,B_3&=D;PU+"'5B'/1X+@Y$!EQ>L%05L!!6^W)4W[+9(E&W5 M#7!U26 GBMRMGL\\6N%]=?<@>4S_!*'=F>Q'BG/56]9[ 2Y19Z.KR?"@63%N MYPM0[]1@J7I=G@-6][S@!6]8K'ZN\O5+FR;>)/FQY6@=/SI45$ ;UK'DG27# M5@HXCZ$:M/0UJ=P]B_VJ9WW:%OAR-7Z_TH+HH)0[B!1='9@XZ0P@.].5%_'; MQO$[./'V@&?>HUF[4-VG/SYT.!QZ:K]+7?Q'V >GT%Q9OA[V989E'3V3A>:^ MF16VB#HO-Q ;CMGHP.#W?/_88VRM;N.KELI7\6J#&H>4C]F<==\2XT8 3L-% ML"Z4'20@E-D.7J;VZ:AW%2J 124!$7GYX95MX_F.0TF37 M8ZK4!2Y0F_0FIIFMG!RN+MMF9%LU4)Y#:6CF(P55UDY'*M_T/C'Y.+1#^]5R MQ!981#;5DRG,5/8#8VX*FS"[?!&:[G%U[$]A.##O'4;V+/Z=S[I?^+/"^ M/1"ZH^.J%KQ>9NW6%2]S1UA4!5H>_ZY5Y3TY [N(O1B(#M8VB@Y^*R5PMDO M7&4@N/RA2+]*X8XTE_HLXW/[&[)V2E ,!-X:QJ#/!"$5\ I@)&U'-I#NP?B6 M$T"+NBZL.1BFN")WB>25ZG%_+N5>_6D[C;2;J" PC#368,'IS@&5!]N2O.O33"[P[\TZN_']E8.[+W?#S!SA!SD% M9$IEH+BG@ S9(]>O$(P36=7CYI<\U1JMJ/!QU]!L=+7+@MJ2$2\0NDZ M0F@F\!P@QG+-9]@7."2\.HCO.\- )%MI!9H%EWTN"JRJ*SY5TZI\8[+9W%W>P@84&CXVQ?G'FSO2[>J27@H1M* M_THQ2O?XA%!T%O\;J>,0Z]:V.$_5N[$VNYG@#4_@JE<.-MM344EFN4^"_)ZY MEXI'//Y0ZB@X$OEJYI;:!;N/9]4UE6-A;IR$:@Z2HL>6]9M;67Y&23Y8"<1V M%^?1/L+M;@3'H JQ%]P>2DM(>R%>2]/W.Z,J' C%HW_=\:"U"^T7R MI159:*3[()YU#V_.>8S?FFQ#ZY+/1]YZ0DZQD/\=N[RXP;TQXT""TV-B@(#^ MK9V;=[222.\(X#X[IAWG7NM."-C 2H\=" [,I1ZP';$PI7XQ1HA_Z,/3 QNK MI9]/=D"2+^)M_36KOOHK@J\MG_+_&@)7*5$1S&@P;TXO'8$P1B2Z--K%X60V MOJ A%;%QF#HPV;EE1"K/OKXACN:T];&+S.&\G?Y/#KI>][8@):*3./?(E&>( M.M1R."4*11U?+F#M!V.HS,SR11V?\DE_LUNI77;Y>5I>;VU%K]$N/$N$28<@!7\2)@XP&5 G\VRK40LX@'($75B6V#Q: M7$Z)&_:ZFVWNS-7HC:SM]U^UIRD:*P:/:MS<7$H(,$\VR%5%;,?I@>DL))A- MZ5K\RI#B6/, M@31^"DTO%EEI=0.G ^$N).*BQ<#0SA-]"IE6%?!D/>/^$Z#?S M;QJ24U2S)GV)Z4!7D)9;*%N)0#1;#&A-GI_KX[Y^KU-6.U=L4=^C[W$/+S!X M(?5"4E#-:=BNLF$8;%F+'PCB;C.#U-O$5LW[9,BNI*2=I^6IN!=1X4FK.@\8 M]QDH:8G(S'17))6*!K +W>4X91:<*/:+',K5N2?O9DYX>^)J+PGYAGQM'485 M&D(N?%Y;AVV82@=M?J;_^M6R#FNK?0!OOTDA@Y:0-3T8VER'.K8\S!V# MX$6R]W9=K^/>OK9OQ;DZ'31 G!DO[RECN'%%(D(C]VW.O,C=7)UFQ[E:<%)S M/#6'U?0_[MX8Z\ 52^8EZC"'"4N:5 M9>X"44P$)!>VFG:V;@1/4OT8=KTM?MU(:=W.P#6773%'WZL'?+M]L$NNX787 M_^;'N[8>H7#VL;PA\$W0%MY$*Q/\H@CM:$AA/P^L]3I]&1=J;]4:;-WAM;S& M/;LG^7;6MX/UL8]/N4@\B9:?>--KO$KN&@#5QMG2I#F]KJU>M+INU,1DWZ>&_'N:=J7W_;?OA;X\3]J9.GDWXP/_R5;OJCWMBUV_/;'C_;9N_9BY] M<.1%T8<*,;B Y/4D&/L=)X- ^98.;B?2I9@>HG,>Z[!$*XFE[/,J2/F GA7' M +AW2Q4<,@@O8:E;7!85.O32$!N1_O!-MM"(;Z+EFXWG+"5PFVK218,RT-/Z M/9<_6R\W,-_9XAZR>.DEFLF /6E:P",0+8GT^8BT&=>M[*>A-[P)BQS8LYK9 M72_YCOO#;CO^"IMWY+\?&8B9?-&=C7/GF7&0ME7C@3@5HQ-0#&8QYPZ-R FI M;7Q2S*Z2&0ZRD;Y^3P6&Q#TE+1PA@#O'V5LJ(/K*SUY&UZTM$PD,O?;\:]T# MB<8Z1GU*'2TB2THV_I*9[RZ=L.NY8B!A5<.;\_( -.=>4N47=+4.,;55?.GD M>9^H8/2IH;K"I+RK@=X]UZMK&5I?4>XP?+.3IQ]P@$9:'F4Y@/:X:RP+7-C[ MYLM%)H;/L"[=^N@N7L1\M>ZTWFOB54I<5#VK I79#!ZBP4 M&GXC[S8@#[:*FYGRLXJO*5RFW\Q"R?(M5KM\UJ.K\=)A$-H56F%1CWH[T!<'C&W?_V/&MS?UC062$RJ(ZX0A(ZD4"5R/HMJR#8!(FG@PX$L = MN15E7V_1:PK.-HT8LY[Q4?1?#JLG/&3^N.=[ _G@ZR>\'O<]8@/2;P!.E&-? M!X>I2(%%K";K0'?AMMKAAWN7XNO#A !C4-T/4.#"A2!<283DKRRX/,(W;FF5WT[[MO"X:)-CBKJNG!P:7!1965=6F;SZ=H[.FZ>5I63! 6 ML"VW6$YQ>%.+P.(Q;, MLD4#D7\E#&^8:)42_DH@%G$EH]2Y> P!T'G*?R'I_PY 0_Q>M@QXGG48I\I MM!%25:1KQW':M)8='N;N0^7C\X7""D("5](D%#T.>_LXGQ")1A8B)]UH=3TH MT!C#%>E_@7]-K%:I>QI(K")VB]8O5(U_3JE&>_GI3P=I/=]39]*[IG#Y:9_J M;KF*2ZB?'G]-P*/?(25=G2NL #1Q1?)8V[X2A##E"BA&;4IE(%("YQBAAEFF M'];\W2 A&E48(G#E9J%)O6#145A4U..O4\[D)VY!C?)/,)$^D9>R)V='%%4'-Z?&R;420EB5#WH;'PYAQ98.;# M!,XLZ@(C"_7SR@P^[M,]^01M^TMM.=BZ;?U-'>#XUSP:TV_230_:Y$O/"!SYES ML66Y0WX[2Z?V)&Y]OQ-;MU&?CC+&GP7[(2 ?2$KF$]J[UF&*S0HL@<5UF#1. M%"CJG%&7=)W]$@+>6#1S+@M[+I;MT6]8/>YV3T;N=N2O"8$K9K]R?BNS#O"R M1*S#5,B4ITC 93:17+U&KV*E(Z:1NP\8O. 7E' MDX%W/^I,3*L4=FZ>78 ?Y!5-AKHH(5=@Z*; NV%G3NQ/2U/*>!<<'N TM6CO MOSU8V?5PQJ:A7P9#&KW\IHF-^^T#G+VB858?(%!G?)L2BBV#8*H#Q.6H)SC; M!H;;%WA$**'\PUF=EPT-C?61B;CZ&-.\S7Z['E29P%[O:$TD99(I\02)==C% ME5L\35\4MYW3JEOSFJL.>KF,5O_!(T_?2"&3D!+6/ S_#I,"_G @K'W',0\UYGYN[SJ=WO7\=D''FIKGK# M9DLTGX"4.[J--#' =./<7=5NP5#\VBT5.L?7*NY\"Q?USW>(2\DX>N'LV?O' M,X2M]V<);1'Y^56+_^X85QRGS=#L:D',J;10',U6NJT0=;GB,A[YL$L7BS(] M/-0Q5+'*O<@5I3YP@67(YN<\^>E&@+.O@J7TQYB6-,7)L3GWSRV M5PDQK(D+,;PG\NWI PD[2F\;*@9=U1L+C\8+XTR'FHV+C5HOCDWYO#Q@=*?G MUY;YQQ=AIOJ:,#&*"Y(QSC3@Y)(#4H^,NX$+@,-!ACCGW@7SJ/V?Y=.H7@*9 MBKD[7+P%LF2SBC33'*^'R_(E VO4@1NM,MA# VU(,3:BQ-],MS#VXL]^W='S M<:K'[$4>B&79:WRWU\AR#.;EL5B8K:Y;+F%9X"?($ME43?H^X(4C(R\NVRF) M[=]8^X.O/M7CQ/ZG??5/K[;M4]S78ZW^WO\!O!\S5<3=Y AM5WH%>!]([S1S M63:E:HOJ8'I0F!<'BOLB+EYZ=,;AUM4DGPM--_8.6,2T;VLAVT,H*TIH1QAI M3P>C#G%NXL2#P_UV.02$BYF*[CZA)NCA[E"_1U5R\MVAH$'ROZTA#]NC_S\I MT RSYF7/2;.!<#QH!51#L:7KF-,LYQ)&,O,00,]M"F\@=EM))'QI3,Q8A_6Y M9 U?^&#*B3@K5+>AM0%B*AM;]Q+:"Y%*5H)@#5?O+P%9#WXOQ(4W.?873V K MOT:9,*7N4<.#=V]\W093]E'DUUGL(71";)&R2 8U7'YKTN^R3#^P/0"3^UTS MJJ-AIT>WI7TDI+/<[,T?:59YQE\ZYC+\>S/TH6WK,&\$:!'*%>YG5"TW*M#- M*>GRN*VCGZ>J/#ZZW0\Z[&QQSMU5]5[HQ[(UH";I_I"J5'710=4"Y-W]70_Q)P.*363\C1DH0GMW(:L]5MV(''?F@EU>$12 M9KN0"093(,:%$=4-C!H%"QUNS+!]ADY4.]@4(/_AE;Q1W6Z+CC?=&1MAW!L6 MPG/DC>SCP+%,ACIU/'&YIHS?<_C\B)$'VK'^;/!*L*\UPU&9))92NDG]J7$9 M>F"-+=/'E=#E)) IV4AA=A1+#%O2ZZD/#E &XF<,[N%$&81;84\G5STV+"O' MUC0$]=9^GYGRRU3LH&/V)(P\TO5FV+&W0J).4)#S(OPU&PX1PEL(N<\Y/O-8 M^5[4T%(S@D.%\7WY/(M*$[PU=\_P59&B1IH6_QJS'I6Z#JM!0/:^X9=9( ,_ MB$2P%2E!!K%#!'DP?QPE#6=:K)U8>"F:A=I %B50<\D48 #46AM@8.9JQMN) M$NBH5YH,2U)T39,".=&/6_R5 Z-:39A\;.?>F M 4#+S@G$\XSDX>#1?583DTI8:]IK?J,=/;6!1:&.URH2FQ# HYP<,?6=Z2G M?MXR7R\'JF@TGONX97*QHG,>8>V3<3D[LQN?S.WG53+08TOU,?V^ZX7!)V9M M&9Y/)$0#B5*ZV\>53ICI1R_F3Z)8&651]RDK E@]ZFP\!2!V0N;(XG7YG$#] MX&+_W[BKM0RX;9JQ"/G& W@;!CR.!+!DMBSA,QC/N/*#0HI;J4_=/DZWT*TX MA/^^^>?C;*<>^+9S]N\,KI4/4\AL13\O6G\H5X8\3>:*"-%0,E_STA G:X!+ MN=)^ESY]58HY-N0W,OV,2VPR.B[40:@BL)7/0SN)X>2SD^EZS /#.*]G[:E3 M)5U!BS5%.[>*NAV;]48 FVVCGE$P\:U\()HZ@5,#AMM^(^/#"BYSTY]\4Z^4<:[QY;@/.6E(I]]64(GT>C(7D(-9GF0.KOEZ]2Q^TQQ@Q\> M]N[3;K]2-7-ONN^*_M9USYN1W=9;/VB-4"5T1B,IJ>2?Z9AX2-<1,EV';2F? M9D9"6.8 *0Q[R3Z()!.T$ME/;Q+1T0IG.!/%WD\%73>ZTFM@MSMX2^+;6P:5 M%0*2=@=&-E@E_L>O@9'*2,J7=%!#,PFO^46>#)Q>ATV\>;?B")* GKUZ.,]\ MB2_?5BW-WL?'GT@H00953BB'_,H76+JC[OR[B;N)EQ4M$JACR\4S[6(\&<;S M3TJZ,8*]$D2&YL%XX<]'3R74:!T/BZ:HFPC];I _\WM75=1KCHVR3S1G*7:>2FHL7-)/Y4)/C6*&?0;;75B!Y=IR]E5.U#O,CB^*'"7P6 M1QM)L!@A\HXHH$L9RAM80 **5HX#1R,Z%=@R<4 MB/*?P% J,LY$ )SN&IM:GG*9*K;9U)#_]?ND*_6\?8F;=^TMA'Y,4]Q)%@G. M23(B@CNKTA([F-J4L3W][0G%A%2."U5_P<.\X5&6#QX30("*P0[4D! M0F&Q\P#Q9%UE%GI[>=G*PUJ??%E329TNE\.G3Y%S^]=R43<)7A#V:\6SY>Q. M@3J, J84)VD=YL-J<7#B/&!CG@6V[AHQ0HG.?/QJ=OVKU&X%DUIZTYN:E <^ M ?,"CZI,/JF:W2 <0@('4*"6 K1*3PC ,;@@=P@I3==YQ+CN&/X(VU)*E>J\ M3 C8T1F2L!=EHB[;;2U2IKXK18M4OO0)PSO*EV%U0RP/!6K"H\F^ PEKSD-@ M\^OP,FSG]WLN_KM=_&T3S_X5?28.JI=K4N7]$G MBT9-S]&XNVT/XZ6/*+I:11](C\<1J%M=V@KUAN77[,=^+BX;.YA>=;)L'JR^ MF4T,A=3S# 7V#OR6S%L*8] &MQ2>:?[B MU#5H<*C)Q)QZ;R>B!LV'LP$(/8B-%OISA!N2 3LI+9$':D?8!F'F1M%C#MH) MN6<*][X7/.YT>XY?D51 IK8C@$.SO^WJ()'"YB]8AZ6Y#)$%N,(X;_)E-=6[3N<:W3-ENK-FO]#)OPW3#N8(5.SU.2=2>2_:,HB: M#NJAV=)P7H4!9\3DMBB%CC'G7*(<6V[+5'QGU*7@9Y_?G%(,F[SW,YJRK=R^ MZ\KN$V'.SN "5QPRS*,_G5DD"[!/L_@@;F+;[&(:A\, FC8CND9TEZ[N1_6- M[W^^^O!Q\ACBL^G5G3*IY"C*L5N=ZGN$Z.%R\[,5?O3+0 F3SLG#*;/.X.0; M<]C(.1T-C^GI#SD_EHN=_1=J[NQ4=1![K>$8?>B3AO0FS1'__TD6]__R]@\K M+(CWY"6/)5#*(!%&!#4C>O4$<%:<6()W"YRF$D\"CSD>,?+^*6:Q%@RGF2.$<#:<1+S,%]?6 MXN=3EW)*V2:,[67]$[N/;WZ4?=HY0U[PT/LKA\Q&R))D"GT U!7J<- .=J#5 M+9L"59WR:^F50W-=D%7HX)U=:UBC%'SZP);0FYYY5/3T"J5D&1+V0B=Q5T%> MY6V#AH*CU<3#&#C;G.'YK.1UN%!FYMQ8N(M<6/(&O\Z)DL$="-&<.IXHK:4.!; MER(B9H. ^;IXO>JG0Z.Z'CJ^#I&+WG=V9]S*V'>E7/D*8!NEC[Y/! *Y#8P\ M#ZB;/6RS;!IKIMEYJK@LF"I,ZE-$'$JCC\%$KWB=M?B4_C)54N^-//G@/]45 M^*P':N?UH)(( A O;AJ0Q&DQQ,=B0Y^!<9U'1G&.WBD^@Q?]KDI_W.EY_)/& M^;A-/_ GE ,05OA)-*R9%VW( HVIZ*ETYB%PB=8Y=Y6QD2B>XM*J5W BN7>G M(9_&">LSCZ=O_[J;(M@38N"4-PV)WQ=D&8MK3T [ZL RG5*&UY& IZ@@:X#6 M%IIBF7K!\E49RUTQ?+CIG*HI7GTBO]]FY2W[KJ,V;JIW4 M5F.V1B6TBF?93J 7HXJ"2&M&(6XV.\X%H45QUD!<#6F $+3+X\6=E2(9??T^ M1.[R88N,YR;1U"=CN(@(2"_9B5ZN8"QT*YT;W@;& %<9YVZ^%A:)3AOFX(X1?C]'TE>AUF!A7*:#W[6BS(^/%@>IAG>R\JUV_SEGR>0O\ MKE]] *]8HB$5P% GGELE=]83"8K/D;8$,9&B5A*+KCB%0@3 +=/)&*N)?/6V MT*=$,+T7LXK)&&*J=PO(M8X<>6%>-VCW$/SARF A2A ; MU+/FJ0!>HUHJ=,E,N$[W^DNV_$@XHY"/TI>@8H>M+K9N!KU* UU?IA-W*';W5T=6#.OVC;,Z1WA)VN5O^R/Y6]79)B-NOF54 M8LKO^<)G%]EFR&\A7>'M:C>LGD9I\=MQA=?FTA.0XE9(]EG.3:X&=AUVBG$4 M#=>L'&F6*U_*4PE?;K3]Y*!:EW_@;9PT0\OKXQVQ7<_3RX+FTB<'"51>K M7!3#,PTWO17>;J:2&6F!>]"0I:4A3'2:/[QI^53:*-,2TD\]T0RW#F)-(8FV MT PB&>B.WX>2SEGGNM;>6I,1AOV:J%>/OBX"^_QW:G6T[@>;J.E3R?;@/'"M M59>- L9(6PJ-U(]Y:!\,"A6+EG9OM?\@\HEO"7V"DPRI*S^5(21L\^(:\6Z4 M__B?J#_?__G^S_?_Q[Q']X^SMTZRE-F[TIDC@_C=^#Y/J1&2E48@07R%?9+Q MPA98S_'J[Z6*L*5L^%P2NG M8HN1O_MP,4\IKFBW6>2;10']ZBRY@WW[1$I$'F1A8?EL7JV'JX3VTUPXJ#VG MV8N8]F*^!?49-ULU8,?@LK>YV)O MGO/?0&8K0U)=T!%$/L>/M.[FI#2;!_A1T\5QKK481="P_:6O.48,+-QK/5:= M;.O5_7A)83HX!W^8EM*=FV&/;I9C9_TE7FD+3A0\SSKA/UOGPI9:@)1N>;;R ML\7\[T%Y*K(CK5)?KT>UWHP238P=3?_B)5T]X>?;F&3338?TSY M"CVS#7GH2RFA CO+C;F*!L4(/>E_]?R7R[D_W_WY[L]W_\OOJHTF5C>7[0_, MD^K3GUF# 7-0DEXC;.V7B82UK?/3$Z_F;.TN\.W1?)04":8S57'*82_0=1A5Q/NO)8S%GP,A@OF&;-Q2F8:-W6%^]? M=)$IA>27?AUP<$?=2[%]OEQ:^H\<-S^I].TZZQ4-RW2!%(ZTR/=4$(6^F<^5!3\*$WXCRA9&#> M8W'\\D)?0_31K5FZG[=$;[JP2373$\$K =?&L.LB+*^(XH=G:\E=\ 2NZ- W M6GU\^]2M$%?;ZQ=4>^JR;>_JWI;*SA*V^*02M&2FQ?\&&8B>8%'SZ$Z4K7KM M7+7F$1R20&T"26PU&E+\K0XIS/QIF["&V,8-%-C)S6JG4@Q>Z(D">5QA>NA# MMO\@%XD?G*TF)%EI@\D=P&O$+1?/FNBQOL,&8D:O,? W/S)O?I:9V")_2OMG MJBS?YQDC3N$EW'F6'7B &8-*+MPQ/ <\B>VO H_T_"R_^URQ*,>B+V$=EIK7 M_Z&DPO9G.9*9Q8G]24I%RU8/3,&I\3UP29PQF%@>OV)W\=M40=3G)!@#-8EF:@'CR[,TC!3N- />Y1':BT:[#ILZT(T0 M9A^@/2U"*>R("1(JI;DS$!5M=P=^)43Q7MV0T7&A7#Q$,)4NG0.3 MB+:U&44 _^QYD%)QP[/7S\"B;J75@?N$4D_R3+Y?VUI'VD;[?;Z^F)/_R2Q7 M_PU-F^'&%8WY2PF;#@P"FJ@@+U&][?;96ZV[OICVNHY;R%&O.;X(=-%RJ.'F M5:DX?K[B^>&\YNM= K=*9VN@U9DGL"4CN!): (&^#A,G+:>S+M24Q+1:!1P9 MJTA.B'U"2G;='>_O]%*UQ:.DOV9.P[#+Y%N:WJ@(&R+ : :AO=%S*Z>^N)%3 M13@_6@=$]+;LS.721'=VWZ]+]DX62QG:Z13\=,.#WM",+36U87 MFWR/OG_C9MKE?AB.YW&+XUW+$=JC" $KX"YD B$(.1FXHW:P6O0.G2L'EAQF M?+M;%'@=7Q@\]T/M[(DSY?NO]5^^E9EF,=[&]PZ;0#@W"UJ\VY0KRWG8[+U? M"T;N2=5/$WIF*I#]+4B(J[S$A9M G-:2 >V/U#K,81TV'X4 9M' M3J.U$H2 M DS_C5Z':7_A9Y*YF]: %>97\"Q+&,2TDP&G%1ETX#I,CK[J:+_Z@F[G$7\B MAQ+9H#2A2/4]M$'Z!@S; S_R&]_J HW?@&W':6S5YK:U*O+$2.2!T9\K26M* MY<7YH^4-U*=A!;$W]33<+HR][U92W7-+-58Y7G-??]2_?_[]7W#5\5_2\%! KT1,'_+1J>-"E%E(S>>*+C!ZF6I@YSI,X@FOC)O;5_S649SYU7Q4O)4: M>'\=%E5<*& R=;LKT_+%LY/BH._QTB>315:!>&#:?7K&K?>:7TA6]RZAI#,? M#!HS,]K2-JG?&^]% &S MIKMURF7/?9@RW%)]<-Y>1]%9I^D[B2M,@B#"..70;&*(U;L([=K0T\OK$D_7 M8?"+/HYMT>7]CYT>S'^ZJG;J^KTL MF :.;LJ6.^ *''1%IG&1O'1 DA:"P ^/YKB9OI[?U;G?RTCYA(CM'ZO]WM8> MZ-7('N!K^DX 7 D)8X5B#2#\"1C3:=KX+56S>V^-XX'.,:GX;.=((_2N]SNI MS3UWBN$(TQI-NA3+'C]-%N6JU'7I34E<7F.8[4T%%=KK>O M1]QB&U(G!-:F1C\1K^YU495ZM?VWV V#M\\_:':@02WCF3H&T0[D9]EQ^[F: MH!,-*7M HU Z^.HWT2:=,ST&P),NS<"W&^&Y=B$&HJJ8O6#54VP038@M1V2& M#ALYUQ$[7=&=CB[NP"=G1FP=ARUCI]Q3#^/;$E))$0M&'^&E_Q[:]]Y*A&T( MYCSA+CD#XSWW)5:.-A[;JBPS;_-38Z=Z:_NB-<)K/(8[A*XS(0)H6FX!RPJW M&S0GL1W Q&>+9<\('7K42?7$BQ=C@G]\*]]NKNI\24%U(87^H:"%UKJ7$XND M01IY=#I^=,9LS*Z 9[D\J& D\PX8"4O,E"CH ._9YCF]!3$TV_#S820UY1% M-&);[67%J#E;HU:X,@@QPOM ..MK.G@4I[\.LWF*7'D.XX:2?0C3=LQ?D(WA MB@ST7X==0$UW[A]I#F!9!8T/H:@?T8XNN5KG JRB#MA'('<*QK@'?+,1FXX; MHMD3'A*CD5NLI/%#2)%JGMODAF9"";:HHU"]TJU,V6VH9%:\RR_FB]-(=&D* M?Y&V-JSMY@*QEKQC:]H!#F=^O!LYF=[SN\%GCW3N>!'W M^B%A[9*O@SUD YGY#[O"SST';A ^X< M#I/$1QW;O,6H=O'KI])+0LY2.; J/D]'E@O^0RZZ=GSYUS/>2525:3M\ZPRX MUBN\\?[3Q?R5V)+*^,[,NTXEN=\#A'(?[J^,?IR2$=H#GX7, DC+J]%KFT5P M^SRU.41R(";.2FP4Y^<'!-E8*3"*[SZ:5L24A\57N6%JNA5<]!'Z;V)&1^YI M^6XF*'%UW0CM)[@[V?J@)@!OPVL2^$%T#[-U)QA#HX=:%W:,R59+2+>+O1'+ M>OW9+$-(X(7XFW*7E2-:_/T0JSPTC35DI@/QRU_686(6CE&:R1=U+V5W,4WX M?O;O/;"%5$ES9Z?,.,MZ92TMH4W SJY\$ENFEPDRUF&]Z1*42K36 \PW!NK9LX/4M#W3!&BAY@2$=N-6]WE:_# M?)KI?7RV2UU!YM"UE+%VVA0/+<>L =B,N+##FU MLW %E6:G&J9\U[X[T,D:88$?+A0'XF(9=90"_T+9X8MO6_=E' F^Z)6.E5^V M-K<>L!A_CYR<(K!Y=CL^%IM./P\A7A6%P$F_L@Y;-'1I/"[P5^\1__KH: L[ MP+E?L@X;2$&N?7'ZU\=3(W^"_ GR)\A_$N3R+&(=YCM[DUBCV:&#H=CUSL:Y MNB0V[Z0I'\ \#S"+K=^U-.IQYGQ1YIF-]I(OBK1\5&\$U3VZ@2Q 3BDSG3ED M)&5D9:J&'#@P:7B\%8QE[06)3FGB0<=�"C[5P'<2>GRY@K30EU9%N^Q':$ M>=ML P(XA@&U2I:A 0E:<8ATO"6^/W]99M?%^*Y"I=:#'G;6S=K9P>&2FEN% M[3>>L%4\$7*9WFH%P*.M=F&U3X,8AG;'=7S+@Z!<@[-!2B9E_MG3GFZOGGCN M5 \Y/1(3O8FT0/JGRB/5G"H"908Q9;D.HY0@ 7NR9.#U^(Y;=^J2FG7V92W[ MYZ90'U>.;'NWU*^?_J%>\^T-^H_\CJ%MG47"?\'IIG_CQ:,_[>WC'_G+O(_58O^OZP]' FC(UV&%X;"@S9? M*KOTT/]2/7T ;R."VO%LR1)>7M[H0%P0$G#6 M [=%<9\][*6R$HWU9''(]Y*O=9/B/Q<&[0VQ';NW1#1['7,MT/[XH,]YUAQW M$[3B@I]!.>C7'\06BC+@$S@U1M'!"C@-+5 -)A^WA1ES[[E_R]UPS?^UP?YC M8Q^:MA/(+QCF7-$(7JH9[-P1,&X=!IPD@.K?/;$.-/Q-7'A91-N,7,:TY6J' M-)WP1* M;>E9U@@N.WH:EG'[#C^S)XD;N [S(8-FILP2QCB]#_"C^=&]:.+* MG7@IP#/+0H'ATCE&TJECOAZY=,0=>VOZME0/DX0I,X@NX>3^M#_C_L MO6E44]NV-;H0 2DC=4V06A&PH%*!@ B(;(PH@H(0!9%*0 4D:$BHZQJ1K8A1 M 5$1HI2"0*@1$9$:@I#*$H@DBF%M4KUPOJ^U=\[>^[QWSVOWM'OO]_:/]2L9 M8\XU5Y]]]+GFFF,(L,^V\J&2C1[&-RK21'7[JK(ZMH<0.#/TH9;O;0[8W'EV(.@06D*#)=[>V\=%(%%, 'X%2]*E>2+RY'PQ26 MO$R76B4/(OV*PPX]0D8[);,KMGIX;MX:@F/+VW??E0=%J]EJG&=H->25H<,, M_12NP5>"S\=/91>?F7TJBBH2I048"/_<9AZ/_E+ R.F/MYFN5:16T2SHXLS MT;!&'I#+ ^2CL)+>"R]U\_%W?FO6O?QR*$.@\)?SYY_<.1^H+#_OV8>MQZ4U MF!#LN6)8QAP%TYNC->B4S@A='6*!7._;8=J#"Z"\6QF.*S.V"W2^3#,VF[!K.7"Z14S+M$0H%+ M=OV2D41US$4>,!O(#)PT,C7)Q:A&(2"(A7Z=YO%O <'&$N?S=78?>KJ8G"CX M3.RP%3WT\ZRIM2PSG/\$7R.O'P(#*[HJ^&M*I0XUG^;TAFJE9(\?(>:NID,Q M'VOEG#_VRN7O(VZS:C&#L&6JN]&*X,IU1A:S']$[P?N/OC8UW\YY M\G;J]LFZWF=>_6?4TP6+->/(:K%O1VVAOFP;,(=DDJ4A7<]8Z8$I!1.86>B4 MIS^MC6D74H]);9&HR$[]N(\("9 M-1-ND=GU2B3BC\NX_Z>\ ?\E%V*C="@"$]8>P53D9$;CU=BF=6'V%,\L7 U[ M&[W(/D5P^!%8Y.8O^>"!!G1HZ*T[O7M3RY#8>F*'!7^0BC!=>ANUPH3$P7GZ M./5"&2L8'"*737-$9[87ZA##R.T1=NRYZ7/PV "X- M8.B!$+<=7X$[Y(X&ATK;0,A&N9!1_)&;8>T?8!AAPIU+3]]_2N(81,L%JJSR@ M!',@0N/6:CE7?34:K,"/40^1&FM(-0@(BN\;091@O6!D"H:.Q'?# M?E/#GXND8/17>$#?L\PU]'X^BQM'O\7,+A'PF"_\T H!,\2Y4JH@XCL[DM_- M?>G4+,[Y*K)^9L-PU[6FKQ>*XZ1L!YJVCV*ZOL*@7/77342UC5PV%R9[A(H" M<\-7NR$HH_XRDV9E=NPPFCL>D&F8?EN4XNETO#:W10)RS.FR+33M+E]!)1$Q M%ZKGL?2[W.Z[^\8C\_:RM/L\8F9^#MQ24^;LI?F6DR&@M2!7]%SM4"7V(NA'\U+Q.E@E_0;P;"'^^N24TYQ MHP1^6"1C2,L84 N388ZYR'VGH4OG+@>R$.1/CUBQ*\Q3%]89MW]"M_"AWTND M.^2I)N^WH''(EC&KW.EG$Z9<\#/-8Y3*>+)@O%$$#4/*6#"?Y]2S!)%7U#F8 M.K-A3S@MUV8H1@,F]IT'*&*Z*A%T!ZQ,.+?=Z&6!S 4*,WSE9&*D:VV#1CYF+[/75X-3\]#YEM9MUW"&.BHLW#ZVN M[!I5A%^M+SJ8OUU+-:G*F^ ;:R\(O$9?ORGXT60.SI6LY"1%(4 #_2X,J#^R M',O'="2RNO_R>Q!+B5YHK#VU0 17ZY.=4;E> MV,HI8& P(.=7F80 DX9XC*.[)RF0+9O$A>S("[]%G^:*9= +7?;NV6'/L.]< MOQY[Q9AR-VRA;%K98U[W>;B=.-"'?L]]RP,:/B^OL;Q0EHW@2Y89RN^=52AY MJ&WSI!7L4<62*E5ON[OZNU=[WUP1BO[B?DPD^C^1"/_3DD+]_67CRY]RR>C7 MV$83VG8J/.WV %^K*R&UC!2[;M^YW;B2AKID?'N,![CY/"";_ZK'2N,.^)!E$&%TA,CE%QB<3R@6_1RQ>D0\7."64$V MX\S.I?8$UU+SP/Q(1-7/$226;-$3H0R.V((9%)S0#&+IKD+L7$]KY9L##\<) M 2=O]!)[6D[:_02.B;R"-IK?K^&.X#=*PK&.H9 3JTMQ-I][FCND&;7X\RK6 M-D/';\X2S"7U)"ZU?7_EWF%><=%;U?44OU>/^.2#T?B)2<+4B?1@I$^':F@S MG/K4+=S;Z\?#/:[6CX45GK!^4RHZ<\^&!%^0'LRFF?U2 M[OZM^M";F/TI#:ZZ/8Z']7;O?/KVT>'-][8Y"^8* ='71OJ(*5P-,*."K3V- MNE[IA<3Z)CJO^@A?[_.NGJ%Z!B*I^L;R;H/:]TY\1>AS1S1TZ"L;5?"$7$$: MO8?B41]68=*GZJ/:>U>B9>+"UH%'6Q[<,M;.^37^K2^6W0@#J[3HSC768 M/]\#4-8UJ+V39R<;,$EX*>/I7J_&[ ?>R&C5J=OR#3\4=YS__E$R'KE=T^J^ M/%\-U?=KR("0.$8:TQ;,HQPPXO=>#BQ_'.+1=*WX=>?T-=?7O>]\G-IROAQ4 MT(F;+-QS^87G)$+89A-?U=VU,D#)TEW('<7DFMV5/RXTC1LE*E?T6[SZ;*1] M5J EPQ((W-3"5Y?XYR7+C:Q?0CQ:B0.P1"_]](AEJO3JDNDIX_L-*=G&_^51%''!#;._C&/@*&,K+X1*EPNE&O0_!(I M(ZM11-E7*=.H$*\KL3 MTLJ>WG;PX)F+4N@3!8/J3O(_3?XNDZQGP1]D'/!/T]!ZRQT3_J=I:">?._QE M^9?E7Y9_6?ZWMA3Y',@7>J#F6B]1D3N#W0H+,TDETMVQF78QBM]== >M%:)3YCM6R7BJYSCY!7UZ.U%ET, MJP_6V=;ORG@3=-+"T?FX>@I*_V_1L ZZ40I67[_7$$>XSMV2PSH))KDI_%:( M$/$->3ZSY"BOFZSZ=L[:8_?@]T^'ZSM%M2,1[XSD!$ SECRF:V(=WXU5A\Z6 MAF'+-7-%DQ@:*\P'?&M-[F2'YN3]I+4BT.:S6^;(Z2#W MFUM;GRGL;_,O^OBZH/"2PG;5VP"']D]3G^+E8'Y0\$#)23".B@ OX,"=>--HBG.[0E">Y/+3;X07MKXT>/+MY +G'%1%G[4 %>O:C]^G# ./Y;>\/52DY>NLU"\V,U0H:KM _#?=R&7TWHTC M?8%Y:0(CO; \7_%WA_R-HW%R!"^:1M5PP65;5>P_NY44Y#A7?"/!2#6(]K&" M\Z>X/+BKT/&R;CNVU\=FT=TFU5+W*K0XUB2;__>/<% +EA"C5\VZ^F4MO$7 M%"&^I,A*7U99&)YFZ$"N 2S8WR7R_0;9 M.*9)POD\S#/6F7ST"YP> \O6X*_%-O. \2%<#P^815"%G[B3C]9(E?C5K'SW M/6K+AAG?$&")_ /Y?8#5P6@?66;<2:R"S2[49E";THR?0HLA^TPA\CICJ3]T MD?;*#_;I/C@]MCA3E/3I]&#_6"5>!6W!YQ^:%P_(MI*N06HSHSB)Q@UY6Q<) M 7UW$RC6B(&E2X2X]^G'51,"U=-67A\PW,*>E'"7^.$)(V'WF_*?ABMN-H:Y MD6GT31!7<*)M+YD'R*F?('^F^00_LL*9#5=^3H_PKV,8C1:<;':ZFKZ\+!Y[ MO$NL$+\;X,8;/.PQM=A:V==6K1-^OV"T3DG#;G.TW.*_Z9S!/UT0_P]]H?D? MO[TY(MTU8J:<*[:=A /M8:&(> (LPTM)Q7JOKW1IG.$R\<%&92@;K07T.)Y^"$/ (::?WK<)&TG6[<@0;(+_4\=R_?,9JC*VAWU:<%]V9 )L&"<50_KV@KV="@4#(>!.D^6?U2@S M1O@MR_H)MD]YD.?NOLWE0"G'^%AXF+=:O?VG#\W2CHTL?;H+=:0+08"3/Y;T M8>.A\J90)3#TV!E"J*_Z!+6U.3+^B$)V66V+0,&SUTA-#<,WF/ (4 ^VO%'; M7H4>P];"-)9TQNGW*F[M]!NW!.XAL&6^*^@IM+W^^P3F/?_( F:^7FTMCR8+1\DW/=0R%AFBRI M9YE[+KW*=1;8IG\;X"8]PO5&S+API>BCIE@^Y'KV\X?(ARL0@A5G(QZ^%[=V MZ6NUR;K2].[-+LC5D\GVK4UC9156&2>?3&AJ(X9U0R\PQ5%;&5C>$!2 M+X9T R;&9IDD7T5LY>K-&SNT$2"IZ*X+'V*"S1033R(NBT-# ([W SR6YL^5 MFMAXYXV>;+VSH+Q19!W3M5/J_K[\/K4?LXL=.\HP<[MG'"X^-]_7HWCRV^$G M/>0(MD8 "XU:, #38NB1MNT\X/C1^H>@_S+II]+XY$_= =99[!& PV!,]R+2 MB.*KHE8G&28#7A9I42\P4XM>WZKD*UMC/CF?=D?K=< X]_ D"@[4CEG^5+(5 M6<2^%D$]?+#PLQVK+M%[Z@>W$TR\,#/" '!6V[P%^ M5^,Q7:XFT<-N>.IW(_&C+R>_Z0P.A4V8;2](HPJ,-,8ZL>7MN5M*_W<"V6CD M#]+&J3,2#D %,I*Y^HR=7@-], WQZS5^U,/T-U(>WM>OQ^W?X%URB*M+++])&^Y]PQ+WQ_CF$?7IP='FXTU=-% M,"]$54NJ:4;J]E[Q;GOP 6*D4_3:#WIN?BV(_T3&;6#L0R>?@=K\SCSS'FJ_ MKY2G-A_B73$01%O]\@JZ_$U??6G1) E*/S$";@M8UE0:W-E4<#]O;+;"E6M3MAX4F] "FUP%+ MOXSKN]],\F1+?]BB!]5]S88R/,J?7?LMR^IR7K6Q 0](G>9W_ZW-'C50F^D2 M(?9;E0&,+##V]&K@/1Z0T3"XD+/@Z]W4B-QALIN) M!(:\G=Z>V[7$GVF_SN3UW(:1-[+D\25F'P]88&]D%&O%7""\WFN4A0ICF/X* M^]F],&'/]^.Y*O"W/8->-6Q33-\)+$&1*]9IW-9SBP=0[!XM[1OA1_*\TID8 MM.7P5;0XOW]0?."<#);^C =$1"B'_ IKX_;1PRI35ZI*K?MA7IPW#^)AVB@^ MN(7/8;H,VZQD$'(H=W 4-YBWH#N=L?I%2W_VW/AD&N53>V@7EAX2R):&=E=" M3W)NF6&W[M]J'PK;VIA0:.W0^.8(.MF?@'QH#ZQ)Q]+CT?W0$4:CL<+Q1F2'Y8( MHG?F;X*W?&J_R2?0TYPJ3#ADEKAQ-I9Z*I0'J*(WH^RRR+#EX0?O"6R;<3:$ M_N3[]_'3C.*W$R\GO%^E;\N=VG4V^P[E5%NOI;X-F76$3TL1>-(M?&-$)T0) M/4Q4M!%"8=KHGW-0L,B*Q>>0Q/UW5W/==^AFW_CM?$[3JYQ)'_DT+;SKHWN0 M>!CI?1Z!2H'0)%F;YU!JX' %,A.J@%+KX,N9TXUPZ2^*^U&MG_*4M'^9V'3& MX&)C:^POHD8=L[=:+F/Q7_X]WQ\#;K[JK&O<20U#SDVN0K B3,)*623=*I1J M(N>%C.@B!%!W-5E,ZR077JF &EW.WB1ZP2U?5+NOPX+MQ!_",G0O42J/MI?A M3<'%<[7!0.<7S1%*H,M1^NAX94/33?>,VV])ZF/R@6ZW1.P+JT0 :)@;P@P] MQ5_Z1.2P=P?0!\B8Y>J*X%9LGLW>(ZK=1:%/>,#Y\:B?*?JWUZ/L7RSG=(D2 MI=!AI:I%/""%P;K '8"J68F01C8*UB\H,8@)'=I++O=/@_6.[_#UQE$^7K:_ M2+NH/'=*M<]7?23VYL@R@00].^J JF;4,S,Y#SMVHZ>NY2T'L]1"6T52*^BY M:<)55!Z@'DHXU\&2*P',VLO:.PZ:9F?7NM#M+H9M_Q$?=](!-<@RX8YA&X33 M6+\L89XKTA+TTC"44@1$/]UJ&V4%0FAL[&A_>,NJBB@NHUVFMO4@_2!,Z=C* M&P?&9^8PIXYK#O[HQM9!>J$22$@G4?)G_[M:%+PF"$J(V?^I1HG#OER^ZS#9 M/N$%JG?/,R-\"!"7XH#ZC27)G<#+VNP*X>X'A5@.0?M]2QE[R;DUDMATS',7 M<>LCA"B3L+A-+>^KM38=N7OKQ/>5&;S=_^B=Y']5@(W@FR/8,D3F1B3-!UVX MTG@"GN184K/0$\X7*2>"\ %3IJ.#&@X?D/D&^C$W^A[XV9P/84> _$6 ,(CI M.H,AY2.V1N"#8:#6",T>AVP^Y/0#UZ95Y"",VU H9TX[EQKYN >"'@?A@U*Q MN"]'^/1QE)/(CU K,&$>T'T,%H@'#9TZVUW(GME12PD!CY$XY]%OZ#XY:J)) MU%>!UN<1/GFNIXSN]B#9\W(CMDN7WX>EC/2 ZT[FWE [;W!%H3O*4W M9F1E>*TU.1*,.3H76[M@:-MK4GPA1]D/<^7'TUSS7DK[.'/];X4R_G88?LM@ M)7H*([@Z?(1+F"SLZ?>PK)LR[0/R_=KR(,_APQ^=.[0<3TMB]F/K ]DR)EPQ MZWL(L)XKQL?#Y@NQ5H'TI<.,*3P9)F3>P80\ GS^T-KP(B,@ MT^ZGXXG<%!>?_5KECR&7M001 M;P:62UBJ&]NF>%FNUD:FAL(Z3LU/;$($:61S5?I&$P_WI0NNW\8@;.1QG3=6(=EF.6!OV#"H* !/,/*Z9'/BSA' M8O=^L;Z]%I',I:_ZP:(_@X2MOPC2E]V MJ@A-E7_R9S7KRO!5&7$1Q%'UV1KMI#+ODWPVAC,M./&H$Y30I>;OJTMY2DNC MA-?#,[L6;?3'5<^T.D+[ZT-<#Y1? M?ZQ$2T!XNMG*-\2I.M&9MX0S[@5[3)E[#-81QMX*91J4L)YD F[+0J?_2P_# M;X[Q]&@RK_-=>#\@L:O?-[CRTI-,81<9)"#E;$9O'H"GW]TH]ER'[$?,GF!> MNGD=D[3?$2>.@H._/CGD56^O]?*'OD.$N+ !(;T&"&("843 MX*2RM*Z\V<#%Q8?E5U$L>T&";$7?V[9XEU:TGE3ZD[-SS<@VGA][$G24VP0:@FY # MS$ZZ?JJ5*"DB=7ULJ0DM/VI&I!F617CDI>L6VF[2V7TG'W]=XK5]Q/MXZ#G/ M 1@=3NKAB@FQSI39I.OGSK#9]-@(P:&9M;R_>-WFY&D9CZR]:\ZN4Y2B:JP0#@AAL0#: &/N+.( MYQUY?(1+#U)H,I(6%)$$*[M'I=!FZ]:4YI?-+[I.%KB=W((&)-!A/$!36''@ M&9RMD$6"S\#X@J.[?1I-;,85?)A?'FF^M3[&)R&9),AL>3^1KP+SB. 9KQ7F M3?0:-@OU;:V?L(@)6)FM9B9,8X)K(I@+G&?^[Y:M3D235^E\M^OW$U< NQY<_^(!K*9:4O73V''DB+2UZE+ MT[[R4S^)RT-ELAXEFV+]\Q\[;XM,:EXY=]+6I_3.)EC"MCRV0BDU@Q\JCMNH M!6'#Y\9'OM/, XD7+M,0_M,CF&?+2#3 M6'*[Z\?#[AV\.75L+_N-MJ/F\Z44Y;#2N2]' ,,AKB$J%BRFL_I&R"/BW#<= M!@S7!YV%DM[.=^53;J5M3]OW:L7WO@. 2F'$4&-Z85#V%=!:,8-/5S 9T.-5_\&\% K[+4@.[(T 3Q !VSIX4 M0RM[Q.W&BJ'T*;#D_1.,A04P@A+J;/SRGD]\"<&]VYWP>K#]@3]VA^-.85?T MN1Y!)/'G#_(/]7KYD'\;MY M %F7+RJ_'.-WMN-F'N@?)&1O,V$^X[JY_]+2V[\=[C^T\I^ M_-DE_Q';B*$%TUG,(W1?+ 6J$+S_86-U*.%!\%T%>E-"N!Y^R@3QK4_F_*4] M%KM)YP5N!ISH0NGR%S!)/DL8Y55,/*P!LTRD8%(TM!F']CB3]:;#22_K)K/] M3<3.'+SZM//L;^=C!#7KA('U@YF&73P@V&2N% Z:,%Q<.5@;!93Z-%>7?6AB M=6H"3U:D+Q?T-IG;-?VVYBE3EF]H(9X?V7_UFVNG!L,!B5M^S@H!0YEY#(MT MM#R81IYJ(<&AX&%'KB8=D7'2"B07J1IO*Y":)>]S:_-?,5$*,'J#VL@>F$3D MSP;E1FP\OAZS/$?!9/)',<4_AWU.+R5&J/)FX9C$4\G+NPD_2+(?$V:R"VOE M!+^J& YA J"$$?(*+8R4M2*+A+E,FH:=L)_X,&[E1HY#S[W"CZZ<6+'?IQ\N>._RF90/\[7/^^76N1 6B#C=4)?L@J!"7)86=CF[P@"='MOOVB M^^PB=2)[$1KW')1'_.*9Y5SQPY]M04/Z",6CA%7CW8-0B3K0ON>K9=1%>+'( MN_R*7)9()1\X7;9L188L.8TF2B]EKH&7Z2QWQLGFGM],&D94OUQ3QY==6W=] M[V S*F%_RZKP^W.W^?P[!A?4(/WXK)M$NCL^$R.!%F4+TJ$9Q$ZN(J,=EXG6 M!%^>>:?_K#'%2##YF?V>))VZV-P*@:X=/5>JBP'6V'\T1=S:B@IZM&E!@E/. MWL;:#^N!R"*<*7/BI14,ZYSXN+U'MPX8+K\H@6E;%*UG-MK4BX<.EF7U[ M '"G*T9>F\+'<]6P)$^595S%Q&R[-U3IL-G!@;*-F_Z]&G7S%*&_#4>$'5- M# YJ]9MM)-"4L=$-T7XSV09GE)YIF_B&*+G::WD\3F"G[<_(I6/HD3W(4N;& MMFDB=.["=*?*IQ3Z2F>'>%$/5[25(76'6;044__JT_47E,LO#FH7'AI<^AZS M4/V&+0VVA_'[WPC>8AP@I0WP 'D?2M9"DQU'BPGKV0U6&^ZSG*FO-RBT?=F MQR]7!IX+;_FPHA]R8Z? %/=M+6JC F NR"*[0M<\]G].C++V92[8;)UWDI-. M&W@L\\KYVYGUZ9F?WSW9LI^[H%NY>B@T6,^ZSG:F"U>1@]!:+3?GJ=/T8WW-KV I<,:UCHA*;[:$:*H0^#CRJ\J MA0<+&\O>9ZMI7ZGIM%)9,33QH#LE_ESJ>11Z=^O82KA8RM[YKXQ7'Z22(K=; MWH/P(V#0"*&( A'LX$PN;Z$9Y_?!$YDU?\;%SF4O]8P/1:EY11^KU M9TL_GE64L,ZY[LG>$9&"676U@O%'/P@&9@)D#/DE_CQLW41%G_-3GP=(.[$M M8I;3>( #E3\?.RIX ,6PE4^8KG0<-Z,J;>,S%I&__>LO1_\)CMQPM"66IBGM MHLV!8-5B.YV*+HSP;-*J\,L5T)THQI=KMY$8/N3?\1\P!2T$QI)$\1$FZE_& MD:I.URU1TI6#DN7!!4JC;W)NBC<#=S\<$PG@ 9+SK&W\H(\$#O,1'QO_S\BW[.$YNQRTD1LJ[Z W%J*X\A;=^'6]NU!^+#&%LAUB8V@X.I&\4,3:#GX^/M8F]&#NC/W] MEP[6'25B^]6'7IUM$?EJJS+$0J)?A=\?&,A1W'P^\(W(]^TN?VB1" ;3Z\DY M SUYD!%83X[0_*J+8TRA7F%5?4SAK$<[5>HG[/?+D,'^Y^9?<""/FIIFV*6,6(*U"5OO< MU8HW(A/)U,40.!B^,@OA9FVLK>*<^3#R5&4=1UG1A_?81H;K(>%JR__SQ70XMV]P5CE\2 ML2/$'S#Y/3C<_C#?O^'_0$3\/XF5DA$<63ADHY@SA*L5;XGXR]/_-T\G]#AM M/."\*O)VL,V!+Q\,!K?4/6<#!UUC\/3''?+\!DSI/( K>F\#.$/X,$PJ#Y!: MQ<["!_;?+"89*1 HZI*$[;35%V[OOOG:"[V"'0&F$',]3/MH*1NKH!?:VC9G M805'_M"J!P_H@:=@)<)MU)#H6*Y:D/'* Z^]+[_097J[*PJ/? ^-^'T$ 2[A MZ?/$.BA'D;^"6B_BHZS\]VIP_H](+/_+S;_B9@]W 5^WV;@ /Q"F>4M5O%'O MK$V%/O3$\=^%A!=$0A'Y<[SI2C96B!;% P2#Z XQU%C_UESU/;JGBY;?7'TA MGJJ\'#KW/U/4_)_J)Q>R$:);['4PZ@WQ@M*LWEL0C3=)/VI9OP<"$KLL3__1 MJ3+2U>ZQ=(INGA>S R1ZYIQO&="^1N^;:, )!#5-;_T2/@J/J.S.3;OR7?SW339S55 [0?_+=&K/CQ$ZU2XF3F:TC.@4?U-/7J?0L\@;\X=H M82"8P@-2OW'R^3?3%H1=F\"R':"_HZG:I=]##_J7GW_93\+?I'7KW^'+\ D8S&"1B/T'6I;12FS; MYU,7FN+A5E=3Z@IN&BA]D++89/.@X8]!P3.?;3C:$"?(9#*^W;H?[#'E,4@* MVUG97B&NLGW//IT=\<*NP/6?_ZXL:']ZWG:W8'KRB@^'7UL;GB8RS-\IO MZ&@H15F=B,9F0B78!R@',"+\&]!+.5<]3UUN]?F$D_#<&_CPU:TD\[B4\'=" M8:I'&MY%77>%P#VVGO9VVBPPIZ-E<'+PVZ5_\OWAK8C(B)@M+QI>./M'M#)> MG,7P<;.6PY4#G2B0]+9]E#SIG@,^H/?Q4)I.SSZ'TYERNFD,"8WB,;?_M0'Z MC]=IKC8C,*5-_:P90A%9 A^K\;)3>;_HF;$Y8,3A_0<)[!'@76T$.8(_8&P- M^C)7D7YF;V5E?^7E.,T7=UXM1(VTOX5?7%6OOM_4TM36G/OM+5DWTQTB]_Q% M0+2V9J*E9N[J^I^GR9.E./6L2*%.THVKZ"M]HT?6PVLNGFT[I6OP450D51TB MOP/\T06GIH(7[AJ.CZ07N:@4?4FD28[-WI(X2.HKZ]Y#>G3Q;+Y3R-0],8)Y M?:M8UY6X1;#I\Z%AUT7N26/V?G1QPFY\GG/(:PF BU;;:J3J; MCENZYP"#%_3C 66=L5.(F<6F78NW?98]S:=W[VQ:4_@NDGMJ9E/M4\L S<0M MI"1;)0T+\ 09FFZC1?^<:>4D08LAASGC&HHD/LI?,#AV$]J[ZYJG\Y^UZW"6 M;0M6T0?(YKD=V\#'#%4[^MN[WV.#XRB2OJH&IWE J\:%D_ISI@+M9XC=Q W, M6Y-GV2:D%X$N+CE'*.MVE_<5M'W%7K]S=_;+ 8^J%)0/&:X>9,[=07?*6*4% MNKSTF6J]67Q=O:^MQ_*UL_*.'IO4AC_? MCOX)R-S_]B'KV-\^9-V]+3:@N/N)@;).42<0\X0@DH':1WD)H2'$D8E#QQL7 M3M#VQQ%<-<@3X0<=G2J!\\%8,91V!#![!YI7>#H M@#[NVM<_24$D9O 4JL$^"2+HM:_573;2_PGV7)V6.BZ><_U4XK#.N0G#(Z]% MF7+\H5ZX1:_JWN_4IWZ"*G1G;TZHY_C9Y^U7[_SZ9K?,LOONWI5+ZP_6)[J?9O[F.49V#\_]Y+D MU^'%X8O+"PA".;.'4\EVH>+2/%JK4OU >7*I-S;5(D6$[:["SI-.?8)&&,W/QV?2C7R6@JM=P6.E92Y)MP9TS MQ8:OWG-_"7PN(V^U6_Z'"6WV,5_J[.%"D?KDP R,/T0.-#S$Z+]%E=RSY#35 MMEFR;_CAG>3&WO7X1HAIYA,!0X/@F<1[TI_$6-5,4TXE:AOK(OH-P:EOV\.Y MV.FID7.4=JF@GIHR]EG=X?KRP(\ZWX[-^Q>(+F7^5LX5+:/P@'B,,/H *I8. MZ7N!,B'A,BZSG=L*C+Y1FL<+5B4?,RV7OTNC4@2P(=&GM:^^M;L'J>4"Z'&$ M \(08BZ4//B,3(744Y5=K"B*.:@SO&YP>R4F\HG==(+7BV4:Q?<_K9$B9CY MB9*EXL$=GOV0;&R]B_Z8_5T.V?N4&B?/4;;)XQ N=#2U'!-ZSG1J?VSID.*)'0J'F\E-W\XJ M7I7:>T>CF%0";>JOID!!O2^<^C9E4G4IC1_*NS==MQ8_W'R]\'8U?O87.]OW MHP-11ZG9R8[6R'N0*+IG+EN1H=W# .OY6B%SE1/J%S8PS,Z90-!'* M5(94(]G:86[-PV:;M&;[>(QL8B_YBI1RLH[$ZQDFEN#)E&$D0U4:3>8@3 ]. M%8;LAGRPYBH-CH7.[U%MUW=/U%6ZB_RT33O:0?FJQ*X65>_(72+YX%Z*43-; MALH5DZSDOG(#Z]:I)&)OF0UAJ><:^C%J#4K/((Z8OAN0<=ZV4[/PU.E+ Q69 MO46J]=QDS\\BM,PIGKW>.3(^XOW>6MD+9QRB M<@+#*KM$ PXG.N_K/?V^EA8/"*X:=F+H!9AN2#FF^^SN:AX0X,V'B40>^-OW MDN&OW(5%8/(?:?<[8NX ,X6AN(RG8^%@2\47#\_;8?ALTRR8W- UA,(UGV&" MG75WF/8>DU_O7[F:.*M)W2S8#I8P]G8B1*P@&(8^!9,99NHJ[G(HSOY$^Y7G M!Y6GS :!NSZ3MM].B75Q*MLP%$0:HMXSEZO/MLXP;@R3[;IVL[)$U MJ..:FVMA8/G- M(B?0[J*X2Z7D6K[CJ[11%77B7A7@ \S/!.2WM!S+7[JTS-PXP2X[C1:# GI;UTIAB8^_*ZN\LW_AWW5>Y<]JEAOG[<%KKY -RZ-K=7-,T,CX#;08Z'67(]^R8^Z*XH-.8RCQ. MC-H)T2S(>-4O8O;C,TV7=9[MT0*JLPZ#@61$4KCIB#IJ9VOC^&KE\QOO1\PJ ME\UI4O4>U$$E=]58N.*&HJ\33 JMD(Y=AAI-T-0C6GZ!IMA;J-450;@R%;99,*MJ6 M%\%NT.MH H58KFQ!3C/L@C)WF_']*A[@MZBRL/?LGG-IPO'6L$[??71\+W'S5Z@T2O;)0%SYTNTH"T+ !Q_=1'>I'%J7 MLD@^DB_H]?B<)?\MNH23:LHQIWRC+#F.MYU\Z@4>97X\'%JV.WQF0',D8M=K MD8?OK^*>_N,G?8^B)0_V.#\O=9^,N-_4U)11^:+EQ0V=RUK9]7LUY !1'?J. MJFPS].5Y4>?59X/"MR?_^PFD.\KOTN\3MJ@?=QZ39[ MD=0!!/U81!JB;I'/S*I/?5!68%:U2RPCI*?G\M%W3KI/'(4:>S-^Z%81'+J? M7X N3GR^DF0+]4"9KOBOR M3E8ZQ?&8;Z3RE<_ZVMGG_9K9\C',6-"0#B-[]N"S$/5K/9(BW1I6HQUZ04P; MZ79Z?['\C6:(]C[6WO23J,EM%N?J?,8/P\3CQN-C^&W,J1?U6%6?RS-*!(;HE0X0M4\]L?F=6A_(0SW5T57^:!@1;J)WYS>53+FQNWE;U'\6IKSTK%/W. M=P?GUPZY8(S"JM&._L^_-#$>Y@539B.*1V:C2DL;$F/+"3TR@EJ ]PX+&;M[ M4CU4/MDDP>H'4C!D,W".H>],G[H]%GOY3$B)G<1*]G+&OEAO-9KMT7U]QT!) MEAMZA-C S(G&H83 ZDKD37%E>9/"UXZG:[("(V[))9S/-I<2-Y!LH%J:D=$* M'*R5,\.%*Q;#4*5@:2+TAW&!W5P5^E11(+W:;&!Q)01O0UKG@P^24BL56]-M\L+UFQA+AU9\.O"@:!>309I\UC M6D#'N6+-S53]$(W?-#4,&50WSN.+^&"L"G^FG&I3);<[3O?@Q:V\%5-DNZ>O M#LOWX\A+)W14[H"PKL\M 3I;6P(M=T6NN]&7*"+)7$,0X@26D%Q]#W!4?<8? M=(R'4[_J[#$(T+EJ:;DC=O/66/G[-4&M\/2&4#PDE!!E<=.".>:]0#CCJ+*/ M$KWCRVODCM>'M5^8,8C+FSI,.'GX8(@RILNRS5N20TSURT3(L?6F='(^.(Q] MNO';5#C8_>L'_CK?+(,9DV,'#O489. MX99I^W:&T5-/[Y%Y>U7+LP-6VY6M$W";.!7X4$S.74U0GG4$"25;)(5'\0 H MRG3"R'1>05UYX=/B=?$O-;<-/XC=O^DO5V)\WX[@?T;&3B^UA<_!'SG9#28S M(NYU#(LNH_WJ#C;0X>H0],ZIJ,[69<_N-R.Z;YIE(/OW*=B>+MO$U!%E[8C []>2<23NKT7/<;C3@[KWT6SY1L-67S M![(3OCEMG'AM!8NI(\FMS1E\ 85MD'I2CVPFQ\N WL?VB3X%T0U\?:O.C\WB? 3M]VR?3$WO/E#:U6$O%SDLV59:6M@_ M[_];ZYV[L;50KE@:G1^*E9OI(S0>0%>%$ZG8I!^E-0>GK)*>!NG#0AN+U(H/ M!4-G-2ZB^H($ES(-?P6-&)%=>(T.N2"HL@T4H9H#[?4Z']-T]/T>8:AI^('] MN\Z?F[V1.SG^[A^>S,G&LE!'^J>B2!R8YM'T['E]RL.7[>UE?JE;)@+*YM/% M[EUQMI0_T4](2V_ "H>L5R6;OL UAH894WR,7U_=9FSL8;Z[O_>*H.6QPY^% M.W3 QQ38QIM1^S9IEN&B)UIPHA&>AC:=T)_H, XF;-[#*3Q0>HKBGDI.DFEZ M\.7,IMKWRVHW@7EQXMGRG MGXC&)4#FE^OQ@M:&GS&S6 M#P?U2LZ5>Y<];ZRX M%SC"S\)JC^6C7Q\SX\W0.7"!7M4$29@?X,11*VIUVV MQ\9JW&9'4"LF*<+JP$.'8,.&5'NFG]9)(O1;3]@^ *?TWHZ5A)@V'9$(LNC0 MG?IVR/Q:=$6)1:1&09]*R54VH!=OLX>3V"9?P1;D 8F9* RGM$,JPZA#8R9X MW0:GD%YOFA_L5?QFRW)!N/[9Z!A+[G(0OM.0ELG^RLG&7"0F8.I+NN#RW&DL MU,KQ!W*)BLO!F=7H=[7N]%OQ;*G+#39:KCDNM,_]>/WF6+''4H .'3W#N8W> M@3H,CM!OCU 4^V")^_-Z:$>9%']HFEEH[^VH)BG4+6B0D')1L,'BTZ=*_DHZ M@AW_*(A^0)2YH\>1^LP:.GR9_ 0\Z3'2SU6=C(AJCYK_OM;DJ'C=38'X&VEE M6]A\_, )6W5$+SP;NP6]U:OK.B.04I7*-I$29@NHYR;<"A+D2]2%HM6@A)/X7I[F;T%Y/KJ48*;KO'+X:SQW7?2R5GT[(U MH_=I7'!/)3C=17=AZC['8T*ADD@\LXS3V+$5EM$628$HA9C# AFUI=I=E:<. MDK>^YWS%OFWEM:SU7W*2Q;!M?SCFT.=K'LN6^YTBVW,0)(58J:8-=4 M\U[3H:JA/4?#PZB!.@G*A]/.?"B,O: CF,%YB2>5XNLMEIM9NDNPAL#.4V98 M"=1!NN)LHX]%/[77\_C"PAG. ]/(?3$&-.,?KY^0TP=>'\&^Z)! 5GLSIKM6 M1$%B;U-6Q.-0&Y5G'1.:#IVYL35CSG)2G7NE0<\W>/I)EQ:T20A1%';.Q_S# M/;"<>KZ%L=VI?UC653PR&FN_YN-,W85]].TIC%0.$[!R8AT,X@'UD,XX;0_& M3Y:/>!S&G1Z=CW6A?Q X+ ._9'/P?N+CF2,)V-(KR9K0@Z._>UOE>1O,8@YR MBMC:C,VH[0P8394T!)&.I8B,&;?9;W)5JR YDIJD!TG:YW*=U#+I6 *<^0#D M ?PU,KZAN0>6W %IJ0>3Z"N>]6.KJA$0T<"V%^,FA9/E+VW+D67WKU?Y)'V< M>3'HTX]0Y'8BG@\DPTAW;_^O^//A9"\%)OMG">8"(0(^BT/D&NSH*CBDKP\XS\R%&J$ M$L\X5(6T=K46&M3@]+,$MQ1D*.SI+(1O-D/>L;'AY/(;(]+=&^G$[I',:Q&) M;-E'H,I),.=>Y>IX,'/]WHVL '=5]LOLBWYM6]ZU_!93@'#GTX[)3QZ@@DSC MBO(I$^\-9L29KF>!%[>_:/'SH16>EIG_]2[\FX(QW+6B^9)U:GG5^YWOWA_JV?%E\7 /UQ>ZSC(9P']+^L+>2QH MB!+K$KUQI%?=#Y.6]4A8!G.N)/O0I??Q8UFI:SOAU]:9__CBB+_6D45&=MT6 M(F:V(7"SP5X!R7JA-">WUL-GF[.C8PI>G71;/+H#SU?F;I6@JM<$6[JJ*Z;& M.]ABSU>%$KNVQ[4W]79KTS1IQG)J6R\=E43!&8+'P(T*--+T@>5R2ID3F;/P MDK[4&^.Y']=7MO=(3DIVS-3HH8*:S@L\("^Z55%[R,]%2%O"]AZDP@;"7> ! MSXD#1#583T0RHD$XZ>G2$[6!AWW:?;K][UQB;4(>80$95-W[3==%KF(% M#\0D6CPWA9%J,:(=:DB33H1HVSDZMDO%(XTZ!,^Z;5Q&>CDL"\\E7'H[!M6, M/7O!ZH%ZN^".U<&1*:P&6A>E#3K1TWP8Q($K MZ>76FJ1=;G6?#K,?46,Z'6(% YS/*G,C1M?!4JY8$L.%:046L3;-@]!N&VUZ MNJ% 1XVRCJKG0$DF]'T8?KHX^?>/=<5XBDF@J,#'Z;Z_5],&XPY)M M70^2%9<9ES&7.O1+NPN1F0?\@[@G3E5VSQ7J]$]A=G>0AH ]MIL#J2/QOM*< M^QL%V*#BC3!"N0>G'A5)7^@Y/HF[1X>DH 3035<)/NUM-3+6O[EU,&9OU&\/ M4/JP56E'?-PP!;;URUUI.F4,&2;A.5$3IOIP2GGHYID(Y11B#G4P_Z+5[ M.N0U>K$VSH(ISFA.AX5'S)A3NWE HU+3](4)Z GZMT9,",5LJD:[X)YBD'__ MV(SF_H22]&==) <^Z.4XA8V2$218*E::E1<\MV.+J5=5_+EG:2L$[R<9 M4:3R%6T'%?*^]Z/)7VCYXAMEEDS Y@XH&,!R[V+5TWLHJ:4QU6=R'U?X-L]$ M*%K7Z6?=Q1K%62"L+++;E/DM[.3/]*@EE:I$BCT/$!U(_$9+R;@T7+58K0K1 M;:>VG-2\$RYPZE)WNPC3CN&4S0YD&;%A#/U>!&11Q1=_F6PH_70VI DGV>VC MLZ-P;WG\4,N-%YL#)0P$/]-DR=-Y>#\BN'U;!WB9-'SB..C#^#)HW!Q:>:IM M%,0@4EP:QS=O=I"XGW'!$MIV!9GB<'VEGSBSQ/3EE#=ZAUWGXY@CV.N59;]*\\JG.\;_?KCWC)'];>\U=M:>E_(NX5QN_0WO^2MT MPK SA*7O6+0PZQUF;[LQ2"<@!6,D?W;X]7I,I!J:?'0]K]YJJWAK!X@5U5VL MT)6YT[4[M7LQQ%R!68^YB)E))@6FHI598U=1GB"FURRA7LMZZ#SXM2%SX5&< MD]Y,FCZ(:G-V$)5Z,,KN!ICRC,21=\6*GPQ74@1 ML;D$;8IW8+"K[]D[!MA_W]<6JT*+I,EN-K8VO< =5A_ MQI3:;U:!(V>LVQR\D>+/TG^"VT.<#T*"9Q&"C+/#!O$-P^:&#*F/G]ZYI]Q( M?:(9U:_\FEN"*?W#6C_C,<>D*,08E4T%MT66V4%(+0C#@O2IP:6W)(HQ#H^Z=7X1(H7O/Y&*Z^Y*4. M3M>QDP25-41+"U*K3S "'29(F7-Z\N[*^OV[MY-#U#B5%_=\S[6 (U#LKWC3 MB]6#X6 IS#(<0%@7&.-M[J>=,=-8&94@GO=E?3Y2=%//^NTFG.M^QDV-'P?_ M%:LT'D"5U&+21I>]V;X=@'S@#>U,7'K/A ?W_=6P33Z=JL3 MIE*@]BS/PJI=74:P-G,VB6=_*GM:+ORMTC:,@;&YRL8=8DU@[T:Z!$8X&L>[ M?!1=0]H!)%:NJ'4V9?W8I;G^"$V_9Z\>89M9N/[F/+!HKH;ILFL_!S:Q^&.- M4QJ$3GZ+3/:X&,P2HIH_^UH]55^)7O9OSHHZ4V2W?P9+;#!N@\;)+&*XTTVA+5K< M*$.SX!INB>)"=QNOMO8O,',A.QI&=/D][E? AGR7\1,8?DQ%@O8;,R)]1?I0 M[&O6(%%>11=U"D+<,$#L[==,:6 ^_QH>>;[HDFOFL?SOUSY'L>J=>%ZR"$B) MV:7^M5O@%OE);U?>QEFPHS;DJLA >\IU"<1O:76-7L1BR0X@P(@"G.IGM!OA0V"V73EEH /RD%7EL?#'UCY:Q=VV.0'K I;E*;)YG\'W= MK6OS->L\S<8A+^.E!FO.H=G1D(IROGKC'YH8KI6[VT8'F9H'M$[D?AC22 M[W<6"NJ M7GY16*ZX1M9_?;_@VT/>_:_.-FRY]F8&LO@+P0I:3.0L&Q5?M>N:%J ?[6DI M9ZBD=UT^\$@L>>U:HV=W7VSVF=K3ELIBKJ;B &T'F-F@/80&2=CT3B%FS@[@ M3Y$XD=^_8%37.JX\T>[PS3 U[>7;0]LZLG'!EP+FRHHS![=V"5VGE%+"Z:[H M/H1DNQE(9/%S(E(;-KB@T9_N<1@R+E6S8%1#X!N]<7*X:5"ZR6D)$&S\SL]" M(NB7H5EOD+L-%&'Q-Y%P@@M"2M8U-R?[9VR/;7G^:'VMUG4;N-0]VKR=3?ZA MC[1'C^"Y.F70L[A:6C6X0&:-TNVH ;>;CNZIX=NG?$Z/+SQ2Z<(X]]15 M&[I/84:?80SU#>C@0CX*$?.2<0E"&CXZLP-H_4J0CS30_=7[^(/NY-ASS]X/'G;U@"HS=Y^=E%G["!(1YTJ>S&+$ MT#D9,&89PY6KM_\NF@?E43>*[N%-=CL9&W?1C!K_/9=\_7UCPF1 M]%"VZ0KM !&8/9!?-T*DW:I\^0\F#77"\(B(;;2=]N1 CCXWC6=P=^V3MR*W M%'P;%SF^#O\ELCPLF#T).S5(4X.NE#,N4F&I:YKUKRBFZ@>U4O-#^4NTM#YN M!8@EE#N>;=N4&YZ,H2)8?,%T =1%"(OHQ<@P!)K"??X@C9VET:]B KD8A4T1 M19(JMO/IJ ]7\DUK0GXYWL0 K#WH3S[\::3O73IIK;%IT0_?> A(7MXRU_UF MK^3_#861J3/NB/G)84/PD08WDE$(?Q*"+^A:04!^J:=*1RKN0D3-\/_LE>;7GF5$904J=*F3UZE@V[TI&3JX_4RK]]AK//"^V,3R@6, MQ.S>[GY\60CUF>[.FO+1ZQA![T&9,'-0#J4SH4CYB 'P>X:A"?RHG,XI6\7F M@A\6$,QHH'A6)B/PLI(98%YA3(8[=UV?7%!JG52=C)D7 MGYCV-[[!C>,#URXNW-2UY[]Z/D>5^G+^\ H=BI9%HE=(Z$%$&/>S3U M1O(RSD]\'8D)5^VY$:8[O[RM(7DE-F+D:DU5K![V@;.M0IX+LJR4^;ASGP\J MIHU9'*,C)( 7]8D[8WIT6R+RVXF\7>XJE]QF#[Y@NTR,T^'!"& <,J'Z=6'D MT.(_$)+F\B''-JRI>PKEOF:T1_ 3[E\V7RV.L$:2_"_,M*NR^-CP*;[4@Y!& M^ ?O -=,.:G'5K:L&RE[LLO+.NN=S*L1AM^)M5SSQ#4A^B4HF090K3[<6724 M&4#<,1?R\3JBSJFK%?.2VVQR=_EWEOLZPH#J:'!L8]'Z^ON!_W]=';;L[(J*]"4X-[.09Z@>NQE$JJ'ZD1SXYG M,I#_(BQ]X?!8M,YNQG[P:W\/3'A^)=]>]"S1X.9"GVZ1S_E[-HK/;WY0]N4P M,].@)3 ;VVWH00RG0BL(2=W2O$,] M\CW/8,:CIRDG&^LOQ<0YRF8 M<=KQX];NV88F\[_;*,8(_XU,9/TB\Y6Y3MQII/#*R+++Q+4_VJ5J"8;2^Z!' MS]YNN55PS>Z_]#NJ/C=[G9:75Y!0XB(N7M.U6_CU90(_E^VP()?386 /(,JQ M]-?!%I_@:E2[=6X3R$,$_'0_82:B,_?ZQ&2%;$[EZT>?(,7LF<.2UW3+LV?% M* ;_.LSEJO2WT!.!K4MH!5P;/3*_*4M4G;NO468OVHTJ%8PG(USV?KDB[7_: M^S:GY(J%@ES,!=09ZOHCL(*$N]VI%NJRZ1!(ZN#?.-]V5Z>3ZMF]I5?=PFM1 MG<=2A'*7C"FY] AHEF8'YO=C]Z(,021!2,(!UV.,%GJD]>M)!(VV7X]WW=MM MEB!]B"?HR(5/B^_/EJYEZ_1ZZ].2H8]LT?$+(E(Q9Z$')#D-PD1.,%J)RO4V M]VRJW#%NV(4H'?=+NG6'5%6%\P!N_J>2[/AE"F=_/AWV?/('XQLV4A!A@W#^ M57.%NJ/5MSIE9R"/!6]I#6ME0N@5DV\VL5X1]RM$M9+&E,I U;XAZ#IFS8IJ MLYB6V2YK:D;5L!V-C(9+QCELL9(K%(\T/>+3]D@HB7\V2P[TGA3 MX=Z062P9"QT8ZHLGZO3B!'6^Y1)$/F[N .%!^K:7[L;5;3=*<=N )375Y\/@ M,JC#^+IJAE@UR;%WB/--*G'I=/8K*+;O1IBIP*.P13O?-HWY5-^S\WDB8]?? M\;2A_P'W+_X=[L_^ ^[);(2'-V'6V!J(2$N!OM*1#.?)*D.,:%QA'Q),8YB" MIY,B:94NJPYCW<\EGR%_!9L\' @\^(+LVU:8_'.;(4+O\CD$(=@OGC2SD:JS M5A\)8YP?UV; 8\TJ7K3_\?_3'R][N44R=_#Z)1>->P*^B]]:$=.3-&YF/MY_ M8U](YV$(":[ (=N8='IZ1?7>D SMR+T.2B;'1=XP/QR_-E\FH2#4BS7@"*2= M@'!T1X8W6%6Y%#ECL^B?1H"J?G%A^'[8OS+87K[D%$AYFOA*>]W:Z+'11";_ M5V;DQ4AB?832[J7'9_]) AY*"TA@B^(MJLE2;,J&'W4W47 #?O)S_12A MO\[E Y]<79W:[]@Y0LOD9:"1[Z#%[_XE301;(29CZD)94+N@MZ MJ&8.9=&8T]_/VML6#NO_X_#!_-0PDK#YNU(**"W@7O,%R"?@5UOQPHP#4" ] M@&$ A2]5WT5+MKMIZD0/2;H%U7H]L&JCZP:1FT]==#ZN^SY[P'+J#<(4/6&T M#0<=-V8=CS';38]P]H)TLNP;*&I)K(0?U>8^)-[Z[,R8Y.]"^%M"7E&BF<#Y M'2#=C.T-GJ,;-NO1Q RCN4:N?E-*^@)P$;9KCFWD;R5-Y"TW"T4.G?TVAIY%OOG1J*)UE(:8 F@I>[%E* 7'C19#\8#>>,)0N M,91)L0=V?FJYD<1I=,A[=L/V.Z?VEYIUA^AQCCU/2H/_6*4<=(N#E7UO"QSA+Z$XV?W@,-PRIOC3O>.(/=?@7.;BK/?RN@TC#7!L77NK M3:;.Z]T[P+2'E\N(E[V>Q0Z@X27Z9%<%R.M[^?)[CE_.J-A8-N&=H=,6( H5 M_A91-T3A"P8+NW""AAMK?#'V&,'CY2%')\K2'VWS36D>4KIL]+@)]>567^<; M9BGFPL;,!DDG!4E[047TPOE1YS]716<&6E*Q^5KS]T=ZE(WS/B6*9G)&^ ,' MR^_%1IQ-+UD=9741P?-R4=;4:%P %$NW>EAMD'#ZW.TPE,W>6>4]_;?T]6NV M];L12;>!-?PEXLS2DL\MZ@YPAGD+$]Y<3UJBVXN4Q=GTMGKM$G 47UY2?E>3 M**;J5'6R#/A]5:C<3V6##7=LQ4R>BTM;LEFK1+S[-YC?^ ?,5R+,-!ZS ]H[ ME'G^:2:NOGIFJ\M5> H:6B3>?MWP1,3IQZBER@>GCV']K;I!4)&^)DQ0M"&7%7Q!=.K!.5U[JFMR)BOVFO^ M;WA> ->QE!?4:I+5)$.TF$1,-3>"Z*>'347 T.Y\>>,)U?'2F::CCT=Y-4DG MI(+],VZ_.&'A=A/B[N DP2F.5!/:GTE#''^PS\&=(1/1Y%+*=K$!D0O;-<.T&U% MYAH+K]1Z;7A]=RM*:P^E+@$GF7-,$K8@?N;-WJ=;/O.B9RSW$01#;M\5$[;> ME33,,>7$,T2L:6*('*==8*9K/AMO%R!A*%C1WY[:*+^J\H\WXKK.^U=+'(U/ M ?)67B*YGSCX>X#(3N73>[U#C?\,=:=_KQ5??167H%W2)'Q ME,]#23QV\^.C6DQT:!/;7&(<#5!8A MKH72[ @W,_<)S6:VXOTXP4G:#="F%S\M<((U1$U;^[W/!_*0S(]:D;X46MAF M=VWQPR6+4>'/ ]DV^M(_F9$]\CQ_U32FR]PPT^:MI7\#V_9O:A?7-<8*3GBD MY;T]L0-0"%<3Y7M>VNR6!GXY9B)$ZG$WB;RF9ZCQ7@ZT(JEA[5]V2T+)BET" M=F_B&^>+Y^Y"?C139E6G(+H'4VN-+4?9C:\S/*FQ9%K%E24!'%?<62*EH.I9 M3-F;^(1W+9O.S_8V?;(TF7O>LL@4 F,=L+0??Y/6@M!2U+P7UTL=EC!IZB]# MFKIA"X1HQ4V5ATI^L1M^@<#2Y7[3;TV82Y@I3EH0,_VGD(VW=M<4,I3="S[U[GXHOB?=['6R85,F?M>E$;U"$" G3: M2$+6G6-#>AKEXX%G9"TEQ\:)&-RN@:>>-D_MPC5L.M\?,K_H?&E&&6&2W>7B M^Y9SAJU[<#,"2VV,!#!VS9NN'7+#.HT\)!ZT[3%1LR1T=9!R)JC@DN8YE,OW MKP6!V>X6F/N^EU"SN8GYM/O,2KQO9/J"/!A)^4@5L(>2P@9;$V4S[2U=R!085M]AR7#GC,=>!SOL0%2PFI5'P=*V53N#H@Y?% MS^*&+-Q_.ER$/5&Z9JE5.1?(S)]:&M\%VWT7V'*P2^N&00@R= M@N'$.)SKR+>MX_'D3]?8=#B@%K_X9@?8:ZBE0[LXAN:"8EWO$LY!#4MRB.YL MHJ/"B?K& H=M$9-]@$/VVL73N]X[AF'W0I%+&W>0(AA?;"*F_L&W7$QY7-WB M4&^\F89[J"0[-FR=EM!Z\>GV7O'L(JG*;>$<=\G'WSH[F54[P$6=9'AC7R$I M4V#);?S+&$._LO%YWHV8[_=T]$6LA]^]C>"]6G+_(%&;4W"8!QN,!)T6B M+)D/$(M/D%P;G0=Q@E;^+T-NS#]YVSA<'RIYS/JXSYMIC=^VQRB_^;ZZOU-+ M@/4B0'O'*9X^W+Y+4!T9,5ULA7,O^C+G)=K2/1<^;V(PMCAJD\X:':UUP"Z\,?\XGJUO&<<;9@O\I ,@"_T$!/E"KT^L= MTUA"G]NOD]U?8!U&# 8V?O$I)+V(N2DY8\?_?->G:Z^ZRY1_ ANT^9&*G"IL7X:=K-B+;'4+C8\A$D: )'L5P[F[QX)PO M>T[L0V\5E;R]LL5QWE"+DRT8X'0_E KX$DMWC9LEV]PR5UN1*(B\C3*CBKAZ MKA8>2!7+KJ[\,M-YWJXM2@U0\]HWFX2L? 9)@,_8- TAGY9,N42UKB1-U9O, MG[5L'K@@BU5(#_Y]^<,.H-OGILC9?1?(7<3VZ7"AA^%\T; ,XIX-UD@QE.Z0 MM?[QCDSQ$$PD:62$H+3G0\JUZCWL&/6WYT@SE:0V$T]4/Y(.* M6W;--QVB^A-5UCO7@,RG=?L?5$Y%N.R1T*BOS72./?IKJNI>KTB(CV'S0V'PM[.RSTW8TBUV)Y8=X+-0X MWZ-%T 1$+?PM7J()RQ)!#Q5)C\04MPV.5Z[%VG.OK6^FYVU>Y>,)6#B\W'NC MX?]@FVE^M>I'^% BI(:_A;B$F\&2_A:E$Y]URX3W55Q>4/X<\""E]538JE#) MU+LS(@[?> )^U-3(J7%.8H)A,R:D_+5JL':5/-1K3T^I28VCO%Y[[;M5U2#3 MPB?L,=N?_>WD%UG!1$#Y'H?2=^]X%G\4M7]QO;08(M JF,FHX^ .0.IK*[,* MYLE0IEHU_)RY?H]LW%Y_AW,V^?.#V_Y=@,D5'SS=F_6^M91B6,$X-&& E>DJ M1A"(=\3-5;,C7@M]B+T3(?O;A+/T@Z>OH.-[ ?G37-?S&>)I;D>Q:P%HGA^T M@:AJE ,U*Y-$A'D4N:][T$PRDB8!RR:S=.P9"^D=H/%Q#4.?68H(Q,\$?![W M4,V(,)6IM)?Z?:EQ0NN]Q2<;4*5'[>U/+N;J%$N9-;0#[#&- >W/03SAH@MB MX'KEKEE'>(J*M^%2Y@N7N"5=-5[E+FL ]7ZMU*3B(ULF/D5R:S/._5O?.6ID M$D/7H/H5A"1<#BD0>X]=2']RJ#]&1H<>3KN*!_5,)K#83E&4[M]R;JQW"Y*% MO4<_U;QT8[O:&,KJ18BYW'C!PG?'-EW-FM8BY[OZV0T$P#K.WP6 :["(Q!I\ M5R2D.GD3I41W9_46&$XFF_K_W1M9_H/R",^KB3) *Z9>.SAQ57GTR#7?EL/T M=[*'$.K(D8+?%21'ADB\[3!Z?Q!&%!.$G('WPR4,'?D=OD&GB7W&Y6'U+6GS M+6X2BO9)2?1)U7LR,C>S?U8"EQ$<;,#!I"#J+IDK-4+'GSJ\["+CA!TK5_)> M;MJD>-MG+IR_M';K$,"?>!DX\K8_X9]'8A)9PYBFSC2PD'P)OPN]#R5)1?;" MY::G7JS_W<_AG55W.##]5FW[7-.@R&&%.GG. M_-C$IH58?U ?C+MYZ Y1#K]82GRSCO-G\T5:X7@['Y63M(2TE,CX.<2[G./I M#:'5O10*N/V11\0>N>HTYUB86"YT)H,:'J-_F_9PJ4!W2$_$:4?J$>EX6#U& M]H?^"4R4RY">S>"\#-6)^0=736R,0.(/MW]0)9 MC\GZA95@LTI^AGVIXR)"SFON=\'+?-K#ESE[58]\R-[-R:.P\>"01 @V"+I# MW\,:%V8$4N&]L&D"BY^#C.0.9NDVBZQVPB?:$7O:A-H+CZW7&>MQ1+"#6[G> M4XZVD'+L.>:#'< ?";"%,$\[V)_RR\S>[7-,QTD'QUYSM4EMTU5F",L1;SKT MYV"6:&"%> >@[]S72@Y%*QA G>CIJ-MOR^]Y7R=^K6++:JQ'\P)M;7U8V&DL==:.9(*=_QN2D[RWR[FL) # M ,'S]?\X1_DKW/74<'3;DRC/\?WU=;5-U]?7JY39N*^8%QM@>C"13QD$JN69 M>'PH KI8/5WH#"V'/O-8::(U35PKB,B_?O6B_:N )\[Y5V]>K;E>ZQNSN3*9 MZ4G -V'6[%Y;@;F]=[BP/3A.K^/%*V>_[S7KT4P*$,@Q.J*NF)'=,%GV%"8W MB5]\A=G;T+&'3L:O;=/Y(6(_1LB@Z?X\]"-$V$W@X45E.[,G)=GU36>$*K=0 MN.@OVD+AZ,\L+3"-TL6.(7UL7$4D%62,*04=[UF0>?)<("KT^LM/VJ>L+$T" M7)MR%#F4E!?O69I7+%::.#*S\'[A)O;4;W6!\:'@)&G3YA718X99I/%P+?S0 MA[UUOF^PXU^QIZ_XG&&/?!URC5_< 2!5UY2_BU(ZC//+">6#?HJHFS/KUP5/ M\FQ[R&&Q?X(MY(F@(CMB]_=4*S(FX'KN#+B2F.C;N7'4;/Z M<-FK[[FW-\=3..[,-LFZLIF$+'[Q'J9VB'$0)XZR2NM!JZ>115VV"^:0(K]T MQ.?-?KK>QAZT4_VDJ%NU"W?OL"4A>2G;]7+9824\2Z&KUK(%[/O'H4(5)ZER;4CX#8Y MOU?]4J$W?O1;ZI_U"VEM=+/QB>7+"Y6*)VI%YEK,5M\X3L>2E!'U!-9$7D'X M/#[C $BDJ8S3)BOE.CZ_N=SU\LYEE2NWG(;N[5*5LE*J [$I[8:+.@+!"WQ@ MP)W(E\M''>Y?*PB_51Z>M< [?E QZRW %?2?COGR/&*-X1IBNXG3CMTT:2)V M\MRXH5;$]IJ/-(A/>RVT4%KI?85>&&0I<_O=X#[1"*?3[I9?V$%89[;.GOF, MI1Q"Y&ZW!WG(,,*&6+!'R(K.RSB"95!.J%%"^L'W+6?REH2:E.5>-#8259E- M[5=(^$0$>&8H"5\OT;N:S9/L2CC*RA5_IK>.=1@7U"0QBYS],^,?PX^?)T&? MV:$I%JI9Y&*^8@G%<9(:"TGV;9:OXJ)(G;5-(J%'BPI<4>'*KU)$!J0$RZJ2 MOP$9X%LY[4QP]FTE^TE.J)]NA#H-?FRL("'3%_A&&'[BV7&E:YM#@3I35?E M1MU1S_>$:N#GQQNE%$>Z3)P?[16$>8:2FC3%5$)174=CNAMK2'C!AY5C+C>5 M=RU,S[W2[94I?^,L>;B/@W]PJ[.-[@2=6TI]1=?]>X3"5*G4[N6Q!>-6T";# M8.#2'$WH5<_$-_5"3G6Q#[JM-9R*)RYRDWG:6!/P.E@_)KU3#]SHC9R>I55. M=,K'I1'NV4=HR@\C@Z53SN[U'&H(X$8P:F/YG_3EG%E/@RQJW69-+<5'=[/N^Y432M5@ MVIH^/8[UJ37\>Q=FVI'6/;S6*3TWJ$HS]3D$TA=6.J6SK%6*&V)^'YC-E;(Q5O;1$9._-WC>J-K M-3EE;CG2QV(/J=Z:HWX@4+JG#'V^H_,O^Q%P])Z*)>X*:BO9/1$P(F BX:VM_ MC[J5I7SV0_\4X !X5#_I-&3/L*5F.YQJ*B.O=6206=*BI1KP+YW M83\O$S3D>N<>63W,.N&KNWC39JU>@O*]&]B-JA=$2 E+DJ(MW4\>7*QR7< M76G&-IJJD]:1)D MJQF\<%S$E^4B(Q!QQY4VTD2AI>Y=8\S\6H&?Y;^=SSH .."3,Y#JC " M[':1Z%@,9A^#BTIK(X5KG!M?*\XC#YQ=^G WR+U+=[TI1VQ/\_M2GX8'=#%/ M E6&Q6]#/\6X!F[N'M&*C,;R]VIBKJW\&9T^^^/Q90_C.S:CEMZ(;C;EXT]G M\2=0CY/:T.O]Y-BDGWC)Y5Y]W8DP^[_:V^840B8%JYT8W_WB;\T: X#R"5?59SE8CPZDNMTW;:X7ETLN7=NBQ\=-OC7JU&N3,%<9CHA^]^NAA_X^& MGN0UO!I_LZ 34'ZLO/S/Y%H771MEQ+QO#O^XB 7LRI!>*T=3"K"W4<K-[A+ MBQ<2BK[Q+1V94@;>9+X[]M8W5_J>I5/H:- _Y$C6YN;8Z?I\)WQK%J]"9DE! ML-=!Z[MZ[G<6 0[E@IP63)8\[[CY 90X%4-(.+"UMNVC '8^>SGK%='_0)DV M>J*R:$H;1K* ZX7 P;,;V$ZCT2J6%NL#XHW-'50"2#C=EB-"'JD^'AA37A)Q MUNYUF&"D ;5"O0O(Z]J]7RAKF\7/0W) +F$9(O3>&Q-WGH5(GV[P)T&FYXJG M5_:6^TQY3QO$#LH1J"I*N MR1KWD65F(\)V@#OB"!%3.:KYIY79KLZCTLK7C(47K.0OU;;>-;TIYZ8V/9'>/R#G!DCJSP+ MXR-6^[G)UV[U2U8_[#3#="EA_&Q9W%!3_Z$=(-QR22;!?-L;2[[V@ESXJF%W M^XGK$]]<]:Y')";A[LL5*Z3^7OU;7SHB:.+&T!J.C)M6[3_KY87I;J->ZUA, M.*4U1C"8.!88Y^VC5Y54N2[L/)Y\:_&+RX$DMHFF#=(28A*Q+V&:(FM T(03=-H[> M?^-[,OK0CX+SKYXS;$9.ZS":JP*3A+ISS,=D:YZ_.W_/[L$[7^7+"RV@!$UD MDB%!O3E&N\M\@0CZ&$KNSXK.-/>$[PDYFI7+7>A?3%#3T+ ,YO!W][9SN5>C MXGAJR^<7";\GR!P&_L*F,+1*/)?_!#P*EJO"^07OM:TD91XK"2J^Y>P$R-^L M^@= BRWB!'> 2$P:?B\^?$,>W3,Z9>-?#IU^/Y.@ZD0/BOD\]39GOD\B:'-! MY*#VAQK?'&,.VZ=[OI)^0$A/LDPX%L5P 3B-/IGKG>_MDP M6%1HX;Q%AN*7B&L*>Z9-787IB+]IXNUF5->E$#1;0TJ8\\3A2;&9U6%%6\=& M4=YAS\T\=@M^\'UP6JJ[HL;+CW?JXOFDFNMT[;B951:_;C#=UZYR^1QT;9)T M!9SS"!_)KJ*LSU"_Z74;K3FK'<2I[)4@3AL"'H82CF3#.1_413^*.@EV MY%63,.EH_A&&_QYL6;?\A&?Z$71O] M'P0_+D1J<18EL/,=1[.C2<2*T:C B M&:SH0VM._,1P+[LJ.MATLV2:[>T37 RL]EJJ.[_O%5'S/_'VG1S_*UG5OTQ7 MO(UVGXG#! =UVFHRKA@G_^J7Y6Z8T/IPICZ-GCTD&EZ4V-01C6](6WM$12XA M,U%FU*A%1XHK&9&ZH [.US=.L*R:\:/KI.SDHQ_]E5Z'?;GU^]-5L:NE(0\ M$+\K3J(7_L:&(9K_%L%A+L%PI!YH 3?(W]+*[:)(D<*A^Y!&F;&!G!]I#]T_ M.7N&5#DJ2QF+SQ2BNZ'/8'(7$HX6#=T!N#L5EW> X)%VJY<#@3>29>X9:RCN MVS-IS;\R_^@\K5J;^1AQ,;3Z%EY4!Q.$SR)*&R+N$/=MU&^L_6#8OUJFNGL& M-WHVR<2;V-ZQO]QO/P.7H'VQ&P-W< 0/L33B_*0),(_Q9*"V;BHLZ M>;?[_99[BXC7@&AH@W&S\^Y$0!( ,Z[RS_^$3A_3R[A*$MD'?Z_C24!] =X MW;4F:E2?!U>)J[EZ_5A,4/2LG)2*]TB_X=S[P>]ZC,&]9VV'CNR&/:_8PIYB M/D==HQRTV+5):A6=+43-$'=,8T#]'C1O:WS%$QTW<.CNVGOS+[^5-Z?*?P\_ M?@!KN.JR!R4_%EM"K4M#4'JI6M<)=/HD1U FG7D!T("Q27$$(8V M+&K $NF8/NSN44UT0G%/N;]S@/-@T8NK#S57?Q!WQ73HO"6"9QUO%TF-5(M[ MBY W"!1X_U'!5]DB@Y&%,IF/6*HN-UWDKB2O6L@A^I'0@::U?KHCZMQXIP9Z M6%QZ^\YZ5?2/U]$=1DL]^4X>02/E0-_,83FC.MR3)O&S . MT!^NM+3!$$E?2KMMB!"'X*3J]+6QMT6*K6U$S NII29H_=3_9'%.I>WT M=&/X4\":G,CE75:>/(4)P$WGDF+72L%5EMAD-]V^R3Y]0*G<:BPQT[#V M<$N[RE_A>HX1]VFV@0"B'(LN1-#!,0NW-^PG,171X$J9K&8<@X*+%XZ;FL/, MI9MJ"L_O?1-7C&]W#8X0/EEE.7"1T]]V=T*\Z!F"]#\W)6>>_$>ZK]@GE#O4 M *XN!A+F'.N_D_C"10U7L&Z*> M+>LGV7+)!9H&VT@P[%IB&MFZ.";TP)O(70=RE(25S]K>.OTE)SC;.,(IT426 MTNO,Q","8'#6>*<$E$ B?J,_NO M+7@W9_0-(O%7LUQ^FJKD\\:6.*9VF[UU$$PIQAMF%" R'LLSC' M,W=W !LP]0'IMD&;1ML[_._FV?'K2V\MO<_V8-,8FBT43S]@0Z88DU)KRC&7H.J>K=#@9]ZG4L?L9L+4D5PMYF-6FH*2(+5=,&15ZB5ZE2GOSN3@^A(A*I]"=8/7\5#2EC8R M=P!A0UP*3GP'N+0AC3*<_)EIID,(>:?]DUX8FY!>NZGBQNB.2MFH >VL.?OQ M$9C;?WC6FMC MQ>RHI]#N>R#<0\L/HFRC/_LT-W]V^_Z<&(<[)#_G1N!0E/2 MU=PM[!O3H5?@@LY,,6DRLYWSN4>(N$8%A"%Q]=W65FY^X[^EF!K:YT3^9OO. MQ'DD]I 4]MY3.!H*ND/R1KB"0[U8[B"6?M/(+\\3!:.> MZ>IL='UIS.7]:&+A; F\58BMELWHT@P]YNMV$](.D+8#[&MX$C';?4-KI&"U M>T;\:1C%T$G,17+=](UDO[#W^W)7'EE0XUO;QDSZ<6@IGJZ+Z;*,=MA?G[L# M\'40DU#A+]KVA96,/P^]EF6M$'!X_4*6E:KLR91$.\X%3,C&U&P?4KX]AK21 MO@/PXH-W #&4 1632E&IK^L[!1#A8-Y545*(.SV+W5#WNCMIJ8''U:_B_OF M<+EM]N2V6MA?V$4KX&&(Y+*112<8 ^)H'LSV!C@_2G<\X,%3D%5*NATC0]EW MQ.V18FUKK.#3+Q2$^K'8J[^C5C!UKFLV?B"2O.<9=8F,[^T()2-[*L\Y>@I@ M)4-!FUTS[JGSM'@3M\V\FKS?MW?G1+W;G;Q^GZ,'_0E9MP,0-J9C%R?N@ C2 MK=<#)3_NZ?5KC2=];WDP-Z Y^@;0;ZO3?0L$LH.J7,>_<\+")818L#D7B*Y8 M"K_Q=7_-R,_IC>J [#:B)#.>W5:2&?_&@=#YX$:S_&% +"&;H#\H<P(XWI)B+QQLJ>C),IVG.$8-N![,>>S]EVN5!MMU#Y$=?0[ M3",\%1$V!(.JN\PU(/^RN..]"Z)MK _4H:2&EMVU'E+.W0_N';QS\7(M,'N> M49HA%K"T RP^/*I]AZUO55C[H*'CM7BJ1!=<=K5(N'Z\NG*??6%<9/0FJ\ MS6\8\?=8KBM7%9+V[P"W_F:&F4//P'E\K!_5I$O:-2.ZYT=Z3$"_8YLS6[0D MI5K+71FJ!**14NP8NP/48B@J5$=7J)JZU#V3GVZH,7LXK+(R!B;LK=*8+7HE MJ79"[9(EWU54WVK>18),%@K/XK-@J4$Q2]@L9&T8^E#G)$,&Q/?ET8H$QF/X M/M1:BJ[JV_OCGVV>.G.S&#!I 0(Y2ZEL<#=L@*5W*D$5H"NM!2H$?\2-@O-Q M;;8@JTKYYN;50Z,]_H,67Z(C"WU)1F7\9CA:%+.0)Z*Q=IV5K?GC,3&E_VYZ+M[/0?T:RT_? MM7XVB')L$AG[Z+0D:FEZ)SP46=O??^<44L0O]4JW_ZSZ2*S8 MZ<7O^0:O':#R;\H'>%8G$ZT.NC)$<8N?'KU 24ZB%>Q(&%[B:I$T^#+U\<+* MI)Y]&%;#]_>5;@4[P4+/ (X^/L.?:5B\7WJE)VT*Q%(>@&/]9Z!K+()M\R@J MZ@)-Y"!TMZ=LTR],[U9T!(K0QO3RDDN$1["&WM QM.JI"W37W*\)I>_E _,? MK\U/1ESO/S7,,XC;A0E$L@E94P_3A);*;& 9/A&747FX#.=AB"E(>[='G:#J M(=_%"C1.*^W2FS)]G8@J7H:EX6'M4F!IU]% C8-#4\^.6(0:M4X%KT:MG93 MYU-#U/1X\LP-,%?<196)T>%GCB+H4ES,,-[9/6L4_ M(\1U*4Z$%]^WIZE+WN. -3^[*+&=HZY@_O5/^5T \EQ*HXC1S[)FB;M^(:;M MNS!O;'IT>*#\WKR!TKA<)+6OJ+%5',L1H_]1;"PJ]I:@Z$&-J[R"UF._X,D8 M_QT@55ZT';I.EEH+:)]@24-V[0@2T[U*WHBNW[5;3TK8,^Q6'I>"T>*+AUFG M0T?*_EOR*DR6^1Q_J0(V8[\$(R EH>^]W$A^B.=LZ^<(%%RKO%VZZOD9\=%@ M/@ILX_38O5@_22T<%S-;>QWOZSAKC&0FF3I$*:-W4>=RXW(7Y[\2W9+])(<#[4D+*I)E.,KVY:\'.$^D#Y-HGGX>=ZZ!D(LKNW4R*_K MK\]%#P1]VMX7)B6EJ=7MIR 'F84^ :LRZ?&L.6GY0A*>;P:)_DCD6JOGRWE! NMJQ9K\5D#"JOP-HW9^MM]C]T*LOYFP"$3$&$(Z:_NT$JY#L3 M$^2$)H\]Y7YST:M0U^;+_IC?CR1CU)42+16P3UB[T;.(>NS:$-ATBOD('P2? M"B2G=BQA^(.IR]('7BUF\OHL'_UY2"&+K_-SL^81B\)9H0R)_7:;_7/13CSO M$;4Z:WLG=H :R@[0C9DIMK)\!0WUY\2->8_4%VXFGVP++=-6;+P;],EZJ*Y/ M\AE+791:9VH'T78B^")-E*56EW<3W:W+1U MTKU^@%;6_25*63X, YK/AXX&/87=-#=&&0XC%A\@ZM.2\"&8E-;C4PSUR9]T M.!?CS)COV<$ ):N[@^=\C[[A->[4.WGH:Y50 HX:V_]Q$7%S014J?LZ[L2>3 M%#_O,FQ]O(3E4/?AH=(&9WWT:@$R$\[;+D'=()W&@U'D T]HE3(]'F%YL349 M$4Z$K]E\/WYT>7O6'2SZW,/J0W*:JS*$F ]_1B;N '*,T)=QC:O6-\/-!0;C M S>_C!T7N\FW&X]Z?6+_HM!3G8_U=<#?#H>[*= 0W0>:I/F,LGC0!"*OQ]#Y M\1B9>7NR1!].MD?",=VI^=&CCZ_C(AL^U-P^IVS$CQJA[%]=KTZ"USJ7$M*1 M?% %>;LGP9.LBD5I!+^R#%T*#_YP+@R??:GYCI]UUVU1#O'C^S.OBB8EFB&M M1^HQ>Y9=_L#2?A:&"L@<=M&PUS@LKO8TTUI,6!0HYP$XDES^QSJ[G$O(+&)M M=?_0=!VMH979AK\(XW2#GC < L+-55"'BYB:L^>X'F3.OZ[>U"QY7A?XA'0; M]JTU_2@B$1^"F(VDY4+7J6E+U6^1D#.:%_+$F%>\#/J3UR2T_JIR)2+)[^)^ M&=]4O:<,HK[O+Z'[=.Z[0#=82H #$+SGZ YPEZ%*BO>4L^DU7HXG"S2+;G0\ M471S)JK6*F8([BF54GXR\Y_C"O=[Y:!'%RY7G5\+\$J,WZ>GCRPB2B$6"S'" MG1SH3T;$>B(!+WJ@@[K5):_;09VH(]L'26&:,H9:-X<"!4>N\[;YL11KRY.^ M"R.?1>_E[1+EZ&9]A,,9$O0S*"%PH]^1XY10:H=O;4?+Y:'@P[\#FE 8T:O< MQU>;E&YJ+)K)T/!4#)M2+[Y ROVJ3L4!OS9N$T5>-C> ^4D_/96%W8,]PJLE M1.:]C/?V;)6HYUP]G"O.I+OI3UX%"<>_/),P41=+ MJ_3Y]GY ,8>&XMH*\ ?>04!$V&-!)YY/1%ZV;L',P,C]J0VS&Y :IK<0*0K? M-[<\>3D.1KAB6/6(M*RY;O7!_,3*B]VM!09N7?CY]7]H@H@\M -T MG4!<1(HS,,U@*05&-R.Z!Q/%.Z6)_?&DPO0U3>G'Z@KWIT_-)_F>%/]M&7LN M:;__GQMLR(E<4NU!S!)H7Z$CU^GJ&(+P"G)/1+MMMCLTV.>C,O$TWV$L/.7V MF%EYZ5#T!PE^B9?KI1O8"I0^W91Q$/Q4O$C<:T7J;?[,X"&]'&XWJ7#4N/[& MO?YRWXK%?K9/]R:.'>?,97VP,'LF&"P.P.<-,//8K6@1I W%E( MCMI<#Q?I%$6R QQB22:8J.?U^KIG_+ C<9_B7B148!21U?"S%[5,566KZR0_ M>AR$H/5# I7!-X+:QKZ,=&H$-VT>U:XLO25_JDSX]/)P>5)S$KVL!3BD("_# M)JXNS&<,,7"5-@H)D7!W"WPJR^)""8ZQY&D#[WT].P I*'$&*2,&\/NLZG4BSDH^51]SJ3#1&F-36M#ZC&! M?MF4"(N>JQQ2E07 UTY^ACQH\Q9VZX9.%SY-O.G0CP*NTNF?T/KZPO5=$9JQ M)CFGW>_\E'H+ #SG_GO)98ZON$;DVJM%W*S.(G<=:-)7F_!PX>!10ER2Q%1#I.MY$:TM:&J#8T06I@IJDSJ4UT MM-V$C.>?[YG1KMY]4JDIC_P5U.JT2$I']>^N?:8,:RI["GN$OX2=TC@-1J[= MPW,C@BN/#GI\1EF2MZFQ=\+6M)6S%F;/A9:M^V5)9#YH[+MP6U96=\\1E^_+ M!?^EI$8[D=8(<6'HCHS=$YU^^>0AE\?OVZ78KJ:EV3\9"B ME;U/1LM";4@WQ4IK_/?)CD _I#7O>;^XRM'E4;O9<62#;O0#P]&IBK).ZSO[(V]S>G9%J_1A4LT< MJO":R[6%?7I*NY>^ GX9]V IF,6_=1DH0]3CM#/@Y-O(:1X2!,4_0\QHMU^@ M%O<=^IV+G)\[M7ER)J%EZ/&Q;,G[ZSR#0/TICNHV\UVL@2(89%@<%[#4LZ ^ M81I%Q@NZ(SW=(6)O[($$B\JUYZ$/A*:EQL.%6AZ@G7I$<.>:FFY.[&YHN*5T MUX!/]DH9?SDW $0#UTJ'_\<^J_^OU'/^W^O?+]-S_Z5)+K,!\\5M!+'*.;-IB/\_Q\JKO\_O= *;(0)02PVP$$7V'0^ MB[^+9PU&YYR.P[BR)D'6 ^VDIUYQ9S4&9]MF;S^9%YN?/#)[#W;*B8?R2PSB MW &$MG8 GIP=8"0/\^UPW0ZP]!-#0+%'_(+_Z8_[G:6Y T!, +T#G$$F(D B M KRNPY0*9/FE(U@(&X;Q$$/>?@>P=M\!'I*'=@#L,,_&_P[[O\/^[[#_.^S_ M#OO_\V'7_-A,O9^M"\@8PA1:E/5V!VCJ3S5%D)#0R7;+<'$\&Y>T!4*)-0ZB M65E5.48?9_5X?SZ%$5?^OXC3KHLP"GLN-7(88CM 2]0.8+NNL?T'#V B<;^] M\A>KF8.X/S97+.#X\7_;_W4H" HGQ:??<3D\8F_2YJLFF_-_M?>=84UU79L' M :D2Z5*#2I4J5:1$4"D/#P^"A0=0HX)40RP@06)"D2)50$!%B(A2I$N3(A%" M$15!0)$@A 2E""$)0CB:-N&:>6?F_=[W^LK\F+GF^YX?YT=R]CYK[[/7OM>] M]MYG+==%78'Q4QYQME&SI%1UL5%[3?1!AEU^\Z,PXJ6#26E52ZT2AB^IU:_5 M]4HCR=EY<4*1VYNW8H5_LS=C(T%OEBTHA;U-4D+#I1)+?(?DS+Z;$313L_8* M.Z1\+,S7B'@D59OZ\PJ4IS;?,U?383ZE__IR^K7,WIOR?=4^.H*F M0S)[.&[BO\2M]SZPR->1K!8X=?R.PZ+#(^''J0G'Q]>G9=U??(HLD/2X\NGB(XXBYHO8A9-CW:J6QU[\^7':XT1 MH77/T[0^CS0HQ%X4W+- @?7!9(\^"E_]FEXY+#3A]D]2.N6X9.]UTT\\*=2X_Y7@^$&$3)$E_.OU%\ MOV)*ZSVN8FE3SUS1I#W)=6^VF+>3E^@Y%XVOQX3?;*FO/JSOK#Y].*[3*F8. MH@3&#_\VVC1U_<6XA9HC^4+2C)924-2%;7'?P_K0LEM9$C@)W-U@S]BKKEV< MQ^:?QBTDXK;CF)R#:^]GOGM=EM%/2_%2$CL Z#_, 0;-!6@GO&T8WI1A C9> M??M+,(_AWZ]P0R&Y_%EAC>/&ZY,&CL\J@,:._0*>#H$Z@.R?N&VP$%(5&@Y:%LPB$UJCP% MI\@#9A_S@ ;D*X\4;QX@WF7$CAI;A^\,B=][LVSX_'7JSGS-/-,/O6^N9F9T MV]T,*P:;U(]N2+%D6)\C>:^7_.ZFSS4=#TEPM8CR*6BQ3ON![% ^3L M54.P$!7*?,G<2VUC">V'QE.]QA7.3-CS/$EMV: 01U&-A(3LS":!CJ/1=7S\ MFY)@!G.>1/H-BH))I'UKN7]2U1F?.ZFXB9\WDGF>$:X5.Q+DI? MCXD\_5^X=@TOUV6 M@7UR8H,4A^$/[="]D]W7]IL/++ZV.?IGX]/[VGX6?3Q MAG_QE4-J\O+OE^ *]NIA6)D-9 +1^_;CPMYV^<27JS5/#?Y0GYFYV:-CX!VR MH_F%4+'UMAH4BP*)X\J#CBR^!9&Q]3E?LMA^Z>Q%9GGEE^IC/6W Q7MSFG> M[Z[ -AYV[E\L]/82M4QY+1V0U.)UU]>*=MG67)1-$?/Q$:]\5IQ0='7GSANJ$\^F3D^=G7*.#KJ<>]A4)/7/AZ;MV7=>98KN M?3@BN$P78?[D 7F#&'$>\*6-!SR)DF=Q^,:Y=9A=ZT;WYGX;YNQ]\5_>R'[\ MAFV&4=M8.MS>!]OS*#@B?JXL>?8,['1GC+LV[71>ME'9D9G7'2?6%!]L_/9S MC"MNR .$FCFY?$"K5)>@+\1B0SE[3W>.=1H^ "9RP/H3J1?+AX$'L"6+.0!&1.#_+]\C$%CY(KS' _X_&N!&'$UK=F+A Z5^UE8)AE[M[8="9I[ M<$6'D1)?3J-@ PW]J3[3[!C=K: 2Q^/@HMAN2WX#TTAT)_B4%<6['YEYU@[< M.DRRV3T%56Y-XHHO%N!DRJEI+\Q:5/]DM%#LNL![% ME@[C2@BRMF%ZB-!>)*@#Z_>8*B4\*(_E*J.*:C$B;)=QHR+R)[8U^G?*X/3> MG^$([2!OR9U0*^G:UWTW^5,5LLDG?/QFC#IBH/S&!)#8X7A=_&PUC.Y( S45 M5UI9EC[<,1[PW".KE*$/*O99*B?W0@2S4ELVHP[R@*1WCVT6:\3K4;7^IV2J MTF,KM4^^D&>*])! BR"N*()12JY+YAJCS4=M(Y^!47W*%BU5)=]/<6T++WY\ MVNMFX 7);3=]&*GT"-*)O9@%ZI)6;%B(Y5]UB?B+$*(W 7-PW-S&O/UCC;GU M],PGQ9NIU#9GX1=UMOPFOS\[4,;M+3B8_L%E"3EG)^[DXF^THL#=XUCQM?B MVG=C4,>#+0UG;GVWZ >.]6+L.'?-H3(^W]7U1BEC&X$3MHZ;%2,#.O=*3MY% MV'1,/,)V'[$78#MRGN"#S.ACY(SF)^TE#/O9M5=L_,$4"V,9+A$K8D&+Q==C>X;5@I6O-S]CZZ#81REV_NZL M&TL%"ONGDHLM7O^@"_8^Z]57/!4N(,\<0I5G=6U';?;"6J,(-**@>VNSO1I] M(;XYP^QXWNJAO'"CLWMWGOA.$)VTJQ!\3[77PDQ"%;C6WZ'//0BD]%_;$Z+I M8SV_S@ST#J<$]>A%6I8\@SN-$I A@6NB)>F]3R<_-PP#4FR=?EHZJ0G&5[_ M8:('\Q3XDL)1,-[%/D _T;H&EO\VTH"DG!'_WA\-L&SJ_E0NNJ3-< MR%:W]-!*-4+ 5ECX)AY:%Z9)C8 MGV!BI%]'!VOQB.R9T^ZJ(3+]#9)[C.:G[3 &]]'8I7A*.2?M+0]XNG.B M@;V;!^2XD[$LQ4OX=4=O"18*K8(9K-RGKI/&[*PV;+>,JT-\7D)&@/US 3;WHO'!=,4;WSAG_H^Z?6<9" MB?& 8-IM+'2]+LVW):^*^Q$.Z1(&5?ZH;T5"PLYJI/;\X@&]Q]ME;>ZM MUN[U0UVXI''FZ9>O"R*""_ ,4K-(%@\(A8&:I#X[>"^Q]C;%+J@')F_0:86H M0UV5W8%+D2&=&M.,7S4W.'+A9!%*1#7 _T"=[T=\(#:3!TAM12A)(>TB<_)L M%1D8B,KTY!SL0+Y(64>/AUC'IW[S:M#2O6VOEM-=R%.&DI*%+.Z0> MQQ"A9%&K6)JA7>)@#6.9@D_L/$_VD$,]&SC,P"8WU4G_1%=O M2COO%I^Y_.7M:Z!U\#7["*>^RP25RWP )M 1^$L08;;<2WIQJ5IY GL_WXY( M..LR5)WDLHV^=;;ER3GKYZ36L]]TDK-F5CJCZ*W,84ZMQ?!VM"G(-RUU/3.2 M]*Q$V^,7:\$JWU&T5^1VAL$G1)>NH<9:=DU)SB$U]MQ+;T#&>SZJ?S@9UGR] MD4)30#GS0?OY1"S&%K3Q'E=?[K;":(RO1$RR;213'DW^GN.W/UNZ^^(#TXL: M:[UW=@HN(A-\\;T(+/EL7#7[]&A$%53V=$AV5S.B9/K^2B_X\X&B]3O$9K*. M0$-^OX<[7!]M2N$>& MC E=>^C:1638\PS)4*%G=LT+#T9/[[IW[CX 631;(Z,2F'(@JX)+@#5!7MD@ M8&[VN\$T!OS$!-M":?SN$>9QDL^04C8C92H DF58EQL?(UIIQG/"+^<2H]HC#):JV\7XOS \ =79=8. ,VXM3"0NA$74HD![\ M)(W2DD'_T4.2K$4TO9V^L="S5#43IEQ=+_8DPS__2.:N/9+/_I!H6+Q,,J[' M#/FV4L6>H4W_Y%<77[J!3#.P4"FT7C7W2XQQ]Q(E[20YE7SNT?I]?\;KBQI? MC1RS-#I!/Y8GYAVLR2.+NP\S#!>/P*9@%,'":XA*^*+W63WW/3^"#F6"5-J(K8!;6JXKXMAH ,,BQ9T0K:E)6)V*B3#_/]-E-Y#5G>$&:G MK/=P5]-RX+YJAN,CX)VIFY7FA5@[];^=3-+G\+D<8G@2QM0<,:^3VZ*]:N:P M;4N_OLT10ZQN?*V^'6FJS3Q*++_3.9&*)7#XG" #OWX'E\P#0"4K'J!2^Q]E M5S_-N+NE_CO)&,EC"/*G2!L>3 7H65,37 DLRP#;[=)U8) ER#;BM*U[W,(U M3CSAV[4:QN;3P1.S=^2T9Y]4G!"T;I+B-\C" _HML/./L&W[ 2WOLT> MH=-2(WA + EB8:Q/J1L8.MP[.M-7-Q,+8=K'UG:=>"? ^3:E_WA54@!N<#H6 MTVG,5ES@BGY^LPO;[8@6B#<;^L+GGB$3S[AOH71/_.4;?*WC9;412W[J:J;$%;A\'5N9ST*%$"!6O@,6^A4>1^G ML8Z7P TX6TZ$&<7 48^RC):Q8EW0T.LF83+3DW ?O]"IK@$T#TU#9$_2&]9J7DZ84'OV#,05":(3)'Z_&[J4)6[.4C8UHGC")A%T-0 M+G35: E[&ZBUN^W$M]G+[ZI?G,^I:6ZAVELPM)>YXLDL![3!)U@03IK[CB3% MUNW2&BT;C1Q6'9R[%A.5KCH\3S:2R&Z*/YKTL_X M^FH2J#/1CQ?@.X\8 \XS>QNTPX=U*)^DR'0>#YM=S@*L M'9!/'E>2K$E<3$N7KRT=(#U7[$?&0:4QW2Y!41^%EHC/ 2)B?P#7 J'D4$I$'N/+'+P7?0TKBJC,, MBQM"D,8$_V>#EUL5M*T-Y[O:\">D"\ZI$PJ%_M$:- 0484B\PK;0!HPSN1HM37 (R)P@Z)&7]K3OT"_45TRZN?31 M9&5_<>F#S8, '0KJ3<1S]['=.>EH3SIA=B(>&7V6 MW.KB6+&6/9X[AHGQ5BGGCF"584%9J<6B] &J*\L(I4+H4F)T=6Q/)-?)H* ^ M8832[Z:5+(NGG_-G]KA1+\H,K&645]0%=9IS&?\3BYTBCL"$S&' M):M+TB%IAFC/"C\BV& 1-A3EU;R#&?QXK?1HTA>;1NNK9Y( P9JM$1*BCJ[3 M5%%X9AJ(HQ39JPSYG0*7:X(5<[_TJA6ZC\TES1 _-CY\7 I[.S:_!#=#8:\_ MIA'>3"0(>X1B]>!D(ID,M9=/>4!J@1O.\5/@[;WM(8?[>R@S3AF:ZCY2 M)MYJN[[!V++#%/M+)$,/_$)B"DR[]M"IS=*RVTYE94.SR60"_ MLI)CKM*0 UQX>2K6$A8>XP<7QHSA&H/ZD!#? 60U]+8QN;)V]Z$:RZ*8(-U\ MQ8&90\=,1!+#G<3J*I;GU?3)R50WECOW@[H 6,IR9FM]Z(*"0>3TUH,92.>]\J._Z M3H)_R\V@?C[C"J&Q950HBAD66"@JJ[O+%N%\^J.1A00SK7_ML5)9]I.K58UQ M;9DBH2")*\XW,-NGN#WP^H]UA&$BGIS/\^H$X@<.S1QDD@AQJCSH\90\C M__F#UHNM O:Y" MAO^LY(R<>Q39JL]#_GO6M4K4CO?*MT"]8/?CI(-"W M9V\ES$3>BBT;P]U1QKF#1V"AX!2S$"QG6;-=P1#Z0::N 482I=\[LR>?U.O; M%!KE7D,*X/M2)@J[#LI=&+@LIAD++8?RP1X+[D5R-'7(/("[W9U/'I>789"P M7U9IYA)0.?":9R;-8WR%TE[?D<+./;Q'Q!E^X8GT1MT[$GC+ABLZQ0,I\G,Y1=_G^.F$79G C8? 1) MXLI@QKQAC30JGO6[ V1EC@$;",-2AK2]"\FT),JXS(AS.6>R=5CI%&+RF&!0 M2$W=)*'/%T==8B'!*":1W[E:K C*[-6O[94EH0^2&B.#VVL[8G0_&^JTM.8X M)9Y[?2>ZW'JO8'96&.?^UIH Z,-R94?PI_C;L".CG3FU)SK^R.GIO!O,/*<:6XTY:<16$I5BD1".N:FB.A M+2W7+MTR@4;'?H^9B N%T8]Y9.+H?3Q T%X?53!P$);P%2RHG":";RF(B23? MM;>$)5F/;Q<^[M*-3@]3;BQ*:QY4&_"GTV9Y /4#RW:&[03NIM>1"VXUXZ10 MI'YB;1M_R%*4DU/=\4S5&PGA$2\:I,T+C*4'/57VM?7[./#O2N"#\%/.S)N< M+'L9]D&ZU'URQHT?/6(WD0P1\ONZ:]N(J)S1Z(O!GVP&DCRT7=+T,U.F4M") MXH<.0A-(*OC@(3-R06^6:M9MKA@X5[)HKUAP@FZ5PE;>'4_SZG31RFY:+@P+ MT3R*>!/G(^J?(YYS"&[#R<>'9A%EYRXNQ+.#9N%3'N2"K-6-M+?^0\409I3H0T-=3W>-LVEVD3$OYA(1:7KB\1:GM'S6'*S#PRC.*R4L3^[8 M#Y3;(3Z6Z:'MZ,BT"(^=(1/$S8$=*KW'7*,N&P9XY[BYG&MU);SSWJU]+L5O M0OB019<^Y@MQ(8//V) J:"4ZC9I%WYPMCJ-S49>@QQEV3Y_.E]:%0M1_HE^$ MEV7L;4FYDQAK\$Y*"O)V :>&#[-S8Y;R;?P-U/N!/M^!Y&;WF&ZH@KF=K->$ MK0[L?EG8_@RO#[/XUI^%H6\RWH0?" B/C;6+Z8,V.O?CXN!-R"Q[ [0NYR%: MA1%&@$K3=H^O1IRY=K)U;&.'[/$_;UU][G9%\K9AYPO)0[OSVB$%"^5S/&!2 MA/D$S&4I+\]L8T382V7UV^]EK!;5^(%80OXIIB_F=GDW5NAM@$ZF7%AYYH$O M]P.$&BU'7%121+SI6*Y7%:. .SB0A%_73V4:9^(:A_F@J#U :'?N?5V[:H"V MHA2Z8T@>21?_-%I%;$:'7$Y_XB9U.E?IE2;DMSF,.EN204OB >'X%#RTV2;& MDTR2 6V?6OMZEVS[2NSD=+?F.<'ASDC*#BB3SUGB$]FV M";,GGT3E0X7J+"1PZJBU#\[9+:@W448]"%.R4^R$R+>#CE',IJO)>CM:\"I7(>G.'WW"ZYW<_]6&&GV>NBMF>6\ M9HYK=9$(N9Q:SM($XZS3Y@OT*>_S8_9 M6IDT70HW_'3Z=?S>%[4G'M83!7ZT=NN_Q:NR=3GWL$$PA3\VN:K/02I%PE6C MPV;T.\DEK/(2.1>V+!TE+'YUOW+Z%?COF'&ZPRP>U$7R$5&0,*+555+WE@*5 M6L[I*?']]>KS[;E41^N+F0$_Y-1O/1CLX+\M-/L0&,G7>!-Z5H^QW%(!2<9> M#BQ!'P_#/BO('//%Y[L6@V]NFF&W ML,$DHC,Y,W?6#DINR:MP)GM(^(#9%GZ%0TZ_M))BVLHRS3,NN#@<^5WABYMJ MQ"-)**A%BT<;,X*81A.=WG,<*9)G&_B4P@.D9U #5$\1JZ>T5<-4%X^3TOV MFJ+MA788J!EU>V-8#MMM;P]UHTC\-"H?>SQN_F)5T]I8N*SD&D)4_:V<9P4/ MN-[F(&V=+4#*<^R[T@O[4V@!4>,T# M[9C$).^HP])OI:3$>E@#*X5TP=_YT!,$$T,+CFX8M]0E1^#WS6\&?KAV=77, M0Q=.WF&>8R*BN6V[AR^P_AM;@-.%_785'H_?-,(NJ?5A>/]L)T-73^;I<&AH#_5##W^,4#^&[XH<>QNI@WN+7C;+X;NHT'?*">W3@K\2^V M<8"_3T[]?W[)@X(L- ]X\Q4OC%T]S0-&;5(YW+K74-# F:T2S7+ASV%G++*- M!R",$V#-^&2V" ^0XQ:=OXB\XA_-G(I&E :85H^83!5].1>O*[CQ*Y4MP#=$ M[OC92MQZ 9)=$89CW\@";TUQQ>_S':'K?$E;^9$'*@0W&_OMI>FT+/;>9Z!L MWZ\+,TL'9XKLDBH#5]_HM#ZPS'09]-JUW>G\'8>%!+@>EA /VUJZR$)N+5V( M6/$ U;IWD'_RV'^0'0OSX 'D;NC6=I!SZ]9VD& A#\CT'L4+<<70^GR_0C$$ M*HP1!8TF"%WR(^=1$0B9P8>$$!6743GW%9.RQOQV6^L]4,BJ5K4?.4@/] M/>D>&9UV%ZL6?[V\VW*C-J_2MYJYF;^FY[HGWTKXC)*KUY.=#AJ?C+NA<3Q ME <$TA)O6/%_0"%-PQ*HXX1/\5/.(^OW;%\@QK2R.LSV!P9=\)F\?R_'%?:7 M-O__4]3KH&:JY[AI?;=0@#0\%O[OJO4:W,L5:V5M8YN"\[ 0))^N/8?PP0^" M6HS&,SP7,,-5A;3VH_;(%#V ILDAP7Q!'B^_,[5-> MX 'JI=S=EGQZ488=/8-?*ZG%,KX#'.[COTK^/RI9]PHZM<#UU@+U><#5!6[V MEW\<_1LB*UH\8/MSS 2V48>Z29]BCH)#K*L@=FO5Y!8J7I_UV9W;H\(.DC?8 C MQN==X,Z[GH=$V)9U2;!%5SP/>'6KE*OB38"N:Y)XP*PCGU%"Z<2N73R@1)L' M\/FK3!:(@$MB1W*Q/"!.C-]8+"$4].?>XI,PMNAOL+_D_B7W+[E_R?U+[E]R M_Y+[E]S_RW)%1!AS<_VYC"C7^K$FZG;*4/6JLE/(MU.2XG."6ZMC6-[D?P-0 M2P,$% @ 2VY06 +;IM:(, $ H=L, !4 !P.1EE1>K?_O!_XOW ^ K6K!\=?MO/_S^Y2U,?_A?__Y/__2O_Q>$__N73^_! MZX*N[_FJ!J]*CFO.P+>\O@/U'0=_*\J_YX\8?%SB6A3E/83_KE][53P\E?GM M70T"+T#=8]UOR[]&H2>0%P4PY-B#2) 49C%%D,<>"WGF8Q_Y5[=_Y2F-1,1B MF"3^'/W] _MX]\/GO\6ZJ?]+,M^UK_=/%KEQQZ4 MS?H__^_?WG^F=_P>PWQ5U7A%50=5_M=*__!]07&M43\K%SCYA/H7[!Z#ZD?0 METCZ?_E>L1_^_9\ :. HBR7_Q 50__W]T[N3768_JR=^7O%;-;8?>9D7['.- MR_H])GPII=>MU4\/_-]^J/+[AR7O?G97UNNKI8 M]/$E=O59%#5>3O!9;+O9$7FI?O!>_JWM1C740Z:ZGY:Z=T3EWVN^8KQARV=- M@YS]VP_R;XMU!6\Q?EA\K@OZ]^N'AY+37%/W)[6L59^O/WW^C=\37B[JS?>[ MX"OX^^>N*]V>96,_6*A5GYB>):^*=4FW"]O]\MAJ)1JNH"R^7T,"Y?%D'PM1'Y_SD)94&? M";=4)D11[L-34'MXMG.TDIII; 2NB%:N;4P"%80_\V5==3^!ZB=ZHIKW]_/! MMW%==EKADIX9IO:)GVDAK:F'&CX;,5$6]P/5KXN!GU4S$%*L'T!1,EY*&_J( MBH>?OS0!V7K);\3G.USR7Z3UQEX5]P]\5>GN]$^KZW5]5Y3Y/SC[75)4J86Z M>5"_ET;VJOKEZGFP87!'_^ )/NW), M-@ '2\]T/=NM79RRA9PE?U1RNZ,)^QFHZ7C_B?*DH_VU1JI]\YG1=YG7.J]>< MU N:!H0'*8$")PE$'A8P2U@$LRBC0>81$216]I:M '.SGCKY@1IP4$EY*U ( M<(_+O_-:KYS51GX[8\EZ:,Q,GS$!'YNBGF&M1%50*R'!5N8KL-$'RGD#U6/N M+):AZ#FR/ZR[G]2:& K.OFTPN!T[#F0\7[Q9U7G]]$>Q7*]J7#Z]S9>2,Q9I MG#'&8PI9D F("(T@#AF'%'L9#V*,4&1$5D&O<3S?,I%1D-F,GGWVIW;E/U<4+\%O M'"NC4._LO[XN[G&^.FVE]X+7/V,O@&1TI_- -(PG[ G=^Q9V^+=ZE -0E$]_X.6Z<2[SBI>/O%J(+/,CWZ.0>FD M41ACF/EQ"A$57AKA*(A8M#@X*SUKV9[NT>A#-3L*=OG17B^7Q3>]TY:&*BA( M)?NO*)<_L-LI]$!MMB>X$+EIIOA&2+"1$G1BNC/PST/AR)3OZ6A2H_V\POOF MN<$;PRA#-2-?NKM>L=?\D2^+!\7A;[XKIR!?1%Z,,4<$)IF01CGW",R"+()> M&/I1AJ+8\ST;ST-O;W-;[3MA 5XQP+;BVA'%&8!CZE&".(P$BR%*4RYIF<