fmp-node-types 0.2.0 → 0.2.3-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +152 -135
- package/dist/index.d.ts +152 -135
- package/dist/index.js +88 -32
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +83 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/calendar.ts","../src/common.ts","../src/company.ts","../src/economic.ts","../src/etf.ts","../src/financial.ts","../src/insider.ts","../src/institutional.ts","../src/list.ts","../src/quote.ts","../src/market.ts","../src/mutual-fund.ts","../src/news.ts","../src/sec.ts","../src/screener.ts","../src/search.ts","../src/analyst.ts","../src/valuation.ts","../src/technical.ts","../src/senate-house.ts","../src/stock.ts"],"names":["Period","Exchange","z","TransactionType"],"mappings":"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","file":"index.mjs","sourcesContent":["// calendar types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const EarningsCalendarSchema = z.object({\r\n date: z.string(),\r\n symbol: z.string(),\r\n eps: z.number().nullable(),\r\n epsEstimated: z.number().nullable(),\r\n time: z.string().nullable(),\r\n revenue: z.number().nullable(),\r\n revenueEstimated: z.number().nullable(),\r\n fiscalDateEnding: z.string(),\r\n updatedFromDate: z.string()\r\n});\r\n\r\nexport const EarningsConfirmedSchema = z.object({\r\n symbol: z.string(),\r\n exchange: z.string(),\r\n time: z.string(),\r\n when: z.string(),\r\n date: z.string(),\r\n publicationDate: z.string(),\r\n title: z.string(),\r\n url: z.string()\r\n});\r\n\r\nexport const DividendsCalendarSchema = z.object({\r\n date: z.string(),\r\n label: z.string(),\r\n adjDividend: z.number(),\r\n symbol: z.string(),\r\n dividend: z.number(),\r\n recordDate: z.string().nullable(),\r\n paymentDate: z.string().nullable(),\r\n declarationDate: z.string().nullable()\r\n});\r\n\r\nexport const EconomicsCalendarSchema = z.object({\r\n date: z.string(),\r\n country: z.string(),\r\n event: z.string(),\r\n currency: z.string(),\r\n previous: z.number().nullable(),\r\n estimate: z.number().nullable(),\r\n actual: z.number().nullable(),\r\n change: z.number().nullable(),\r\n impact: z.string(),\r\n changePercentage: z.number(),\r\n unit: z.string().nullable()\r\n});\r\n\r\nexport const IPOCalendarSchema = z.object({\r\n date: z.string(),\r\n company: z.string(),\r\n symbol: z.string(),\r\n exchange: z.string(),\r\n actions: z.string(),\r\n shares: z.number().nullable(),\r\n priceRange: z.string().nullable(),\r\n marketCap: z.number().nullable()\r\n});\r\n\r\nexport const SplitsCalendarSchema = z.object({\r\n date: z.string(),\r\n label: z.string(),\r\n symbol: z.string(),\r\n numerator: z.number(),\r\n denominator: z.number()\r\n});\r\n\r\nexport type EarningsCalendar = z.infer<typeof EarningsCalendarSchema>;\r\nexport type EarningsConfirmed = z.infer<typeof EarningsConfirmedSchema>;\r\nexport type DividendsCalendar = z.infer<typeof DividendsCalendarSchema>;\r\nexport type EconomicsCalendar = z.infer<typeof EconomicsCalendarSchema>;\r\nexport type IPOCalendar = z.infer<typeof IPOCalendarSchema>;\r\nexport type SplitsCalendar = z.infer<typeof SplitsCalendarSchema>;\r\n","// Common types used across all FMP API endpoints\n\n// Categorizes a failed request so callers (and AI tools) can react to the\n// *kind* of failure rather than parsing the message. Only set when success is false.\nexport type FMPErrorType =\n | 'plan-restricted' // 402/403 or \"Exclusive/Special Endpoint\" — not included in the API plan\n | 'rate-limit' // 429 — quota/rate limit reached\n | 'auth' // 401 — invalid or missing API key\n | 'not-found' // 404 — resource does not exist\n | 'bad-request' // 400 — invalid parameters\n | 'network' // no HTTP response (timeout / DNS / offline)\n | 'unknown'; // anything else\n\n// Base API response wrapper - consistent structure with nullable fields\nexport interface APIResponse<T = unknown> {\n success: boolean;\n data: T | null;\n error: string | null;\n /** Categorizes the failure. Present only when `success` is false. */\n errorType?: FMPErrorType;\n status: number;\n}\n\n// FMP API configuration\nexport interface FMPConfig {\n apiKey?: string; // Optional since we support FMP_API_KEY environment variable\n timeout?: number;\n}\n\n// Common parameter interfaces\nexport interface SymbolParams {\n symbol: string;\n}\n\nexport interface DateRangeParams {\n from?: string;\n to?: string;\n}\n\nexport interface PaginationParams {\n limit?: number;\n page?: number;\n}\n\nexport interface PeriodParams {\n period?: 'annual' | 'quarter';\n}\n\n// Type-safe query parameters\nexport interface QueryParams {\n [key: string]: string | number | boolean | undefined;\n}\n\n// Common enums\nexport enum Period {\n ANNUAL = 'annual',\n QUARTER = 'quarter',\n}\n\nexport enum Exchange {\n NYSE = 'NYSE',\n NASDAQ = 'NASDAQ',\n AMEX = 'AMEX',\n TSX = 'TSX',\n LSE = 'LSE',\n ASX = 'ASX',\n NSE = 'NSE',\n BSE = 'BSE',\n}\n","// company types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const CompanyProfileSchema = z.object({\r\n symbol: z.string(),\r\n price: z.number(),\r\n marketCap: z.number(),\r\n beta: z.number(),\r\n lastDividend: z.number(),\r\n range: z.string(),\r\n change: z.number(),\r\n changePercentage: z.number(),\r\n volume: z.number(),\r\n averageVolume: z.number(),\r\n companyName: z.string(),\r\n currency: z.string(),\r\n cik: z.string(),\r\n isin: z.string(),\r\n cusip: z.string(),\r\n exchangeFullName: z.string(),\r\n exchange: z.string(),\r\n industry: z.string(),\r\n website: z.string(),\r\n description: z.string(),\r\n ceo: z.string(),\r\n sector: z.string(),\r\n country: z.string(),\r\n fullTimeEmployees: z.string(),\r\n phone: z.string(),\r\n address: z.string(),\r\n city: z.string(),\r\n state: z.string(),\r\n zip: z.string(),\r\n image: z.string(),\r\n ipoDate: z.string(),\r\n defaultImage: z.boolean(),\r\n isEtf: z.boolean(),\r\n isActivelyTrading: z.boolean(),\r\n isAdr: z.boolean(),\r\n isFund: z.boolean()\r\n});\r\n\r\nexport const ExecutiveCompensationSchema = z.object({\r\n cik: z.string(),\r\n symbol: z.string(),\r\n companyName: z.string(),\r\n filingDate: z.string(),\r\n acceptedDate: z.string(),\r\n nameAndPosition: z.string(),\r\n year: z.number(),\r\n salary: z.number(),\r\n bonus: z.number(),\r\n stockAward: z.number(),\r\n optionAward: z.number(),\r\n incentivePlanCompensation: z.number(),\r\n allOtherCompensation: z.number(),\r\n total: z.number(),\r\n link: z.string()\r\n});\r\n\r\nexport const CompanyNotesSchema = z.object({\r\n cik: z.string(),\r\n symbol: z.string(),\r\n title: z.string(),\r\n exchange: z.string()\r\n});\r\n\r\nexport const HistoricalEmployeeCountSchema = z.object({\r\n symbol: z.string(),\r\n cik: z.string(),\r\n acceptanceTime: z.string(),\r\n periodOfReport: z.string(),\r\n companyName: z.string(),\r\n formType: z.string(),\r\n filingDate: z.string(),\r\n employeeCount: z.number(),\r\n source: z.string()\r\n});\r\n\r\nexport const SharesFloatSchema = z.object({\r\n symbol: z.string(),\r\n freeFloat: z.number(),\r\n floatShares: z.number(),\r\n outstandingShares: z.number(),\r\n source: z.string(),\r\n date: z.string()\r\n});\r\n\r\nexport const HistoricalSharesFloatSchema = z.object({\r\n symbol: z.string(),\r\n freeFloat: z.number(),\r\n floatShares: z.string(),\r\n outstandingShares: z.string(),\r\n source: z.string().nullable(),\r\n date: z.string()\r\n});\r\n\r\nexport const EarningsCallTranscriptSchema = z.object({\r\n symbol: z.string(),\r\n quarter: z.number(),\r\n year: z.number(),\r\n date: z.string(),\r\n content: z.string()\r\n});\r\n\r\nexport const CompanyTranscriptDataSchema = z.tuple([z.number(), z.number(), z.string()]);\r\n\r\n// Stock Peers — stable /stock-peers. Peer companies with price + market cap.\r\n// Verified against the live FMP `stable` API (2026-05-27).\r\nexport const StockPeerSchema = z.object({\r\n symbol: z.string(),\r\n companyName: z.string(),\r\n price: z.number(),\r\n mktCap: z.number()\r\n});\r\n\r\nexport type CompanyProfile = z.infer<typeof CompanyProfileSchema>;\r\nexport type ExecutiveCompensation = z.infer<typeof ExecutiveCompensationSchema>;\r\nexport type CompanyNotes = z.infer<typeof CompanyNotesSchema>;\r\nexport type HistoricalEmployeeCount = z.infer<typeof HistoricalEmployeeCountSchema>;\r\nexport type SharesFloat = z.infer<typeof SharesFloatSchema>;\r\nexport type HistoricalSharesFloat = z.infer<typeof HistoricalSharesFloatSchema>;\r\nexport type EarningsCallTranscript = z.infer<typeof EarningsCallTranscriptSchema>;\r\nexport type CompanyTranscriptData = z.infer<typeof CompanyTranscriptDataSchema>;\r\nexport type StockPeer = z.infer<typeof StockPeerSchema>;\r\n","// economic types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const EconomicIndicatorSchema = z.object({\r\n name: z.string(),\r\n date: z.string(),\r\n value: z.number()\r\n});\r\n\r\nexport const TreasuryRateSchema = z.object({\r\n date: z.string(),\r\n month1: z.number(),\r\n month2: z.number(),\r\n month3: z.number(),\r\n month6: z.number(),\r\n year1: z.number(),\r\n year2: z.number(),\r\n year3: z.number(),\r\n year5: z.number(),\r\n year7: z.number(),\r\n year10: z.number(),\r\n year20: z.number(),\r\n year30: z.number()\r\n});\r\n\r\nexport const EconomicIndicatorNameSchema = z.union([z.literal(\"GDP\"), z.literal(\"realGDP\"), z.literal(\"nominalPotentialGDP\"), z.literal(\"realGDPPerCapita\"), z.literal(\"federalFunds\"), z.literal(\"CPI\"), z.literal(\"inflationRate\"), z.literal(\"inflation\"), z.literal(\"retailSales\"), z.literal(\"consumerSentiment\"), z.literal(\"durableGoods\"), z.literal(\"unemploymentRate\"), z.literal(\"totalNonfarmPayroll\"), z.literal(\"initialClaims\"), z.literal(\"industrialProductionTotalIndex\"), z.literal(\"newPrivatelyOwnedHousingUnitsStartedTotalUnits\"), z.literal(\"totalVehicleSales\"), z.literal(\"retailMoneyFunds\"), z.literal(\"smoothedUSRecessionProbabilities\"), z.literal(\"3MonthOr90DayRatesAndYieldsCertificatesOfDeposit\"), z.literal(\"commercialBankInterestRateOnCreditCardPlansAllAccounts\"), z.literal(\"30YearFixedRateMortgageAverage\"), z.literal(\"15YearFixedRateMortgageAverage\")]);\r\n\r\nexport type EconomicIndicator = z.infer<typeof EconomicIndicatorSchema>;\r\nexport type TreasuryRate = z.infer<typeof TreasuryRateSchema>;\r\nexport type EconomicIndicatorName = z.infer<typeof EconomicIndicatorNameSchema>;\r\n","// etf types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const ETFHoldingDatesSchema = z.object({\r\n date: z.string()\r\n});\r\n\r\nexport const ETFHoldingSchema = z.object({\r\n cik: z.string(),\r\n acceptanceTime: z.string(),\r\n date: z.string(),\r\n symbol: z.string(),\r\n name: z.string(),\r\n lei: z.string(),\r\n title: z.string(),\r\n cusip: z.string(),\r\n isin: z.string(),\r\n balance: z.number(),\r\n units: z.string(),\r\n cur_cd: z.string(),\r\n valUsd: z.number(),\r\n pctVal: z.number(),\r\n payoffProfile: z.string(),\r\n assetCat: z.string(),\r\n issuerCat: z.string(),\r\n invCountry: z.string(),\r\n isRestrictedSec: z.string(),\r\n fairValLevel: z.string(),\r\n isCashCollateral: z.string(),\r\n isNonCashCollateral: z.string(),\r\n isLoanByFund: z.string()\r\n});\r\n\r\nexport const ETFHolderSchema = z.object({\r\n asset: z.string(),\r\n name: z.string(),\r\n isin: z.string(),\r\n cusip: z.string(),\r\n sharesNumber: z.number(),\r\n weightPercentage: z.number(),\r\n marketValue: z.number(),\r\n updated: z.string()\r\n});\r\n\r\nexport const ETFProfileSchema = z.object({\r\n symbol: z.string(),\r\n name: z.string(),\r\n description: z.string(),\r\n isin: z.string(),\r\n assetClass: z.string(),\r\n securityCusip: z.string(),\r\n domicile: z.string(),\r\n website: z.string(),\r\n etfCompany: z.string(),\r\n expenseRatio: z.number(),\r\n assetsUnderManagement: z.number(),\r\n avgVolume: z.number(),\r\n inceptionDate: z.string(),\r\n nav: z.number(),\r\n navCurrency: z.string(),\r\n holdingsCount: z.number(),\r\n updatedAt: z.string(),\r\n isActivelyTrading: z.boolean(),\r\n sectorsList: z.array(z.object({\r\n exposure: z.number(),\r\n industry: z.string()\r\n }))\r\n});\r\n\r\nexport const ETFWeightingSchema = z.object({\r\n symbol: z.string(),\r\n sector: z.string(),\r\n // Sector weighting returns a numeric percentage (country weighting returns a string).\r\n weightPercentage: z.number()\r\n});\r\n\r\nexport const ETFCountryWeightingSchema = z.object({\r\n country: z.string(),\r\n weightPercentage: z.string()\r\n});\r\n\r\nexport const ETFStockExposureSchema = z.object({\r\n etfSymbol: z.string(),\r\n assetExposure: z.string(),\r\n sharesNumber: z.number(),\r\n weightPercentage: z.number(),\r\n marketValue: z.number()\r\n});\r\n\r\nexport type ETFHoldingDates = z.infer<typeof ETFHoldingDatesSchema>;\r\nexport type ETFHolding = z.infer<typeof ETFHoldingSchema>;\r\nexport type ETFHolder = z.infer<typeof ETFHolderSchema>;\r\nexport type ETFProfile = z.infer<typeof ETFProfileSchema>;\r\nexport type ETFWeighting = z.infer<typeof ETFWeightingSchema>;\r\nexport type ETFCountryWeighting = z.infer<typeof ETFCountryWeightingSchema>;\r\nexport type ETFStockExposure = z.infer<typeof ETFStockExposureSchema>;\r\n","// Financial statement types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Base schemas generated via `gen:schemas`.\n\nimport { z } from 'zod';\n\n// Income Statement\nexport const IncomeStatementSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n reportedCurrency: z.string(),\n cik: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n revenue: z.number(),\n costOfRevenue: z.number(),\n grossProfit: z.number(),\n researchAndDevelopmentExpenses: z.number(),\n generalAndAdministrativeExpenses: z.number(),\n sellingAndMarketingExpenses: z.number(),\n sellingGeneralAndAdministrativeExpenses: z.number(),\n otherExpenses: z.number(),\n operatingExpenses: z.number(),\n costAndExpenses: z.number(),\n netInterestIncome: z.number(),\n interestIncome: z.number(),\n interestExpense: z.number(),\n depreciationAndAmortization: z.number(),\n ebitda: z.number(),\n ebit: z.number(),\n nonOperatingIncomeExcludingInterest: z.number(),\n operatingIncome: z.number(),\n totalOtherIncomeExpensesNet: z.number(),\n incomeBeforeTax: z.number(),\n incomeTaxExpense: z.number(),\n netIncomeFromContinuingOperations: z.number(),\n netIncomeFromDiscontinuedOperations: z.number(),\n otherAdjustmentsToNetIncome: z.number(),\n netIncome: z.number(),\n netIncomeDeductions: z.number(),\n bottomLineNetIncome: z.number(),\n eps: z.number(),\n epsDiluted: z.number(),\n weightedAverageShsOut: z.number(),\n weightedAverageShsOutDil: z.number(),\n});\n\nexport type IncomeStatement = z.infer<typeof IncomeStatementSchema>;\n\n// Balance Sheet\nexport const BalanceSheetSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n reportedCurrency: z.string(),\n cik: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n cashAndCashEquivalents: z.number(),\n shortTermInvestments: z.number(),\n cashAndShortTermInvestments: z.number(),\n netReceivables: z.number(),\n accountsReceivables: z.number(),\n otherReceivables: z.number(),\n inventory: z.number(),\n prepaids: z.number(),\n otherCurrentAssets: z.number(),\n totalCurrentAssets: z.number(),\n propertyPlantEquipmentNet: z.number(),\n goodwill: z.number(),\n intangibleAssets: z.number(),\n goodwillAndIntangibleAssets: z.number(),\n longTermInvestments: z.number(),\n taxAssets: z.number(),\n otherNonCurrentAssets: z.number(),\n totalNonCurrentAssets: z.number(),\n otherAssets: z.number(),\n totalAssets: z.number(),\n totalPayables: z.number(),\n accountPayables: z.number(),\n otherPayables: z.number(),\n accruedExpenses: z.number(),\n shortTermDebt: z.number(),\n capitalLeaseObligationsCurrent: z.number(),\n taxPayables: z.number(),\n deferredRevenue: z.number(),\n otherCurrentLiabilities: z.number(),\n totalCurrentLiabilities: z.number(),\n longTermDebt: z.number(),\n deferredRevenueNonCurrent: z.number(),\n deferredTaxLiabilitiesNonCurrent: z.number(),\n capitalLeaseObligationsNonCurrent: z.number(),\n otherNonCurrentLiabilities: z.number(),\n totalNonCurrentLiabilities: z.number(),\n otherLiabilities: z.number(),\n capitalLeaseObligations: z.number(),\n totalLiabilities: z.number(),\n treasuryStock: z.number(),\n preferredStock: z.number(),\n commonStock: z.number(),\n retainedEarnings: z.number(),\n additionalPaidInCapital: z.number(),\n accumulatedOtherComprehensiveIncomeLoss: z.number(),\n otherTotalStockholdersEquity: z.number(),\n totalStockholdersEquity: z.number(),\n totalEquity: z.number(),\n minorityInterest: z.number(),\n totalLiabilitiesAndTotalEquity: z.number(),\n totalInvestments: z.number(),\n totalDebt: z.number(),\n netDebt: z.number(),\n});\n\nexport type BalanceSheet = z.infer<typeof BalanceSheetSchema>;\n\n// Cash Flow Statement\nexport const CashFlowStatementSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n reportedCurrency: z.string(),\n cik: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n netIncome: z.number(),\n depreciationAndAmortization: z.number(),\n deferredIncomeTax: z.number(),\n stockBasedCompensation: z.number(),\n changeInWorkingCapital: z.number(),\n accountsReceivables: z.number(),\n inventory: z.number(),\n accountsPayables: z.number(),\n otherWorkingCapital: z.number(),\n otherNonCashItems: z.number(),\n netCashProvidedByOperatingActivities: z.number(),\n investmentsInPropertyPlantAndEquipment: z.number(),\n acquisitionsNet: z.number(),\n purchasesOfInvestments: z.number(),\n salesMaturitiesOfInvestments: z.number(),\n otherInvestingActivities: z.number(),\n netCashProvidedByInvestingActivities: z.number(),\n netDebtIssuance: z.number(),\n longTermNetDebtIssuance: z.number(),\n shortTermNetDebtIssuance: z.number(),\n netStockIssuance: z.number(),\n netCommonStockIssuance: z.number(),\n commonStockIssuance: z.number(),\n commonStockRepurchased: z.number(),\n netPreferredStockIssuance: z.number(),\n netDividendsPaid: z.number(),\n commonDividendsPaid: z.number(),\n preferredDividendsPaid: z.number(),\n otherFinancingActivities: z.number(),\n netCashProvidedByFinancingActivities: z.number(),\n effectOfForexChangesOnCash: z.number(),\n netChangeInCash: z.number(),\n cashAtEndOfPeriod: z.number(),\n cashAtBeginningOfPeriod: z.number(),\n operatingCashFlow: z.number(),\n capitalExpenditure: z.number(),\n freeCashFlow: z.number(),\n incomeTaxesPaid: z.number(),\n interestPaid: z.number(),\n});\n\nexport type CashFlowStatement = z.infer<typeof CashFlowStatementSchema>;\n\n// Key Metrics\nexport const KeyMetricsSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n marketCap: z.number(),\n enterpriseValue: z.number(),\n evToSales: z.number(),\n evToOperatingCashFlow: z.number(),\n evToFreeCashFlow: z.number(),\n evToEBITDA: z.number(),\n netDebtToEBITDA: z.number(),\n currentRatio: z.number(),\n incomeQuality: z.number(),\n grahamNumber: z.number(),\n grahamNetNet: z.number(),\n taxBurden: z.number(),\n interestBurden: z.number(),\n workingCapital: z.number(),\n investedCapital: z.number(),\n returnOnAssets: z.number(),\n operatingReturnOnAssets: z.number(),\n returnOnTangibleAssets: z.number(),\n returnOnEquity: z.number(),\n returnOnInvestedCapital: z.number(),\n returnOnCapitalEmployed: z.number(),\n earningsYield: z.number(),\n freeCashFlowYield: z.number(),\n capexToOperatingCashFlow: z.number(),\n capexToDepreciation: z.number(),\n capexToRevenue: z.number(),\n salesGeneralAndAdministrativeToRevenue: z.number(),\n researchAndDevelopementToRevenue: z.number(),\n stockBasedCompensationToRevenue: z.number(),\n intangiblesToTotalAssets: z.number(),\n averageReceivables: z.number(),\n averagePayables: z.number(),\n averageInventory: z.number(),\n daysOfSalesOutstanding: z.number(),\n daysOfPayablesOutstanding: z.number(),\n daysOfInventoryOutstanding: z.number(),\n operatingCycle: z.number(),\n cashConversionCycle: z.number(),\n freeCashFlowToEquity: z.number(),\n freeCashFlowToFirm: z.number(),\n tangibleAssetValue: z.number(),\n netCurrentAssetValue: z.number(),\n});\n\nexport type KeyMetrics = z.infer<typeof KeyMetricsSchema>;\n\n// Financial Ratios\nexport const FinancialRatiosSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n grossProfitMargin: z.number(),\n ebitMargin: z.number(),\n ebitdaMargin: z.number(),\n operatingProfitMargin: z.number(),\n pretaxProfitMargin: z.number(),\n continuousOperationsProfitMargin: z.number(),\n netProfitMargin: z.number(),\n bottomLineProfitMargin: z.number(),\n receivablesTurnover: z.number(),\n payablesTurnover: z.number(),\n inventoryTurnover: z.number(),\n fixedAssetTurnover: z.number(),\n assetTurnover: z.number(),\n currentRatio: z.number(),\n quickRatio: z.number(),\n solvencyRatio: z.number(),\n cashRatio: z.number(),\n priceToEarningsRatio: z.number(),\n priceToEarningsGrowthRatio: z.number(),\n forwardPriceToEarningsGrowthRatio: z.number(),\n priceToBookRatio: z.number(),\n priceToSalesRatio: z.number(),\n priceToFreeCashFlowRatio: z.number(),\n priceToOperatingCashFlowRatio: z.number(),\n debtToAssetsRatio: z.number(),\n debtToEquityRatio: z.number(),\n debtToCapitalRatio: z.number(),\n longTermDebtToCapitalRatio: z.number(),\n financialLeverageRatio: z.number(),\n workingCapitalTurnoverRatio: z.number(),\n operatingCashFlowRatio: z.number(),\n operatingCashFlowSalesRatio: z.number(),\n freeCashFlowOperatingCashFlowRatio: z.number(),\n debtServiceCoverageRatio: z.number(),\n interestCoverageRatio: z.number(),\n shortTermOperatingCashFlowCoverageRatio: z.number(),\n operatingCashFlowCoverageRatio: z.number(),\n capitalExpenditureCoverageRatio: z.number(),\n dividendPaidAndCapexCoverageRatio: z.number(),\n dividendPayoutRatio: z.number(),\n dividendYield: z.number(),\n dividendYieldPercentage: z.number(),\n dividendPerShare: z.number(),\n revenuePerShare: z.number(),\n netIncomePerShare: z.number(),\n interestDebtPerShare: z.number(),\n cashPerShare: z.number(),\n bookValuePerShare: z.number(),\n tangibleBookValuePerShare: z.number(),\n shareholdersEquityPerShare: z.number(),\n operatingCashFlowPerShare: z.number(),\n capexPerShare: z.number(),\n freeCashFlowPerShare: z.number(),\n netIncomePerEBT: z.number(),\n ebtPerEbit: z.number(),\n priceToFairValue: z.number(),\n debtToMarketCap: z.number(),\n effectiveTaxRate: z.number(),\n enterpriseValueMultiple: z.number(),\n});\n\nexport type FinancialRatios = z.infer<typeof FinancialRatiosSchema>;\n\n// Enterprise Value\nexport const EnterpriseValueSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n stockPrice: z.number(),\n numberOfShares: z.number(),\n marketCapitalization: z.number(),\n minusCashAndCashEquivalents: z.number(),\n addTotalDebt: z.number(),\n enterpriseValue: z.number(),\n});\n\nexport type EnterpriseValue = z.infer<typeof EnterpriseValueSchema>;\n\n// Cashflow Growth\nexport const CashflowGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n growthNetIncome: z.number(),\n growthDepreciationAndAmortization: z.number(),\n growthDeferredIncomeTax: z.number(),\n growthStockBasedCompensation: z.number(),\n growthChangeInWorkingCapital: z.number(),\n growthAccountsReceivables: z.number(),\n growthInventory: z.number(),\n growthAccountsPayables: z.number(),\n growthOtherWorkingCapital: z.number(),\n growthOtherNonCashItems: z.number(),\n growthNetCashProvidedByOperatingActivites: z.number(),\n growthInvestmentsInPropertyPlantAndEquipment: z.number(),\n growthAcquisitionsNet: z.number(),\n growthPurchasesOfInvestments: z.number(),\n growthSalesMaturitiesOfInvestments: z.number(),\n growthOtherInvestingActivites: z.number(),\n growthNetCashUsedForInvestingActivites: z.number(),\n growthDebtRepayment: z.number(),\n growthCommonStockIssued: z.number(),\n growthCommonStockRepurchased: z.number(),\n growthDividendsPaid: z.number(),\n growthOtherFinancingActivites: z.number(),\n growthNetCashUsedProvidedByFinancingActivities: z.number(),\n growthEffectOfForexChangesOnCash: z.number(),\n growthNetChangeInCash: z.number(),\n growthCashAtEndOfPeriod: z.number(),\n growthCashAtBeginningOfPeriod: z.number(),\n growthOperatingCashFlow: z.number(),\n growthCapitalExpenditure: z.number(),\n growthFreeCashFlow: z.number(),\n growthNetDebtIssuance: z.number(),\n growthLongTermNetDebtIssuance: z.number(),\n growthShortTermNetDebtIssuance: z.number(),\n growthNetStockIssuance: z.number(),\n growthPreferredDividendsPaid: z.number(),\n growthIncomeTaxesPaid: z.number(),\n growthInterestPaid: z.number(),\n});\n\nexport type CashflowGrowth = z.infer<typeof CashflowGrowthSchema>;\n\n// Income Growth\nexport const IncomeGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n growthRevenue: z.number(),\n growthCostOfRevenue: z.number(),\n growthGrossProfit: z.number(),\n growthGrossProfitRatio: z.number(),\n growthResearchAndDevelopmentExpenses: z.number(),\n growthGeneralAndAdministrativeExpenses: z.number(),\n growthSellingAndMarketingExpenses: z.number(),\n growthOtherExpenses: z.number(),\n growthOperatingExpenses: z.number(),\n growthCostAndExpenses: z.number(),\n growthInterestIncome: z.number(),\n growthInterestExpense: z.number(),\n growthDepreciationAndAmortization: z.number(),\n growthEBITDA: z.number(),\n growthOperatingIncome: z.number(),\n growthIncomeBeforeTax: z.number(),\n growthIncomeTaxExpense: z.number(),\n growthNetIncome: z.number(),\n growthEPS: z.number(),\n growthEPSDiluted: z.number(),\n growthWeightedAverageShsOut: z.number(),\n growthWeightedAverageShsOutDil: z.number(),\n growthEBIT: z.number(),\n growthNonOperatingIncomeExcludingInterest: z.number(),\n growthNetInterestIncome: z.number(),\n growthTotalOtherIncomeExpensesNet: z.number(),\n growthNetIncomeFromContinuingOperations: z.number(),\n growthOtherAdjustmentsToNetIncome: z.number(),\n growthNetIncomeDeductions: z.number(),\n});\n\nexport type IncomeGrowth = z.infer<typeof IncomeGrowthSchema>;\n\n// Balance Sheet Growth\nexport const BalanceSheetGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n growthCashAndCashEquivalents: z.number(),\n growthShortTermInvestments: z.number(),\n growthCashAndShortTermInvestments: z.number(),\n growthNetReceivables: z.number(),\n growthInventory: z.number(),\n growthOtherCurrentAssets: z.number(),\n growthTotalCurrentAssets: z.number(),\n growthPropertyPlantEquipmentNet: z.number(),\n growthGoodwill: z.number(),\n growthIntangibleAssets: z.number(),\n growthGoodwillAndIntangibleAssets: z.number(),\n growthLongTermInvestments: z.number(),\n growthTaxAssets: z.number(),\n growthOtherNonCurrentAssets: z.number(),\n growthTotalNonCurrentAssets: z.number(),\n growthOtherAssets: z.number(),\n growthTotalAssets: z.number(),\n growthAccountPayables: z.number(),\n growthShortTermDebt: z.number(),\n growthTaxPayables: z.number(),\n growthDeferredRevenue: z.number(),\n growthOtherCurrentLiabilities: z.number(),\n growthTotalCurrentLiabilities: z.number(),\n growthLongTermDebt: z.number(),\n growthDeferredRevenueNonCurrent: z.number(),\n growthDeferredTaxLiabilitiesNonCurrent: z.number(),\n growthOtherNonCurrentLiabilities: z.number(),\n growthTotalNonCurrentLiabilities: z.number(),\n growthOtherLiabilities: z.number(),\n growthTotalLiabilities: z.number(),\n growthPreferredStock: z.number(),\n growthCommonStock: z.number(),\n growthRetainedEarnings: z.number(),\n growthAccumulatedOtherComprehensiveIncomeLoss: z.number(),\n growthOthertotalStockholdersEquity: z.number(),\n growthTotalStockholdersEquity: z.number(),\n growthMinorityInterest: z.number(),\n growthTotalEquity: z.number(),\n growthTotalLiabilitiesAndStockholdersEquity: z.number(),\n growthTotalInvestments: z.number(),\n growthTotalDebt: z.number(),\n growthNetDebt: z.number(),\n growthAccountsReceivables: z.number(),\n growthOtherReceivables: z.number(),\n growthPrepaids: z.number(),\n growthTotalPayables: z.number(),\n growthOtherPayables: z.number(),\n growthAccruedExpenses: z.number(),\n growthCapitalLeaseObligationsCurrent: z.number(),\n growthAdditionalPaidInCapital: z.number(),\n growthTreasuryStock: z.number(),\n});\n\nexport type BalanceSheetGrowth = z.infer<typeof BalanceSheetGrowthSchema>;\n\n// Financial Growth\nexport const FinancialGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n revenueGrowth: z.number(),\n grossProfitGrowth: z.number(),\n ebitgrowth: z.number(),\n operatingIncomeGrowth: z.number(),\n netIncomeGrowth: z.number(),\n epsgrowth: z.number(),\n epsdilutedGrowth: z.number(),\n weightedAverageSharesGrowth: z.number(),\n weightedAverageSharesDilutedGrowth: z.number(),\n dividendsPerShareGrowth: z.number(),\n operatingCashFlowGrowth: z.number(),\n receivablesGrowth: z.number(),\n inventoryGrowth: z.number(),\n assetGrowth: z.number(),\n bookValueperShareGrowth: z.number(),\n debtGrowth: z.number(),\n rdexpenseGrowth: z.number(),\n sgaexpensesGrowth: z.number(),\n freeCashFlowGrowth: z.number(),\n tenYRevenueGrowthPerShare: z.number(),\n fiveYRevenueGrowthPerShare: z.number(),\n threeYRevenueGrowthPerShare: z.number(),\n tenYOperatingCFGrowthPerShare: z.number(),\n fiveYOperatingCFGrowthPerShare: z.number(),\n threeYOperatingCFGrowthPerShare: z.number(),\n tenYNetIncomeGrowthPerShare: z.number(),\n fiveYNetIncomeGrowthPerShare: z.number(),\n threeYNetIncomeGrowthPerShare: z.number(),\n tenYShareholdersEquityGrowthPerShare: z.number(),\n fiveYShareholdersEquityGrowthPerShare: z.number(),\n threeYShareholdersEquityGrowthPerShare: z.number(),\n tenYDividendperShareGrowthPerShare: z.number(),\n fiveYDividendperShareGrowthPerShare: z.number(),\n threeYDividendperShareGrowthPerShare: z.number(),\n ebitdaGrowth: z.number(),\n growthCapitalExpenditure: z.number(),\n tenYBottomLineNetIncomeGrowthPerShare: z.number(),\n fiveYBottomLineNetIncomeGrowthPerShare: z.number(),\n threeYBottomLineNetIncomeGrowthPerShare: z.number(),\n});\n\nexport type FinancialGrowth = z.infer<typeof FinancialGrowthSchema>;\n\n// Earnings Historical\nexport const EarningsHistoricalSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n // Actuals are null for earnings that haven't been reported yet.\n epsActual: z.number().nullable(),\n epsEstimated: z.number().nullable(),\n revenueActual: z.number().nullable(),\n revenueEstimated: z.number().nullable(),\n lastUpdated: z.string(),\n});\n\nexport type EarningsHistorical = z.infer<typeof EarningsHistoricalSchema>;\n\n// Earnings Surprises\nexport const EarningsSurprisesSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n actualEarningResult: z.number(),\n estimatedEarning: z.number(),\n});\n\nexport type EarningsSurprises = z.infer<typeof EarningsSurprisesSchema>;\n\n// Financial Scores (Altman Z-Score + Piotroski + components) — stable /financial-scores.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const FinancialScoresSchema = z.object({\n symbol: z.string(),\n reportedCurrency: z.string().nullable(),\n altmanZScore: z.number(),\n piotroskiScore: z.number(),\n workingCapital: z.number(),\n totalAssets: z.number(),\n retainedEarnings: z.number(),\n ebit: z.number(),\n marketCap: z.number(),\n totalLiabilities: z.number(),\n revenue: z.number(),\n});\n\nexport type FinancialScores = z.infer<typeof FinancialScoresSchema>;\n\n// Key Metrics TTM (trailing-twelve-month snapshot) — stable /key-metrics-ttm.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const KeyMetricsTTMSchema = z.object({\n symbol: z.string(),\n marketCap: z.number(),\n enterpriseValueTTM: z.number(),\n evToSalesTTM: z.number(),\n evToOperatingCashFlowTTM: z.number(),\n evToFreeCashFlowTTM: z.number(),\n evToEBITDATTM: z.number(),\n netDebtToEBITDATTM: z.number(),\n currentRatioTTM: z.number(),\n incomeQualityTTM: z.number(),\n grahamNumberTTM: z.number(),\n grahamNetNetTTM: z.number(),\n taxBurdenTTM: z.number(),\n interestBurdenTTM: z.number(),\n workingCapitalTTM: z.number(),\n investedCapitalTTM: z.number(),\n returnOnAssetsTTM: z.number(),\n operatingReturnOnAssetsTTM: z.number(),\n returnOnTangibleAssetsTTM: z.number(),\n returnOnEquityTTM: z.number(),\n returnOnInvestedCapitalTTM: z.number(),\n returnOnCapitalEmployedTTM: z.number(),\n earningsYieldTTM: z.number(),\n freeCashFlowYieldTTM: z.number(),\n capexToOperatingCashFlowTTM: z.number(),\n capexToDepreciationTTM: z.number(),\n capexToRevenueTTM: z.number(),\n salesGeneralAndAdministrativeToRevenueTTM: z.number(),\n researchAndDevelopementToRevenueTTM: z.number(),\n stockBasedCompensationToRevenueTTM: z.number(),\n intangiblesToTotalAssetsTTM: z.number(),\n averageReceivablesTTM: z.number(),\n averagePayablesTTM: z.number(),\n averageInventoryTTM: z.number(),\n daysOfSalesOutstandingTTM: z.number(),\n daysOfPayablesOutstandingTTM: z.number(),\n daysOfInventoryOutstandingTTM: z.number(),\n operatingCycleTTM: z.number(),\n cashConversionCycleTTM: z.number(),\n freeCashFlowToEquityTTM: z.number(),\n freeCashFlowToFirmTTM: z.number(),\n tangibleAssetValueTTM: z.number(),\n netCurrentAssetValueTTM: z.number(),\n});\n\nexport type KeyMetricsTTM = z.infer<typeof KeyMetricsTTMSchema>;\n\n// Financial Ratios TTM (trailing-twelve-month snapshot) — stable /ratios-ttm.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const FinancialRatiosTTMSchema = z.object({\n symbol: z.string(),\n grossProfitMarginTTM: z.number(),\n ebitMarginTTM: z.number(),\n ebitdaMarginTTM: z.number(),\n operatingProfitMarginTTM: z.number(),\n pretaxProfitMarginTTM: z.number(),\n continuousOperationsProfitMarginTTM: z.number(),\n netProfitMarginTTM: z.number(),\n bottomLineProfitMarginTTM: z.number(),\n receivablesTurnoverTTM: z.number(),\n payablesTurnoverTTM: z.number(),\n inventoryTurnoverTTM: z.number(),\n fixedAssetTurnoverTTM: z.number(),\n assetTurnoverTTM: z.number(),\n currentRatioTTM: z.number(),\n quickRatioTTM: z.number(),\n solvencyRatioTTM: z.number(),\n cashRatioTTM: z.number(),\n priceToEarningsRatioTTM: z.number(),\n priceToEarningsGrowthRatioTTM: z.number(),\n forwardPriceToEarningsGrowthRatioTTM: z.number(),\n priceToBookRatioTTM: z.number(),\n priceToSalesRatioTTM: z.number(),\n priceToFreeCashFlowRatioTTM: z.number(),\n priceToOperatingCashFlowRatioTTM: z.number(),\n debtToAssetsRatioTTM: z.number(),\n debtToEquityRatioTTM: z.number(),\n debtToCapitalRatioTTM: z.number(),\n longTermDebtToCapitalRatioTTM: z.number(),\n financialLeverageRatioTTM: z.number(),\n workingCapitalTurnoverRatioTTM: z.number(),\n operatingCashFlowRatioTTM: z.number(),\n operatingCashFlowSalesRatioTTM: z.number(),\n freeCashFlowOperatingCashFlowRatioTTM: z.number(),\n debtServiceCoverageRatioTTM: z.number(),\n interestCoverageRatioTTM: z.number(),\n shortTermOperatingCashFlowCoverageRatioTTM: z.number(),\n operatingCashFlowCoverageRatioTTM: z.number(),\n capitalExpenditureCoverageRatioTTM: z.number(),\n dividendPaidAndCapexCoverageRatioTTM: z.number(),\n dividendPayoutRatioTTM: z.number(),\n dividendYieldTTM: z.number(),\n enterpriseValueTTM: z.number(),\n revenuePerShareTTM: z.number(),\n netIncomePerShareTTM: z.number(),\n interestDebtPerShareTTM: z.number(),\n cashPerShareTTM: z.number(),\n bookValuePerShareTTM: z.number(),\n tangibleBookValuePerShareTTM: z.number(),\n shareholdersEquityPerShareTTM: z.number(),\n operatingCashFlowPerShareTTM: z.number(),\n capexPerShareTTM: z.number(),\n freeCashFlowPerShareTTM: z.number(),\n netIncomePerEBTTTM: z.number(),\n ebtPerEbitTTM: z.number(),\n priceToFairValueTTM: z.number(),\n debtToMarketCapTTM: z.number(),\n effectiveTaxRateTTM: z.number(),\n enterpriseValueMultipleTTM: z.number(),\n dividendPerShareTTM: z.number(),\n});\n\nexport type FinancialRatiosTTM = z.infer<typeof FinancialRatiosTTMSchema>;\n\n// Revenue segmentation (product & geographic share one shape) — stable\n// /revenue-product-segmentation and /revenue-geographic-segmentation. The `data`\n// object is keyed dynamically by product line / region.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const RevenueSegmentationSchema = z.object({\n symbol: z.string(),\n fiscalYear: z.number(),\n period: z.string(),\n reportedCurrency: z.string().nullable(),\n date: z.string(),\n data: z.record(z.string(), z.number()),\n});\n\nexport const RevenueProductSegmentationSchema = RevenueSegmentationSchema;\nexport const RevenueGeographicSegmentationSchema = RevenueSegmentationSchema;\nexport type RevenueProductSegmentation = z.infer<typeof RevenueSegmentationSchema>;\nexport type RevenueGeographicSegmentation = z.infer<typeof RevenueSegmentationSchema>;\n","// insider types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Hand-written (not generated) because ts-to-zod can't process the TransactionType enum.\n\nimport { z } from 'zod';\n\n// RSS Feed Response\nexport const InsiderTradingRSSResponseSchema = z.object({\n symbol: z.string(),\n filingDate: z.string(),\n transactionDate: z.string(),\n reportingCik: z.string(),\n companyCik: z.string(),\n transactionType: z.string(),\n securitiesOwned: z.number(),\n reportingName: z.string(),\n typeOfOwner: z.string(),\n acquisitionOrDisposition: z.string(),\n directOrIndirect: z.string().nullable(),\n formType: z.string(),\n securitiesTransacted: z.number(),\n price: z.number(),\n securityName: z.string(),\n url: z.string(),\n});\n\nexport type InsiderTradingRSSResponse = z.infer<typeof InsiderTradingRSSResponseSchema>;\n\n// Insider Trading Search Response\nexport const InsiderTradingSearchResponseSchema = z.object({\n symbol: z.string(),\n filingDate: z.string(),\n transactionDate: z.string(),\n reportingCik: z.string(),\n companyCik: z.string(),\n transactionType: z.string(),\n securitiesOwned: z.number(),\n reportingName: z.string(),\n typeOfOwner: z.string(),\n acquisitionOrDisposition: z.string(),\n directOrIndirect: z.string().nullable(),\n formType: z.string(),\n securitiesTransacted: z.number(),\n price: z.number(),\n securityName: z.string(),\n url: z.string(),\n});\n\nexport type InsiderTradingSearchResponse = z.infer<typeof InsiderTradingSearchResponseSchema>;\n\n// Transaction Types Response (array of records)\nexport const TransactionTypeRecordSchema = z.object({\n transactionType: z.string(),\n});\n\nexport type TransactionTypesResponse = z.infer<typeof TransactionTypeRecordSchema>[];\n\n// Insiders By Symbol Response\nexport const InsidersBySymbolResponseSchema = z.object({\n typeOfOwner: z.string().nullable(),\n transactionDate: z.string(),\n owner: z.string(),\n});\n\nexport type InsidersBySymbolResponse = z.infer<typeof InsidersBySymbolResponseSchema>;\n\n// Insider Trade Statistics Response\nexport const InsiderTradeStatisticsResponseSchema = z.object({\n symbol: z.string(),\n cik: z.string(),\n year: z.number(),\n quarter: z.number(),\n acquiredTransactions: z.number(),\n disposedTransactions: z.number(),\n acquiredDisposedRatio: z.number(),\n totalAcquired: z.number(),\n totalDisposed: z.number(),\n averageAcquired: z.number(),\n averageDisposed: z.number(),\n totalPurchases: z.number(),\n totalSales: z.number(),\n});\n\nexport type InsiderTradeStatisticsResponse = z.infer<typeof InsiderTradeStatisticsResponseSchema>;\n\n// CIK Mapper Response\nexport const CikMapperResponseSchema = z.object({\n reportingCik: z.string(),\n reportingName: z.string(),\n});\n\nexport type CikMapperResponse = z.infer<typeof CikMapperResponseSchema>;\n\n// CIK Mapper By Symbol Response\nexport const CikMapperBySymbolResponseSchema = z.object({\n symbol: z.string(),\n companyCik: z.string(),\n});\n\nexport type CikMapperBySymbolResponse = z.infer<typeof CikMapperBySymbolResponseSchema>;\n\n// Beneficial Ownership Response\nexport const BeneficialOwnershipResponseSchema = z.object({\n cik: z.string(),\n symbol: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n cusip: z.string(),\n nameOfReportingPerson: z.string(),\n citizenshipOrPlaceOfOrganization: z.string(),\n soleVotingPower: z.string(),\n sharedVotingPower: z.string(),\n soleDispositivePower: z.string(),\n sharedDispositivePower: z.string(),\n amountBeneficiallyOwned: z.string(),\n percentOfClass: z.string(),\n typeOfReportingPerson: z.string(),\n url: z.string(),\n});\n\nexport type BeneficialOwnershipResponse = z.infer<typeof BeneficialOwnershipResponseSchema>;\n\n// Fail to Deliver Response\nexport const FailToDeliverResponseSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n price: z.number(),\n quantity: z.number(),\n cusip: z.string(),\n name: z.string(),\n});\n\nexport type FailToDeliverResponse = z.infer<typeof FailToDeliverResponseSchema>;\n\n// Transaction type enum for better type safety\nexport enum TransactionType {\n AWARD = 'A-Award',\n CONVERSION = 'C-Conversion',\n RETURN = 'D-Return',\n EXPIRE_SHORT = 'E-ExpireShort',\n IN_KIND = 'F-InKind',\n GIFT = 'G-Gift',\n EXPIRE_LONG = 'H-ExpireLong',\n DISCRETIONARY = 'I-Discretionary',\n OTHER = 'J-Other',\n SMALL = 'L-Small',\n EXEMPT = 'M-Exempt',\n OUT_OF_THE_MONEY = 'O-OutOfTheMoney',\n PURCHASE = 'P-Purchase',\n SALE = 'S-Sale',\n TENDER = 'U-Tender',\n WILL = 'W-Will',\n IN_THE_MONEY = 'X-InTheMoney',\n TRUST = 'Z-Trust',\n}\n","// institutional types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const Form13FResponseSchema = z.object({\r\n date: z.string(),\r\n fillingDate: z.string(),\r\n acceptedDate: z.string(),\r\n cik: z.string(),\r\n cusip: z.string(),\r\n tickercusip: z.string(),\r\n nameOfIssuer: z.string(),\r\n shares: z.number(),\r\n titleOfClass: z.string(),\r\n value: z.number(),\r\n link: z.string(),\r\n finalLink: z.string()\r\n});\r\n\r\nexport const InstitutionalHolderResponseSchema = z.object({\r\n holder: z.string(),\r\n shares: z.number(),\r\n dateReported: z.string(),\r\n change: z.number()\r\n});\r\n\r\nexport type Form13FResponse = z.infer<typeof Form13FResponseSchema>;\r\nexport type InstitutionalHolderResponse = z.infer<typeof InstitutionalHolderResponseSchema>;\r\n","// list types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const StockListSchema = z.object({\r\n symbol: z.string(),\r\n exchange: z.string(),\r\n exchangeShortName: z.string(),\r\n price: z.number(),\r\n name: z.string(),\r\n type: z.string()\r\n});\r\n\r\nexport const ETFListSchema = z.object({\r\n symbol: z.string(),\r\n exchange: z.string(),\r\n exchangeShortName: z.string(),\r\n price: z.number(),\r\n name: z.string(),\r\n type: z.string()\r\n});\r\n\r\nexport const CryptoListSchema = z.object({\r\n symbol: z.string(),\r\n name: z.string(),\r\n currency: z.string(),\r\n stockExchange: z.string(),\r\n exchangeShortName: z.string()\r\n});\r\n\r\nexport const ForexListSchema = z.object({\r\n symbol: z.string(),\r\n name: z.string(),\r\n currency: z.string(),\r\n stockExchange: z.string(),\r\n exchangeShortName: z.string()\r\n});\r\n\r\nexport const AvailableIndexesListSchema = z.object({\r\n symbol: z.string(),\r\n name: z.string(),\r\n currency: z.string(),\r\n stockExchange: z.string(),\r\n exchangeShortName: z.string()\r\n});\r\n\r\nexport type StockList = z.infer<typeof StockListSchema>;\r\nexport type ETFList = z.infer<typeof ETFListSchema>;\r\nexport type CryptoList = z.infer<typeof CryptoListSchema>;\r\nexport type ForexList = z.infer<typeof ForexListSchema>;\r\nexport type AvailableIndexesList = z.infer<typeof AvailableIndexesListSchema>;\r\n","// Quote-related types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; the TypeScript types are\n// derived via `z.infer`. Regenerate the base schemas from interfaces with\n// `pnpm --filter fmp-node-types gen:schemas` (see scripts/), then fold edits here.\n\nimport { z } from 'zod';\n\n// Quote data structure - unified for all asset types\nexport const QuoteSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n price: z.number(),\n changesPercentage: z.number(),\n change: z.number(),\n dayLow: z.number(),\n dayHigh: z.number(),\n yearHigh: z.number(),\n yearLow: z.number(),\n marketCap: z.number().nullable(),\n priceAvg50: z.number(),\n priceAvg200: z.number(),\n exchange: z.string(),\n volume: z.number(),\n avgVolume: z.number(),\n open: z.number(),\n previousClose: z.number(),\n eps: z.number().nullable(),\n pe: z.number().nullable(),\n earningsAnnouncement: z.string().nullable(),\n sharesOutstanding: z.number().nullable(),\n timestamp: z.number(),\n});\n\nexport type Quote = z.infer<typeof QuoteSchema>;\n\n// Historical price data structure\nexport const HistoricalPriceDataSchema = z.object({\n date: z.string(),\n open: z.number(),\n high: z.number(),\n low: z.number(),\n close: z.number(),\n adjClose: z.number(),\n volume: z.number(),\n unadjustedVolume: z.number(),\n change: z.number(),\n changePercent: z.number(),\n vwap: z.number(),\n label: z.string(),\n changeOverTime: z.number(),\n});\n\nexport type HistoricalPriceData = z.infer<typeof HistoricalPriceDataSchema>;\n\n// Historical price response wrapper\nexport const HistoricalPriceResponseSchema = z.object({\n symbol: z.string(),\n historical: z.array(HistoricalPriceDataSchema),\n});\n\nexport type HistoricalPriceResponse = z.infer<typeof HistoricalPriceResponseSchema>;\n\n// Intraday bars (/historical-chart/{interval}/{symbol}) return a leaner shape\n// than HistoricalPriceData — only OHLCV, no adjusted/derived fields.\nexport const IntradayPriceSchema = z.object({\n date: z.string(),\n open: z.number(),\n low: z.number(),\n high: z.number(),\n close: z.number(),\n volume: z.number(),\n});\n\nexport type IntradayPrice = z.infer<typeof IntradayPriceSchema>;\n","// Market data types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Base schemas generated via `gen:schemas`.\n\nimport { z } from 'zod';\nimport { QuoteSchema } from './quote';\n\n// The named-holiday keys vary year to year (e.g. Juneteenth only appears from\n// 2021), so every holiday field except `year` is optional.\nexport const MarketHolidaySchema = z.object({\n year: z.number(),\n 'Martin Luther King, Jr. Day': z.string().optional(),\n \"Presidents' Day\": z.string().optional(),\n 'Good Friday': z.string().optional(),\n 'Memorial Day': z.string().optional(),\n Juneteenth: z.string().optional(),\n 'Independence Day': z.string().optional(),\n 'Labor Day': z.string().optional(),\n 'Thanksgiving Day': z.string().optional(),\n Christmas: z.string().optional(),\n});\n\nexport type MarketHoliday = z.infer<typeof MarketHolidaySchema>;\n\nexport const MarketHoursSchema = z.object({\n stockExchangeName: z.string(),\n stockMarketHours: z.object({\n openingHour: z.string(),\n closingHour: z.string(),\n }),\n stockMarketHolidays: z.array(MarketHolidaySchema),\n isTheStockMarketOpen: z.boolean(),\n isTheEuronextMarketOpen: z.boolean(),\n isTheForexMarketOpen: z.boolean(),\n isTheCryptoMarketOpen: z.boolean(),\n});\n\nexport type MarketHours = z.infer<typeof MarketHoursSchema>;\n\nexport const MarketPerformanceSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n change: z.number(),\n price: z.number(),\n changesPercentage: z.number(),\n // Present on the biggest-gainers/losers/most-actives (stable) endpoints.\n exchange: z.string().optional(),\n});\n\nexport type MarketPerformance = z.infer<typeof MarketPerformanceSchema>;\n\nexport const MarketSectorPerformanceSchema = z.object({\n sector: z.string(),\n // The sector-performance endpoint returns this as a formatted string (e.g. \"1.23%\").\n changesPercentage: z.string(),\n});\n\nexport type MarketSectorPerformance = z.infer<typeof MarketSectorPerformanceSchema>;\n\n// The `/quotes/index` endpoint (used by both getMarketIndex and\n// getMarketPerformance) returns full quote objects for market indices — the\n// same shape as Quote, plus an optional `type` discriminator on some responses.\nexport const MarketIndexSchema = QuoteSchema.extend({\n type: z.string().optional(),\n});\n\nexport type MarketIndex = z.infer<typeof MarketIndexSchema>;\n","// mutual-fund types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const MutualFundHoldingSchema = z.object({\r\n holder: z.string(),\r\n shares: z.number(),\r\n dateReported: z.string(),\r\n change: z.number(),\r\n weightPercent: z.number()\r\n});\r\n\r\nexport type MutualFundHolding = z.infer<typeof MutualFundHoldingSchema>;\r\n","// news types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const NewsSchema = z.object({\r\n symbol: z.string(),\r\n publishedDate: z.string(),\r\n publisher: z.string(),\r\n title: z.string(),\r\n image: z.string(),\r\n site: z.string(),\r\n text: z.string(),\r\n url: z.string()\r\n});\r\n\r\nexport const ArticleSchema = z.object({\r\n title: z.string(),\r\n date: z.string(),\r\n content: z.string(),\r\n tickers: z.string(),\r\n image: z.string(),\r\n link: z.string(),\r\n author: z.string(),\r\n site: z.string()\r\n});\r\n\r\nexport type News = z.infer<typeof NewsSchema>;\r\nexport type Article = z.infer<typeof ArticleSchema>;\r\n","// sec types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const RSSFeedItemSchema = z.object({\r\n title: z.string(),\r\n date: z.string(),\r\n link: z.string(),\r\n cik: z.string(),\r\n form_type: z.string(),\r\n ticker: z.string(),\r\n done: z.boolean()\r\n});\r\n\r\nexport const RSSFeedV3ItemSchema = z.object({\r\n title: z.string(),\r\n date: z.string(),\r\n link: z.string(),\r\n cik: z.string(),\r\n form_type: z.string(),\r\n ticker: z.string(),\r\n done: z.boolean()\r\n});\r\n\r\nexport const RSSFeed8KItemSchema = z.object({\r\n title: z.string(),\r\n symbol: z.string(),\r\n cik: z.string(),\r\n link: z.string(),\r\n finalLink: z.string(),\r\n date: z.string(),\r\n process: z.string(),\r\n hasFinancials: z.string()\r\n});\r\n\r\nexport const SECFilingSchema = z.object({\r\n symbol: z.string(),\r\n cik: z.string(),\r\n type: z.string(),\r\n link: z.string(),\r\n finalLink: z.string(),\r\n acceptedDate: z.string(),\r\n fillingDate: z.string()\r\n});\r\n\r\nexport const IndustryClassificationSchema = z.object({\r\n symbol: z.string(),\r\n name: z.string(),\r\n cik: z.string(),\r\n sicCode: z.string(),\r\n industryTitle: z.string(),\r\n businessAdress: z.string(),\r\n phoneNumber: z.string()\r\n});\r\n\r\nexport const IndustryClassificationCodeSchema = z.object({\r\n office: z.string(),\r\n sicCode: z.string(),\r\n industryTitle: z.string()\r\n});\r\n\r\nexport const RSSFeedParamsSchema = z.object({\r\n limit: z.number().optional(),\r\n type: z.string().optional(),\r\n from: z.string().optional(),\r\n to: z.string().optional(),\r\n isDone: z.boolean().optional()\r\n});\r\n\r\nexport const RSSFeedV3ParamsSchema = z.object({\r\n page: z.number().optional(),\r\n datatype: z.string().optional()\r\n});\r\n\r\nexport const RSSFeedAllItemSchema = z.object({\r\n symbol: z.string(),\r\n fillingDate: z.string(),\r\n acceptedDate: z.string(),\r\n cik: z.string(),\r\n type: z.string(),\r\n link: z.string(),\r\n finalLink: z.string()\r\n});\r\n\r\nexport const RSSFeed8KParamsSchema = z.object({\r\n page: z.number().optional(),\r\n from: z.string().optional(),\r\n to: z.string().optional(),\r\n hasFinancial: z.boolean().optional(),\r\n limit: z.number().optional()\r\n});\r\n\r\nexport const SECFilingsParamsSchema = z.object({\r\n page: z.number().optional(),\r\n type: z.string().optional()\r\n});\r\n\r\nexport const IndividualIndustryClassificationParamsSchema = z.object({\r\n symbol: z.string().optional(),\r\n cik: z.number().optional(),\r\n sicCode: z.number().optional()\r\n});\r\n\r\nexport const IndustryClassificationCodesParamsSchema = z.object({\r\n industryTitle: z.string().optional(),\r\n sicCode: z.number().optional()\r\n});\r\n\r\nexport type RSSFeedItem = z.infer<typeof RSSFeedItemSchema>;\r\nexport type RSSFeedV3Item = z.infer<typeof RSSFeedV3ItemSchema>;\r\nexport type RSSFeed8KItem = z.infer<typeof RSSFeed8KItemSchema>;\r\nexport type SECFiling = z.infer<typeof SECFilingSchema>;\r\nexport type IndustryClassification = z.infer<typeof IndustryClassificationSchema>;\r\nexport type IndustryClassificationCode = z.infer<typeof IndustryClassificationCodeSchema>;\r\nexport type RSSFeedParams = z.infer<typeof RSSFeedParamsSchema>;\r\nexport type RSSFeedV3Params = z.infer<typeof RSSFeedV3ParamsSchema>;\r\nexport type RSSFeedAllItem = z.infer<typeof RSSFeedAllItemSchema>;\r\nexport type RSSFeed8KParams = z.infer<typeof RSSFeed8KParamsSchema>;\r\nexport type SECFilingsParams = z.infer<typeof SECFilingsParamsSchema>;\r\nexport type IndividualIndustryClassificationParams = z.infer<typeof IndividualIndustryClassificationParamsSchema>;\r\nexport type IndustryClassificationCodesParams = z.infer<typeof IndustryClassificationCodesParamsSchema>;\r\n","// screener types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const ScreenerParamsSchema = z.object({\r\n marketCapMoreThan: z.number().optional(),\r\n marketCapLowerThan: z.number().optional(),\r\n sector: z.string().optional(),\r\n industry: z.string().optional(),\r\n betaMoreThan: z.number().optional(),\r\n betaLowerThan: z.number().optional(),\r\n priceMoreThan: z.number().optional(),\r\n priceLowerThan: z.number().optional(),\r\n dividendMoreThan: z.number().optional(),\r\n dividendLowerThan: z.number().optional(),\r\n volumeMoreThan: z.number().optional(),\r\n volumeLowerThan: z.number().optional(),\r\n exchange: z.string().optional(),\r\n country: z.string().optional(),\r\n isEtf: z.boolean().optional(),\r\n isFund: z.boolean().optional(),\r\n isActivelyTrading: z.boolean().optional(),\r\n limit: z.number().optional(),\r\n includeAllShareClasses: z.boolean().optional()\r\n});\r\n\r\nexport const ScreenerSchema = z.object({\r\n symbol: z.string(),\r\n companyName: z.string(),\r\n marketCap: z.number().nullable(),\r\n sector: z.string().nullable(),\r\n industry: z.string().nullable(),\r\n beta: z.number().nullable(),\r\n price: z.number(),\r\n lastAnnualDividend: z.number().nullable(),\r\n volume: z.number(),\r\n exchange: z.string(),\r\n exchangeShortName: z.string(),\r\n country: z.string(),\r\n isEtf: z.boolean(),\r\n isFund: z.boolean(),\r\n isActivelyTrading: z.boolean()\r\n});\r\n\r\nexport const AvailableExchangesSchema = z.object({\r\n exchange: z.string(),\r\n name: z.string(),\r\n countryName: z.string(),\r\n countryCode: z.string(),\r\n symbolSuffix: z.string(),\r\n delay: z.string().nullable()\r\n});\r\n\r\nexport const AvailableSectorsSchema = z.object({\r\n sector: z.string()\r\n});\r\n\r\nexport const AvailableIndustriesSchema = z.object({\r\n industry: z.string()\r\n});\r\n\r\nexport const AvailableCountriesSchema = z.object({\r\n country: z.string()\r\n});\r\n\r\nexport type ScreenerParams = z.infer<typeof ScreenerParamsSchema>;\r\nexport type Screener = z.infer<typeof ScreenerSchema>;\r\nexport type AvailableExchanges = z.infer<typeof AvailableExchangesSchema>;\r\nexport type AvailableSectors = z.infer<typeof AvailableSectorsSchema>;\r\nexport type AvailableIndustries = z.infer<typeof AvailableIndustriesSchema>;\r\nexport type AvailableCountries = z.infer<typeof AvailableCountriesSchema>;\r\n","// search types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\nimport { z } from \"zod\";\r\n\r\nexport const SearchResultSchema = z.object({\r\n symbol: z.string(),\r\n name: z.string(),\r\n currency: z.string().nullable(),\r\n stockExchange: z.string().nullable(),\r\n exchangeShortName: z.string().nullable()\r\n});\r\n\r\nexport type SearchResult = z.infer<typeof SearchResultSchema>;\r\n","// analyst types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Verified against the live FMP `stable` API (2026-05-27).\r\nimport { z } from \"zod\";\r\n\r\nexport const AnalystEstimateSchema = z.object({\r\n symbol: z.string(),\r\n date: z.string(),\r\n revenueLow: z.number().nullable(),\r\n revenueHigh: z.number().nullable(),\r\n revenueAvg: z.number().nullable(),\r\n ebitdaLow: z.number().nullable(),\r\n ebitdaHigh: z.number().nullable(),\r\n ebitdaAvg: z.number().nullable(),\r\n ebitLow: z.number().nullable(),\r\n ebitHigh: z.number().nullable(),\r\n ebitAvg: z.number().nullable(),\r\n netIncomeLow: z.number().nullable(),\r\n netIncomeHigh: z.number().nullable(),\r\n netIncomeAvg: z.number().nullable(),\r\n sgaExpenseLow: z.number().nullable(),\r\n sgaExpenseHigh: z.number().nullable(),\r\n sgaExpenseAvg: z.number().nullable(),\r\n epsAvg: z.number().nullable(),\r\n epsHigh: z.number().nullable(),\r\n epsLow: z.number().nullable(),\r\n numAnalystsRevenue: z.number().nullable(),\r\n numAnalystsEps: z.number().nullable()\r\n});\r\n\r\nexport const PriceTargetConsensusSchema = z.object({\r\n symbol: z.string(),\r\n targetHigh: z.number().nullable(),\r\n targetLow: z.number().nullable(),\r\n targetConsensus: z.number().nullable(),\r\n targetMedian: z.number().nullable()\r\n});\r\n\r\nexport const PriceTargetSummarySchema = z.object({\r\n symbol: z.string(),\r\n lastMonthCount: z.number().nullable(),\r\n lastMonthAvgPriceTarget: z.number().nullable(),\r\n lastQuarterCount: z.number().nullable(),\r\n lastQuarterAvgPriceTarget: z.number().nullable(),\r\n lastYearCount: z.number().nullable(),\r\n lastYearAvgPriceTarget: z.number().nullable(),\r\n allTimeCount: z.number().nullable(),\r\n allTimeAvgPriceTarget: z.number().nullable(),\r\n publishers: z.string().nullable()\r\n});\r\n\r\nexport const StockGradeSchema = z.object({\r\n symbol: z.string(),\r\n date: z.string(),\r\n gradingCompany: z.string().nullable(),\r\n previousGrade: z.string().nullable(),\r\n newGrade: z.string().nullable(),\r\n action: z.string().nullable()\r\n});\r\n\r\nexport const GradesConsensusSchema = z.object({\r\n symbol: z.string(),\r\n strongBuy: z.number(),\r\n buy: z.number(),\r\n hold: z.number(),\r\n sell: z.number(),\r\n strongSell: z.number(),\r\n consensus: z.string()\r\n});\r\n\r\nexport type AnalystEstimate = z.infer<typeof AnalystEstimateSchema>;\r\nexport type PriceTargetConsensus = z.infer<typeof PriceTargetConsensusSchema>;\r\nexport type PriceTargetSummary = z.infer<typeof PriceTargetSummarySchema>;\r\nexport type StockGrade = z.infer<typeof StockGradeSchema>;\r\nexport type GradesConsensus = z.infer<typeof GradesConsensusSchema>;\r\n","// valuation types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Verified against the live FMP `stable` API (2026-05-27). Note the DCF price field\r\n// is keyed \"Stock Price\" (with a space) in the real response.\r\nimport { z } from \"zod\";\r\n\r\nexport const DCFValuationSchema = z.object({\r\n symbol: z.string(),\r\n date: z.string().nullable(),\r\n dcf: z.number().nullable(),\r\n \"Stock Price\": z.number().nullable()\r\n});\r\n\r\nexport const CompanyRatingSchema = z.object({\r\n symbol: z.string(),\r\n // Present on historical rating rows; absent on the current snapshot.\r\n date: z.string().optional(),\r\n rating: z.string().nullable(),\r\n overallScore: z.number().nullable(),\r\n discountedCashFlowScore: z.number().nullable(),\r\n returnOnEquityScore: z.number().nullable(),\r\n returnOnAssetsScore: z.number().nullable(),\r\n debtToEquityScore: z.number().nullable(),\r\n priceToEarningsScore: z.number().nullable(),\r\n priceToBookScore: z.number().nullable()\r\n});\r\n\r\nexport type DCFValuation = z.infer<typeof DCFValuationSchema>;\r\nexport type CompanyRating = z.infer<typeof CompanyRatingSchema>;\r\n","// technical indicator types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// One schema covers every indicator `type`; the indicator value lands in the\r\n// correspondingly-named optional field (e.g. `sma`, `rsi`). Verified against the\r\n// live FMP `stable` API (2026-05-27).\r\nimport { z } from \"zod\";\r\n\r\nexport const TechnicalIndicatorSchema = z.object({\r\n date: z.string(),\r\n open: z.number().nullable(),\r\n high: z.number().nullable(),\r\n low: z.number().nullable(),\r\n close: z.number().nullable(),\r\n volume: z.number().nullable(),\r\n sma: z.number().optional(),\r\n ema: z.number().optional(),\r\n wma: z.number().optional(),\r\n dema: z.number().optional(),\r\n tema: z.number().optional(),\r\n rsi: z.number().optional(),\r\n standardDeviation: z.number().optional(),\r\n williams: z.number().optional(),\r\n adx: z.number().optional()\r\n});\r\n\r\nexport type TechnicalIndicator = z.infer<typeof TechnicalIndicatorSchema>;\r\n","// senate-house types for FMP API\r\n//\r\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\r\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\r\nimport { z } from \"zod\";\r\n\r\nexport const SenateTradingResponseSchema = z.object({\r\n symbol: z.string(),\r\n disclosureDate: z.string(),\r\n transactionDate: z.string(),\r\n firstName: z.string(),\r\n lastName: z.string(),\r\n office: z.string(),\r\n district: z.string(),\r\n owner: z.string(),\r\n assetDescription: z.string(),\r\n assetType: z.string(),\r\n type: z.string(),\r\n amount: z.string(),\r\n // The senate-latest RSS feed omits this field that senate-trades includes.\r\n capitalGainsOver200USD: z.string().optional(),\r\n comment: z.string(),\r\n link: z.string()\r\n});\r\n\r\nexport const HouseTradingResponseSchema = z.object({\r\n symbol: z.string(),\r\n disclosureDate: z.string(),\r\n transactionDate: z.string(),\r\n firstName: z.string(),\r\n lastName: z.string(),\r\n office: z.string(),\r\n district: z.string(),\r\n owner: z.string(),\r\n assetDescription: z.string(),\r\n assetType: z.string(),\r\n type: z.string(),\r\n amount: z.string(),\r\n capitalGainsOver200USD: z.string(),\r\n comment: z.string(),\r\n link: z.string()\r\n});\r\n\r\nexport const SenateHouseTradingByNameResponseSchema = z.object({\r\n symbol: z.string(),\r\n disclosureDate: z.string(),\r\n transactionDate: z.string(),\r\n firstName: z.string(),\r\n lastName: z.string(),\r\n office: z.string(),\r\n district: z.string(),\r\n owner: z.string(),\r\n assetDescription: z.string(),\r\n assetType: z.string(),\r\n type: z.string(),\r\n amount: z.string(),\r\n capitalGainsOver200USD: z.string(),\r\n comment: z.string(),\r\n link: z.string()\r\n});\r\n\r\nexport type SenateTradingResponse = z.infer<typeof SenateTradingResponseSchema>;\r\nexport type HouseTradingResponse = z.infer<typeof HouseTradingResponseSchema>;\r\nexport type SenateHouseTradingByNameResponse = z.infer<typeof SenateHouseTradingByNameResponseSchema>;\r\n","// Stock-related types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Schemas here are hand-written because `ts-to-zod`\n// cannot generate from the generic wrapper interfaces below.\n\nimport { z } from 'zod';\n\nexport const StockSplitSchema = z.object({\n date: z.string(),\n label: z.string(),\n numerator: z.number(),\n denominator: z.number(),\n});\n\nexport type StockSplit = z.infer<typeof StockSplitSchema>;\n\nexport const StockSplitResponseSchema = z.object({\n symbol: z.string(),\n historical: z.array(StockSplitSchema),\n});\n\nexport type StockSplitResponse = z.infer<typeof StockSplitResponseSchema>;\n\nexport const StockDividendSchema = z.object({\n date: z.string(),\n label: z.string(),\n adjDividend: z.number(),\n dividend: z.number(),\n recordDate: z.string(),\n paymentDate: z.string(),\n declarationDate: z.string(),\n});\n\nexport type StockDividend = z.infer<typeof StockDividendSchema>;\n\nexport const StockDividendResponseSchema = z.object({\n symbol: z.string(),\n historical: z.array(StockDividendSchema),\n});\n\nexport type StockDividendResponse = z.infer<typeof StockDividendResponseSchema>;\n\nexport const MarketCapSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n marketCap: z.number(),\n});\n\nexport type MarketCap = z.infer<typeof MarketCapSchema>;\n\nexport const StockRealTimePriceSchema = z.object({\n symbol: z.string(),\n price: z.number(),\n});\n\nexport type StockRealTimePrice = z.infer<typeof StockRealTimePriceSchema>;\n\nexport const StockRealTimePriceFullSchema = z.object({\n bidSize: z.number(),\n askPrice: z.number(),\n volume: z.number(),\n askSize: z.number(),\n bidPrice: z.number(),\n lastSalePrice: z.number(),\n lastSaleSize: z.number(),\n lastSaleTime: z.number(),\n fmpLast: z.number(),\n lastUpdated: z.number(),\n symbol: z.string(),\n});\n\nexport type StockRealTimePriceFull = z.infer<typeof StockRealTimePriceFullSchema>;\n\n// Generic response wrappers — kept as plain interfaces because Zod schemas\n// cannot represent open generics. Not part of the schema-first surface.\n\n// For endpoints that return { stockList: [...] }\nexport interface StockListResponse<T> {\n stockList: T[];\n}\n\n// For endpoints that return { companiesPriceList: [...] }\nexport interface CompaniesPriceListResponse<T> {\n companiesPriceList: T[];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/calendar.ts","../src/common.ts","../src/company.ts","../src/economic.ts","../src/etf.ts","../src/financial.ts","../src/insider.ts","../src/institutional.ts","../src/list.ts","../src/quote.ts","../src/market.ts","../src/mutual-fund.ts","../src/news.ts","../src/sec.ts","../src/screener.ts","../src/search.ts","../src/analyst.ts","../src/valuation.ts","../src/technical.ts","../src/senate-house.ts","../src/stock.ts","../src/aftermarket.ts"],"names":["Period","Exchange","z","TransactionType"],"mappings":";;;AAMO,IAAM,sBAAA,GAAyB,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,gBAAA,EAAkB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,gBAAA,EAAkB,EAAE,MAAA,EAAO;AAAA,EAC3B,eAAA,EAAiB,EAAE,MAAA;AACrB,CAAC;AAEM,IAAM,uBAAA,GAA0B,EAAE,MAAA,CAAO;AAAA,EAC9C,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,eAAA,EAAiB,EAAE,MAAA,EAAO;AAAA,EAC1B,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,GAAA,EAAK,EAAE,MAAA;AACT,CAAC;AAEM,IAAM,uBAAA,GAA0B,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,eAAA,EAAiB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC9B,CAAC;AAEM,IAAM,uBAAA,GAA0B,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkB,EAAE,MAAA,EAAO;AAAA,EAC3B,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACnB,CAAC;AAEM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAEM,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAW,EAAE,MAAA,EAAO;AAAA,EACpB,WAAA,EAAa,EAAE,MAAA;AACjB,CAAC;;;ACjBM,IAAK,MAAA,qBAAAA,OAAAA,KAAL;AACL,EAAAA,QAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,QAAA,SAAA,CAAA,GAAU,SAAA;AAFA,EAAA,OAAAA,OAAAA;AAAA,CAAA,EAAA,MAAA,IAAA,EAAA;AAKL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACL,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,UAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,UAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,UAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,UAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,UAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,UAAA,KAAA,CAAA,GAAM,KAAA;AARI,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA;ACrDL,IAAM,oBAAA,GAAuBC,EAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,YAAA,EAAcA,EAAE,OAAA,EAAQ;AAAA,EACxB,KAAA,EAAOA,EAAE,OAAA,EAAQ;AAAA,EACjB,iBAAA,EAAmBA,EAAE,OAAA,EAAQ;AAAA,EAC7B,KAAA,EAAOA,EAAE,OAAA,EAAQ;AAAA,EACjB,MAAA,EAAQA,EAAE,OAAA;AACZ,CAAC;AAEM,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA,EAClD,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,EAAE,MAAA;AACd,CAAC;AAEM,IAAM,6BAAA,GAAgCA,EAAE,MAAA,CAAO;AAAA,EACpD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;AAEM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,4BAAA,GAA+BA,EAAE,MAAA,CAAO;AAAA,EACnD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA;AACb,CAAC;AAEM,IAAM,2BAAA,GAA8BA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC;AAIhF,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;AC/GM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA;AACX,CAAC;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;AAEM,IAAM,2BAAA,GAA8BA,EAAE,KAAA,CAAM;AAAA,EACjDA,CAAAA,CAAE,QAAQ,KAAK,CAAA;AAAA,EACfA,CAAAA,CAAE,QAAQ,SAAS,CAAA;AAAA,EACnBA,CAAAA,CAAE,QAAQ,qBAAqB,CAAA;AAAA,EAC/BA,CAAAA,CAAE,QAAQ,kBAAkB,CAAA;AAAA,EAC5BA,CAAAA,CAAE,QAAQ,cAAc,CAAA;AAAA,EACxBA,CAAAA,CAAE,QAAQ,KAAK,CAAA;AAAA,EACfA,CAAAA,CAAE,QAAQ,eAAe,CAAA;AAAA,EACzBA,CAAAA,CAAE,QAAQ,WAAW,CAAA;AAAA,EACrBA,CAAAA,CAAE,QAAQ,aAAa,CAAA;AAAA,EACvBA,CAAAA,CAAE,QAAQ,mBAAmB,CAAA;AAAA,EAC7BA,CAAAA,CAAE,QAAQ,cAAc,CAAA;AAAA,EACxBA,CAAAA,CAAE,QAAQ,kBAAkB,CAAA;AAAA,EAC5BA,CAAAA,CAAE,QAAQ,qBAAqB,CAAA;AAAA,EAC/BA,CAAAA,CAAE,QAAQ,eAAe,CAAA;AAAA,EACzBA,CAAAA,CAAE,QAAQ,gCAAgC,CAAA;AAAA,EAC1CA,CAAAA,CAAE,QAAQ,gDAAgD,CAAA;AAAA,EAC1DA,CAAAA,CAAE,QAAQ,mBAAmB,CAAA;AAAA,EAC7BA,CAAAA,CAAE,QAAQ,kBAAkB,CAAA;AAAA,EAC5BA,CAAAA,CAAE,QAAQ,kCAAkC,CAAA;AAAA,EAC5CA,CAAAA,CAAE,QAAQ,kDAAkD,CAAA;AAAA,EAC5DA,CAAAA,CAAE,QAAQ,wDAAwD,CAAA;AAAA,EAClEA,CAAAA,CAAE,QAAQ,gCAAgC,CAAA;AAAA,EAC1CA,CAAAA,CAAE,QAAQ,gCAAgC;AAC5C,CAAC;AC9CM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,YAAA,EAAcA,EAAE,MAAA;AAClB,CAAC;AAEM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,OAAA,EAASA,EAAE,MAAA;AACb,CAAC;AAEM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,iBAAA,EAAmBA,EAAE,OAAA,EAAQ;AAAA,EAC7B,aAAaA,CAAAA,CAAE,KAAA;AAAA,IACbA,EAAE,MAAA,CAAO;AAAA,MACP,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,MACnB,QAAA,EAAUA,EAAE,MAAA;AAAO,KACpB;AAAA;AAEL,CAAC;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA;AAAA,EAEjB,gBAAA,EAAkBA,EAAE,MAAA;AACtB,CAAC;AAEM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,gBAAA,EAAkBA,EAAE,MAAA;AACtB,CAAC;AAEM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,WAAA,EAAaA,EAAE,MAAA;AACjB,CAAC;ACpFM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,uCAAA,EAAyCA,EAAE,MAAA,EAAO;AAAA,EAClD,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,mCAAA,EAAqCA,EAAE,MAAA,EAAO;AAAA,EAC9C,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,mCAAA,EAAqCA,EAAE,MAAA,EAAO;AAAA,EAC9C,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,wBAAA,EAA0BA,EAAE,MAAA;AAC9B,CAAC;AAKM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,uCAAA,EAAyCA,EAAE,MAAA,EAAO;AAAA,EAClD,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,OAAA,EAASA,EAAE,MAAA;AACb,CAAC;AAKM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,YAAA,EAAcA,EAAE,MAAA;AAClB,CAAC;AAKM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,+BAAA,EAAiCA,EAAE,MAAA,EAAO;AAAA,EAC1C,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,oBAAA,EAAsBA,EAAE,MAAA;AAC1B,CAAC;AAKM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,uCAAA,EAAyCA,EAAE,MAAA,EAAO;AAAA,EAClD,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,+BAAA,EAAiCA,EAAE,MAAA,EAAO;AAAA,EAC1C,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,uBAAA,EAAyBA,EAAE,MAAA;AAC7B,CAAC;AAKM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,eAAA,EAAiBA,EAAE,MAAA;AACrB,CAAC;AAKM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,yCAAA,EAA2CA,EAAE,MAAA,EAAO;AAAA,EACpD,4CAAA,EAA8CA,EAAE,MAAA,EAAO;AAAA,EACvD,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,8CAAA,EAAgDA,EAAE,MAAA,EAAO;AAAA,EACzD,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,kBAAA,EAAoBA,EAAE,MAAA;AACxB,CAAC;AAKM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,yCAAA,EAA2CA,EAAE,MAAA,EAAO;AAAA,EACpD,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,uCAAA,EAAyCA,EAAE,MAAA,EAAO;AAAA,EAClD,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,yBAAA,EAA2BA,EAAE,MAAA;AAC/B,CAAC;AAKM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,+BAAA,EAAiCA,EAAE,MAAA,EAAO;AAAA,EAC1C,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,+BAAA,EAAiCA,EAAE,MAAA,EAAO;AAAA,EAC1C,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,6CAAA,EAA+CA,EAAE,MAAA,EAAO;AAAA,EACxD,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,2CAAA,EAA6CA,EAAE,MAAA,EAAO;AAAA,EACtD,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,mBAAA,EAAqBA,EAAE,MAAA;AACzB,CAAC;AAKM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,+BAAA,EAAiCA,EAAE,MAAA,EAAO;AAAA,EAC1C,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,qCAAA,EAAuCA,EAAE,MAAA,EAAO;AAAA,EAChD,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,mCAAA,EAAqCA,EAAE,MAAA,EAAO;AAAA,EAC9C,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,qCAAA,EAAuCA,EAAE,MAAA,EAAO;AAAA,EAChD,sCAAA,EAAwCA,EAAE,MAAA,EAAO;AAAA,EACjD,uCAAA,EAAyCA,EAAE,MAAA;AAC7C,CAAC;AAKM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA;AAAA,EAEjB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,WAAA,EAAaA,EAAE,MAAA;AACjB,CAAC;AAKM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,gBAAA,EAAkBA,EAAE,MAAA;AACtB,CAAC;AAMM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,OAAA,EAASA,EAAE,MAAA;AACb,CAAC;AAMM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,yCAAA,EAA2CA,EAAE,MAAA,EAAO;AAAA,EACpD,mCAAA,EAAqCA,EAAE,MAAA,EAAO;AAAA,EAC9C,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,uBAAA,EAAyBA,EAAE,MAAA;AAC7B,CAAC;AAMM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,mCAAA,EAAqCA,EAAE,MAAA,EAAO;AAAA,EAC9C,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,yBAAA,EAA2BA,EAAE,MAAA,EAAO;AAAA,EACpC,8BAAA,EAAgCA,EAAE,MAAA,EAAO;AAAA,EACzC,qCAAA,EAAuCA,EAAE,MAAA,EAAO;AAAA,EAChD,2BAAA,EAA6BA,EAAE,MAAA,EAAO;AAAA,EACtC,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,0CAAA,EAA4CA,EAAE,MAAA,EAAO;AAAA,EACrD,iCAAA,EAAmCA,EAAE,MAAA,EAAO;AAAA,EAC5C,kCAAA,EAAoCA,EAAE,MAAA,EAAO;AAAA,EAC7C,oCAAA,EAAsCA,EAAE,MAAA,EAAO;AAAA,EAC/C,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,6BAAA,EAA+BA,EAAE,MAAA,EAAO;AAAA,EACxC,4BAAA,EAA8BA,EAAE,MAAA,EAAO;AAAA,EACvC,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,mBAAA,EAAqBA,EAAE,MAAA,EAAO;AAAA,EAC9B,0BAAA,EAA4BA,EAAE,MAAA,EAAO;AAAA,EACrC,mBAAA,EAAqBA,EAAE,MAAA;AACzB,CAAC;AAQM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,QAAQ;AACvC,CAAC;AAEM,IAAM,gCAAA,GAAmC;AACzC,IAAM,mCAAA,GAAsC;AClqB5C,IAAM,+BAAA,GAAkCA,EAAE,MAAA,CAAO;AAAA,EACtD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,GAAA,EAAKA,EAAE,MAAA;AACT,CAAC;AAKM,IAAM,kCAAA,GAAqCA,EAAE,MAAA,CAAO;AAAA,EACzD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,wBAAA,EAA0BA,EAAE,MAAA,EAAO;AAAA,EACnC,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,GAAA,EAAKA,EAAE,MAAA;AACT,CAAC;AAKM,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA,EAClD,eAAA,EAAiBA,EAAE,MAAA;AACrB,CAAC;AAKM,IAAM,8BAAA,GAAiCA,EAAE,MAAA,CAAO;AAAA,EACrD,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,KAAA,EAAOA,EAAE,MAAA;AACX,CAAC;AAKM,IAAM,oCAAA,GAAuCA,EAAE,MAAA,CAAO;AAAA,EAC3D,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,UAAA,EAAYA,EAAE,MAAA;AAChB,CAAC;AAKM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,aAAA,EAAeA,EAAE,MAAA;AACnB,CAAC;AAKM,IAAM,+BAAA,GAAkCA,EAAE,MAAA,CAAO;AAAA,EACtD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,EAAE,MAAA;AAChB,CAAC;AAKM,IAAM,iCAAA,GAAoCA,EAAE,MAAA,CAAO;AAAA,EACxD,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,gCAAA,EAAkCA,EAAE,MAAA,EAAO;AAAA,EAC3C,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,oBAAA,EAAsBA,EAAE,MAAA,EAAO;AAAA,EAC/B,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,EAClC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,EAChC,GAAA,EAAKA,EAAE,MAAA;AACT,CAAC;AAKM,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAKM,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACL,EAAAA,iBAAA,OAAA,CAAA,GAAQ,SAAA;AACR,EAAAA,iBAAA,YAAA,CAAA,GAAa,cAAA;AACb,EAAAA,iBAAA,QAAA,CAAA,GAAS,UAAA;AACT,EAAAA,iBAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,iBAAA,SAAA,CAAA,GAAU,UAAA;AACV,EAAAA,iBAAA,MAAA,CAAA,GAAO,QAAA;AACP,EAAAA,iBAAA,aAAA,CAAA,GAAc,cAAA;AACd,EAAAA,iBAAA,eAAA,CAAA,GAAgB,iBAAA;AAChB,EAAAA,iBAAA,OAAA,CAAA,GAAQ,SAAA;AACR,EAAAA,iBAAA,OAAA,CAAA,GAAQ,SAAA;AACR,EAAAA,iBAAA,QAAA,CAAA,GAAS,UAAA;AACT,EAAAA,iBAAA,kBAAA,CAAA,GAAmB,iBAAA;AACnB,EAAAA,iBAAA,UAAA,CAAA,GAAW,YAAA;AACX,EAAAA,iBAAA,MAAA,CAAA,GAAO,QAAA;AACP,EAAAA,iBAAA,QAAA,CAAA,GAAS,UAAA;AACT,EAAAA,iBAAA,MAAA,CAAA,GAAO,QAAA;AACP,EAAAA,iBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,iBAAA,OAAA,CAAA,GAAQ,SAAA;AAlBE,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AClIL,IAAM,qBAAA,GAAwBD,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC;AAEM,IAAM,iCAAA,GAAoCA,EAAE,MAAA,CAAO;AAAA,EACxD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;ACpBM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,iBAAA,EAAmBA,EAAE,MAAA;AACvB,CAAC;AAEM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,iBAAA,EAAmBA,EAAE,MAAA;AACvB,CAAC;AAEM,IAAM,0BAAA,GAA6BA,EAAE,MAAA,CAAO;AAAA,EACjD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,iBAAA,EAAmBA,EAAE,MAAA;AACvB,CAAC;ACrCM,IAAM,WAAA,GAAcA,EAAE,MAAA,CAAO;AAAA,EAClC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,oBAAA,EAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1C,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACvC,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC;AAKM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;AAKM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,cAAA,EAAgBA,EAAE,MAAA;AACpB,CAAC;AAKM,IAAM,6BAAA,GAAgCA,EAAE,MAAA,CAAO;AAAA,EACpD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAM,yBAAyB;AAC/C,CAAC;AAMM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;;;ACxEM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,YAAA,EAAcA,EAAE,OAAA;AAClB,CAAC;AAIM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA;AAAA,EAE5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACvB,CAAC;AAMM,IAAM,6BAAA,GAAgCA,EAAE,MAAA,CAAO;AAAA,EACpD,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,aAAA,EAAeA,EAAE,MAAA;AACnB,CAAC;AAKM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,EAAA,EAAIA,EAAE,MAAA;AACR,CAAC;AAOM,IAAM,iBAAA,GAAoB,YAAY,MAAA,CAAO;AAAA,EAClD,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACnB,CAAC;ACrDM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,aAAA,EAAeA,EAAE,MAAA;AACnB,CAAC;ACNM,IAAM,UAAA,GAAaA,EAAE,MAAA,CAAO;AAAA,EACjC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA;AACT,CAAC;AAEM,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;ACpBM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,OAAA;AACV,CAAC;AAEM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,OAAA;AACV,CAAC;AAEM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,aAAA,EAAeA,EAAE,MAAA;AACnB,CAAC;AAEM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,WAAA,EAAaA,EAAE,MAAA;AACjB,CAAC;AAEM,IAAM,4BAAA,GAA+BA,EAAE,MAAA,CAAO;AAAA,EACnD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,WAAA,EAAaA,EAAE,MAAA;AACjB,CAAC;AAEM,IAAM,gCAAA,GAAmCA,EAAE,MAAA,CAAO;AAAA,EACvD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,aAAA,EAAeA,EAAE,MAAA;AACnB,CAAC;AAEM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,MAAA,EAAQA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACtB,CAAC;AAEM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACvB,CAAC;AAEM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC;AAEM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,YAAA,EAAcA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACpB,CAAC;AAEM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACnB,CAAC;AAEM,IAAM,4CAAA,GAA+CA,EAAE,MAAA,CAAO;AAAA,EACnE,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;AAEM,IAAM,uCAAA,GAA0CA,EAAE,MAAA,CAAO;AAAA,EAC9D,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;ACtGM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACvC,kBAAA,EAAoBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACvC,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACrC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC5B,MAAA,EAAQA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC7B,iBAAA,EAAmBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACxC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,sBAAA,EAAwBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACtC,CAAC;AAEM,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,kBAAA,EAAoBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAOA,EAAE,OAAA,EAAQ;AAAA,EACjB,MAAA,EAAQA,EAAE,OAAA,EAAQ;AAAA,EAClB,iBAAA,EAAmBA,EAAE,OAAA;AACvB,CAAC;AAEM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACpB,CAAC;AAEM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;AAEM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,EAAE,MAAA;AACd,CAAC;AAEM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,OAAA,EAASA,EAAE,MAAA;AACb,CAAC;AC5DM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAChC,CAAC;ACLM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,kBAAA,EAAoBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxC,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC7B,CAAC;AAEM,IAAM,0BAAA,GAA6BA,EAAE,MAAA,CAAO;AAAA,EACjD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACrC,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC3B,CAAC;AAEM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,uBAAA,EAAyBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7C,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,yBAAA,EAA2BA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/C,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,sBAAA,EAAwBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5C,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,qBAAA,EAAuBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3C,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACzB,CAAC;AAEM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACrB,CAAC;AAEM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC;AC9DM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC5B,CAAC;AAEM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA;AAAA,EAEjB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,uBAAA,EAAyBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7C,mBAAA,EAAqBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzC,mBAAA,EAAqBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzC,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACvC,oBAAA,EAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1C,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC/B,CAAC;AClBM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACvC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAClB,CAAC;AClBM,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA;AAAA,EAEjB,sBAAA,EAAwBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5C,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,0BAAA,GAA6BA,EAAE,MAAA,CAAO;AAAA,EACjD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;AAEM,IAAM,sCAAA,GAAyCA,EAAE,MAAA,CAAO;AAAA,EAC7D,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,sBAAA,EAAwBA,EAAE,MAAA,EAAO;AAAA,EACjC,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,EAAE,MAAA;AACV,CAAC;ACnDM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,WAAA,EAAaA,EAAE,MAAA;AACjB,CAAC;AAIM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAM,gBAAgB;AACtC,CAAC;AAIM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,eAAA,EAAiBA,EAAE,MAAA;AACrB,CAAC;AAIM,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAM,mBAAmB;AACzC,CAAC;AAIM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC;AAIM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA;AACX,CAAC;AAIM,IAAM,4BAAA,GAA+BA,EAAE,MAAA,CAAO;AAAA,EACnD,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC;AAMM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,GAAA,EAAKA,EAAE,MAAA;AACT,CAAC;AChFM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC;AAKM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC","file":"index.mjs","sourcesContent":["// calendar types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const EarningsCalendarSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n eps: z.number().nullable(),\n epsEstimated: z.number().nullable(),\n time: z.string().nullable(),\n revenue: z.number().nullable(),\n revenueEstimated: z.number().nullable(),\n fiscalDateEnding: z.string(),\n updatedFromDate: z.string(),\n});\n\nexport const EarningsConfirmedSchema = z.object({\n symbol: z.string(),\n exchange: z.string(),\n time: z.string(),\n when: z.string(),\n date: z.string(),\n publicationDate: z.string(),\n title: z.string(),\n url: z.string(),\n});\n\nexport const DividendsCalendarSchema = z.object({\n date: z.string(),\n label: z.string(),\n adjDividend: z.number(),\n symbol: z.string(),\n dividend: z.number(),\n recordDate: z.string().nullable(),\n paymentDate: z.string().nullable(),\n declarationDate: z.string().nullable(),\n});\n\nexport const EconomicsCalendarSchema = z.object({\n date: z.string(),\n country: z.string(),\n event: z.string(),\n currency: z.string(),\n previous: z.number().nullable(),\n estimate: z.number().nullable(),\n actual: z.number().nullable(),\n change: z.number().nullable(),\n impact: z.string(),\n changePercentage: z.number(),\n unit: z.string().nullable(),\n});\n\nexport const IPOCalendarSchema = z.object({\n date: z.string(),\n company: z.string(),\n symbol: z.string(),\n exchange: z.string(),\n actions: z.string(),\n shares: z.number().nullable(),\n priceRange: z.string().nullable(),\n marketCap: z.number().nullable(),\n});\n\nexport const SplitsCalendarSchema = z.object({\n date: z.string(),\n label: z.string(),\n symbol: z.string(),\n numerator: z.number(),\n denominator: z.number(),\n});\n\nexport type EarningsCalendar = z.infer<typeof EarningsCalendarSchema>;\nexport type EarningsConfirmed = z.infer<typeof EarningsConfirmedSchema>;\nexport type DividendsCalendar = z.infer<typeof DividendsCalendarSchema>;\nexport type EconomicsCalendar = z.infer<typeof EconomicsCalendarSchema>;\nexport type IPOCalendar = z.infer<typeof IPOCalendarSchema>;\nexport type SplitsCalendar = z.infer<typeof SplitsCalendarSchema>;\n","// Common types used across all FMP API endpoints\n\n// Categorizes a failed request so callers (and AI tools) can react to the\n// *kind* of failure rather than parsing the message. Only set when success is false.\nexport type FMPErrorType =\n | 'plan-restricted' // 402/403 or \"Exclusive/Special Endpoint\" — not included in the API plan\n | 'rate-limit' // 429 — quota/rate limit reached\n | 'auth' // 401 — invalid or missing API key\n | 'not-found' // 404 — resource does not exist\n | 'bad-request' // 400 — invalid parameters\n | 'network' // no HTTP response (timeout / DNS / offline)\n | 'unknown'; // anything else\n\n// Base API response wrapper - consistent structure with nullable fields\nexport interface APIResponse<T = unknown> {\n success: boolean;\n data: T | null;\n error: string | null;\n /** Categorizes the failure. Present only when `success` is false. */\n errorType?: FMPErrorType;\n status: number;\n}\n\n// FMP API configuration\nexport interface FMPConfig {\n apiKey?: string; // Optional since we support FMP_API_KEY environment variable\n timeout?: number;\n}\n\n// Common parameter interfaces\nexport interface SymbolParams {\n symbol: string;\n}\n\nexport interface DateRangeParams {\n from?: string;\n to?: string;\n}\n\nexport interface PaginationParams {\n limit?: number;\n page?: number;\n}\n\nexport interface PeriodParams {\n period?: 'annual' | 'quarter';\n}\n\n// Type-safe query parameters\nexport interface QueryParams {\n [key: string]: string | number | boolean | undefined;\n}\n\n// Common enums\nexport enum Period {\n ANNUAL = 'annual',\n QUARTER = 'quarter',\n}\n\nexport enum Exchange {\n NYSE = 'NYSE',\n NASDAQ = 'NASDAQ',\n AMEX = 'AMEX',\n TSX = 'TSX',\n LSE = 'LSE',\n ASX = 'ASX',\n NSE = 'NSE',\n BSE = 'BSE',\n}\n","// company types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const CompanyProfileSchema = z.object({\n symbol: z.string(),\n price: z.number(),\n marketCap: z.number(),\n beta: z.number(),\n lastDividend: z.number(),\n range: z.string(),\n change: z.number(),\n changePercentage: z.number(),\n volume: z.number(),\n averageVolume: z.number(),\n companyName: z.string(),\n currency: z.string(),\n cik: z.string(),\n isin: z.string(),\n cusip: z.string(),\n exchangeFullName: z.string(),\n exchange: z.string(),\n industry: z.string(),\n website: z.string(),\n description: z.string(),\n ceo: z.string(),\n sector: z.string(),\n country: z.string(),\n fullTimeEmployees: z.string(),\n phone: z.string(),\n address: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n image: z.string(),\n ipoDate: z.string(),\n defaultImage: z.boolean(),\n isEtf: z.boolean(),\n isActivelyTrading: z.boolean(),\n isAdr: z.boolean(),\n isFund: z.boolean(),\n});\n\nexport const ExecutiveCompensationSchema = z.object({\n cik: z.string(),\n symbol: z.string(),\n companyName: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n nameAndPosition: z.string(),\n year: z.number(),\n salary: z.number(),\n bonus: z.number(),\n stockAward: z.number(),\n optionAward: z.number(),\n incentivePlanCompensation: z.number(),\n allOtherCompensation: z.number(),\n total: z.number(),\n link: z.string(),\n});\n\nexport const CompanyNotesSchema = z.object({\n cik: z.string(),\n symbol: z.string(),\n title: z.string(),\n exchange: z.string(),\n});\n\nexport const HistoricalEmployeeCountSchema = z.object({\n symbol: z.string(),\n cik: z.string(),\n acceptanceTime: z.string(),\n periodOfReport: z.string(),\n companyName: z.string(),\n formType: z.string(),\n filingDate: z.string(),\n employeeCount: z.number(),\n source: z.string(),\n});\n\nexport const SharesFloatSchema = z.object({\n symbol: z.string(),\n freeFloat: z.number(),\n floatShares: z.number(),\n outstandingShares: z.number(),\n source: z.string(),\n date: z.string(),\n});\n\nexport const HistoricalSharesFloatSchema = z.object({\n symbol: z.string(),\n freeFloat: z.number(),\n floatShares: z.string(),\n outstandingShares: z.string(),\n source: z.string().nullable(),\n date: z.string(),\n});\n\nexport const EarningsCallTranscriptSchema = z.object({\n symbol: z.string(),\n quarter: z.number(),\n year: z.number(),\n date: z.string(),\n content: z.string(),\n});\n\nexport const CompanyTranscriptDataSchema = z.tuple([z.number(), z.number(), z.string()]);\n\n// Stock Peers — stable /stock-peers. Peer companies with price + market cap.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const StockPeerSchema = z.object({\n symbol: z.string(),\n companyName: z.string(),\n price: z.number(),\n mktCap: z.number(),\n});\n\nexport type CompanyProfile = z.infer<typeof CompanyProfileSchema>;\nexport type ExecutiveCompensation = z.infer<typeof ExecutiveCompensationSchema>;\nexport type CompanyNotes = z.infer<typeof CompanyNotesSchema>;\nexport type HistoricalEmployeeCount = z.infer<typeof HistoricalEmployeeCountSchema>;\nexport type SharesFloat = z.infer<typeof SharesFloatSchema>;\nexport type HistoricalSharesFloat = z.infer<typeof HistoricalSharesFloatSchema>;\nexport type EarningsCallTranscript = z.infer<typeof EarningsCallTranscriptSchema>;\nexport type CompanyTranscriptData = z.infer<typeof CompanyTranscriptDataSchema>;\nexport type StockPeer = z.infer<typeof StockPeerSchema>;\n","// economic types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const EconomicIndicatorSchema = z.object({\n name: z.string(),\n date: z.string(),\n value: z.number(),\n});\n\nexport const TreasuryRateSchema = z.object({\n date: z.string(),\n month1: z.number(),\n month2: z.number(),\n month3: z.number(),\n month6: z.number(),\n year1: z.number(),\n year2: z.number(),\n year3: z.number(),\n year5: z.number(),\n year7: z.number(),\n year10: z.number(),\n year20: z.number(),\n year30: z.number(),\n});\n\nexport const EconomicIndicatorNameSchema = z.union([\n z.literal('GDP'),\n z.literal('realGDP'),\n z.literal('nominalPotentialGDP'),\n z.literal('realGDPPerCapita'),\n z.literal('federalFunds'),\n z.literal('CPI'),\n z.literal('inflationRate'),\n z.literal('inflation'),\n z.literal('retailSales'),\n z.literal('consumerSentiment'),\n z.literal('durableGoods'),\n z.literal('unemploymentRate'),\n z.literal('totalNonfarmPayroll'),\n z.literal('initialClaims'),\n z.literal('industrialProductionTotalIndex'),\n z.literal('newPrivatelyOwnedHousingUnitsStartedTotalUnits'),\n z.literal('totalVehicleSales'),\n z.literal('retailMoneyFunds'),\n z.literal('smoothedUSRecessionProbabilities'),\n z.literal('3MonthOr90DayRatesAndYieldsCertificatesOfDeposit'),\n z.literal('commercialBankInterestRateOnCreditCardPlansAllAccounts'),\n z.literal('30YearFixedRateMortgageAverage'),\n z.literal('15YearFixedRateMortgageAverage'),\n]);\n\nexport type EconomicIndicator = z.infer<typeof EconomicIndicatorSchema>;\nexport type TreasuryRate = z.infer<typeof TreasuryRateSchema>;\nexport type EconomicIndicatorName = z.infer<typeof EconomicIndicatorNameSchema>;\n","// etf types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const ETFHoldingDatesSchema = z.object({\n date: z.string(),\n});\n\nexport const ETFHoldingSchema = z.object({\n cik: z.string(),\n acceptanceTime: z.string(),\n date: z.string(),\n symbol: z.string(),\n name: z.string(),\n lei: z.string(),\n title: z.string(),\n cusip: z.string(),\n isin: z.string(),\n balance: z.number(),\n units: z.string(),\n cur_cd: z.string(),\n valUsd: z.number(),\n pctVal: z.number(),\n payoffProfile: z.string(),\n assetCat: z.string(),\n issuerCat: z.string(),\n invCountry: z.string(),\n isRestrictedSec: z.string(),\n fairValLevel: z.string(),\n isCashCollateral: z.string(),\n isNonCashCollateral: z.string(),\n isLoanByFund: z.string(),\n});\n\nexport const ETFHolderSchema = z.object({\n asset: z.string(),\n name: z.string(),\n isin: z.string(),\n cusip: z.string(),\n sharesNumber: z.number(),\n weightPercentage: z.number(),\n marketValue: z.number(),\n updated: z.string(),\n});\n\nexport const ETFProfileSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n description: z.string(),\n isin: z.string(),\n assetClass: z.string(),\n securityCusip: z.string(),\n domicile: z.string(),\n website: z.string(),\n etfCompany: z.string(),\n expenseRatio: z.number(),\n assetsUnderManagement: z.number(),\n avgVolume: z.number(),\n inceptionDate: z.string(),\n nav: z.number(),\n navCurrency: z.string(),\n holdingsCount: z.number(),\n updatedAt: z.string(),\n isActivelyTrading: z.boolean(),\n sectorsList: z.array(\n z.object({\n exposure: z.number(),\n industry: z.string(),\n }),\n ),\n});\n\nexport const ETFWeightingSchema = z.object({\n symbol: z.string(),\n sector: z.string(),\n // Sector weighting returns a numeric percentage (country weighting returns a string).\n weightPercentage: z.number(),\n});\n\nexport const ETFCountryWeightingSchema = z.object({\n country: z.string(),\n weightPercentage: z.string(),\n});\n\nexport const ETFStockExposureSchema = z.object({\n etfSymbol: z.string(),\n assetExposure: z.string(),\n sharesNumber: z.number(),\n weightPercentage: z.number(),\n marketValue: z.number(),\n});\n\nexport type ETFHoldingDates = z.infer<typeof ETFHoldingDatesSchema>;\nexport type ETFHolding = z.infer<typeof ETFHoldingSchema>;\nexport type ETFHolder = z.infer<typeof ETFHolderSchema>;\nexport type ETFProfile = z.infer<typeof ETFProfileSchema>;\nexport type ETFWeighting = z.infer<typeof ETFWeightingSchema>;\nexport type ETFCountryWeighting = z.infer<typeof ETFCountryWeightingSchema>;\nexport type ETFStockExposure = z.infer<typeof ETFStockExposureSchema>;\n","// Financial statement types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Base schemas generated via `gen:schemas`.\n\nimport { z } from 'zod';\n\n// Income Statement\nexport const IncomeStatementSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n reportedCurrency: z.string(),\n cik: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n revenue: z.number(),\n costOfRevenue: z.number(),\n grossProfit: z.number(),\n researchAndDevelopmentExpenses: z.number(),\n generalAndAdministrativeExpenses: z.number(),\n sellingAndMarketingExpenses: z.number(),\n sellingGeneralAndAdministrativeExpenses: z.number(),\n otherExpenses: z.number(),\n operatingExpenses: z.number(),\n costAndExpenses: z.number(),\n netInterestIncome: z.number(),\n interestIncome: z.number(),\n interestExpense: z.number(),\n depreciationAndAmortization: z.number(),\n ebitda: z.number(),\n ebit: z.number(),\n nonOperatingIncomeExcludingInterest: z.number(),\n operatingIncome: z.number(),\n totalOtherIncomeExpensesNet: z.number(),\n incomeBeforeTax: z.number(),\n incomeTaxExpense: z.number(),\n netIncomeFromContinuingOperations: z.number(),\n netIncomeFromDiscontinuedOperations: z.number(),\n otherAdjustmentsToNetIncome: z.number(),\n netIncome: z.number(),\n netIncomeDeductions: z.number(),\n bottomLineNetIncome: z.number(),\n eps: z.number(),\n epsDiluted: z.number(),\n weightedAverageShsOut: z.number(),\n weightedAverageShsOutDil: z.number(),\n});\n\nexport type IncomeStatement = z.infer<typeof IncomeStatementSchema>;\n\n// Balance Sheet\nexport const BalanceSheetSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n reportedCurrency: z.string(),\n cik: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n cashAndCashEquivalents: z.number(),\n shortTermInvestments: z.number(),\n cashAndShortTermInvestments: z.number(),\n netReceivables: z.number(),\n accountsReceivables: z.number(),\n otherReceivables: z.number(),\n inventory: z.number(),\n prepaids: z.number(),\n otherCurrentAssets: z.number(),\n totalCurrentAssets: z.number(),\n propertyPlantEquipmentNet: z.number(),\n goodwill: z.number(),\n intangibleAssets: z.number(),\n goodwillAndIntangibleAssets: z.number(),\n longTermInvestments: z.number(),\n taxAssets: z.number(),\n otherNonCurrentAssets: z.number(),\n totalNonCurrentAssets: z.number(),\n otherAssets: z.number(),\n totalAssets: z.number(),\n totalPayables: z.number(),\n accountPayables: z.number(),\n otherPayables: z.number(),\n accruedExpenses: z.number(),\n shortTermDebt: z.number(),\n capitalLeaseObligationsCurrent: z.number(),\n taxPayables: z.number(),\n deferredRevenue: z.number(),\n otherCurrentLiabilities: z.number(),\n totalCurrentLiabilities: z.number(),\n longTermDebt: z.number(),\n deferredRevenueNonCurrent: z.number(),\n deferredTaxLiabilitiesNonCurrent: z.number(),\n capitalLeaseObligationsNonCurrent: z.number(),\n otherNonCurrentLiabilities: z.number(),\n totalNonCurrentLiabilities: z.number(),\n otherLiabilities: z.number(),\n capitalLeaseObligations: z.number(),\n totalLiabilities: z.number(),\n treasuryStock: z.number(),\n preferredStock: z.number(),\n commonStock: z.number(),\n retainedEarnings: z.number(),\n additionalPaidInCapital: z.number(),\n accumulatedOtherComprehensiveIncomeLoss: z.number(),\n otherTotalStockholdersEquity: z.number(),\n totalStockholdersEquity: z.number(),\n totalEquity: z.number(),\n minorityInterest: z.number(),\n totalLiabilitiesAndTotalEquity: z.number(),\n totalInvestments: z.number(),\n totalDebt: z.number(),\n netDebt: z.number(),\n});\n\nexport type BalanceSheet = z.infer<typeof BalanceSheetSchema>;\n\n// Cash Flow Statement\nexport const CashFlowStatementSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n reportedCurrency: z.string(),\n cik: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n netIncome: z.number(),\n depreciationAndAmortization: z.number(),\n deferredIncomeTax: z.number(),\n stockBasedCompensation: z.number(),\n changeInWorkingCapital: z.number(),\n accountsReceivables: z.number(),\n inventory: z.number(),\n accountsPayables: z.number(),\n otherWorkingCapital: z.number(),\n otherNonCashItems: z.number(),\n netCashProvidedByOperatingActivities: z.number(),\n investmentsInPropertyPlantAndEquipment: z.number(),\n acquisitionsNet: z.number(),\n purchasesOfInvestments: z.number(),\n salesMaturitiesOfInvestments: z.number(),\n otherInvestingActivities: z.number(),\n netCashProvidedByInvestingActivities: z.number(),\n netDebtIssuance: z.number(),\n longTermNetDebtIssuance: z.number(),\n shortTermNetDebtIssuance: z.number(),\n netStockIssuance: z.number(),\n netCommonStockIssuance: z.number(),\n commonStockIssuance: z.number(),\n commonStockRepurchased: z.number(),\n netPreferredStockIssuance: z.number(),\n netDividendsPaid: z.number(),\n commonDividendsPaid: z.number(),\n preferredDividendsPaid: z.number(),\n otherFinancingActivities: z.number(),\n netCashProvidedByFinancingActivities: z.number(),\n effectOfForexChangesOnCash: z.number(),\n netChangeInCash: z.number(),\n cashAtEndOfPeriod: z.number(),\n cashAtBeginningOfPeriod: z.number(),\n operatingCashFlow: z.number(),\n capitalExpenditure: z.number(),\n freeCashFlow: z.number(),\n incomeTaxesPaid: z.number(),\n interestPaid: z.number(),\n});\n\nexport type CashFlowStatement = z.infer<typeof CashFlowStatementSchema>;\n\n// Key Metrics\nexport const KeyMetricsSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n marketCap: z.number(),\n enterpriseValue: z.number(),\n evToSales: z.number(),\n evToOperatingCashFlow: z.number(),\n evToFreeCashFlow: z.number(),\n evToEBITDA: z.number(),\n netDebtToEBITDA: z.number(),\n currentRatio: z.number(),\n incomeQuality: z.number(),\n grahamNumber: z.number(),\n grahamNetNet: z.number(),\n taxBurden: z.number(),\n interestBurden: z.number(),\n workingCapital: z.number(),\n investedCapital: z.number(),\n returnOnAssets: z.number(),\n operatingReturnOnAssets: z.number(),\n returnOnTangibleAssets: z.number(),\n returnOnEquity: z.number(),\n returnOnInvestedCapital: z.number(),\n returnOnCapitalEmployed: z.number(),\n earningsYield: z.number(),\n freeCashFlowYield: z.number(),\n capexToOperatingCashFlow: z.number(),\n capexToDepreciation: z.number(),\n capexToRevenue: z.number(),\n salesGeneralAndAdministrativeToRevenue: z.number(),\n researchAndDevelopementToRevenue: z.number(),\n stockBasedCompensationToRevenue: z.number(),\n intangiblesToTotalAssets: z.number(),\n averageReceivables: z.number(),\n averagePayables: z.number(),\n averageInventory: z.number(),\n daysOfSalesOutstanding: z.number(),\n daysOfPayablesOutstanding: z.number(),\n daysOfInventoryOutstanding: z.number(),\n operatingCycle: z.number(),\n cashConversionCycle: z.number(),\n freeCashFlowToEquity: z.number(),\n freeCashFlowToFirm: z.number(),\n tangibleAssetValue: z.number(),\n netCurrentAssetValue: z.number(),\n});\n\nexport type KeyMetrics = z.infer<typeof KeyMetricsSchema>;\n\n// Financial Ratios\nexport const FinancialRatiosSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n grossProfitMargin: z.number(),\n ebitMargin: z.number(),\n ebitdaMargin: z.number(),\n operatingProfitMargin: z.number(),\n pretaxProfitMargin: z.number(),\n continuousOperationsProfitMargin: z.number(),\n netProfitMargin: z.number(),\n bottomLineProfitMargin: z.number(),\n receivablesTurnover: z.number(),\n payablesTurnover: z.number(),\n inventoryTurnover: z.number(),\n fixedAssetTurnover: z.number(),\n assetTurnover: z.number(),\n currentRatio: z.number(),\n quickRatio: z.number(),\n solvencyRatio: z.number(),\n cashRatio: z.number(),\n priceToEarningsRatio: z.number(),\n priceToEarningsGrowthRatio: z.number(),\n forwardPriceToEarningsGrowthRatio: z.number(),\n priceToBookRatio: z.number(),\n priceToSalesRatio: z.number(),\n priceToFreeCashFlowRatio: z.number(),\n priceToOperatingCashFlowRatio: z.number(),\n debtToAssetsRatio: z.number(),\n debtToEquityRatio: z.number(),\n debtToCapitalRatio: z.number(),\n longTermDebtToCapitalRatio: z.number(),\n financialLeverageRatio: z.number(),\n workingCapitalTurnoverRatio: z.number(),\n operatingCashFlowRatio: z.number(),\n operatingCashFlowSalesRatio: z.number(),\n freeCashFlowOperatingCashFlowRatio: z.number(),\n debtServiceCoverageRatio: z.number(),\n interestCoverageRatio: z.number(),\n shortTermOperatingCashFlowCoverageRatio: z.number(),\n operatingCashFlowCoverageRatio: z.number(),\n capitalExpenditureCoverageRatio: z.number(),\n dividendPaidAndCapexCoverageRatio: z.number(),\n dividendPayoutRatio: z.number(),\n dividendYield: z.number(),\n dividendYieldPercentage: z.number(),\n dividendPerShare: z.number(),\n revenuePerShare: z.number(),\n netIncomePerShare: z.number(),\n interestDebtPerShare: z.number(),\n cashPerShare: z.number(),\n bookValuePerShare: z.number(),\n tangibleBookValuePerShare: z.number(),\n shareholdersEquityPerShare: z.number(),\n operatingCashFlowPerShare: z.number(),\n capexPerShare: z.number(),\n freeCashFlowPerShare: z.number(),\n netIncomePerEBT: z.number(),\n ebtPerEbit: z.number(),\n priceToFairValue: z.number(),\n debtToMarketCap: z.number(),\n effectiveTaxRate: z.number(),\n enterpriseValueMultiple: z.number(),\n});\n\nexport type FinancialRatios = z.infer<typeof FinancialRatiosSchema>;\n\n// Enterprise Value\nexport const EnterpriseValueSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n stockPrice: z.number(),\n numberOfShares: z.number(),\n marketCapitalization: z.number(),\n minusCashAndCashEquivalents: z.number(),\n addTotalDebt: z.number(),\n enterpriseValue: z.number(),\n});\n\nexport type EnterpriseValue = z.infer<typeof EnterpriseValueSchema>;\n\n// Cashflow Growth\nexport const CashflowGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n growthNetIncome: z.number(),\n growthDepreciationAndAmortization: z.number(),\n growthDeferredIncomeTax: z.number(),\n growthStockBasedCompensation: z.number(),\n growthChangeInWorkingCapital: z.number(),\n growthAccountsReceivables: z.number(),\n growthInventory: z.number(),\n growthAccountsPayables: z.number(),\n growthOtherWorkingCapital: z.number(),\n growthOtherNonCashItems: z.number(),\n growthNetCashProvidedByOperatingActivites: z.number(),\n growthInvestmentsInPropertyPlantAndEquipment: z.number(),\n growthAcquisitionsNet: z.number(),\n growthPurchasesOfInvestments: z.number(),\n growthSalesMaturitiesOfInvestments: z.number(),\n growthOtherInvestingActivites: z.number(),\n growthNetCashUsedForInvestingActivites: z.number(),\n growthDebtRepayment: z.number(),\n growthCommonStockIssued: z.number(),\n growthCommonStockRepurchased: z.number(),\n growthDividendsPaid: z.number(),\n growthOtherFinancingActivites: z.number(),\n growthNetCashUsedProvidedByFinancingActivities: z.number(),\n growthEffectOfForexChangesOnCash: z.number(),\n growthNetChangeInCash: z.number(),\n growthCashAtEndOfPeriod: z.number(),\n growthCashAtBeginningOfPeriod: z.number(),\n growthOperatingCashFlow: z.number(),\n growthCapitalExpenditure: z.number(),\n growthFreeCashFlow: z.number(),\n growthNetDebtIssuance: z.number(),\n growthLongTermNetDebtIssuance: z.number(),\n growthShortTermNetDebtIssuance: z.number(),\n growthNetStockIssuance: z.number(),\n growthPreferredDividendsPaid: z.number(),\n growthIncomeTaxesPaid: z.number(),\n growthInterestPaid: z.number(),\n});\n\nexport type CashflowGrowth = z.infer<typeof CashflowGrowthSchema>;\n\n// Income Growth\nexport const IncomeGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n growthRevenue: z.number(),\n growthCostOfRevenue: z.number(),\n growthGrossProfit: z.number(),\n growthGrossProfitRatio: z.number(),\n growthResearchAndDevelopmentExpenses: z.number(),\n growthGeneralAndAdministrativeExpenses: z.number(),\n growthSellingAndMarketingExpenses: z.number(),\n growthOtherExpenses: z.number(),\n growthOperatingExpenses: z.number(),\n growthCostAndExpenses: z.number(),\n growthInterestIncome: z.number(),\n growthInterestExpense: z.number(),\n growthDepreciationAndAmortization: z.number(),\n growthEBITDA: z.number(),\n growthOperatingIncome: z.number(),\n growthIncomeBeforeTax: z.number(),\n growthIncomeTaxExpense: z.number(),\n growthNetIncome: z.number(),\n growthEPS: z.number(),\n growthEPSDiluted: z.number(),\n growthWeightedAverageShsOut: z.number(),\n growthWeightedAverageShsOutDil: z.number(),\n growthEBIT: z.number(),\n growthNonOperatingIncomeExcludingInterest: z.number(),\n growthNetInterestIncome: z.number(),\n growthTotalOtherIncomeExpensesNet: z.number(),\n growthNetIncomeFromContinuingOperations: z.number(),\n growthOtherAdjustmentsToNetIncome: z.number(),\n growthNetIncomeDeductions: z.number(),\n});\n\nexport type IncomeGrowth = z.infer<typeof IncomeGrowthSchema>;\n\n// Balance Sheet Growth\nexport const BalanceSheetGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n growthCashAndCashEquivalents: z.number(),\n growthShortTermInvestments: z.number(),\n growthCashAndShortTermInvestments: z.number(),\n growthNetReceivables: z.number(),\n growthInventory: z.number(),\n growthOtherCurrentAssets: z.number(),\n growthTotalCurrentAssets: z.number(),\n growthPropertyPlantEquipmentNet: z.number(),\n growthGoodwill: z.number(),\n growthIntangibleAssets: z.number(),\n growthGoodwillAndIntangibleAssets: z.number(),\n growthLongTermInvestments: z.number(),\n growthTaxAssets: z.number(),\n growthOtherNonCurrentAssets: z.number(),\n growthTotalNonCurrentAssets: z.number(),\n growthOtherAssets: z.number(),\n growthTotalAssets: z.number(),\n growthAccountPayables: z.number(),\n growthShortTermDebt: z.number(),\n growthTaxPayables: z.number(),\n growthDeferredRevenue: z.number(),\n growthOtherCurrentLiabilities: z.number(),\n growthTotalCurrentLiabilities: z.number(),\n growthLongTermDebt: z.number(),\n growthDeferredRevenueNonCurrent: z.number(),\n growthDeferredTaxLiabilitiesNonCurrent: z.number(),\n growthOtherNonCurrentLiabilities: z.number(),\n growthTotalNonCurrentLiabilities: z.number(),\n growthOtherLiabilities: z.number(),\n growthTotalLiabilities: z.number(),\n growthPreferredStock: z.number(),\n growthCommonStock: z.number(),\n growthRetainedEarnings: z.number(),\n growthAccumulatedOtherComprehensiveIncomeLoss: z.number(),\n growthOthertotalStockholdersEquity: z.number(),\n growthTotalStockholdersEquity: z.number(),\n growthMinorityInterest: z.number(),\n growthTotalEquity: z.number(),\n growthTotalLiabilitiesAndStockholdersEquity: z.number(),\n growthTotalInvestments: z.number(),\n growthTotalDebt: z.number(),\n growthNetDebt: z.number(),\n growthAccountsReceivables: z.number(),\n growthOtherReceivables: z.number(),\n growthPrepaids: z.number(),\n growthTotalPayables: z.number(),\n growthOtherPayables: z.number(),\n growthAccruedExpenses: z.number(),\n growthCapitalLeaseObligationsCurrent: z.number(),\n growthAdditionalPaidInCapital: z.number(),\n growthTreasuryStock: z.number(),\n});\n\nexport type BalanceSheetGrowth = z.infer<typeof BalanceSheetGrowthSchema>;\n\n// Financial Growth\nexport const FinancialGrowthSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n fiscalYear: z.string(),\n period: z.string(),\n reportedCurrency: z.string(),\n revenueGrowth: z.number(),\n grossProfitGrowth: z.number(),\n ebitgrowth: z.number(),\n operatingIncomeGrowth: z.number(),\n netIncomeGrowth: z.number(),\n epsgrowth: z.number(),\n epsdilutedGrowth: z.number(),\n weightedAverageSharesGrowth: z.number(),\n weightedAverageSharesDilutedGrowth: z.number(),\n dividendsPerShareGrowth: z.number(),\n operatingCashFlowGrowth: z.number(),\n receivablesGrowth: z.number(),\n inventoryGrowth: z.number(),\n assetGrowth: z.number(),\n bookValueperShareGrowth: z.number(),\n debtGrowth: z.number(),\n rdexpenseGrowth: z.number(),\n sgaexpensesGrowth: z.number(),\n freeCashFlowGrowth: z.number(),\n tenYRevenueGrowthPerShare: z.number(),\n fiveYRevenueGrowthPerShare: z.number(),\n threeYRevenueGrowthPerShare: z.number(),\n tenYOperatingCFGrowthPerShare: z.number(),\n fiveYOperatingCFGrowthPerShare: z.number(),\n threeYOperatingCFGrowthPerShare: z.number(),\n tenYNetIncomeGrowthPerShare: z.number(),\n fiveYNetIncomeGrowthPerShare: z.number(),\n threeYNetIncomeGrowthPerShare: z.number(),\n tenYShareholdersEquityGrowthPerShare: z.number(),\n fiveYShareholdersEquityGrowthPerShare: z.number(),\n threeYShareholdersEquityGrowthPerShare: z.number(),\n tenYDividendperShareGrowthPerShare: z.number(),\n fiveYDividendperShareGrowthPerShare: z.number(),\n threeYDividendperShareGrowthPerShare: z.number(),\n ebitdaGrowth: z.number(),\n growthCapitalExpenditure: z.number(),\n tenYBottomLineNetIncomeGrowthPerShare: z.number(),\n fiveYBottomLineNetIncomeGrowthPerShare: z.number(),\n threeYBottomLineNetIncomeGrowthPerShare: z.number(),\n});\n\nexport type FinancialGrowth = z.infer<typeof FinancialGrowthSchema>;\n\n// Earnings Historical\nexport const EarningsHistoricalSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n // Actuals are null for earnings that haven't been reported yet.\n epsActual: z.number().nullable(),\n epsEstimated: z.number().nullable(),\n revenueActual: z.number().nullable(),\n revenueEstimated: z.number().nullable(),\n lastUpdated: z.string(),\n});\n\nexport type EarningsHistorical = z.infer<typeof EarningsHistoricalSchema>;\n\n// Earnings Surprises\nexport const EarningsSurprisesSchema = z.object({\n date: z.string(),\n symbol: z.string(),\n actualEarningResult: z.number(),\n estimatedEarning: z.number(),\n});\n\nexport type EarningsSurprises = z.infer<typeof EarningsSurprisesSchema>;\n\n// Financial Scores (Altman Z-Score + Piotroski + components) — stable /financial-scores.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const FinancialScoresSchema = z.object({\n symbol: z.string(),\n reportedCurrency: z.string().nullable(),\n altmanZScore: z.number(),\n piotroskiScore: z.number(),\n workingCapital: z.number(),\n totalAssets: z.number(),\n retainedEarnings: z.number(),\n ebit: z.number(),\n marketCap: z.number(),\n totalLiabilities: z.number(),\n revenue: z.number(),\n});\n\nexport type FinancialScores = z.infer<typeof FinancialScoresSchema>;\n\n// Key Metrics TTM (trailing-twelve-month snapshot) — stable /key-metrics-ttm.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const KeyMetricsTTMSchema = z.object({\n symbol: z.string(),\n marketCap: z.number(),\n enterpriseValueTTM: z.number(),\n evToSalesTTM: z.number(),\n evToOperatingCashFlowTTM: z.number(),\n evToFreeCashFlowTTM: z.number(),\n evToEBITDATTM: z.number(),\n netDebtToEBITDATTM: z.number(),\n currentRatioTTM: z.number(),\n incomeQualityTTM: z.number(),\n grahamNumberTTM: z.number(),\n grahamNetNetTTM: z.number(),\n taxBurdenTTM: z.number(),\n interestBurdenTTM: z.number(),\n workingCapitalTTM: z.number(),\n investedCapitalTTM: z.number(),\n returnOnAssetsTTM: z.number(),\n operatingReturnOnAssetsTTM: z.number(),\n returnOnTangibleAssetsTTM: z.number(),\n returnOnEquityTTM: z.number(),\n returnOnInvestedCapitalTTM: z.number(),\n returnOnCapitalEmployedTTM: z.number(),\n earningsYieldTTM: z.number(),\n freeCashFlowYieldTTM: z.number(),\n capexToOperatingCashFlowTTM: z.number(),\n capexToDepreciationTTM: z.number(),\n capexToRevenueTTM: z.number(),\n salesGeneralAndAdministrativeToRevenueTTM: z.number(),\n researchAndDevelopementToRevenueTTM: z.number(),\n stockBasedCompensationToRevenueTTM: z.number(),\n intangiblesToTotalAssetsTTM: z.number(),\n averageReceivablesTTM: z.number(),\n averagePayablesTTM: z.number(),\n averageInventoryTTM: z.number(),\n daysOfSalesOutstandingTTM: z.number(),\n daysOfPayablesOutstandingTTM: z.number(),\n daysOfInventoryOutstandingTTM: z.number(),\n operatingCycleTTM: z.number(),\n cashConversionCycleTTM: z.number(),\n freeCashFlowToEquityTTM: z.number(),\n freeCashFlowToFirmTTM: z.number(),\n tangibleAssetValueTTM: z.number(),\n netCurrentAssetValueTTM: z.number(),\n});\n\nexport type KeyMetricsTTM = z.infer<typeof KeyMetricsTTMSchema>;\n\n// Financial Ratios TTM (trailing-twelve-month snapshot) — stable /ratios-ttm.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const FinancialRatiosTTMSchema = z.object({\n symbol: z.string(),\n grossProfitMarginTTM: z.number(),\n ebitMarginTTM: z.number(),\n ebitdaMarginTTM: z.number(),\n operatingProfitMarginTTM: z.number(),\n pretaxProfitMarginTTM: z.number(),\n continuousOperationsProfitMarginTTM: z.number(),\n netProfitMarginTTM: z.number(),\n bottomLineProfitMarginTTM: z.number(),\n receivablesTurnoverTTM: z.number(),\n payablesTurnoverTTM: z.number(),\n inventoryTurnoverTTM: z.number(),\n fixedAssetTurnoverTTM: z.number(),\n assetTurnoverTTM: z.number(),\n currentRatioTTM: z.number(),\n quickRatioTTM: z.number(),\n solvencyRatioTTM: z.number(),\n cashRatioTTM: z.number(),\n priceToEarningsRatioTTM: z.number(),\n priceToEarningsGrowthRatioTTM: z.number(),\n forwardPriceToEarningsGrowthRatioTTM: z.number(),\n priceToBookRatioTTM: z.number(),\n priceToSalesRatioTTM: z.number(),\n priceToFreeCashFlowRatioTTM: z.number(),\n priceToOperatingCashFlowRatioTTM: z.number(),\n debtToAssetsRatioTTM: z.number(),\n debtToEquityRatioTTM: z.number(),\n debtToCapitalRatioTTM: z.number(),\n longTermDebtToCapitalRatioTTM: z.number(),\n financialLeverageRatioTTM: z.number(),\n workingCapitalTurnoverRatioTTM: z.number(),\n operatingCashFlowRatioTTM: z.number(),\n operatingCashFlowSalesRatioTTM: z.number(),\n freeCashFlowOperatingCashFlowRatioTTM: z.number(),\n debtServiceCoverageRatioTTM: z.number(),\n interestCoverageRatioTTM: z.number(),\n shortTermOperatingCashFlowCoverageRatioTTM: z.number(),\n operatingCashFlowCoverageRatioTTM: z.number(),\n capitalExpenditureCoverageRatioTTM: z.number(),\n dividendPaidAndCapexCoverageRatioTTM: z.number(),\n dividendPayoutRatioTTM: z.number(),\n dividendYieldTTM: z.number(),\n enterpriseValueTTM: z.number(),\n revenuePerShareTTM: z.number(),\n netIncomePerShareTTM: z.number(),\n interestDebtPerShareTTM: z.number(),\n cashPerShareTTM: z.number(),\n bookValuePerShareTTM: z.number(),\n tangibleBookValuePerShareTTM: z.number(),\n shareholdersEquityPerShareTTM: z.number(),\n operatingCashFlowPerShareTTM: z.number(),\n capexPerShareTTM: z.number(),\n freeCashFlowPerShareTTM: z.number(),\n netIncomePerEBTTTM: z.number(),\n ebtPerEbitTTM: z.number(),\n priceToFairValueTTM: z.number(),\n debtToMarketCapTTM: z.number(),\n effectiveTaxRateTTM: z.number(),\n enterpriseValueMultipleTTM: z.number(),\n dividendPerShareTTM: z.number(),\n});\n\nexport type FinancialRatiosTTM = z.infer<typeof FinancialRatiosTTMSchema>;\n\n// Revenue segmentation (product & geographic share one shape) — stable\n// /revenue-product-segmentation and /revenue-geographic-segmentation. The `data`\n// object is keyed dynamically by product line / region.\n// Verified against the live FMP `stable` API (2026-05-27).\nexport const RevenueSegmentationSchema = z.object({\n symbol: z.string(),\n fiscalYear: z.number(),\n period: z.string(),\n reportedCurrency: z.string().nullable(),\n date: z.string(),\n data: z.record(z.string(), z.number()),\n});\n\nexport const RevenueProductSegmentationSchema = RevenueSegmentationSchema;\nexport const RevenueGeographicSegmentationSchema = RevenueSegmentationSchema;\nexport type RevenueProductSegmentation = z.infer<typeof RevenueSegmentationSchema>;\nexport type RevenueGeographicSegmentation = z.infer<typeof RevenueSegmentationSchema>;\n","// insider types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Hand-written (not generated) because ts-to-zod can't process the TransactionType enum.\n\nimport { z } from 'zod';\n\n// RSS Feed Response\nexport const InsiderTradingRSSResponseSchema = z.object({\n symbol: z.string(),\n filingDate: z.string(),\n transactionDate: z.string(),\n reportingCik: z.string(),\n companyCik: z.string(),\n transactionType: z.string(),\n securitiesOwned: z.number(),\n reportingName: z.string(),\n typeOfOwner: z.string(),\n acquisitionOrDisposition: z.string(),\n directOrIndirect: z.string().nullable(),\n formType: z.string(),\n securitiesTransacted: z.number(),\n price: z.number(),\n securityName: z.string(),\n url: z.string(),\n});\n\nexport type InsiderTradingRSSResponse = z.infer<typeof InsiderTradingRSSResponseSchema>;\n\n// Insider Trading Search Response\nexport const InsiderTradingSearchResponseSchema = z.object({\n symbol: z.string(),\n filingDate: z.string(),\n transactionDate: z.string(),\n reportingCik: z.string(),\n companyCik: z.string(),\n transactionType: z.string(),\n securitiesOwned: z.number(),\n reportingName: z.string(),\n typeOfOwner: z.string(),\n acquisitionOrDisposition: z.string(),\n directOrIndirect: z.string().nullable(),\n formType: z.string(),\n securitiesTransacted: z.number(),\n price: z.number(),\n securityName: z.string(),\n url: z.string(),\n});\n\nexport type InsiderTradingSearchResponse = z.infer<typeof InsiderTradingSearchResponseSchema>;\n\n// Transaction Types Response (array of records)\nexport const TransactionTypeRecordSchema = z.object({\n transactionType: z.string(),\n});\n\nexport type TransactionTypesResponse = z.infer<typeof TransactionTypeRecordSchema>[];\n\n// Insiders By Symbol Response\nexport const InsidersBySymbolResponseSchema = z.object({\n typeOfOwner: z.string().nullable(),\n transactionDate: z.string(),\n owner: z.string(),\n});\n\nexport type InsidersBySymbolResponse = z.infer<typeof InsidersBySymbolResponseSchema>;\n\n// Insider Trade Statistics Response\nexport const InsiderTradeStatisticsResponseSchema = z.object({\n symbol: z.string(),\n cik: z.string(),\n year: z.number(),\n quarter: z.number(),\n acquiredTransactions: z.number(),\n disposedTransactions: z.number(),\n acquiredDisposedRatio: z.number(),\n totalAcquired: z.number(),\n totalDisposed: z.number(),\n averageAcquired: z.number(),\n averageDisposed: z.number(),\n totalPurchases: z.number(),\n totalSales: z.number(),\n});\n\nexport type InsiderTradeStatisticsResponse = z.infer<typeof InsiderTradeStatisticsResponseSchema>;\n\n// CIK Mapper Response\nexport const CikMapperResponseSchema = z.object({\n reportingCik: z.string(),\n reportingName: z.string(),\n});\n\nexport type CikMapperResponse = z.infer<typeof CikMapperResponseSchema>;\n\n// CIK Mapper By Symbol Response\nexport const CikMapperBySymbolResponseSchema = z.object({\n symbol: z.string(),\n companyCik: z.string(),\n});\n\nexport type CikMapperBySymbolResponse = z.infer<typeof CikMapperBySymbolResponseSchema>;\n\n// Beneficial Ownership Response\nexport const BeneficialOwnershipResponseSchema = z.object({\n cik: z.string(),\n symbol: z.string(),\n filingDate: z.string(),\n acceptedDate: z.string(),\n cusip: z.string(),\n nameOfReportingPerson: z.string(),\n citizenshipOrPlaceOfOrganization: z.string(),\n soleVotingPower: z.string(),\n sharedVotingPower: z.string(),\n soleDispositivePower: z.string(),\n sharedDispositivePower: z.string(),\n amountBeneficiallyOwned: z.string(),\n percentOfClass: z.string(),\n typeOfReportingPerson: z.string(),\n url: z.string(),\n});\n\nexport type BeneficialOwnershipResponse = z.infer<typeof BeneficialOwnershipResponseSchema>;\n\n// Fail to Deliver Response\nexport const FailToDeliverResponseSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n price: z.number(),\n quantity: z.number(),\n cusip: z.string(),\n name: z.string(),\n});\n\nexport type FailToDeliverResponse = z.infer<typeof FailToDeliverResponseSchema>;\n\n// Transaction type enum for better type safety\nexport enum TransactionType {\n AWARD = 'A-Award',\n CONVERSION = 'C-Conversion',\n RETURN = 'D-Return',\n EXPIRE_SHORT = 'E-ExpireShort',\n IN_KIND = 'F-InKind',\n GIFT = 'G-Gift',\n EXPIRE_LONG = 'H-ExpireLong',\n DISCRETIONARY = 'I-Discretionary',\n OTHER = 'J-Other',\n SMALL = 'L-Small',\n EXEMPT = 'M-Exempt',\n OUT_OF_THE_MONEY = 'O-OutOfTheMoney',\n PURCHASE = 'P-Purchase',\n SALE = 'S-Sale',\n TENDER = 'U-Tender',\n WILL = 'W-Will',\n IN_THE_MONEY = 'X-InTheMoney',\n TRUST = 'Z-Trust',\n}\n","// institutional types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const Form13FResponseSchema = z.object({\n date: z.string(),\n fillingDate: z.string(),\n acceptedDate: z.string(),\n cik: z.string(),\n cusip: z.string(),\n tickercusip: z.string(),\n nameOfIssuer: z.string(),\n shares: z.number(),\n titleOfClass: z.string(),\n value: z.number(),\n link: z.string(),\n finalLink: z.string(),\n});\n\nexport const InstitutionalHolderResponseSchema = z.object({\n holder: z.string(),\n shares: z.number(),\n dateReported: z.string(),\n change: z.number(),\n});\n\nexport type Form13FResponse = z.infer<typeof Form13FResponseSchema>;\nexport type InstitutionalHolderResponse = z.infer<typeof InstitutionalHolderResponseSchema>;\n","// list types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const StockListSchema = z.object({\n symbol: z.string(),\n exchange: z.string(),\n exchangeShortName: z.string(),\n price: z.number(),\n name: z.string(),\n type: z.string(),\n});\n\nexport const ETFListSchema = z.object({\n symbol: z.string(),\n exchange: z.string(),\n exchangeShortName: z.string(),\n price: z.number(),\n name: z.string(),\n type: z.string(),\n});\n\nexport const CryptoListSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n currency: z.string(),\n stockExchange: z.string(),\n exchangeShortName: z.string(),\n});\n\nexport const ForexListSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n currency: z.string(),\n stockExchange: z.string(),\n exchangeShortName: z.string(),\n});\n\nexport const AvailableIndexesListSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n currency: z.string(),\n stockExchange: z.string(),\n exchangeShortName: z.string(),\n});\n\nexport type StockList = z.infer<typeof StockListSchema>;\nexport type ETFList = z.infer<typeof ETFListSchema>;\nexport type CryptoList = z.infer<typeof CryptoListSchema>;\nexport type ForexList = z.infer<typeof ForexListSchema>;\nexport type AvailableIndexesList = z.infer<typeof AvailableIndexesListSchema>;\n","// Quote-related types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; the TypeScript types are\n// derived via `z.infer`. Regenerate the base schemas from interfaces with\n// `pnpm --filter fmp-node-types gen:schemas` (see scripts/), then fold edits here.\n\nimport { z } from 'zod';\n\n// Quote data structure - unified for all asset types\nexport const QuoteSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n price: z.number(),\n changesPercentage: z.number(),\n change: z.number(),\n dayLow: z.number(),\n dayHigh: z.number(),\n yearHigh: z.number(),\n yearLow: z.number(),\n marketCap: z.number().nullable(),\n priceAvg50: z.number(),\n priceAvg200: z.number(),\n exchange: z.string(),\n volume: z.number(),\n avgVolume: z.number(),\n open: z.number(),\n previousClose: z.number(),\n eps: z.number().nullable(),\n pe: z.number().nullable(),\n earningsAnnouncement: z.string().nullable(),\n sharesOutstanding: z.number().nullable(),\n timestamp: z.number(),\n});\n\nexport type Quote = z.infer<typeof QuoteSchema>;\n\n// Short quote (stable /quote-short) — a lean price/change/volume snapshot.\nexport const QuoteShortSchema = z.object({\n symbol: z.string(),\n price: z.number(),\n change: z.number(),\n volume: z.number(),\n});\n\nexport type QuoteShort = z.infer<typeof QuoteShortSchema>;\n\n// Historical price data structure\nexport const HistoricalPriceDataSchema = z.object({\n date: z.string(),\n open: z.number(),\n high: z.number(),\n low: z.number(),\n close: z.number(),\n adjClose: z.number(),\n volume: z.number(),\n unadjustedVolume: z.number(),\n change: z.number(),\n changePercent: z.number(),\n vwap: z.number(),\n label: z.string(),\n changeOverTime: z.number(),\n});\n\nexport type HistoricalPriceData = z.infer<typeof HistoricalPriceDataSchema>;\n\n// Historical price response wrapper\nexport const HistoricalPriceResponseSchema = z.object({\n symbol: z.string(),\n historical: z.array(HistoricalPriceDataSchema),\n});\n\nexport type HistoricalPriceResponse = z.infer<typeof HistoricalPriceResponseSchema>;\n\n// Intraday bars (/historical-chart/{interval}/{symbol}) return a leaner shape\n// than HistoricalPriceData — only OHLCV, no adjusted/derived fields.\nexport const IntradayPriceSchema = z.object({\n date: z.string(),\n open: z.number(),\n low: z.number(),\n high: z.number(),\n close: z.number(),\n volume: z.number(),\n});\n\nexport type IntradayPrice = z.infer<typeof IntradayPriceSchema>;\n","// Market data types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Base schemas generated via `gen:schemas`.\n\nimport { z } from 'zod';\nimport { QuoteSchema } from './quote';\n\n// Trading hours + current open/closed status for a single exchange.\n// One element per exchange from the stable /all-exchange-market-hours endpoint.\nexport const ExchangeMarketHoursSchema = z.object({\n exchange: z.string(),\n name: z.string(),\n openingHour: z.string(),\n closingHour: z.string(),\n timezone: z.string(),\n isMarketOpen: z.boolean(),\n});\n\nexport type ExchangeMarketHours = z.infer<typeof ExchangeMarketHoursSchema>;\n\nexport const MarketPerformanceSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n change: z.number(),\n price: z.number(),\n changesPercentage: z.number(),\n // Present on the biggest-gainers/losers/most-actives (stable) endpoints.\n exchange: z.string().optional(),\n});\n\nexport type MarketPerformance = z.infer<typeof MarketPerformanceSchema>;\n\n// Per-sector average change for a given date/exchange (stable\n// /sector-performance-snapshot). `averageChange` is a numeric percentage.\nexport const MarketSectorPerformanceSchema = z.object({\n date: z.string(),\n sector: z.string(),\n exchange: z.string(),\n averageChange: z.number(),\n});\n\nexport type MarketSectorPerformance = z.infer<typeof MarketSectorPerformanceSchema>;\n\n// Per-industry P/E for a given date/exchange (stable /industry-pe-snapshot).\nexport const IndustryPESnapshotSchema = z.object({\n date: z.string(),\n industry: z.string(),\n exchange: z.string(),\n pe: z.number(),\n});\n\nexport type IndustryPESnapshot = z.infer<typeof IndustryPESnapshotSchema>;\n\n// The `/quotes/index` endpoint (used by both getMarketIndex and\n// getMarketPerformance) returns full quote objects for market indices — the\n// same shape as Quote, plus an optional `type` discriminator on some responses.\nexport const MarketIndexSchema = QuoteSchema.extend({\n type: z.string().optional(),\n});\n\nexport type MarketIndex = z.infer<typeof MarketIndexSchema>;\n","// mutual-fund types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const MutualFundHoldingSchema = z.object({\n holder: z.string(),\n shares: z.number(),\n dateReported: z.string(),\n change: z.number(),\n weightPercent: z.number(),\n});\n\nexport type MutualFundHolding = z.infer<typeof MutualFundHoldingSchema>;\n","// news types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const NewsSchema = z.object({\n symbol: z.string(),\n publishedDate: z.string(),\n publisher: z.string(),\n title: z.string(),\n image: z.string(),\n site: z.string(),\n text: z.string(),\n url: z.string(),\n});\n\nexport const ArticleSchema = z.object({\n title: z.string(),\n date: z.string(),\n content: z.string(),\n tickers: z.string(),\n image: z.string(),\n link: z.string(),\n author: z.string(),\n site: z.string(),\n});\n\nexport type News = z.infer<typeof NewsSchema>;\nexport type Article = z.infer<typeof ArticleSchema>;\n","// sec types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const RSSFeedItemSchema = z.object({\n title: z.string(),\n date: z.string(),\n link: z.string(),\n cik: z.string(),\n form_type: z.string(),\n ticker: z.string(),\n done: z.boolean(),\n});\n\nexport const RSSFeedV3ItemSchema = z.object({\n title: z.string(),\n date: z.string(),\n link: z.string(),\n cik: z.string(),\n form_type: z.string(),\n ticker: z.string(),\n done: z.boolean(),\n});\n\nexport const RSSFeed8KItemSchema = z.object({\n title: z.string(),\n symbol: z.string(),\n cik: z.string(),\n link: z.string(),\n finalLink: z.string(),\n date: z.string(),\n process: z.string(),\n hasFinancials: z.string(),\n});\n\nexport const SECFilingSchema = z.object({\n symbol: z.string(),\n cik: z.string(),\n type: z.string(),\n link: z.string(),\n finalLink: z.string(),\n acceptedDate: z.string(),\n fillingDate: z.string(),\n});\n\nexport const IndustryClassificationSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n cik: z.string(),\n sicCode: z.string(),\n industryTitle: z.string(),\n businessAdress: z.string(),\n phoneNumber: z.string(),\n});\n\nexport const IndustryClassificationCodeSchema = z.object({\n office: z.string(),\n sicCode: z.string(),\n industryTitle: z.string(),\n});\n\nexport const RSSFeedParamsSchema = z.object({\n limit: z.number().optional(),\n type: z.string().optional(),\n from: z.string().optional(),\n to: z.string().optional(),\n isDone: z.boolean().optional(),\n});\n\nexport const RSSFeedV3ParamsSchema = z.object({\n page: z.number().optional(),\n datatype: z.string().optional(),\n});\n\nexport const RSSFeedAllItemSchema = z.object({\n symbol: z.string(),\n fillingDate: z.string(),\n acceptedDate: z.string(),\n cik: z.string(),\n type: z.string(),\n link: z.string(),\n finalLink: z.string(),\n});\n\nexport const RSSFeed8KParamsSchema = z.object({\n page: z.number().optional(),\n from: z.string().optional(),\n to: z.string().optional(),\n hasFinancial: z.boolean().optional(),\n limit: z.number().optional(),\n});\n\nexport const SECFilingsParamsSchema = z.object({\n page: z.number().optional(),\n type: z.string().optional(),\n});\n\nexport const IndividualIndustryClassificationParamsSchema = z.object({\n symbol: z.string().optional(),\n cik: z.number().optional(),\n sicCode: z.number().optional(),\n});\n\nexport const IndustryClassificationCodesParamsSchema = z.object({\n industryTitle: z.string().optional(),\n sicCode: z.number().optional(),\n});\n\nexport type RSSFeedItem = z.infer<typeof RSSFeedItemSchema>;\nexport type RSSFeedV3Item = z.infer<typeof RSSFeedV3ItemSchema>;\nexport type RSSFeed8KItem = z.infer<typeof RSSFeed8KItemSchema>;\nexport type SECFiling = z.infer<typeof SECFilingSchema>;\nexport type IndustryClassification = z.infer<typeof IndustryClassificationSchema>;\nexport type IndustryClassificationCode = z.infer<typeof IndustryClassificationCodeSchema>;\nexport type RSSFeedParams = z.infer<typeof RSSFeedParamsSchema>;\nexport type RSSFeedV3Params = z.infer<typeof RSSFeedV3ParamsSchema>;\nexport type RSSFeedAllItem = z.infer<typeof RSSFeedAllItemSchema>;\nexport type RSSFeed8KParams = z.infer<typeof RSSFeed8KParamsSchema>;\nexport type SECFilingsParams = z.infer<typeof SECFilingsParamsSchema>;\nexport type IndividualIndustryClassificationParams = z.infer<\n typeof IndividualIndustryClassificationParamsSchema\n>;\nexport type IndustryClassificationCodesParams = z.infer<\n typeof IndustryClassificationCodesParamsSchema\n>;\n","// screener types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const ScreenerParamsSchema = z.object({\n marketCapMoreThan: z.number().optional(),\n marketCapLowerThan: z.number().optional(),\n sector: z.string().optional(),\n industry: z.string().optional(),\n betaMoreThan: z.number().optional(),\n betaLowerThan: z.number().optional(),\n priceMoreThan: z.number().optional(),\n priceLowerThan: z.number().optional(),\n dividendMoreThan: z.number().optional(),\n dividendLowerThan: z.number().optional(),\n volumeMoreThan: z.number().optional(),\n volumeLowerThan: z.number().optional(),\n exchange: z.string().optional(),\n country: z.string().optional(),\n isEtf: z.boolean().optional(),\n isFund: z.boolean().optional(),\n isActivelyTrading: z.boolean().optional(),\n limit: z.number().optional(),\n includeAllShareClasses: z.boolean().optional(),\n});\n\nexport const ScreenerSchema = z.object({\n symbol: z.string(),\n companyName: z.string(),\n marketCap: z.number().nullable(),\n sector: z.string().nullable(),\n industry: z.string().nullable(),\n beta: z.number().nullable(),\n price: z.number(),\n lastAnnualDividend: z.number().nullable(),\n volume: z.number(),\n exchange: z.string(),\n exchangeShortName: z.string(),\n country: z.string(),\n isEtf: z.boolean(),\n isFund: z.boolean(),\n isActivelyTrading: z.boolean(),\n});\n\nexport const AvailableExchangesSchema = z.object({\n exchange: z.string(),\n name: z.string(),\n countryName: z.string(),\n countryCode: z.string(),\n symbolSuffix: z.string(),\n delay: z.string().nullable(),\n});\n\nexport const AvailableSectorsSchema = z.object({\n sector: z.string(),\n});\n\nexport const AvailableIndustriesSchema = z.object({\n industry: z.string(),\n});\n\nexport const AvailableCountriesSchema = z.object({\n country: z.string(),\n});\n\nexport type ScreenerParams = z.infer<typeof ScreenerParamsSchema>;\nexport type Screener = z.infer<typeof ScreenerSchema>;\nexport type AvailableExchanges = z.infer<typeof AvailableExchangesSchema>;\nexport type AvailableSectors = z.infer<typeof AvailableSectorsSchema>;\nexport type AvailableIndustries = z.infer<typeof AvailableIndustriesSchema>;\nexport type AvailableCountries = z.infer<typeof AvailableCountriesSchema>;\n","// search types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\nimport { z } from 'zod';\n\nexport const SearchResultSchema = z.object({\n symbol: z.string(),\n name: z.string(),\n currency: z.string().nullable(),\n stockExchange: z.string().nullable(),\n exchangeShortName: z.string().nullable(),\n});\n\nexport type SearchResult = z.infer<typeof SearchResultSchema>;\n","// analyst types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Verified against the live FMP `stable` API (2026-05-27).\nimport { z } from 'zod';\n\nexport const AnalystEstimateSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n revenueLow: z.number().nullable(),\n revenueHigh: z.number().nullable(),\n revenueAvg: z.number().nullable(),\n ebitdaLow: z.number().nullable(),\n ebitdaHigh: z.number().nullable(),\n ebitdaAvg: z.number().nullable(),\n ebitLow: z.number().nullable(),\n ebitHigh: z.number().nullable(),\n ebitAvg: z.number().nullable(),\n netIncomeLow: z.number().nullable(),\n netIncomeHigh: z.number().nullable(),\n netIncomeAvg: z.number().nullable(),\n sgaExpenseLow: z.number().nullable(),\n sgaExpenseHigh: z.number().nullable(),\n sgaExpenseAvg: z.number().nullable(),\n epsAvg: z.number().nullable(),\n epsHigh: z.number().nullable(),\n epsLow: z.number().nullable(),\n numAnalystsRevenue: z.number().nullable(),\n numAnalystsEps: z.number().nullable(),\n});\n\nexport const PriceTargetConsensusSchema = z.object({\n symbol: z.string(),\n targetHigh: z.number().nullable(),\n targetLow: z.number().nullable(),\n targetConsensus: z.number().nullable(),\n targetMedian: z.number().nullable(),\n});\n\nexport const PriceTargetSummarySchema = z.object({\n symbol: z.string(),\n lastMonthCount: z.number().nullable(),\n lastMonthAvgPriceTarget: z.number().nullable(),\n lastQuarterCount: z.number().nullable(),\n lastQuarterAvgPriceTarget: z.number().nullable(),\n lastYearCount: z.number().nullable(),\n lastYearAvgPriceTarget: z.number().nullable(),\n allTimeCount: z.number().nullable(),\n allTimeAvgPriceTarget: z.number().nullable(),\n publishers: z.string().nullable(),\n});\n\nexport const StockGradeSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n gradingCompany: z.string().nullable(),\n previousGrade: z.string().nullable(),\n newGrade: z.string().nullable(),\n action: z.string().nullable(),\n});\n\nexport const GradesConsensusSchema = z.object({\n symbol: z.string(),\n strongBuy: z.number(),\n buy: z.number(),\n hold: z.number(),\n sell: z.number(),\n strongSell: z.number(),\n consensus: z.string(),\n});\n\nexport type AnalystEstimate = z.infer<typeof AnalystEstimateSchema>;\nexport type PriceTargetConsensus = z.infer<typeof PriceTargetConsensusSchema>;\nexport type PriceTargetSummary = z.infer<typeof PriceTargetSummarySchema>;\nexport type StockGrade = z.infer<typeof StockGradeSchema>;\nexport type GradesConsensus = z.infer<typeof GradesConsensusSchema>;\n","// valuation types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Verified against the live FMP `stable` API (2026-05-27). Note the DCF price field\n// is keyed \"Stock Price\" (with a space) in the real response.\nimport { z } from 'zod';\n\nexport const DCFValuationSchema = z.object({\n symbol: z.string(),\n date: z.string().nullable(),\n dcf: z.number().nullable(),\n 'Stock Price': z.number().nullable(),\n});\n\nexport const CompanyRatingSchema = z.object({\n symbol: z.string(),\n // Present on historical rating rows; absent on the current snapshot.\n date: z.string().optional(),\n rating: z.string().nullable(),\n overallScore: z.number().nullable(),\n discountedCashFlowScore: z.number().nullable(),\n returnOnEquityScore: z.number().nullable(),\n returnOnAssetsScore: z.number().nullable(),\n debtToEquityScore: z.number().nullable(),\n priceToEarningsScore: z.number().nullable(),\n priceToBookScore: z.number().nullable(),\n});\n\nexport type DCFValuation = z.infer<typeof DCFValuationSchema>;\nexport type CompanyRating = z.infer<typeof CompanyRatingSchema>;\n","// technical indicator types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// One schema covers every indicator `type`; the indicator value lands in the\n// correspondingly-named optional field (e.g. `sma`, `rsi`). Verified against the\n// live FMP `stable` API (2026-05-27).\nimport { z } from 'zod';\n\nexport const TechnicalIndicatorSchema = z.object({\n date: z.string(),\n open: z.number().nullable(),\n high: z.number().nullable(),\n low: z.number().nullable(),\n close: z.number().nullable(),\n volume: z.number().nullable(),\n sma: z.number().optional(),\n ema: z.number().optional(),\n wma: z.number().optional(),\n dema: z.number().optional(),\n tema: z.number().optional(),\n rsi: z.number().optional(),\n standardDeviation: z.number().optional(),\n williams: z.number().optional(),\n adx: z.number().optional(),\n});\n\nexport type TechnicalIndicator = z.infer<typeof TechnicalIndicatorSchema>;\n","// senate-house types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; types are derived via z.infer.\n// Base schemas generated via `pnpm --filter fmp-node-types gen:schemas`.\nimport { z } from 'zod';\n\nexport const SenateTradingResponseSchema = z.object({\n symbol: z.string(),\n disclosureDate: z.string(),\n transactionDate: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n office: z.string(),\n district: z.string(),\n owner: z.string(),\n assetDescription: z.string(),\n assetType: z.string(),\n type: z.string(),\n amount: z.string(),\n // The senate-latest RSS feed omits this field that senate-trades includes.\n capitalGainsOver200USD: z.string().optional(),\n comment: z.string(),\n link: z.string(),\n});\n\nexport const HouseTradingResponseSchema = z.object({\n symbol: z.string(),\n disclosureDate: z.string(),\n transactionDate: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n office: z.string(),\n district: z.string(),\n owner: z.string(),\n assetDescription: z.string(),\n assetType: z.string(),\n type: z.string(),\n amount: z.string(),\n capitalGainsOver200USD: z.string(),\n comment: z.string(),\n link: z.string(),\n});\n\nexport const SenateHouseTradingByNameResponseSchema = z.object({\n symbol: z.string(),\n disclosureDate: z.string(),\n transactionDate: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n office: z.string(),\n district: z.string(),\n owner: z.string(),\n assetDescription: z.string(),\n assetType: z.string(),\n type: z.string(),\n amount: z.string(),\n capitalGainsOver200USD: z.string(),\n comment: z.string(),\n link: z.string(),\n});\n\nexport type SenateTradingResponse = z.infer<typeof SenateTradingResponseSchema>;\nexport type HouseTradingResponse = z.infer<typeof HouseTradingResponseSchema>;\nexport type SenateHouseTradingByNameResponse = z.infer<\n typeof SenateHouseTradingByNameResponseSchema\n>;\n","// Stock-related types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Schemas here are hand-written because `ts-to-zod`\n// cannot generate from the generic wrapper interfaces below.\n\nimport { z } from 'zod';\n\nexport const StockSplitSchema = z.object({\n date: z.string(),\n label: z.string(),\n numerator: z.number(),\n denominator: z.number(),\n});\n\nexport type StockSplit = z.infer<typeof StockSplitSchema>;\n\nexport const StockSplitResponseSchema = z.object({\n symbol: z.string(),\n historical: z.array(StockSplitSchema),\n});\n\nexport type StockSplitResponse = z.infer<typeof StockSplitResponseSchema>;\n\nexport const StockDividendSchema = z.object({\n date: z.string(),\n label: z.string(),\n adjDividend: z.number(),\n dividend: z.number(),\n recordDate: z.string(),\n paymentDate: z.string(),\n declarationDate: z.string(),\n});\n\nexport type StockDividend = z.infer<typeof StockDividendSchema>;\n\nexport const StockDividendResponseSchema = z.object({\n symbol: z.string(),\n historical: z.array(StockDividendSchema),\n});\n\nexport type StockDividendResponse = z.infer<typeof StockDividendResponseSchema>;\n\nexport const MarketCapSchema = z.object({\n symbol: z.string(),\n date: z.string(),\n marketCap: z.number(),\n});\n\nexport type MarketCap = z.infer<typeof MarketCapSchema>;\n\nexport const StockRealTimePriceSchema = z.object({\n symbol: z.string(),\n price: z.number(),\n});\n\nexport type StockRealTimePrice = z.infer<typeof StockRealTimePriceSchema>;\n\nexport const StockRealTimePriceFullSchema = z.object({\n bidSize: z.number(),\n askPrice: z.number(),\n volume: z.number(),\n askSize: z.number(),\n bidPrice: z.number(),\n lastSalePrice: z.number(),\n lastSaleSize: z.number(),\n lastSaleTime: z.number(),\n fmpLast: z.number(),\n lastUpdated: z.number(),\n symbol: z.string(),\n});\n\nexport type StockRealTimePriceFull = z.infer<typeof StockRealTimePriceFullSchema>;\n\n// Price change across standard horizons (stable /stock-price-change).\n// Values are percentage changes; keys mirror FMP's numeric-prefixed fields.\nexport const StockPriceChangeSchema = z.object({\n symbol: z.string(),\n '1D': z.number(),\n '5D': z.number(),\n '1M': z.number(),\n '3M': z.number(),\n '6M': z.number(),\n ytd: z.number(),\n '1Y': z.number(),\n '3Y': z.number(),\n '5Y': z.number(),\n '10Y': z.number(),\n max: z.number(),\n});\n\nexport type StockPriceChange = z.infer<typeof StockPriceChangeSchema>;\n\n// Generic response wrappers — kept as plain interfaces because Zod schemas\n// cannot represent open generics. Not part of the schema-first surface.\n\n// For endpoints that return { stockList: [...] }\nexport interface StockListResponse<T> {\n stockList: T[];\n}\n\n// For endpoints that return { companiesPriceList: [...] }\nexport interface CompaniesPriceListResponse<T> {\n companiesPriceList: T[];\n}\n","// Aftermarket (extended-hours) types for FMP API\n//\n// Schema-first: Zod schemas are the source of truth; TypeScript types are\n// derived via `z.infer`. Field shapes confirmed against the live `stable`\n// surface (aftermarket-trade / aftermarket-quote).\n\nimport { z } from 'zod';\n\n// Latest extended-hours trade (stable /aftermarket-trade).\nexport const AftermarketTradeSchema = z.object({\n symbol: z.string(),\n price: z.number(),\n tradeSize: z.number(),\n timestamp: z.number(),\n});\n\nexport type AftermarketTrade = z.infer<typeof AftermarketTradeSchema>;\n\n// Latest extended-hours bid/ask (stable /aftermarket-quote).\nexport const AftermarketQuoteSchema = z.object({\n symbol: z.string(),\n bidSize: z.number(),\n bidPrice: z.number(),\n askSize: z.number(),\n askPrice: z.number(),\n volume: z.number(),\n timestamp: z.number(),\n});\n\nexport type AftermarketQuote = z.infer<typeof AftermarketQuoteSchema>;\n"]}
|