diff --git a/openbb_platform/providers/intrinio/README.md b/openbb_platform/providers/intrinio/README.md deleted file mode 100644 index ad20ec6eb9d..00000000000 --- a/openbb_platform/providers/intrinio/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# OpenBB Intrinio Provider - -This extension integrates the [Intrinio](https://intrinio.com/) data provider into the OpenBB Platform. - -## Installation - -To install the extension: - -```bash -pip install openbb-intrinio -``` - -Documentation available [here](https://docs.openbb.co/platform/developer_guide/contributing). diff --git a/openbb_platform/providers/intrinio/__init__.py b/openbb_platform/providers/intrinio/__init__.py deleted file mode 100644 index a87030559a5..00000000000 --- a/openbb_platform/providers/intrinio/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Intrinio provider.""" diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py deleted file mode 100644 index 4152bab8de1..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py +++ /dev/null @@ -1,116 +0,0 @@ -"""Intrinio Provider Modules.""" - -from openbb_core.provider.abstract.provider import Provider -from openbb_intrinio.models.balance_sheet import IntrinioBalanceSheetFetcher -from openbb_intrinio.models.calendar_ipo import IntrinioCalendarIpoFetcher -from openbb_intrinio.models.cash_flow import IntrinioCashFlowStatementFetcher -from openbb_intrinio.models.company_filings import IntrinioCompanyFilingsFetcher -from openbb_intrinio.models.company_news import IntrinioCompanyNewsFetcher -from openbb_intrinio.models.currency_pairs import IntrinioCurrencyPairsFetcher -from openbb_intrinio.models.equity_historical import IntrinioEquityHistoricalFetcher -from openbb_intrinio.models.equity_info import IntrinioEquityInfoFetcher -from openbb_intrinio.models.equity_quote import IntrinioEquityQuoteFetcher -from openbb_intrinio.models.equity_search import IntrinioEquitySearchFetcher -from openbb_intrinio.models.etf_holdings import IntrinioEtfHoldingsFetcher -from openbb_intrinio.models.etf_info import IntrinioEtfInfoFetcher -from openbb_intrinio.models.etf_price_performance import ( - IntrinioEtfPricePerformanceFetcher, -) -from openbb_intrinio.models.etf_search import IntrinioEtfSearchFetcher -from openbb_intrinio.models.financial_ratios import IntrinioFinancialRatiosFetcher -from openbb_intrinio.models.forward_ebitda_estimates import ( - IntrinioForwardEbitdaEstimatesFetcher, -) -from openbb_intrinio.models.forward_eps_estimates import ( - IntrinioForwardEpsEstimatesFetcher, -) -from openbb_intrinio.models.forward_pe_estimates import ( - IntrinioForwardPeEstimatesFetcher, -) -from openbb_intrinio.models.forward_sales_estimates import ( - IntrinioForwardSalesEstimatesFetcher, -) -from openbb_intrinio.models.fred_series import IntrinioFredSeriesFetcher -from openbb_intrinio.models.historical_attributes import ( - IntrinioHistoricalAttributesFetcher, -) -from openbb_intrinio.models.historical_dividends import ( - IntrinioHistoricalDividendsFetcher, -) -from openbb_intrinio.models.historical_market_cap import ( - IntrinioHistoricalMarketCapFetcher, -) -from openbb_intrinio.models.income_statement import IntrinioIncomeStatementFetcher -from openbb_intrinio.models.index_historical import IntrinioIndexHistoricalFetcher -from openbb_intrinio.models.insider_trading import IntrinioInsiderTradingFetcher - -# from openbb_intrinio.models.institutional_ownership import ( -# IntrinioInstitutionalOwnershipFetcher, -# ) -from openbb_intrinio.models.key_metrics import IntrinioKeyMetricsFetcher -from openbb_intrinio.models.latest_attributes import IntrinioLatestAttributesFetcher -from openbb_intrinio.models.market_snapshots import IntrinioMarketSnapshotsFetcher -from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher -from openbb_intrinio.models.options_snapshots import IntrinioOptionsSnapshotsFetcher -from openbb_intrinio.models.options_unusual import IntrinioOptionsUnusualFetcher -from openbb_intrinio.models.price_target_consensus import ( - IntrinioPriceTargetConsensusFetcher, -) -from openbb_intrinio.models.reported_financials import IntrinioReportedFinancialsFetcher -from openbb_intrinio.models.search_attributes import ( - IntrinioSearchAttributesFetcher, -) -from openbb_intrinio.models.share_statistics import IntrinioShareStatisticsFetcher -from openbb_intrinio.models.world_news import IntrinioWorldNewsFetcher - -intrinio_provider = Provider( - name="intrinio", - website="https://intrinio.com", - description="""Intrinio is a financial data platform that provides real-time and -historical financial market data to businesses and developers through an API.""", - credentials=["api_key"], - fetcher_dict={ - "BalanceSheet": IntrinioBalanceSheetFetcher, - "CalendarIpo": IntrinioCalendarIpoFetcher, - "CashFlowStatement": IntrinioCashFlowStatementFetcher, - "CompanyFilings": IntrinioCompanyFilingsFetcher, - "CompanyNews": IntrinioCompanyNewsFetcher, - "CurrencyPairs": IntrinioCurrencyPairsFetcher, - "EquityHistorical": IntrinioEquityHistoricalFetcher, - "EquityInfo": IntrinioEquityInfoFetcher, - "EquityQuote": IntrinioEquityQuoteFetcher, - "EquitySearch": IntrinioEquitySearchFetcher, - "EtfHistorical": IntrinioEquityHistoricalFetcher, - "EtfHoldings": IntrinioEtfHoldingsFetcher, - "EtfInfo": IntrinioEtfInfoFetcher, - "EtfPricePerformance": IntrinioEtfPricePerformanceFetcher, - "EtfSearch": IntrinioEtfSearchFetcher, - "FinancialRatios": IntrinioFinancialRatiosFetcher, - "ForwardEbitdaEstimates": IntrinioForwardEbitdaEstimatesFetcher, - "ForwardEpsEstimates": IntrinioForwardEpsEstimatesFetcher, - "ForwardPeEstimates": IntrinioForwardPeEstimatesFetcher, - "ForwardSalesEstimates": IntrinioForwardSalesEstimatesFetcher, - "FredSeries": IntrinioFredSeriesFetcher, - "HistoricalAttributes": IntrinioHistoricalAttributesFetcher, - "HistoricalDividends": IntrinioHistoricalDividendsFetcher, - "HistoricalMarketCap": IntrinioHistoricalMarketCapFetcher, - "IncomeStatement": IntrinioIncomeStatementFetcher, - "IndexHistorical": IntrinioIndexHistoricalFetcher, - "InsiderTrading": IntrinioInsiderTradingFetcher, - # "InstitutionalOwnership": IntrinioInstitutionalOwnershipFetcher, # Disabled due to unreliable Intrinio endpoint - "KeyMetrics": IntrinioKeyMetricsFetcher, - "LatestAttributes": IntrinioLatestAttributesFetcher, - "MarketSnapshots": IntrinioMarketSnapshotsFetcher, - "OptionsChains": IntrinioOptionsChainsFetcher, - "OptionsSnapshots": IntrinioOptionsSnapshotsFetcher, - "OptionsUnusual": IntrinioOptionsUnusualFetcher, - "PriceTargetConsensus": IntrinioPriceTargetConsensusFetcher, - "ReportedFinancials": IntrinioReportedFinancialsFetcher, - "SearchAttributes": IntrinioSearchAttributesFetcher, - "ShareStatistics": IntrinioShareStatisticsFetcher, - "WorldNews": IntrinioWorldNewsFetcher, - }, - repr_name="Intrinio", - deprecated_credentials={"API_INTRINIO_KEY": "intrinio_api_key"}, - instructions="Go to: https://intrinio.com/starter-plan\n\n![Intrinio](https://user-images.githubusercontent.com/85772166/219207556-fcfee614-59f1-46ae-bff4-c63dd2f6991d.png)\n\nAn API key will be issued with a subscription. Find the token value within the account dashboard.", # noqa: E501 pylint: disable=line-too-long -) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/__init__.py deleted file mode 100644 index 8002ba77791..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Intrinio models directory.""" diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/balance_sheet.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/balance_sheet.py deleted file mode 100644 index ebfd88d1ebc..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/balance_sheet.py +++ /dev/null @@ -1,500 +0,0 @@ -"""Intrinio Balance Sheet Model.""" - -# pylint: disable=unused-argument - -from typing import Any, Literal -from warnings import warn - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.balance_sheet import ( - BalanceSheetData, - BalanceSheetQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import ClientResponse, amake_requests -from openbb_intrinio.utils.helpers import get_data_one -from pydantic import Field, field_validator, model_validator - - -class IntrinioBalanceSheetQueryParams(BalanceSheetQueryParams): - """Intrinio Balance Sheet Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_fundamentals_v2 - Source: https://docs.intrinio.com/documentation/web_api/get_fundamental_standardized_financials_v2 - """ - - __json_schema_extra__ = { - "period": { - "choices": ["annual", "quarter"], - } - } - - period: Literal["annual", "quarter"] = Field( - default="annual", - description=QUERY_DESCRIPTIONS.get("period", ""), - ) - fiscal_year: int | None = Field( - default=None, - description="The specific fiscal year. Reports do not go beyond 2008.", - ) - - @field_validator("symbol", mode="after", check_fields=False) - @classmethod - def handle_symbol(cls, v) -> str: - """Handle symbols with a dash and replace it with a dot for Intrinio.""" - return v.replace("-", ".") - - -class IntrinioBalanceSheetData(BalanceSheetData): - """Intrinio Balance Sheet Data.""" - - __alias_dict__ = { - "cash_and_cash_equivalents": "cashandequivalents", - "restricted_cash": "restrictedcash", - "short_term_investments": "shortterminvestments", - "federal_funds_sold": "fedfundssold", - "note_and_lease_receivable": "notereceivable", - "interest_bearing_deposits_at_other_banks": "interestbearingdepositsatotherbanks", - "accounts_receivable": "accountsreceivable", - "time_deposits_placed_and_other_short_term_investments": "timedepositsplaced", - "inventories": "netinventory", - "trading_account_securities": "tradingaccountsecurities", - "prepaid_expenses": "prepaidexpenses", - "loans_and_leases": "loansandleases", - "allowance_for_loan_and_lease_losses": "allowanceforloanandleaselosses", - "current_deferred_refundable_income_taxes": "currentdeferredtaxassets", - "other_current_assets": "othercurrentassets", - "loans_and_leases_net_of_allowance": "netloansandleases", - "other_current_non_operating_assets": "othercurrentnonoperatingassets", - "loans_held_for_sale": "loansheldforsale", - "total_current_assets": "totalcurrentassets", - "accrued_investment_income": "accruedinvestmentincome", - "plant_property_equipment_gross": "grossppe", - "customer_and_other_receivables": "customerandotherreceivables", - "accumulated_depreciation": "accumulateddepreciation", - "premises_and_equipment_net": "netpremisesandequipment", - "plant_property_equipment_net": "netppe", - "mortgage_servicing_rights": "mortgageservicingrights", - "long_term_investments": "longterminvestments", - "unearned_premiums_asset": "unearnedpremiumsdebit", - "non_current_note_lease_receivables": "noncurrentnotereceivables", - "deferred_acquisition_cost": "deferredacquisitioncost", - "goodwill": "goodwill", - "separate_account_business_assets": "separateaccountbusinessassets", - "intangible_assets": "intangibleassets", - "non_current_deferred_refundable_income_taxes": "noncurrentdeferredtaxassets", - "employee_benefit_assets": "employeebenefitassets", - "other_assets": "otherassets", - "other_non_current_operating_assets": "othernoncurrentassets", - "total_assets": "totalassets", - "other_non_current_non_operating_assets": "othernoncurrentnonoperatingassets", - "non_interest_bearing_deposits": "noninterestbearingdeposits", - "interest_bearing_deposits": "interestbearingdeposits", - "total_non_current_assets": "totalnoncurrentassets", - "federal_funds_purchased_and_securities_sold": "fedfundspurchased", - "short_term_debt": "shorttermdebt", - "bankers_acceptance_out_standing": "bankersacceptances", - "accrued_interest_payable": "accruedinterestpayable", - "accounts_payable": "accountspayable", - "accrued_expenses": "accruedexpenses", - "other_short_term_payables": "othershorttermpayables", - "long_term_debt": "longtermdebt", - "customer_deposits": "customerdeposits", - "capital_lease_obligations": "capitalleaseobligations", - "dividends_payable": "dividendspayable", - "claims_and_claim_expense": "claimsandclaimexpenses", - "current_deferred_revenue": "currentdeferredrevenue", - "future_policy_benefits": "futurepolicybenefits", - "current_deferred_payable_income_tax_liabilities": "currentdeferredtaxliabilities", - "current_employee_benefit_liabilities": "currentemployeebenefitliabilities", - "unearned_premiums_liability": "unearnedpremiumscredit", - "other_taxes_payable": "othertaxespayable", - "policy_holder_funds": "policyholderfunds", - "other_current_liabilities": "othercurrentliabilities", - "participating_policy_holder_equity": "participatingpolicyholderequity", - "other_current_non_operating_liabilities": "othercurrentnonoperatingliabilities", - "separate_account_business_liabilities": "separateaccountbusinessliabilities", - "total_current_liabilities": "totalcurrentliabilities", - "other_long_term_liabilities": "otherlongtermliabilities", - "total_liabilities": "totalliabilities", - "commitments_contingencies": "commitmentsandcontingencies", - "asset_retirement_reserve_litigation_obligation": "assetretirementandlitigationobligation", - "redeemable_non_controlling_interest": "redeemablenoncontrollinginterest", - "non_current_deferred_revenue": "noncurrentdeferredrevenue", - "preferred_stock": "totalpreferredequity", - "common_stock": "commonequity", - "non_current_deferred_payable_income_tax_liabilities": "noncurrentdeferredtaxliabilities", - "non_current_employee_benefit_liabilities": "noncurrentemployeebenefitliabilities", - "retained_earnings": "retainedearnings", - "other_non_current_operating_liabilities": "othernoncurrentliabilities", - "treasury_stock": "treasurystock", - "accumulated_other_comprehensive_income": "aoci", - "other_non_current_non_operating_liabilities": "othernoncurrentnonoperatingliabilities", - "other_equity_adjustments": "otherequity", - "total_non_current_liabilities": "totalnoncurrentliabilities", - "total_common_equity": "totalcommonequity", - "total_preferred_common_equity": "totalequity", - "non_controlling_interest": "noncontrollinginterests", - "total_equity_non_controlling_interests": "totalequityandnoncontrollinginterests", - "total_liabilities_shareholders_equity": "totalliabilitiesandequity", - } - reported_currency: str | None = Field( - description="The currency in which the balance sheet is reported.", - default=None, - ) - cash_and_cash_equivalents: float | None = Field( - description="Cash and cash equivalents.", default=None - ) - cash_and_due_from_banks: float | None = Field( - description="Cash and due from banks.", default=None - ) - restricted_cash: float | None = Field(description="Restricted cash.", default=None) - short_term_investments: float | None = Field( - description="Short term investments.", default=None - ) - federal_funds_sold: float | None = Field( - description="Federal funds sold.", default=None - ) - accounts_receivable: float | None = Field( - description="Accounts receivable.", default=None - ) - note_and_lease_receivable: float | None = Field( - description="Note and lease receivable. (Vendor non-trade receivables)", - default=None, - ) - inventories: float | None = Field(description="Net Inventories.", default=None) - customer_and_other_receivables: float | None = Field( - description="Customer and other receivables.", default=None - ) - interest_bearing_deposits_at_other_banks: float | None = Field( - description="Interest bearing deposits at other banks.", default=None - ) - time_deposits_placed_and_other_short_term_investments: float | None = Field( - description="Time deposits placed and other short term investments.", - default=None, - ) - trading_account_securities: float | None = Field( - description="Trading account securities.", default=None - ) - loans_and_leases: float | None = Field( - description="Loans and leases.", default=None - ) - allowance_for_loan_and_lease_losses: float | None = Field( - description="Allowance for loan and lease losses.", default=None - ) - current_deferred_refundable_income_taxes: float | None = Field( - description="Current deferred refundable income taxes.", default=None - ) - other_current_assets: float | None = Field( - description="Other current assets.", default=None - ) - loans_and_leases_net_of_allowance: float | None = Field( - description="Loans and leases net of allowance.", default=None - ) - accrued_investment_income: float | None = Field( - description="Accrued investment income.", default=None - ) - other_current_non_operating_assets: float | None = Field( - description="Other current non-operating assets.", default=None - ) - loans_held_for_sale: float | None = Field( - description="Loans held for sale.", default=None - ) - prepaid_expenses: float | None = Field( - description="Prepaid expenses.", default=None - ) - total_current_assets: float | None = Field( - description="Total current assets.", default=None - ) - plant_property_equipment_gross: float | None = Field( - description="Plant property equipment gross.", default=None - ) - accumulated_depreciation: float | None = Field( - description="Accumulated depreciation.", default=None - ) - premises_and_equipment_net: float | None = Field( - description="Net premises and equipment.", default=None - ) - plant_property_equipment_net: float | None = Field( - description="Net plant property equipment.", default=None - ) - long_term_investments: float | None = Field( - description="Long term investments.", default=None - ) - mortgage_servicing_rights: float | None = Field( - description="Mortgage servicing rights.", default=None - ) - unearned_premiums_asset: float | None = Field( - description="Unearned premiums asset.", default=None - ) - non_current_note_lease_receivables: float | None = Field( - description="Non-current note lease receivables.", default=None - ) - deferred_acquisition_cost: float | None = Field( - description="Deferred acquisition cost.", default=None - ) - goodwill: float | None = Field(description="Goodwill.", default=None) - separate_account_business_assets: float | None = Field( - description="Separate account business assets.", default=None - ) - non_current_deferred_refundable_income_taxes: float | None = Field( - description="Noncurrent deferred refundable income taxes.", default=None - ) - intangible_assets: float | None = Field( - description="Intangible assets.", default=None - ) - employee_benefit_assets: float | None = Field( - description="Employee benefit assets.", default=None - ) - other_assets: float | None = Field(description="Other assets.", default=None) - other_non_current_operating_assets: float | None = Field( - description="Other noncurrent operating assets.", default=None - ) - other_non_current_non_operating_assets: float | None = Field( - description="Other noncurrent non-operating assets.", default=None - ) - interest_bearing_deposits: float | None = Field( - description="Interest bearing deposits.", default=None - ) - total_non_current_assets: float | None = Field( - description="Total noncurrent assets.", default=None - ) - total_assets: float | None = Field(description="Total assets.", default=None) - non_interest_bearing_deposits: float | None = Field( - description="Non interest bearing deposits.", default=None - ) - federal_funds_purchased_and_securities_sold: float | None = Field( - description="Federal funds purchased and securities sold.", default=None - ) - bankers_acceptance_outstanding: float | None = Field( - description="Bankers acceptance outstanding.", default=None - ) - short_term_debt: float | None = Field(description="Short term debt.", default=None) - accounts_payable: float | None = Field( - description="Accounts payable.", default=None - ) - current_deferred_revenue: float | None = Field( - description="Current deferred revenue.", default=None - ) - current_deferred_payable_income_tax_liabilities: float | None = Field( - description="Current deferred payable income tax liabilities.", default=None - ) - accrued_interest_payable: float | None = Field( - description="Accrued interest payable.", default=None - ) - accrued_expenses: float | None = Field( - description="Accrued expenses.", default=None - ) - other_short_term_payables: float | None = Field( - description="Other short term payables.", default=None - ) - customer_deposits: float | None = Field( - description="Customer deposits.", default=None - ) - dividends_payable: float | None = Field( - description="Dividends payable.", default=None - ) - claims_and_claim_expense: float | None = Field( - description="Claims and claim expense.", default=None - ) - future_policy_benefits: float | None = Field( - description="Future policy benefits.", default=None - ) - current_employee_benefit_liabilities: float | None = Field( - description="Current employee benefit liabilities.", default=None - ) - unearned_premiums_liability: float | None = Field( - description="Unearned premiums liability.", default=None - ) - other_taxes_payable: float | None = Field( - description="Other taxes payable.", default=None - ) - policy_holder_funds: float | None = Field( - description="Policy holder funds.", default=None - ) - other_current_liabilities: float | None = Field( - description="Other current liabilities.", default=None - ) - other_current_non_operating_liabilities: float | None = Field( - description="Other current non-operating liabilities.", default=None - ) - separate_account_business_liabilities: float | None = Field( - description="Separate account business liabilities.", default=None - ) - total_current_liabilities: float | None = Field( - description="Total current liabilities.", default=None - ) - long_term_debt: float | None = Field(description="Long term debt.", default=None) - other_long_term_liabilities: float | None = Field( - description="Other long term liabilities.", default=None - ) - non_current_deferred_revenue: float | None = Field( - description="Non-current deferred revenue.", default=None - ) - non_current_deferred_payable_income_tax_liabilities: float | None = Field( - description="Non-current deferred payable income tax liabilities.", default=None - ) - non_current_employee_benefit_liabilities: float | None = Field( - description="Non-current employee benefit liabilities.", default=None - ) - other_non_current_operating_liabilities: float | None = Field( - description="Other non-current operating liabilities.", default=None - ) - other_non_current_non_operating_liabilities: float | None = Field( - description="Other non-current, non-operating liabilities.", default=None - ) - total_non_current_liabilities: float | None = Field( - description="Total non-current liabilities.", default=None - ) - capital_lease_obligations: float | None = Field( - description="Capital lease obligations.", default=None - ) - asset_retirement_reserve_litigation_obligation: float | None = Field( - description="Asset retirement reserve litigation obligation.", default=None - ) - total_liabilities: float | None = Field( - description="Total liabilities.", default=None - ) - commitments_contingencies: float | None = Field( - description="Commitments contingencies.", default=None - ) - redeemable_non_controlling_interest: float | None = Field( - description="Redeemable non-controlling interest.", default=None - ) - preferred_stock: float | None = Field(description="Preferred stock.", default=None) - common_stock: float | None = Field(description="Common stock.", default=None) - retained_earnings: float | None = Field( - description="Retained earnings.", default=None - ) - treasury_stock: float | None = Field(description="Treasury stock.", default=None) - accumulated_other_comprehensive_income: float | None = Field( - description="Accumulated other comprehensive income.", default=None - ) - participating_policy_holder_equity: float | None = Field( - description="Participating policy holder equity.", default=None - ) - other_equity_adjustments: float | None = Field( - description="Other equity adjustments.", default=None - ) - total_common_equity: float | None = Field( - description="Total common equity.", default=None - ) - total_preferred_common_equity: float | None = Field( - description="Total preferred common equity.", default=None - ) - non_controlling_interest: float | None = Field( - description="Non-controlling interest.", default=None - ) - total_equity_non_controlling_interests: float | None = Field( - description="Total equity non-controlling interests.", default=None - ) - total_liabilities_shareholders_equity: float | None = Field( - description="Total liabilities and shareholders equity.", default=None - ) - - @model_validator(mode="before") - @classmethod - def replace_zero(cls, values): # pylint: disable=no-self-argument - """Check for zero values and replace with None.""" - return ( - {k: None if v == 0 else v for k, v in values.items()} - if isinstance(values, dict) - else values - ) - - -class IntrinioBalanceSheetFetcher( - Fetcher[ - IntrinioBalanceSheetQueryParams, - list[IntrinioBalanceSheetData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioBalanceSheetQueryParams: - """Transform the query params.""" - return IntrinioBalanceSheetQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioBalanceSheetQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - statement_code = "balance_sheet_statement" - fundamentals_data: dict = {} - base_url = "https://api-v2.intrinio.com" - period = "FY" if query.period == "annual" else "QTR" - fundamentals_url = ( - f"{base_url}/companies/{query.symbol}" - f"/fundamentals?statement_code={statement_code}&type={period}" - ) - if query.fiscal_year is not None: - if query.fiscal_year < 2008: - warn("Financials data is only available from 2008 and later.") - query.fiscal_year = 2008 - fundamentals_url = fundamentals_url + f"&fiscal_year={query.fiscal_year}" - fundamentals_url = fundamentals_url + f"&api_key={api_key}" - fundamentals_data = (await get_data_one(fundamentals_url, **kwargs)).get( - "fundamentals", [] - ) - fiscal_periods = [ - f"{item['fiscal_year']}-{item['fiscal_period']}" - for item in fundamentals_data - ] - fiscal_periods = fiscal_periods[: query.limit] - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - statement_data = await response.json() # type: ignore - return { - "period_ending": statement_data["fundamental"]["end_date"], # type: ignore - "fiscal_year": statement_data["fundamental"]["fiscal_year"], # type: ignore - "fiscal_period": statement_data["fundamental"]["fiscal_period"], # type: ignore - "financials": statement_data["standardized_financials"], # type: ignore - } - - urls = [ - f"{base_url}/fundamentals/{query.symbol}-{statement_code}-{p}/standardized_financials?api_key={api_key}" - for p in fiscal_periods - ] - - return await amake_requests(urls, callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioBalanceSheetQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioBalanceSheetData]: - """Return the transformed data.""" - transformed_data: list[IntrinioBalanceSheetData] = [] - period = "FY" if query.period == "annual" else "QTR" - units = [] - for item in data: - sub_dict: dict[str, Any] = {} - - for sub_item in item["financials"]: - field_name = sub_item["data_tag"]["tag"] - unit = sub_item["data_tag"].get("unit", "") - if unit and len(unit) == 3: - units.append(unit) - sub_dict[field_name] = ( - float(sub_item["value"]) - if sub_item["value"] and sub_item["value"] != 0 - else None - ) - - sub_dict["period_ending"] = item["period_ending"] - sub_dict["fiscal_year"] = item["fiscal_year"] - sub_dict["fiscal_period"] = item["fiscal_period"] - sub_dict["reported_currency"] = list(set(units))[0] - - # Intrinio does not return Q4 data but FY data instead - if period == "QTR" and item["fiscal_period"] == "FY": - sub_dict["fiscal_period"] = "Q4" - - transformed_data.append(IntrinioBalanceSheetData(**sub_dict)) - - return transformed_data diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/calendar_ipo.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/calendar_ipo.py deleted file mode 100644 index 000d014e173..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/calendar_ipo.py +++ /dev/null @@ -1,192 +0,0 @@ -"""Intrinio IPO Calendar Model.""" - -# pylint: disable=unused-argument - -from typing import Any, Literal - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.calendar_ipo import ( - CalendarIpoData, - CalendarIpoQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_one -from openbb_intrinio.utils.references import IntrinioCompany, IntrinioSecurity -from pydantic import Field - - -class IntrinioCalendarIpoQueryParams(CalendarIpoQueryParams): - """Intrinio IPO Calendar Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_ipos_v2 - """ - - __alias_dict__ = { - "symbol": "ticker", - "limit": "page_size", - "min_value": "offer_amount_greater_than", - "max_value": "offer_amount_less_than", - } - - status: Literal["upcoming", "priced", "withdrawn"] | None = Field( - description="Status of the IPO. [upcoming, priced, or withdrawn]", default=None - ) - min_value: int | None = Field( - description="Return IPOs with an offer dollar amount greater than the given amount.", - default=None, - ) - max_value: int | None = Field( - description="Return IPOs with an offer dollar amount less than the given amount.", - default=None, - ) - - -class IntrinioCalendarIpoData(CalendarIpoData): - """Intrinio IPO Calendar Data.""" - - __alias_dict__ = {"symbol": "ticker", "ipo_date": "date"} - - status: Literal["upcoming", "priced", "withdrawn"] | None = Field( - description=( - "The status of the IPO. Upcoming IPOs have not taken place yet but are expected to. " - "Priced IPOs have taken place. Withdrawn IPOs were expected to take place, but were subsequently withdrawn." - ), - default=None, - ) - exchange: str | None = Field( - description=( - "The acronym of the stock exchange that the company is going to trade publicly on. Typically NYSE or NASDAQ." - ), - default=None, - ) - offer_amount: float | None = Field( - description="The total dollar amount of shares offered in the IPO. Typically this is share price * share count", - default=None, - ) - share_price: float | None = Field( - description="The price per share at which the IPO was offered.", default=None - ) - share_price_lowest: float | None = Field( - description=( - "The expected lowest price per share at which the IPO will be offered. " - "Before an IPO is priced, companies typically provide a range of prices per share at which " - "they expect to offer the IPO (typically available for upcoming IPOs)." - ), - default=None, - ) - share_price_highest: float | None = Field( - description=( - "The expected highest price per share at which the IPO will be offered. " - "Before an IPO is priced, companies typically provide a range of prices per share at which " - "they expect to offer the IPO (typically available for upcoming IPOs)." - ), - default=None, - ) - share_count: int | None = Field( - description="The number of shares offered in the IPO.", default=None - ) - share_count_lowest: int | None = Field( - description=( - "The expected lowest number of shares that will be offered in the IPO. Before an IPO is priced, " - "companies typically provide a range of shares that they expect to offer in the IPO " - "(typically available for upcoming IPOs)." - ), - default=None, - ) - share_count_highest: int | None = Field( - description=( - "The expected highest number of shares that will be offered in the IPO. Before an IPO is priced, " - "companies typically provide a range of shares that they expect to offer in the IPO " - "(typically available for upcoming IPOs)." - ), - default=None, - ) - announcement_url: str | None = Field( - description="The URL to the company's announcement of the IPO", default=None - ) - sec_report_url: str | None = Field( - description=( - "The URL to the company's S-1, S-1/A, F-1, or F-1/A SEC filing, which is required to be filed " - "before an IPO takes place." - ), - default=None, - ) - open_price: float | None = Field( - description="The opening price at the beginning of the first trading day (only available for priced IPOs).", - default=None, - ) - close_price: float | None = Field( - description="The closing price at the end of the first trading day (only available for priced IPOs).", - default=None, - ) - volume: int | None = Field( - description="The volume at the end of the first trading day (only available for priced IPOs).", - default=None, - ) - day_change: float | None = Field( - description=( - "The percentage change between the open price and the close price on the first trading day " - "(only available for priced IPOs)." - ), - default=None, - ) - week_change: float | None = Field( - description=( - "The percentage change between the open price on the first trading day and the close price approximately " - "a week after the first trading day (only available for priced IPOs)." - ), - default=None, - ) - month_change: float | None = Field( - description=( - "The percentage change between the open price on the first trading day and the close price approximately " - "a month after the first trading day (only available for priced IPOs)." - ), - default=None, - ) - id: str | None = Field(description="The Intrinio ID of the IPO.", default=None) - company: IntrinioCompany | None = Field( - description="The company that is going public via the IPO.", default=None - ) - security: IntrinioSecurity | None = Field( - description="The primary Security for the Company that is going public via the IPO", - default=None, - ) - - -class IntrinioCalendarIpoFetcher( - Fetcher[IntrinioCalendarIpoQueryParams, list[IntrinioCalendarIpoData]] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioCalendarIpoQueryParams: - """Transform the query params.""" - return IntrinioCalendarIpoQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioCalendarIpoQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/companies/ipos" - query_str = get_querystring(query.model_dump(by_alias=True), []) - url = f"{base_url}?{query_str}&api_key={api_key}" - - data = await get_data_one(url, **kwargs) - - return data.get("initial_public_offerings", []) - - @staticmethod - def transform_data( - query: IntrinioCalendarIpoQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioCalendarIpoData]: - """Return the transformed data.""" - if not data: - raise EmptyDataError("The request was returned empty.") - return [IntrinioCalendarIpoData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py deleted file mode 100644 index b0df16d4620..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py +++ /dev/null @@ -1,336 +0,0 @@ -"""Intrinio Cash Flow Statement Model.""" - -# pylint: disable=unused-argument - -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.cash_flow import ( - CashFlowStatementData, - CashFlowStatementQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import ClientResponse, amake_requests -from openbb_intrinio.utils.helpers import get_data_one -from pydantic import Field, field_validator, model_validator - - -class IntrinioCashFlowStatementQueryParams(CashFlowStatementQueryParams): - """Intrinio Cash Flow Statement Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_fundamentals_v2 - Source: https://docs.intrinio.com/documentation/web_api/get_fundamental_standardized_financials_v2 - """ - - __json_schema_extra__ = { - "period": { - "choices": ["annual", "quarter", "ttm", "ytd"], - } - } - - period: Literal["annual", "quarter", "ttm", "ytd"] = Field( - default="annual", - description=QUERY_DESCRIPTIONS.get("period", ""), - ) - fiscal_year: int | None = Field( - default=None, - description="The specific fiscal year. Reports do not go beyond 2008.", - ) - - @field_validator("symbol", mode="after", check_fields=False) - @classmethod - def handle_symbol(cls, v) -> str: - """Handle symbols with a dash and replace it with a dot for Intrinio.""" - return v.replace("-", ".") - - -class IntrinioCashFlowStatementData(CashFlowStatementData): - """Intrinio Cash Flow Statement Data.""" - - __alias_dict__ = { - "cash_and_equivalents": "cashandequivalents", - "acquisitions": "acquisitions", - "amortization_expense": "amortizationexpense", - "cash_income_taxes_paid": "cashincometaxespaid", - "cash_interest_paid": "cashinterestpaid", - "cash_interest_received": "cashinterestreceived", - "depreciation_expense": "depreciationexpense", - "divestitures": "divestitures", - "effect_of_exchange_rate_changes": "effectofexchangeratechanges", - "changes_in_operating_assets_and_liabilities": "increasedecreaseinoperatingcapital", - "issuance_of_common_equity": "issuanceofcommonequity", - "issuance_of_debt": "issuanceofdebt", - "issuance_of_preferred_equity": "issuanceofpreferredequity", - "loans_held_for_sale": "loansheldforsalenet", - "net_cash_from_continuing_financing_activities": "netcashfromcontinuingfinancingactivities", - "net_cash_from_continuing_investing_activities": "netcashfromcontinuinginvestingactivities", - "net_cash_from_continuing_operating_activities": "netcashfromcontinuingoperatingactivities", - "net_cash_from_discontinued_financing_activities": "netcashfromdiscontinuedfinancingactivities", - "net_cash_from_discontinued_investing_activities": "netcashfromdiscontinuedinvestingactivities", - "net_cash_from_discontinued_operating_activities": "netcashfromdiscontinuedoperatingactivities", - "net_cash_from_financing_activities": "netcashfromfinancingactivities", - "net_cash_from_investing_activities": "netcashfrominvestingactivities", - "net_cash_from_operating_activities": "netcashfromoperatingactivities", - "net_change_in_cash_and_equivalents": "netchangeincash", - "net_change_in_deposits": "netchangeindeposits", - "net_income": "netincome", - "net_income_continuing_operations": "netincomecontinuing", - "net_income_discontinued_operations": "netincomediscontinued", - "net_increase_in_fed_funds_sold": "netincreaseinfedfundssold", - "non_cash_adjustments_to_reconcile_net_income": "noncashadjustmentstonetincome", - "other_financing_activities": "otherfinancingactivitiesnet", - "other_investing_activities": "otherinvestingactivitiesnet", - "other_net_changes_in_cash": "othernetchangesincash", - "payment_of_dividends": "paymentofdividends", - "provision_for_loan_losses": "provisionforloanlosses", - "purchase_of_investments": "purchaseofinvestments", - "purchase_of_investment_securities": "purchaseofinvestments", - "purchase_of_property_plant_and_equipment": "purchaseofplantpropertyandequipment", - "repayment_of_debt": "repaymentofdebt", - "repurchase_of_common_equity": "repurchaseofcommonequity", - "repurchase_of_preferred_equity": "repurchaseofpreferredequity", - "sale_and_maturity_of_investments": "saleofinvestments", - "sale_of_property_plant_and_equipment": "saleofplantpropertyandequipment", - } - - reported_currency: str | None = Field( - description="The currency in which the balance sheet is reported.", - default=None, - ) - net_income_continuing_operations: float | None = Field( - default=None, description="Net Income (Continuing Operations)" - ) - net_income_discontinued_operations: float | None = Field( - default=None, description="Net Income (Discontinued Operations)" - ) - net_income: float | None = Field( - default=None, description="Consolidated Net Income." - ) - provision_for_loan_losses: float | None = Field( - default=None, description="Provision for Loan Losses" - ) - provision_for_credit_losses: float | None = Field( - default=None, description="Provision for credit losses" - ) - depreciation_expense: float | None = Field( - default=None, description="Depreciation Expense." - ) - amortization_expense: float | None = Field( - default=None, description="Amortization Expense." - ) - share_based_compensation: float | None = Field( - default=None, description="Share-based compensation." - ) - non_cash_adjustments_to_reconcile_net_income: float | None = Field( - default=None, description="Non-Cash Adjustments to Reconcile Net Income." - ) - changes_in_operating_assets_and_liabilities: float | None = Field( - default=None, description="Changes in Operating Assets and Liabilities (Net)" - ) - net_cash_from_continuing_operating_activities: float | None = Field( - default=None, description="Net Cash from Continuing Operating Activities" - ) - net_cash_from_discontinued_operating_activities: float | None = Field( - default=None, description="Net Cash from Discontinued Operating Activities" - ) - net_cash_from_operating_activities: float | None = Field( - default=None, description="Net Cash from Operating Activities" - ) - divestitures: float | None = Field(default=None, description="Divestitures") - sale_of_property_plant_and_equipment: float | None = Field( - default=None, description="Sale of Property, Plant, and Equipment" - ) - acquisitions: float | None = Field(default=None, description="Acquisitions") - purchase_of_investments: float | None = Field( - default=None, description="Purchase of Investments" - ) - purchase_of_investment_securities: float | None = Field( - default=None, description="Purchase of Investment Securities" - ) - sale_and_maturity_of_investments: float | None = Field( - default=None, description="Sale and Maturity of Investments" - ) - loans_held_for_sale: float | None = Field( - default=None, description="Loans Held for Sale (Net)" - ) - purchase_of_property_plant_and_equipment: float | None = Field( - default=None, description="Purchase of Property, Plant, and Equipment" - ) - other_investing_activities: float | None = Field( - default=None, description="Other Investing Activities (Net)" - ) - net_cash_from_continuing_investing_activities: float | None = Field( - default=None, description="Net Cash from Continuing Investing Activities" - ) - net_cash_from_discontinued_investing_activities: float | None = Field( - default=None, description="Net Cash from Discontinued Investing Activities" - ) - net_cash_from_investing_activities: float | None = Field( - default=None, description="Net Cash from Investing Activities" - ) - payment_of_dividends: float | None = Field( - default=None, description="Payment of Dividends" - ) - repurchase_of_common_equity: float | None = Field( - default=None, description="Repurchase of Common Equity" - ) - repurchase_of_preferred_equity: float | None = Field( - default=None, description="Repurchase of Preferred Equity" - ) - issuance_of_common_equity: float | None = Field( - default=None, description="Issuance of Common Equity" - ) - issuance_of_preferred_equity: float | None = Field( - default=None, description="Issuance of Preferred Equity" - ) - issuance_of_debt: float | None = Field(default=None, description="Issuance of Debt") - repayment_of_debt: float | None = Field( - default=None, description="Repayment of Debt" - ) - other_financing_activities: float | None = Field( - default=None, description="Other Financing Activities (Net)" - ) - cash_interest_received: float | None = Field( - default=None, description="Cash Interest Received" - ) - net_change_in_deposits: float | None = Field( - default=None, description="Net Change in Deposits" - ) - net_increase_in_fed_funds_sold: float | None = Field( - default=None, description="Net Increase in Fed Funds Sold" - ) - net_cash_from_continuing_financing_activities: float | None = Field( - default=None, description="Net Cash from Continuing Financing Activities" - ) - net_cash_from_discontinued_financing_activities: float | None = Field( - default=None, description="Net Cash from Discontinued Financing Activities" - ) - net_cash_from_financing_activities: float | None = Field( - default=None, description="Net Cash from Financing Activities" - ) - effect_of_exchange_rate_changes: float | None = Field( - default=None, description="Effect of Exchange Rate Changes" - ) - other_net_changes_in_cash: float | None = Field( - default=None, description="Other Net Changes in Cash" - ) - net_change_in_cash_and_equivalents: float | None = Field( - default=None, description="Net Change in Cash and Equivalents" - ) - cash_income_taxes_paid: float | None = Field( - default=None, description="Cash Income Taxes Paid" - ) - cash_interest_paid: float | None = Field( - default=None, description="Cash Interest Paid" - ) - - @model_validator(mode="before") - @classmethod - def replace_zero(cls, values): - """Check for zero values and replace with None.""" - return ( - {k: None if v == 0 else v for k, v in values.items()} - if isinstance(values, dict) - else values - ) - - -class IntrinioCashFlowStatementFetcher( - Fetcher[ - IntrinioCashFlowStatementQueryParams, - list[IntrinioCashFlowStatementData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioCashFlowStatementQueryParams: - """Transform the query params.""" - return IntrinioCashFlowStatementQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioCashFlowStatementQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - statement_code = "cash_flow_statement" - if query.period in ["quarter", "annual"]: - period_type = "FY" if query.period == "annual" else "QTR" - elif query.period in ["ttm", "ytd"]: - period_type = query.period.upper() - else: - raise OpenBBError(f"Period '{query.period}' not supported.") - - base_url = "https://api-v2.intrinio.com" - fundamentals_url = ( - f"{base_url}/companies/{query.symbol}" - f"/fundamentals?statement_code={statement_code}&type={period_type}" - ) - if query.fiscal_year is not None: - if query.fiscal_year < 2008: - warn("Financials data is only available from 2008 and later.") - query.fiscal_year = 2008 - fundamentals_url = fundamentals_url + f"&fiscal_year={query.fiscal_year}" - fundamentals_url = fundamentals_url + f"&api_key={api_key}" - fundamentals_data = (await get_data_one(fundamentals_url, **kwargs)).get( - "fundamentals", [] - ) - - fiscal_periods = [ - f"{item['fiscal_year']}-{item['fiscal_period']}" - for item in fundamentals_data - ] - fiscal_periods = fiscal_periods[: query.limit] - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - statement_data = await response.json() - return { - "period_ending": statement_data["fundamental"]["end_date"], # type: ignore - "fiscal_period": statement_data["fundamental"]["fiscal_period"], # type: ignore - "fiscal_year": statement_data["fundamental"]["fiscal_year"], # type: ignore - "financials": statement_data["standardized_financials"], # type: ignore - } - - intrinio_id = f"{query.symbol}-{statement_code}" - urls = [ - f"{base_url}/fundamentals/{intrinio_id}-{period}/standardized_financials?api_key={api_key}" - for period in fiscal_periods - ] - - return await amake_requests(urls, callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioCashFlowStatementQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioCashFlowStatementData]: - """Return the transformed data.""" - transformed_data: list[IntrinioCashFlowStatementData] = [] - units = [] - for item in data: - sub_dict: dict[str, Any] = {} - - for sub_item in item["financials"]: - unit = sub_item["data_tag"].get("unit", "") - if unit and len(unit) == 3: - units.append(unit) - field_name = sub_item["data_tag"]["tag"] - sub_dict[field_name] = ( - float(sub_item["value"]) - if sub_item["value"] and sub_item["value"] != 0 - else None - ) - - sub_dict["period_ending"] = item["period_ending"] - sub_dict["fiscal_year"] = item["fiscal_year"] - sub_dict["fiscal_period"] = item["fiscal_period"] - sub_dict["reported_currency"] = list(set(units))[0] - - transformed_data.append(IntrinioCashFlowStatementData(**sub_dict)) - - return transformed_data diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/company_filings.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/company_filings.py deleted file mode 100644 index 268696454ce..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/company_filings.py +++ /dev/null @@ -1,173 +0,0 @@ -"""Intrinio Company Filings Model.""" - -# pylint: disable=unused-argument - -from datetime import ( - date as dateType, - datetime, -) -from typing import Any - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.annotated_result import AnnotatedResult -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.company_filings import ( - CompanyFilingsData, - CompanyFilingsQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from pydantic import Field, field_validator - - -class IntrinioCompanyFilingsQueryParams(CompanyFilingsQueryParams): - """Intrinio Company Filings Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_filings_v2 - """ - - __alias_dict__ = {"form_type": "report_type", "limit": "page_size"} - - form_type: str | None = Field( - default=None, description="SEC form type to filter by." - ) - start_date: dateType | None = Field( - default=None, - description=QUERY_DESCRIPTIONS["start_date"], - ) - end_date: dateType | None = Field( - default=None, - description=QUERY_DESCRIPTIONS["end_date"], - ) - limit: int | None = Field( - default=None, - description=QUERY_DESCRIPTIONS["limit"], - ) - thea_enabled: bool | None = Field( - default=None, - description="Return filings that have been read by Intrinio's Thea NLP.", - ) - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def _validate_symbol(cls, v): - """Validate symbol.""" - if not v: - raise ValueError("Symbol is required for Intrinio.") - return v - - -class IntrinioCompanyFilingsData(CompanyFilingsData): - """Intrinio Company Filings Data.""" - - id: str = Field(description="Intrinio ID of the filing.") - period_end_date: dateType | None = Field( - default=None, - description="Ending date of the fiscal period for the filing.", - ) - accepted_date: datetime | None = Field( - default=None, description="Accepted date of the filing." - ) - sec_unique_id: str = Field(description="SEC unique ID of the filing.") - filing_url: str | None = Field(default=None, description="URL to the filing page.") - instance_url: str | None = Field( - default=None, - description="URL for the XBRL filing for the report.", - ) - industry_group: str = Field(description="Industry group of the company.") - industry_category: str = Field(description="Industry category of the company.") - word_count: int | None = Field( - default=None, description="Number of words in the filing, if available." - ) - - -class IntrinioCompanyFilingsFetcher( - Fetcher[ - IntrinioCompanyFilingsQueryParams, - list[IntrinioCompanyFilingsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioCompanyFilingsQueryParams: - """Transform the query.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None and params.get("form_type") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - if params.get("end_date") is None and params.get("form_type") is None: - transformed_params["end_date"] = now - - return IntrinioCompanyFilingsQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioCompanyFilingsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> dict: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.errors import EmptyDataError, OpenBBError - from openbb_core.provider.utils.helpers import ( - get_async_requests_session, - get_querystring, - ) - - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/companies" - query_str = get_querystring( - query.model_dump(by_alias=True), ["symbol", "limit", "page_size"] - ) - url = f"{base_url}/{query.symbol}/filings?{query_str}&page_size={query.limit or 10000}&api_key={api_key}" - results: list = [] - metadata: dict = {} - session = await get_async_requests_session() - - async with await session.get(url) as response: - if response.status != 200: - raise OpenBBError( - f"Error fetching data from Intrinio: {response.status} -> {response.text}" - ) - result = await response.json() - if filings := result.get("filings", []): - results.extend(filings) - - metadata = result.get("company", {}) - - while next_page := result.get("next_page"): - url += f"&next_page={next_page}" - async with await session.get(url) as next_response: - if response.status != 200: - raise OpenBBError( - f"Error fetching data from Intrinio: {response.status} -> {response.text}" - ) - result = await next_response.json() - if filings := result.get("filings", []): - results.extend(filings) - - if not results: - raise EmptyDataError("No data was returned for the symbol provided.") - - return {"data": results, "metadata": metadata} - - @staticmethod - def transform_data( - query: IntrinioCompanyFilingsQueryParams, data: dict, **kwargs: Any - ) -> AnnotatedResult[list[IntrinioCompanyFilingsData]]: - """Return the transformed data.""" - return AnnotatedResult( - result=[ - IntrinioCompanyFilingsData.model_validate( - { - k: v - for k, v in d.items() - if k not in ["thea_enabled", "earnings_release"] - } - ) - for d in data.get("data", []) - ], - metadata=data.get("metadata", {}), - ) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py deleted file mode 100644 index f72c9d5b016..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py +++ /dev/null @@ -1,295 +0,0 @@ -"""Intrinio Company News Model.""" - -import asyncio -from datetime import datetime, timedelta -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.company_news import ( - CompanyNewsData, - CompanyNewsQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError -from openbb_core.provider.utils.helpers import ( - amake_request, - get_querystring, -) -from openbb_intrinio.utils.helpers import get_data -from openbb_intrinio.utils.references import IntrinioSecurity -from pydantic import Field, field_validator - - -class IntrinioCompanyNewsQueryParams(CompanyNewsQueryParams): - """Intrinio Company News Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_news_v2 - """ - - __alias_dict__ = { - "limit": "page_size", - "source": "specific_source", - } - __json_schema_extra__ = { - "symbol": {"multiple_items_allowed": True}, - "source": { - "choices": ["yahoo", "moody", "moody_us_news", "moody_us_press_releases"] - }, - "sentiment": {"choices": ["positive", "neutral", "negative"]}, - } - - source: ( - Literal["yahoo", "moody", "moody_us_news", "moody_us_press_releases"] | None - ) = Field( - default=None, - description="The source of the news article.", - ) - sentiment: Literal["positive", "neutral", "negative"] | None = Field( - default=None, - description="Return news only from this source.", - ) - language: str | None = Field( - default=None, - description="Filter by language. Unsupported for yahoo source.", - ) - topic: str | None = Field( - default=None, - description="Filter by topic. Unsupported for yahoo source.", - ) - word_count_greater_than: int | None = Field( - default=None, - description="News stories will have a word count greater than this value." - + " Unsupported for yahoo source.", - ) - word_count_less_than: int | None = Field( - default=None, - description="News stories will have a word count less than this value." - + " Unsupported for yahoo source.", - ) - is_spam: bool | None = Field( - default=None, - description="Filter whether it is marked as spam or not." - + " Unsupported for yahoo source.", - ) - business_relevance_greater_than: float | None = Field( - default=None, - ge=0, - le=1, - description="News stories will have a business relevance score more than this value." - + " Unsupported for yahoo source. Value is a decimal between 0 and 1.", - ) - business_relevance_less_than: float | None = Field( - default=None, - ge=0, - le=1, - description="News stories will have a business relevance score less than this value." - + " Unsupported for yahoo source. Value is a decimal between 0 and 1.", - ) - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def _symbol_mandatory(cls, v): - """Symbol mandatory validator.""" - if not v: - raise OpenBBError("Required field missing -> symbol") - return v - - -class IntrinioCompanyNewsData(CompanyNewsData): - """Intrinio Company News Data.""" - - __alias_dict__ = { - "date": "publication_date", - "sentiment": "article_sentiment", - "sentiment_confidence": "article_sentiment_confidence", - "symbols": "symbol", - } - source: str | None = Field( - default=None, - description="The source of the news article.", - ) - summary: str | None = Field( - default=None, - description="The summary of the news article.", - ) - topics: str | None = Field( - default=None, - description="The topics related to the news article.", - ) - word_count: int | None = Field( - default=None, - description="The word count of the news article.", - ) - business_relevance: float | None = Field( - default=None, - description=" How strongly correlated the news article is to the business", - ) - sentiment: str | None = Field( - default=None, - description="The sentiment of the news article - i.e, negative, positive.", - ) - sentiment_confidence: float | None = Field( - default=None, - description="The confidence score of the sentiment rating.", - ) - language: str | None = Field( - default=None, - description="The language of the news article.", - ) - spam: bool | None = Field( - default=None, - description="Whether the news article is spam.", - ) - copyright: str | None = Field( - default=None, - description="The copyright notice of the news article.", - ) - id: str = Field(description="Article ID.") - security: IntrinioSecurity | None = Field( - default=None, - description="The Intrinio Security object. Contains the security details related to the news article.", - ) - - @field_validator("publication_date", mode="before", check_fields=False) - @classmethod - def date_validate(cls, v): - """Return the date as a datetime object.""" - return datetime.strptime(v, "%Y-%m-%dT%H:%M:%S.000Z") - - @field_validator("topics", mode="before", check_fields=False) - @classmethod - def topics_validate(cls, v): - """Parse the topics as a string.""" - if v: - topics = [t.get("name") for t in v if t and t not in ["", " "]] - return ", ".join(topics) - return None - - @field_validator("copyright", mode="before", check_fields=False) - @classmethod - def copyright_validate(cls, v): - """Clean empty strings.""" - return None if v in ["", " "] else v - - -class IntrinioCompanyNewsFetcher( - Fetcher[ - IntrinioCompanyNewsQueryParams, - list[IntrinioCompanyNewsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioCompanyNewsQueryParams: - """Transform the query params.""" - transformed_params = params - if not transformed_params.get("start_date"): - transformed_params["start_date"] = ( - datetime.now() - timedelta(days=365) - ).date() - if not transformed_params.get("end_date"): - transformed_params["end_date"] = (datetime.now() + timedelta(days=1)).date() - if transformed_params["start_date"] == transformed_params["end_date"]: - transformed_params["end_date"] = ( - transformed_params["end_date"] + timedelta(days=1) - ).date() - return IntrinioCompanyNewsQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioCompanyNewsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/companies" - ignore = ( - ["symbol", "page_size", "is_spam"] - if not query.source or query.source == "yahoo" - else ["symbol", "page_size"] - ) - query_str = get_querystring(query.model_dump(by_alias=True), ignore) - symbols = query.symbol.split(",") if query.symbol else [] - news: list = [] - - async def callback(response, session): - """Response callback.""" - result = await response.json() - - if isinstance(result, dict) and "error" in result: - if "api key" in result.get("message", "").lower(): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {result.get('message')}" - ) - raise OpenBBError(f"Error in Intrinio request -> {result}") - - symbol = response.url.parts[-2] - _data = result.get("news", []) - data = [] - data.extend([{"symbol": symbol, **d} for d in _data]) - articles = len(data) - next_page = result.get("next_page") - # query.limit can be None... - limit = query.limit or 2500 - while next_page and limit > articles: - url = ( - f"{base_url}/{symbol}/news?{query_str}" - + f"&page_size={query.limit}&api_key={api_key}&next_page={next_page}" - ) - result = await get_data(url, session=session, **kwargs) - _data = result.get("news", []) - if _data: - data.extend([{"symbol": symbol, **d} for d in _data]) - articles = len(data) - next_page = result.get("next_page") - return data - - seen = set() - - async def get_one(symbol): - """Get the data for one symbol.""" - url = f"{base_url}/{symbol}/news?{query_str}&page_size={query.limit}&api_key={api_key}" - data = await amake_request(url, response_callback=callback, **kwargs) - if not data: - warn(f"No data found for: {symbol}") - if data: - data = [x for x in data if not (x["url"] in seen or seen.add(x["url"]))] # type: ignore - news.extend( - sorted(data, key=lambda x: x["publication_date"], reverse=True)[ - : query.limit - ] - ) - - tasks = [get_one(symbol) for symbol in symbols] - - await asyncio.gather(*tasks) - - if not news: - raise EmptyDataError( - "Error: The request was returned as empty." - + " Try adjusting the requested date ranges, if applicable." - ) - - return news - - # pylint: disable=unused-argument - @staticmethod - def transform_data( - query: IntrinioCompanyNewsQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioCompanyNewsData]: - """Return the transformed data.""" - results: list[IntrinioCompanyNewsData] = [] - for item in data: - body = item.get("body", {}) - if not body: - item["text"] = item.pop("summary") - if body: - _ = item.pop("body") - item["publication_date"] = body.get("publication_date", None) - item["text"] = body.get("body", None) - results.append(IntrinioCompanyNewsData.model_validate(item)) - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/currency_pairs.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/currency_pairs.py deleted file mode 100644 index a91e69d013b..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/currency_pairs.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Intrinio Currency Available Pairs Model.""" - -# pylint: disable=unused-argument - -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.currency_pairs import ( - CurrencyPairsData, - CurrencyPairsQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from pydantic import Field - - -class IntrinioCurrencyPairsQueryParams(CurrencyPairsQueryParams): - """Intrinio Currency Available Pairs Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_forex_pairs_v2 - """ - - -class IntrinioCurrencyPairsData(CurrencyPairsData): - """Intrinio Currency Available Pairs Data.""" - - __alias_dict__ = {"symbol": "code"} - - base_currency: str = Field( - description="ISO 4217 currency code of the base currency." - ) - quote_currency: str = Field( - description="ISO 4217 currency code of the quote currency." - ) - - -class IntrinioCurrencyPairsFetcher( - Fetcher[ - IntrinioCurrencyPairsQueryParams, - list[IntrinioCurrencyPairsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioCurrencyPairsQueryParams: - """Transform the query params.""" - return IntrinioCurrencyPairsQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioCurrencyPairsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_intrinio.utils.helpers import get_data_many - - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com" - url = f"{base_url}/forex/pairs?api_key={api_key}" - return await get_data_many(url, "pairs", **kwargs) - - @staticmethod - def transform_data( - query: IntrinioCurrencyPairsQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioCurrencyPairsData]: - """Return the transformed data.""" - # pylint: disable=import-outside-toplevel - from pandas import DataFrame - - if not data: - raise EmptyDataError("The request was returned empty.") - df = DataFrame(data) - if query.query: - df = df[ - df["code"].str.contains(query.query, case=False) - | df["base_currency"].str.contains(query.query, case=False) - | df["quote_currency"].str.contains(query.query, case=False) - ] - if len(df) == 0: - raise EmptyDataError( - f"No results were found with the query supplied. -> {query.query}" - + " Hint: Names and descriptions are not searchable from Intrinio, try 3-letter symbols." - ) - return [ - IntrinioCurrencyPairsData.model_validate(d) - for d in df.to_dict(orient="records") - ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py deleted file mode 100644 index da29b726d23..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py +++ /dev/null @@ -1,274 +0,0 @@ -"""Intrinio Equity Historical Price Model.""" - -# pylint: disable = unused-argument - -from datetime import datetime, time -from typing import Any, Literal - -from dateutil.relativedelta import relativedelta -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.equity_historical import ( - EquityHistoricalData, - EquityHistoricalQueryParams, -) -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_request, - get_querystring, -) -from pydantic import Field, PrivateAttr, model_validator - - -class IntrinioEquityHistoricalQueryParams(EquityHistoricalQueryParams): - """Intrinio Equity Historical Price Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_security_interval_prices_v2 - """ - - __json_schema_extra__ = { - "interval": { - "choices": [ - "1m", - "5m", - "10m", - "15m", - "30m", - "60m", - "1h", - "1d", - "1W", - "1M", - "1Q", - "1Y", - ], - }, - } - - symbol: str = Field( - description="A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)." - ) - interval: Literal[ - "1m", "5m", "10m", "15m", "30m", "60m", "1h", "1d", "1W", "1M", "1Q", "1Y" - ] = Field(default="1d", description=QUERY_DESCRIPTIONS.get("interval", "")) - start_time: time | None = Field( - default=None, - description="Return intervals starting at the specified time on the `start_date` formatted as 'HH:MM:SS'.", - ) - end_time: time | None = Field( - default=None, - description="Return intervals stopping at the specified time on the `end_date` formatted as 'HH:MM:SS'.", - ) - timezone: str | None = Field( - default="America/New_York", - description="Timezone of the data, in the IANA format (Continent/City).", - ) - source: Literal["realtime", "delayed", "nasdaq_basic"] = Field( - default="realtime", description="The source of the data." - ) - _interval_size: Literal["1m", "5m", "10m", "15m", "30m", "60m", "1h"] = PrivateAttr( - default=None - ) - _frequency: Literal["daily", "weekly", "monthly", "quarterly", "yearly"] = ( - PrivateAttr(default=None) - ) - - # pylint: disable=protected-access - @model_validator(mode="after") - @classmethod - def set_time_params(cls, values: "IntrinioEquityHistoricalQueryParams"): - """Set the default start & end date and time params for Intrinio API.""" - frequency_dict = { - "1d": "daily", - "1W": "weekly", - "1M": "monthly", - "1Q": "quarterly", - "1Y": "yearly", - } - - if values.interval in ["1m", "5m", "10m", "15m", "30m", "60m", "1h"]: - values._interval_size = values.interval # type: ignore - elif values.interval in ["1d", "1W", "1M", "1Q", "1Y"]: - values._frequency = frequency_dict[values.interval] # type: ignore - - return values - - -class IntrinioEquityHistoricalData(EquityHistoricalData): - """Intrinio Equity Historical Price Data.""" - - __alias_dict__ = { - "date": "time", - "change_percent": "percent_change", - "interval": "frequency", - "intra_period": "intraperiod", - } - - average: float | None = Field( - default=None, - description="Average trade price of an individual equity during the interval.", - ) - change: float | None = Field( - default=None, - description="Change in the price of the symbol from the previous day.", - ) - change_percent: float | None = Field( - default=None, - description="Percent change in the price of the symbol from the previous day.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - adj_open: float | None = Field( - default=None, - description="The adjusted open price.", - ) - adj_high: float | None = Field( - default=None, - description="The adjusted high price.", - ) - adj_low: float | None = Field( - default=None, - description="The adjusted low price.", - ) - adj_close: float | None = Field( - default=None, - description=DATA_DESCRIPTIONS.get("adj_close", ""), - ) - adj_volume: float | None = Field( - default=None, - description="The adjusted volume.", - ) - fifty_two_week_high: float | None = Field( - default=None, - description="52 week high price for the symbol.", - ) - fifty_two_week_low: float | None = Field( - default=None, - description="52 week low price for the symbol.", - ) - factor: float | None = Field( - default=None, - description="factor by which to multiply equity prices before this " - "date, in order to calculate historically-adjusted equity prices.", - ) - split_ratio: float | None = Field( - default=None, - description="Ratio of the equity split, if a split occurred.", - ) - dividend: float | None = Field( - default=None, - description="Dividend amount, if a dividend was paid.", - ) - close_time: datetime | None = Field( - default=None, - description="The timestamp that represents the end of the interval span.", - ) - interval: str | None = Field( - default=None, - description="The data time frequency.", - ) - intra_period: bool | None = Field( - default=None, - description="If true, the equity price represents an unfinished period " - "(be it day, week, quarter, month, or year), meaning that the close " - "price is the latest price available, not the official close price " - "for the period", - ) - - -class IntrinioEquityHistoricalFetcher( - Fetcher[ - IntrinioEquityHistoricalQueryParams, - list[IntrinioEquityHistoricalData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEquityHistoricalQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - if params.get("start_time") is None: - transformed_params["start_time"] = time(0, 0, 0) - - if params.get("end_time") is None: - transformed_params["end_time"] = time(23, 59, 59) - - return IntrinioEquityHistoricalQueryParams(**transformed_params) - - # pylint: disable=protected-access - @staticmethod - async def aextract_data( - query: IntrinioEquityHistoricalQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - base_url = f"https://api-v2.intrinio.com/securities/{query.symbol}/prices" - query_str = get_querystring( - query.model_dump(by_alias=True), ["symbol", "interval"] - ) - - if query._interval_size: - base_url += f"/intervals?interval_size={query._interval_size}" - data_key = "intervals" - elif query._frequency: - base_url += f"?frequency={query._frequency}" - data_key = "stock_prices" - - async def callback(response: ClientResponse, session: ClientSession) -> list: - """Return the response.""" - init_response = await response.json() - if "error" in init_response: - raise OpenBBError( - f"Intrinio Error Message -> {init_response['error']}: {init_response.get('message')}" # type: ignore - ) - - all_data: list = init_response.get(data_key, []) # type: ignore - - next_page = init_response.get("next_page", None) # type: ignore - while next_page: - url = response.url.update_query(next_page=next_page).human_repr() - response_data = await session.get_json(url) - - all_data.extend(response_data.get(data_key, [])) # type: ignore - next_page = response_data.get("next_page", None) # type: ignore - - return all_data - - url = f"{base_url}&{query_str}&api_key={api_key}" - - return await amake_request(url, response_callback=callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioEquityHistoricalQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioEquityHistoricalData]: - """Return the transformed data.""" - if not data: - raise EmptyDataError("The request was returned empty.") - date_col = ( - "time" - if query.interval in ["1m", "5m", "10m", "15m", "30m", "60m", "1h"] - else "date" - ) - return [ - IntrinioEquityHistoricalData.model_validate(d) - for d in sorted(data, key=lambda x: x[date_col], reverse=False) - ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_info.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_info.py deleted file mode 100644 index 3dd3b3c70f4..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_info.py +++ /dev/null @@ -1,78 +0,0 @@ -"""Intrinio Equity Info Model.""" - -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.equity_info import ( - EquityInfoData, - EquityInfoQueryParams, -) -from openbb_core.provider.utils.helpers import ( - amake_requests, -) -from openbb_intrinio.utils.helpers import response_callback -from pydantic import Field - - -class IntrinioEquityInfoQueryParams(EquityInfoQueryParams): - """Intrinio Equity Info Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - -class IntrinioEquityInfoData(EquityInfoData): - """Intrinio Equity Info Data.""" - - __alias_dict__ = { - "symbol": "ticker", - } - - id: str = Field(default=None, description="Intrinio ID for the company.") - thea_enabled: bool | None = Field( - default=None, description="Whether the company has been enabled for Thea." - ) - - -class IntrinioEquityInfoFetcher( - Fetcher[ - IntrinioEquityInfoQueryParams, - list[IntrinioEquityInfoData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEquityInfoQueryParams: - """Transform the query.""" - return IntrinioEquityInfoQueryParams(**params) - - # pylint: disable=W0613:unused-argument - @staticmethod - async def aextract_data( - query: IntrinioEquityInfoQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> dict: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - base_url = "https://api-v2.intrinio.com" - - urls = [ - f"{base_url}/companies/{s.strip()}?api_key={api_key}" - for s in query.symbol.split(",") - ] - - return await amake_requests(urls, response_callback, **kwargs) - - # pylint: disable=W0613:unused-argument - @staticmethod - def transform_data( - query: IntrinioEquityInfoQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioEquityInfoData]: - """Transform the data.""" - return [IntrinioEquityInfoData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py deleted file mode 100644 index a8b80cee4cb..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py +++ /dev/null @@ -1,140 +0,0 @@ -"""Intrinio Equity Quote Model.""" - -# pylint: disable=unused-argument -import re -import warnings -from datetime import datetime -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.equity_quote import ( - EquityQuoteData, - EquityQuoteQueryParams, -) -from openbb_core.provider.utils.helpers import ( - ClientResponse, - amake_requests, -) -from openbb_intrinio.utils.references import SOURCES, VENUES, IntrinioSecurity -from pydantic import Field, field_validator - -_warn = warnings.warn - - -class IntrinioEquityQuoteQueryParams(EquityQuoteQueryParams): - """Intrinio Equity Quote Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_security_realtime_price_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - symbol: str = Field( - description="A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)." - ) - source: SOURCES = Field(default="iex", description="Source of the data.") - - -class IntrinioEquityQuoteData(EquityQuoteData): - """Intrinio Equity Quote Data.""" - - __alias_dict__ = { - "exchange": "listing_venue", - "market_center": "market_center_code", - "bid": "bid_price", - "ask": "ask_price", - "open": "open_price", - "close": "close_price", - "low": "low_price", - "high": "high_price", - "last_timestamp": "last_time", - "volume": "market_volume", - } - is_darkpool: bool | None = Field( - default=None, description="Whether or not the current trade is from a darkpool." - ) - source: str | None = Field(default=None, description="Source of the Intrinio data.") - updated_on: datetime = Field( - description="Date and Time when the data was last updated." - ) - security: IntrinioSecurity | None = Field( - default=None, description="Security details related to the quote." - ) - - @field_validator("last_time", "updated_on", mode="before", check_fields=False) - @classmethod - def date_validate(cls, v): # pylint: disable=E0213 - """Return the date as a datetime object.""" - return ( - datetime.fromisoformat(v.replace("Z", "+00:00")) - if v.endswith(("Z", "+00:00")) - else datetime.fromisoformat(v) - ) - - @field_validator("sales_conditions", mode="before", check_fields=False) - @classmethod - def validate_sales_conditions(cls, v): - """Validate sales conditions and remove empty strings.""" - if v: - control_char_re = re.compile(r"[\x00-\x1f\x7f-\x9f]") - v = control_char_re.sub("", v).strip() - v = None if v == "" else v - return v if v else None - - @field_validator("exchange", "market_center", mode="before", check_fields=False) - @classmethod - def validate_listing_venue(cls, v): - """Validate listing venue and remove empty strings.""" - if v: - return VENUES.get(v, v) - return None - - -class IntrinioEquityQuoteFetcher( - Fetcher[ - IntrinioEquityQuoteQueryParams, - list[IntrinioEquityQuoteData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEquityQuoteQueryParams: - """Transform the query params.""" - return IntrinioEquityQuoteQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioEquityQuoteQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com" - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - if response.status != 200: - return {} - - response_data = await response.json() - response_data["symbol"] = response_data["security"].get("ticker", None) # type: ignore - if "messages" in response_data and response_data.get("messages"): # type: ignore - _message = list(response_data.pop("messages")) # type: ignore - _warn(str(",".join(_message))) - return response_data # type: ignore - - urls = [ - f"{base_url}/securities/{s.strip()}/prices/realtime?source={query.source}&api_key={api_key}" - for s in query.symbol.split(",") - ] - return await amake_requests(urls, callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioEquityQuoteQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioEquityQuoteData]: - """Return the transformed data.""" - return [IntrinioEquityQuoteData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_search.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_search.py deleted file mode 100644 index 4259adcd439..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_search.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Intrinio Equity Search Model.""" - -# pylint: disable=unused-argument - -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.equity_search import ( - EquitySearchData, - EquitySearchQueryParams, -) -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_one -from pydantic import Field - - -class IntrinioEquitySearchQueryParams(EquitySearchQueryParams): - """Intrinio Equity Search Query. - - Source: https://docs.intrinio.com/documentation/web_api/search_companies_v2 - """ - - __alias_dict__ = { - "limit": "page_size", - } - - active: bool = Field( - default=True, - description="When true, return companies that are actively traded (having stock prices within the past 14 days)." - + " When false, return companies that are not actively traded or never have been traded.", - ) - limit: int | None = Field( - default=10000, - description=QUERY_DESCRIPTIONS.get("limit", ""), - ) - - -class IntrinioEquitySearchData(EquitySearchData): - """Intrinio Equity Search Data.""" - - __alias_dict__ = { - "intrinio_id": "id", - "symbol": "ticker", - } - - cik: str | None = Field(description=DATA_DESCRIPTIONS.get("CIK", "")) - lei: str | None = Field( - description="The Legal Entity Identifier (LEI) of the company." - ) - intrinio_id: str = Field(description="The Intrinio ID of the company.") - - -class IntrinioEquitySearchFetcher( - Fetcher[ - IntrinioEquitySearchQueryParams, - list[IntrinioEquitySearchData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEquitySearchQueryParams: - """Transform the query.""" - return IntrinioEquitySearchQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioEquitySearchQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - - api_key = credentials.get("intrinio_api_key") if credentials else "" - query_str = get_querystring(query.model_dump(by_alias=True), ["is_symbol"]) - base_url = "https://api-v2.intrinio.com/companies/search?" - url = f"{base_url}{query_str}&api_key={api_key}" - data = await get_data_one(url, **kwargs) - return data # type: ignore - - @staticmethod - def transform_data( - query: IntrinioEquitySearchQueryParams, data: dict, **kwargs: Any - ) -> list[IntrinioEquitySearchData]: - """Transform the data to the standard format.""" - return [IntrinioEquitySearchData.model_validate(d) for d in data["companies"]] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py deleted file mode 100644 index 1ba134de3d5..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py +++ /dev/null @@ -1,211 +0,0 @@ -"""Intrinio ETF Holdings Model.""" - -# pylint: disable=unused-argument - -from datetime import date as dateType -from typing import Any - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.etf_holdings import ( - EtfHoldingsData, - EtfHoldingsQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_request, -) -from pydantic import Field, model_validator - - -class IntrinioEtfHoldingsQueryParams(EtfHoldingsQueryParams): - """ - Intrinio ETF Holdings Query Params. - - Source: https://docs.intrinio.com/documentation/web_api/get_etf_holdings_v2 - """ - - __alias_dict__ = {"date": "as_of_date"} - - date: dateType | None = Field( - default=None, description=QUERY_DESCRIPTIONS.get("date", "") - ) - - -class IntrinioEtfHoldingsData(EtfHoldingsData): - """Intrinio ETF Holdings Data.""" - - __alias_dict__ = { - "symbol": "ticker", - "security_type": "type", - "unit": "quantity_units", - "face_value": "face", - "balance": "quantity_held", - "value": "market_value_held", - "derivatives_value": "notional_value", - "units_per_share": "quantity_per_share", - "weight": "weighting", - "updated": "as_of_date", - "country": "location", - "maturity_date": "maturity", - } - - name: str | None = Field( - default=None, - description="The common name for the holding.", - ) - security_type: str | None = Field( - default=None, - description="The type of instrument for this holding. Examples(Bond='BOND', Equity='EQUI')", - ) - isin: str | None = Field( - default=None, - description="The International Securities Identification Number.", - ) - ric: str | None = Field( - default=None, - description="The Reuters Instrument Code.", - ) - sedol: str | None = Field( - default=None, - description="The Stock Exchange Daily Official List.", - ) - share_class_figi: str | None = Field( - default=None, - description="The OpenFIGI symbol for the holding.", - ) - country: str | None = Field( - default=None, - description="The country or region of the holding.", - ) - maturity_date: dateType | None = Field( - default=None, - description="The maturity date for the debt security, if available.", - ) - contract_expiry_date: dateType | None = Field( - default=None, - description="Expiry date for the futures contract held, if available.", - ) - coupon: float | None = Field( - default=None, - description="The coupon rate of the debt security, if available.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - balance: int | float | None = Field( - default=None, - description="The number of units of the security held, if available.", - ) - unit: str | None = Field( - default=None, - description="The units of the 'balance' field.", - ) - units_per_share: float | None = Field( - default=None, - description="Number of units of the security held per share outstanding of the ETF, if available.", - ) - face_value: float | None = Field( - default=None, - description="The face value of the debt security, if available.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - derivatives_value: float | None = Field( - default=None, - description="The notional value of derivatives contracts held.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - value: float | None = Field( - default=None, - description="The market value of the holding, on the 'as_of' date.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - weight: float | None = Field( - default=None, - description="The weight of the holding, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - updated: dateType | None = Field( - default=None, - description="The 'as_of' date for the holding.", - ) - - @model_validator(mode="before") - @classmethod - def replace_zero(cls, values): - """Check for zero values and replace with None.""" - return ( - {k: None if v == 0 else v for k, v in values.items()} - if isinstance(values, dict) - else values - ) - - -class IntrinioEtfHoldingsFetcher( - Fetcher[IntrinioEtfHoldingsQueryParams, list[IntrinioEtfHoldingsData]] -): - """Intrinio ETF Holdings Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEtfHoldingsQueryParams: - """Transform query.""" - return IntrinioEtfHoldingsQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioEtfHoldingsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - symbol = query.symbol + ":US" if ":" not in query.symbol else query.symbol - URL = f"https://api-v2.intrinio.com/etfs/{symbol}/holdings?page_size=10000&api_key={api_key}" - if query.date: - URL += f"&as_of_date={query.date}" - data: list = [] - - async def response_callback(response: ClientResponse, session: ClientSession): - """Async response callback.""" - results = await response.json() - - if results.get("error"): # type: ignore - return results - - if results.get("holdings") and len(results.get("holdings")) > 0: # type: ignore - data.extend(results.get("holdings")) # type: ignore - while results.get("next_page"): # type: ignore - next_page = results["next_page"] # type: ignore - next_url = f"{URL}&next_page={next_page}" - results = await amake_request(next_url, session=session, **kwargs) - if "holdings" in results and len(results.get("holdings")) > 0: # type: ignore - data.extend(results.get("holdings")) # type: ignore - return data - - return await amake_request(URL, response_callback=response_callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioEtfHoldingsQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioEtfHoldingsData]: - """Transform data.""" - if not data or isinstance(data, dict) and data.get("error"): - if isinstance(data, list) and data == []: - raise OpenBBError( - str( - f"No holdings were found for {query.symbol}, and the response from Intrinio was empty." - ) - ) - raise OpenBBError(str(f"{data.get('message')} {query.symbol}: {data['error']}")) # type: ignore - - results: list[IntrinioEtfHoldingsData] = [] - for d in sorted(data, key=lambda x: x["weighting"], reverse=True): - # This field is deprecated and is dupilcated in the response. - _ = d.pop("composite_figi", None) - if d.get("coupon"): - d["coupon"] = d["coupon"] / 100 - results.append(IntrinioEtfHoldingsData.model_validate(d)) - - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_info.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_info.py deleted file mode 100644 index c7f181f9abf..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_info.py +++ /dev/null @@ -1,655 +0,0 @@ -"""Intrinio ETF Info Model.""" - -# pylint: disable=unused-argument - -from datetime import date as dateType -from typing import Any -from warnings import warn - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.etf_info import ( - EtfInfoData, - EtfInfoQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import amake_requests -from pydantic import Field - - -class IntrinioEtfInfoQueryParams(EtfInfoQueryParams): - """ - Intrinio ETF Info Query Params. - - Source: https://docs.intrinio.com/documentation/web_api/get_etf_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - -class IntrinioEtfInfoData(EtfInfoData): - """Intrinio ETF Info Data.""" - - __alias_dict__ = { - "symbol": "ticker", - "exchange": "exchange_mic", - "issuer": "sponsor", - "investment_style": "type", - "industry_group": "sub_industry", - "holds_mlp": "holds_ml_ps", - "holds_adr": "holds_ad_rs", - "index_symbol": "index_ticker", - "figi_symbol": "figi_ticker", - "intrinio_id": "id", - "is_listed": "is_live_listed", - "beta_type": "smartvs_traditional_beta", - "beta_details": "smartvs_traditional_beta_level2", - "listing_country": "primary_ticker_country_code", - "listing_region": "primary_listing_region", - "primary_symbol": "primary_ticker", - "intraday_nav_symbol": "intraday_nav_ticker", - "issuer_country": "issuing_entity_country_code", - "livestock_type": "livestock", - } - - fund_listing_date: dateType | None = Field( - default=None, - description="The date on which the Exchange Traded Product (ETP)" - + " or share class of the ETP is listed on a specific exchange.", - ) - data_change_date: dateType | None = Field( - default=None, - description="The last date on which there was a change in a classifications data field for this ETF.", - ) - etn_maturity_date: dateType | None = Field( - default=None, - description="If the product is an ETN, this field identifies the maturity date for the ETN.", - ) - is_listed: bool | None = Field( - default=None, - description="If true, the ETF is still listed on an exchange.", - ) - close_date: dateType | None = Field( - default=None, - description="The date on which the ETF was de-listed if it is no longer listed.", - ) - exchange: str | None = Field( - default=None, - description="The exchange Market Identifier Code (MIC).", - ) - isin: str | None = Field( - default=None, - description="International Securities Identification Number (ISIN).", - ) - ric: str | None = Field( - default=None, - description="Reuters Instrument Code (RIC).", - ) - sedol: str | None = Field( - default=None, - description="Stock Exchange Daily Official List (SEDOL).", - ) - figi_symbol: str | None = Field( - default=None, - description="Financial Instrument Global Identifier (FIGI) symbol.", - ) - share_class_figi: str | None = Field( - default=None, - description="Financial Instrument Global Identifier (FIGI).", - ) - firstbridge_id: str | None = Field( - default=None, - description="The FirstBridge unique identifier for the Exchange Traded Fund (ETF).", - ) - firstbridge_parent_id: str | None = Field( - default=None, - description="The FirstBridge unique identifier for the parent Exchange Traded Fund (ETF), if applicable.", - ) - intrinio_id: str | None = Field( - default=None, - description="Intrinio unique identifier for the security.", - ) - intraday_nav_symbol: str | None = Field( - default=None, - description="Intraday Net Asset Value (NAV) symbol.", - ) - primary_symbol: str | None = Field( - default=None, - description="The primary ticker field is used for Exchange Traded Products (ETPs)" - + " that have multiple listings and share classes." - + " If an ETP has multiple listings or share classes," - + " the same primary ticker is assigned to all the listings and share classes.", - ) - etp_structure_type: str | None = Field( - default=None, - description="Classifies Exchange Traded Products (ETPs) into very broad categories based on its legal structure.", - ) - legal_structure: str | None = Field( - default=None, - description="Legal structure of the fund.", - ) - issuer: str | None = Field( - default=None, - description="Issuer of the ETF.", - ) - etn_issuing_bank: str | None = Field( - default=None, - description="If the product is an Exchange Traded Note (ETN), this field identifies the issuing bank.", - ) - fund_family: str | None = Field( - default=None, - description="This field identifies the fund family to which the ETF belongs, as categorized by the ETF Sponsor.", - ) - investment_style: str | None = Field( - default=None, - description="Investment style of the ETF.", - ) - derivatives_based: str | None = Field( - default=None, - description="This field is populated if the ETF holds either" - + " listed or over-the-counter derivatives in its portfolio.", - ) - income_category: str | None = Field( - default=None, - description="Identifies if an Exchange Traded Fund (ETF) falls into a category" - + " that is specifically designed to provide a high yield or income", - ) - asset_class: str | None = Field( - default=None, - description="Captures the underlying nature of the securities in the Exchanged Traded Product (ETP).", - ) - other_asset_types: str | None = Field( - default=None, - description="If 'asset_class' field is classified as 'Other Asset Types'" - + " this field captures the specific category of the underlying assets.", - ) - single_category_designation: str | None = Field( - default=None, - description="This categorization is created for those users who want every ETF to be 'forced'" - + " into a single bucket, so that the assets for all categories will always sum to the total market.", - ) - beta_type: str | None = Field( - default=None, - description="This field identifies whether an ETF provides 'Traditional' beta exposure or 'Smart' beta exposure." - + " ETFs that are active (i.e. non-indexed), leveraged / inverse or have a proprietary quant model" - + " (i.e. that don't provide indexed exposure to a targeted factor) are classified separately.", - ) - beta_details: str | None = Field( - default=None, - description="This field provides further detail within the traditional and smart beta categories.", - ) - market_cap_range: str | None = Field( - default=None, - description="Equity ETFs are classified as falling into categories" - + " based on the description of their investment strategy in the prospectus." - + " Examples ('Mega Cap', 'Large Cap', 'Mid Cap', etc.)", - ) - market_cap_weighting_type: str | None = Field( - default=None, - description="For ETFs that take the value 'Market Cap Weighted' in the 'index_weighting_scheme' field," - + " this field provides detail on the market cap weighting type.", - ) - index_weighting_scheme: str | None = Field( - default=None, - description="For ETFs that track an underlying index," - + " this field provides detail on the index weighting type.", - ) - index_linked: str | None = Field( - default=None, - description="This field identifies whether an ETF is index linked or active.", - ) - index_name: str | None = Field( - default=None, - description="This field identifies the name of the underlying index tracked by the ETF, if applicable.", - ) - index_symbol: str | None = Field( - default=None, - description="This field identifies the OpenFIGI ticker for the Index underlying the ETF.", - ) - parent_index: str | None = Field( - default=None, - description="This field identifies the name of the parent index, which represents" - + " the broader universe from which the index underlying the ETF is created, if applicable.", - ) - index_family: str | None = Field( - default=None, - description="This field identifies the index family to which the index underlying the ETF belongs." - + " The index family is represented as categorized by the index provider.", - ) - broader_index_family: str | None = Field( - default=None, - description="This field identifies the broader index family to which the index underlying the ETF belongs." - + " The broader index family is represented as categorized by the index provider.", - ) - index_provider: str | None = Field( - default=None, - description="This field identifies the Index provider for the index underlying the ETF, if applicable.", - ) - index_provider_code: str | None = Field( - default=None, - description="This field provides the First Bridge code for each Index provider," - + " corresponding to the index underlying the ETF if applicable.", - ) - replication_structure: str | None = Field( - default=None, - description="The replication structure of the Exchange Traded Product (ETP).", - ) - growth_value_tilt: str | None = Field( - default=None, - description="Classifies equity ETFs as either 'Growth' or Value' based on the stated style tilt" - + " in the ETF prospectus. Equity ETFs that do not have a stated style tilt are classified as 'Core / Blend'.", - ) - growth_type: str | None = Field( - default=None, - description="For ETFs that are classified as 'Growth' in 'growth_value_tilt'," - + " this field further identifies those where the stocks in the" - + " ETF are both selected and weighted based on their growth (style factor) scores.", - ) - value_type: str | None = Field( - default=None, - description="For ETFs that are classified as 'Value' in 'growth_value_tilt'," - + " this field further identifies those where the stocks in the" - + " ETF are both selected and weighted based on their value (style factor) scores.", - ) - sector: str | None = Field( - default=None, - description="For equity ETFs that aim to provide targeted exposure to a sector or industry," - + " this field identifies the Sector that it provides the exposure to.", - ) - industry: str | None = Field( - default=None, - description="For equity ETFs that aim to provide targeted exposure to an industry," - + " this field identifies the Industry that it provides the exposure to.", - ) - industry_group: str | None = Field( - default=None, - description="For equity ETFs that aim to provide targeted exposure to a sub-industry," - + " this field identifies the sub-Industry that it provides the exposure to.", - ) - cross_sector_theme: str | None = Field( - default=None, - description="For equity ETFs that aim to provide targeted exposure to a specific investment theme" - + " that cuts across GICS sectors, this field identifies the specific cross-sector theme." - + " Examples ('Agri-business', 'Natural Resources', 'Green Investing', etc.)", - ) - natural_resources_type: str | None = Field( - default=None, - description="For ETFs that are classified as 'Natural Resources' in the 'cross_sector_theme' field," - + " this field provides further detail on the type of Natural Resources exposure.", - ) - us_or_excludes_us: str | None = Field( - default=None, - description="Takes the value of 'Domestic' for US exposure," - + " 'International' for non-US exposure and 'Global' for exposure that includes all regions including the US.", - ) - developed_emerging: str | None = Field( - default=None, - description="This field identifies the stage of development of the markets that the ETF provides exposure to.", - ) - specialized_region: str | None = Field( - default=None, - description="This field is populated if the ETF provides targeted" - + " exposure to a specific type of geography-based grouping" - + " that does not fall into a specific country or continent grouping." - + " Examples ('BRIC', 'Chindia', etc.)", - ) - continent: str | None = Field( - default=None, - description="This field is populated if the ETF provides targeted exposure" - + " to a specific continent or country within that Continent.", - ) - latin_america_sub_group: str | None = Field( - default=None, - description="For ETFs that are classified as 'Latin America' in the 'continent' field," - + " this field provides further detail on the type of regional exposure.", - ) - europe_sub_group: str | None = Field( - default=None, - description="For ETFs that are classified as 'Europe' in the 'continent' field," - + " this field provides further detail on the type of regional exposure.", - ) - asia_sub_group: str | None = Field( - default=None, - description="For ETFs that are classified as 'Asia' in the 'continent' field," - + " this field provides further detail on the type of regional exposure.", - ) - specific_country: str | None = Field( - default=None, - description="This field is populated if the ETF provides targeted exposure to a specific country.", - ) - china_listing_location: str | None = Field( - default=None, - description="For ETFs that are classified as 'China' in the 'country' field," - + " this field provides further detail on the type of exposure in the underlying securities.", - ) - us_state: str | None = Field( - default=None, - description="Takes the value of a US state if the ETF provides" - + " targeted exposure to the municipal bonds or equities of companies.", - ) - real_estate: str | None = Field( - default=None, - description="For ETFs that provide targeted real estate exposure," - + " this field is populated if the ETF provides targeted" - + " exposure to a specific segment of the real estate market.", - ) - - fundamental_weighting_type: str | None = Field( - default=None, - description="For ETFs that take the value 'Fundamental Weighted' in the 'index_weighting_scheme' field," - + " this field provides detail on the fundamental weighting methodology.", - ) - dividend_weighting_type: str | None = Field( - default=None, - description="For ETFs that take the value 'Dividend Weighted' in the 'index_weighting_scheme' field," - + " this field provides detail on the dividend weighting methodology.", - ) - bond_type: str | None = Field( - default=None, - description="For ETFs where 'asset_class_type' is 'Bonds'," - + " this field provides detail on the type of bonds held in the ETF.", - ) - government_bond_types: str | None = Field( - default=None, - description="For bond ETFs that take the value 'Treasury & Government' in 'bond_type'," - + " this field provides detail on the exposure.", - ) - municipal_bond_region: str | None = Field( - default=None, - description="For bond ETFs that take the value 'Municipal' in 'bond_type'," - + " this field provides additional detail on the geographic exposure.", - ) - municipal_vrdo: bool | None = Field( - default=None, - description="For bond ETFs that take the value 'Municipal' in 'bond_type'," - + " this field identifies those ETFs that specifically provide exposure to Variable Rate Demand Obligations.", - ) - mortgage_bond_types: str | None = Field( - default=None, - description="For bond ETFs that take the value 'Mortgage' in 'bond_type'," - + " this field provides additional detail on the type of underlying securities.", - ) - bond_tax_status: str | None = Field( - default=None, - description="For all US bond ETFs, this field provides additional" - + " detail on the tax treatment of the underlying securities.", - ) - credit_quality: str | None = Field( - default=None, - description="For all bond ETFs, this field helps to identify if the ETF" - + " provides targeted exposure to securities of a specific credit quality range.", - ) - average_maturity: str | None = Field( - default=None, - description="For all bond ETFs, this field helps to identify if the ETF" - + " provides targeted exposure to securities of a specific maturity range.", - ) - specific_maturity_year: int | None = Field( - default=None, - description="For all bond ETFs that take the value 'Specific Maturity Year' in the 'average_maturity' field," - + " this field specifies the calendar year.", - ) - commodity_types: str | None = Field( - default=None, - description="For ETFs where 'asset_class_type' is 'Commodities'," - + " this field provides detail on the type of commodities held in the ETF.", - ) - energy_type: str | None = Field( - default=None, - description="For ETFs where 'commodity_type' is 'Energy'," - + " this field provides detail on the type of energy exposure provided by the ETF.", - ) - agricultural_type: str | None = Field( - default=None, - description="For ETFs where 'commodity_type' is 'Agricultural'," - + " this field provides detail on the type of agricultural exposure provided by the ETF.", - ) - livestock_type: str | None = Field( - default=None, - description="For ETFs where 'commodity_type' is 'Livestock'," - + " this field provides detail on the type of livestock exposure provided by the ETF.", - ) - metal_type: str | None = Field( - default=None, - description="For ETFs where 'commodity_type' is 'Gold & Metals'," - + " this field provides detail on the type of exposure provided by the ETF.", - ) - inverse_leveraged: str | None = Field( - default=None, - description="This field is populated if the ETF provides inverse or leveraged exposure.", - ) - target_date_multi_asset_type: str | None = Field( - default=None, - description="For ETFs where 'asset_class_type' is 'Target Date / MultiAsset'," - + " this field provides detail on the type of commodities held in the ETF.", - ) - currency_pair: str | None = Field( - default=None, - description="This field is populated if the ETF's strategy involves providing exposure to" - + " the movements of a currency or involves hedging currency exposure.", - ) - social_environmental_type: str | None = Field( - default=None, - description="This field is populated if the ETF's strategy involves providing" - + " exposure to a specific social or environmental theme.", - ) - clean_energy_type: str | None = Field( - default=None, - description="This field is populated if the ETF has a value of 'Clean Energy'" - + " in the 'social_environmental_type' field.", - ) - dividend_type: str | None = Field( - default=None, - description="This field is populated if the ETF has an intended" - + " investment objective of holding dividend-oriented stocks as stated in the prospectus.", - ) - regular_dividend_payor_type: str | None = Field( - default=None, - description="This field is populated if the ETF has a value of" - + "'Dividend - Regular Payors' in the 'dividend_type' field.", - ) - quant_strategies_type: str | None = Field( - default=None, - description="This field is populated if the ETF has either an index-linked" - + " or active strategy that is based on a proprietary quantitative strategy.", - ) - other_quant_models: str | None = Field( - default=None, - description="For ETFs where 'quant_strategies_type' is 'Other Quant Model'," - + " this field provides the name of the specific proprietary quant model" - + " used as the underlying strategy for the ETF.", - ) - hedge_fund_type: str | None = Field( - default=None, - description="For ETFs where 'other_asset_types' is 'Hedge Fund Replication'," - + " this field provides detail on the type of hedge fund replication strategy.", - ) - excludes_financials: bool | None = Field( - default=None, - description="For equity ETFs, identifies those ETFs" - + " where the underlying fund holdings will not hold financials stocks," - + " based on the funds intended objective.", - ) - excludes_technology: bool | None = Field( - default=None, - description="For equity ETFs, identifies those ETFs" - + " where the underlying fund holdings will not hold technology stocks," - + " based on the funds intended objective.", - ) - holds_only_nyse_stocks: bool | None = Field( - default=None, - description="If true, the ETF is an equity ETF and holds only stocks listed on NYSE.", - ) - holds_only_nasdaq_stocks: bool | None = Field( - default=None, - description="If true, the ETF is an equity ETF and holds only stocks listed on Nasdaq.", - ) - holds_mlp: bool | None = Field( - default=None, - description="If true, the ETF's investment objective explicitly specifies" - + " that it holds MLPs as an intended part of its investment strategy.", - ) - holds_preferred_stock: bool | None = Field( - default=None, - description="If true, the ETF's investment objective explicitly specifies" - + " that it holds preferred stock as an intended part of its investment strategy.", - ) - holds_closed_end_funds: bool | None = Field( - default=None, - description="If true, the ETF's investment objective explicitly specifies" - + " that it holds closed end funds as an intended part of its investment strategy.", - ) - holds_adr: bool | None = Field( - default=None, - description="If true, he ETF's investment objective explicitly specifies that it holds" - + " American Depositary Receipts (ADRs) as an intended part of its investment strategy.", - ) - laddered: bool | None = Field( - default=None, - description="For bond ETFs, this field identifies those ETFs that" - + " specifically hold bonds in a laddered structure," - + " where the bonds are scheduled to mature in an annual, sequential structure.", - ) - zero_coupon: bool | None = Field( - default=None, - description="For bond ETFs, this field identifies those ETFs that specifically hold zero coupon Treasury Bills.", - ) - floating_rate: bool | None = Field( - default=None, - description="For bond ETFs, this field identifies those ETFs that specifically hold floating rate bonds.", - ) - build_america_bonds: bool | None = Field( - default=None, - description="For municipal bond ETFs, this field identifies those" - + " ETFs that specifically hold Build America Bonds.", - ) - dynamic_futures_roll: bool | None = Field( - default=None, - description="If the product holds futures contracts, this field identifies those products where the roll strategy" - + " is dynamic (rather than entirely rules based), so as to minimize roll costs.", - ) - currency_hedged: bool | None = Field( - default=None, - description="This field is populated if the ETF's strategy involves hedging currency exposure.", - ) - includes_short_exposure: bool | None = Field( - default=None, - description="This field is populated if the ETF has short exposure" - + " in any of its holdings e.g. in a long/short or inverse ETF.", - ) - ucits: bool | None = Field( - default=None, - description="If true, the Exchange Traded Product (ETP) is Undertakings for the Collective Investment" - + " in Transferable Securities (UCITS) compliant", - ) - registered_countries: str | None = Field( - default=None, - description="The list of countries where the ETF is legally registered for sale." - + " This may differ from where the ETF is domiciled or traded, particularly in Europe.", - ) - issuer_country: str | None = Field( - default=None, - description="2 letter ISO country code for the country where the issuer is located.", - ) - domicile: str | None = Field( - default=None, - description="2 letter ISO country code for the country where the ETP is domiciled.", - ) - listing_country: str | None = Field( - default=None, - description="2 letter ISO country code for the country of the primary listing.", - alias="listing_country_code", - ) - listing_region: str | None = Field( - default=None, - description="Geographic region in the country of the primary listing falls.", - ) - bond_currency_denomination: str | None = Field( - default=None, - description="For all bond ETFs, this field provides additional" - + " detail on the currency denomination of the underlying securities.", - ) - base_currency: str | None = Field( - default=None, - description="Base currency in which NAV is reported.", - ) - listing_currency: str | None = Field( - default=None, - description="Listing currency of the Exchange Traded Product (ETP) in which it is traded." - + " Reported using the 3-digit ISO currency code.", - ) - number_of_holdings: int | None = Field( - default=None, - description="The number of holdings in the ETF.", - ) - month_end_assets: float | None = Field( - default=None, - description="Net assets in millions of dollars as of the most recent month end.", - ) - net_expense_ratio: float | None = Field( - default=None, - description="Gross expense net of Fee Waivers, as a percentage of net assets" - + " as published by the ETF issuer.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - etf_portfolio_turnover: float | None = Field( - default=None, - description="The percentage of positions turned over in the last 12 months.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - - -class IntrinioEtfInfoFetcher( - Fetcher[IntrinioEtfInfoQueryParams, list[IntrinioEtfInfoData]] -): - """Intrinio ETF Info Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEtfInfoQueryParams: - """Transform query.""" - return IntrinioEtfInfoQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioEtfInfoQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - - api_key = credentials.get("intrinio_api_key") if credentials else "" - base_url = "https://api-v2.intrinio.com/etfs/" - symbols = query.symbol.split(",") - symbols = [ - symbol + ":US" if ":" not in symbol else symbol for symbol in symbols - ] - urls = [f"{base_url}{symbol}?api_key={api_key}" for symbol in symbols] - - results = [] - - async def response_callback(response, _): - """Response callback.""" - result = await response.json() - if "error" in result: - warn(f"Symbol Error: {result['error']} for {response.url.parts[-1]}") - return - _ = result.pop("messages", None) - results.append(result) - - await amake_requests(urls, response_callback, **kwargs) # type: ignore - - if not results: - raise EmptyDataError("No data was returned.") - - return sorted( - results, - key=(lambda item: (symbols.index(item.get("figi_ticker", len(symbols))))), - ) - - @staticmethod - def transform_data( - query: IntrinioEtfInfoQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioEtfInfoData]: - """Transform data.""" - return [IntrinioEtfInfoData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_price_performance.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_price_performance.py deleted file mode 100644 index e435de17080..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_price_performance.py +++ /dev/null @@ -1,227 +0,0 @@ -"""Intrinio ETF Performance Model.""" - -# pylint: disable=unused-argument - -import asyncio -from datetime import date as dateType -from typing import Any, Literal -from warnings import warn - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.recent_performance import ( - RecentPerformanceData, - RecentPerformanceQueryParams, -) -from openbb_core.provider.utils.descriptions import DATA_DESCRIPTIONS -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import amake_request -from openbb_intrinio.utils.references import ETF_PERFORMANCE_MAP -from pydantic import Field - - -class IntrinioEtfPricePerformanceQueryParams(RecentPerformanceQueryParams): - """ - Intrinio ETF Performance Query Params. - - Source: https://docs.intrinio.com/documentation/web_api/get_etf_stats_v2 - Source: https://docs.intrinio.com/documentation/web_api/get_etf_analytics_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - return_type: Literal["trailing", "calendar"] = Field( - default="trailing", - description="The type of returns to return, a trailing or calendar window.", - ) - adjustment: Literal["splits_only", "splits_and_dividends"] = Field( - default="splits_and_dividends", - description="The adjustment factor, 'splits_only' will return pure price performance.", - ) - - -class IntrinioEtfPricePerformanceData(RecentPerformanceData): - """Intrinio ETF Performance Data.""" - - __alias_dict__ = { - "updated": "date", - "year_high": "fifty_two_week_high", - "year_low": "fifty_two_week_low", - "volume": "volume_traded", - "volume_avg_30": "average_daily_volume_one_month", - "volume_avg_90": "average_daily_volume_three_month", - "volume_avg_180": "average_daily_volume_six_month", - } - - max_annualized: float | None = Field( - default=None, - description="Annualized rate of return from inception.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - volatility_one_year: float | None = Field( - default=None, - description="Trailing one-year annualized volatility.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - volatility_three_year: float | None = Field( - default=None, - description="Trailing three-year annualized volatility.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - volatility_five_year: float | None = Field( - default=None, - description="Trailing five-year annualized volatility.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - volume: int | None = Field( - default=None, - description=DATA_DESCRIPTIONS.get("volume", ""), - ) - volume_avg_30: float | None = Field( - default=None, - description="The one-month average daily volume.", - ) - volume_avg_90: float | None = Field( - default=None, - description="The three-month average daily volume.", - ) - volume_avg_180: float | None = Field( - default=None, - description="The six-month average daily volume.", - ) - beta: float | None = Field( - default=None, - description="Beta compared to the S&P 500.", - ) - nav: float | None = Field( - default=None, - description="Net asset value per share.", - ) - year_high: float | None = Field( - default=None, - description="The 52-week high price.", - ) - year_low: float | None = Field( - default=None, - description="The 52-week low price.", - ) - - market_cap: float | None = Field( - default=None, - description="The market capitalization.", - ) - shares_outstanding: int | None = Field( - default=None, - description="The number of shares outstanding.", - ) - updated: dateType | None = Field( - default=None, - description=DATA_DESCRIPTIONS.get("date", ""), - ) - - -class IntrinioEtfPricePerformanceFetcher( - Fetcher[ - IntrinioEtfPricePerformanceQueryParams, list[IntrinioEtfPricePerformanceData] - ] -): - """Intrinio ETF Performance Fetcher.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioEtfPricePerformanceQueryParams: - """Transform query.""" - return IntrinioEtfPricePerformanceQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioEtfPricePerformanceQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - - api_key = credentials.get("intrinio_api_key") if credentials else "" - base_url = "https://api-v2.intrinio.com/etfs/" - symbols = query.symbol.split(",") - symbols = [ - symbol + ":US" if ":" not in symbol else symbol for symbol in symbols - ] - - adjustment = ( - "split_only" - if query.adjustment == "splits_and_dividends" - else "split_and_dividend" - ) - - return_type = "trailing" if query.return_type == "calendar" else "calendar" - - results = [] - - async def get_one(symbol: str, **kwargs): - """Get data for one symbol.""" - - url = f"{base_url}{symbol}/stats?api_key={api_key}" - result = await amake_request(url, **kwargs) - - if "message" in result and result["message"] != []: # type: ignore - warn(f"Symbol Error: {symbol} - {result['message']}") # type: ignore - return - _ = result.pop("message", None) # type: ignore - _ = result.pop("messages", None) # type: ignore - - data = {} - etf = result.pop("etf", {}) # type: ignore - data["symbol"] = etf.get("ticker") - # These items will be kept regardless of the adjustment and return_type. - keep = ["volatility", "month", "year_to_date"] - for k, v in result.copy().items(): # type: ignore - if not any(substring in k for substring in keep): - _ = result.pop(k, None) if adjustment in k else None # type: ignore - _ = result.pop(k, None) if return_type in k else None # type: ignore - if k in result: - data[ETF_PERFORMANCE_MAP.get(k, k)] = v - # Get an additional set of data to combine with the first set. - analytics_url = ( - f"https://api-v2.intrinio.com/etfs/{symbol}/analytics?api_key={api_key}" - ) - if data: - analytics = await amake_request(analytics_url, **kwargs) - if "messages" in analytics and analytics["messages"] != []: # type: ignore - warn( - f"Symbol Error: {analytics['messages']}" # type: ignore - + f"for {etf.get('ticker')}" # type: ignore - ) - return - # Remove the duplicate data from the analytics response. - _ = analytics.pop("messages", None) # type: ignore - _ = analytics.pop("etf", None) # type: ignore - _ = analytics.pop("date", None) # type: ignore - - data.update(analytics) # type: ignore - - results.append(data) - - tasks = [get_one(symbol, **kwargs) for symbol in symbols] - - await asyncio.gather(*tasks) - - if not results: - raise EmptyDataError("No data was returned.") - - # Undo any formatting changes made to the symbols before sorting. - symbols = query.symbol.replace(":US", "").split(",") - - return sorted( - results, - key=(lambda item: (symbols.index(item.get("symbol", len(symbols))))), - ) - - @staticmethod - def transform_data( - query: IntrinioEtfPricePerformanceQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioEtfPricePerformanceData]: - """Transform data.""" - return [IntrinioEtfPricePerformanceData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py deleted file mode 100644 index c368c45491b..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py +++ /dev/null @@ -1,145 +0,0 @@ -"""Intrinio ETF Search Model.""" - -# pylint: disable=unused-argument - -from typing import Any - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.etf_search import ( - EtfSearchData, - EtfSearchQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_intrinio.utils.references import ETF_EXCHANGES -from pydantic import Field - - -class IntrinioEtfSearchQueryParams(EtfSearchQueryParams): - """ - Intrinio ETF Search Query Params. - - Source: https://docs.intrinio.com/documentation/web_api/search_etfs_v2 - """ - - exchange: None | ETF_EXCHANGES = Field( - default=None, - description="Target a specific exchange by providing the MIC code.", - ) - - -class IntrinioEtfSearchData(EtfSearchData): - """Intrinio ETF Search Data.""" - - __alias_dict__ = { - "intrinio_id": "id", - "symbol": "ticker", - "exchange": "exchange_mic", - } - - exchange: str | None = Field( - default=None, - description="The exchange MIC code.", - ) - figi_ticker: str | None = Field( - None, - description="The OpenFIGI ticker.", - ) - ric: str | None = Field( - None, - description="The Reuters Instrument Code.", - ) - isin: str | None = Field( - None, - description="The International Securities Identification Number.", - ) - sedol: str | None = Field( - None, - description="The Stock Exchange Daily Official List.", - ) - intrinio_id: str | None = Field( - None, - description="The unique Intrinio ID for the security.", - ) - - -class IntrinioEtfSearchFetcher( - Fetcher[IntrinioEtfSearchQueryParams, list[IntrinioEtfSearchData]] -): - """Intrinio ETF Search Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioEtfSearchQueryParams: - """Transform query.""" - return IntrinioEtfSearchQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioEtfSearchQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_request, - ) - - api_key = credentials.get("intrinio_api_key") if credentials else "" - BASE = "https://api-v2.intrinio.com/etfs" - if query.exchange is not None: - url = f"{BASE}?exchange={query.exchange.upper()}&page_size=10000&api_key={api_key}" - elif query.query: - url = f"{BASE}/search?query={query.query}&page_size=10000&api_key={api_key}" - else: - url = f"{BASE}?page_size=10000&api_key={api_key}" - - data: list = [] - - async def response_callback(response: ClientResponse, session: ClientSession): - """Async response callback.""" - results = await response.json() - - if results.get("messages"): # type: ignore - messages = results.get("messages") # type: ignore - raise OpenBBError(str(messages)) - - if results.get("etfs") and len(results.get("etfs")) > 0: # type: ignore - data.extend(results.get("etfs")) # type: ignore - while results.get("next_page"): # type: ignore - next_page = results["next_page"] # type: ignore - next_url = f"{url}&next_page={next_page}" - results = await amake_request(next_url, session=session, **kwargs) - if "etfs" in results and len(results.get("etfs")) > 0: # type: ignore - data.extend(results.get("etfs")) # type: ignore - return data - - return await amake_request(url, response_callback=response_callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioEtfSearchQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioEtfSearchData]: - """Transform data.""" - # pylint: disable=import-outside-toplevel - import re # noqa - from pandas import DataFrame # noqa - - if not data: - raise EmptyDataError("No data found.") - - results = DataFrame(data) - if query.query: - pattern = f".*{re.escape(query.query)}.*" - results = results[ - results["name"].str.contains(pattern, case=False, regex=True) - ] - - return [ - IntrinioEtfSearchData.model_validate(d) - for d in results.to_dict(orient="records") - ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_attributes.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_attributes.py deleted file mode 100644 index eb2ef79a6f0..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_attributes.py +++ /dev/null @@ -1,80 +0,0 @@ -"""Intrinio Financial Attributes Model.""" - -# pylint: disable=unused-argument - -from datetime import datetime -from typing import Any - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.financial_attributes import ( - FinancialAttributesData, - FinancialAttributesQueryParams, -) -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_many - - -class IntrinioFinancialAttributesQueryParams(FinancialAttributesQueryParams): - """Intrinio Financial Attributes Query.""" - - __alias_dict__ = {"sort": "sort_order", "limit": "page_size"} - - -class IntrinioFinancialAttributesData(FinancialAttributesData): - """Intrinio Financial Attributes Data.""" - - -class IntrinioFinancialAttributesFetcher( - Fetcher[ - IntrinioFinancialAttributesQueryParams, - list[IntrinioFinancialAttributesData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioFinancialAttributesQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=5) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioFinancialAttributesQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioFinancialAttributesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - frequency = "yearly" if query.period == "annual" else "quarterly" - data: list[dict] = [] - - base_url = "https://api-v2.intrinio.com" - query_str = get_querystring(query.model_dump(by_alias=True), ["frequency"]) - query_str = f"{query_str}&frequency={frequency}" - - url = f"{base_url}/historical_data/{query.symbol}/{query.tag}?{query_str}&api_key={api_key}" - # data = get_data_one(url).get("historical_data", []) - data = await get_data_many(url, "historical_data") - - return data - - @staticmethod - def transform_data( - query: IntrinioFinancialAttributesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioFinancialAttributesData]: - """Return the transformed data.""" - return [IntrinioFinancialAttributesData.model_validate(item) for item in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py deleted file mode 100644 index 6436f46e2de..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py +++ /dev/null @@ -1,322 +0,0 @@ -"""Intrinio Financial Ratios Model.""" - -# pylint: disable=unused-argument - -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.financial_ratios import ( - FinancialRatiosData, - FinancialRatiosQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import ClientResponse, amake_requests -from openbb_intrinio.utils.helpers import get_data_one -from pydantic import Field, field_validator - - -class IntrinioFinancialRatiosQueryParams(FinancialRatiosQueryParams): - """Intrinio Financial Ratios Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_fundamentals_v2 - Source: https://docs.intrinio.com/documentation/web_api/get_fundamental_standardized_financials_v2 - """ - - __json_schema_extra__ = { - "period": { - "choices": ["annual", "quarter", "ttm", "ytd"], - } - } - period: Literal["annual", "quarter", "ttm", "ytd"] = Field( - default="annual", - description=QUERY_DESCRIPTIONS.get("period", ""), - ) - fiscal_year: int | None = Field( - default=None, - description="The specific fiscal year. Reports do not go beyond 2008.", - ) - - @field_validator("symbol", mode="after", check_fields=False) - @classmethod - def handle_symbol(cls, v) -> str: - """Handle symbols with a dash and replace it with a dot for Intrinio.""" - return v.replace("-", ".") - - -class IntrinioFinancialRatiosData(FinancialRatiosData): - """Intrinio Financial Ratios Data.""" - - __alias_dict__ = { - "net_operating_profit_after_tax_margin": "nopatmargin", - "invested_capital_turnover": "investedcapitalturnover", - "book_value_per_share": "bookvaluepershare", - "tangible_book_value": "tangiblebookvaluepershare", - "price_to_book_ratio": "pricetobook", - "price_to_tangible_book_ratio": "pricetotangiblebook", - "price_to_revenue": "pricetorevenue", - "price_to_earnings": "pricetoearnings", - "dividend_yield": "dividendyield", - "earnings_yield": "earningsyield", - "ev_to_invested_capital": "evtoinvestedcapital", - "ev_to_sales": "evtorevenue", - "ev_to_ebitda": "evtoebitda", - "ev_to_ebit": "evtoebit", - "ev_to_nopat": "evtonopat", - "ev_to_operating_cash_flow": "evtoocf", - "ev_to_free_cash_flow": "evtofcff", - "gross_margin": "grossmargin", - "ebitda_margin": "ebitdamargin", - "operating_margin": "operatingmargin", - "ebit_margin": "ebitmargin", - "net_profit_margin": "profitmargin", - "cost_of_rev_to_revenue": "costofrevtorevenue", - "sga_expense_to_revenue": "sgaextorevenue", - "rd_expense_to_revenue": "rdextorevenue", - "op_expense_to_revenue": "opextorevenue", - "tax_burden_percent": "taxburdenpct", - "interest_burden_percent": "interestburdenpct", - "effective_tax_rate": "efftaxrate", - "asset_turnover": "assetturnover", - "receivables_turnover": "arturnover", - "inventory_turnover": "invturnover", - "fixed_asset_turnover": "faturnover", - "payables_turnover": "apturnover", - "days_of_sales_outstanding": "dso", - "days_of_inventory_outstanding": "dio", - "days_payable_outstanding": "dpo", - "cash_conversion_cycle": "ccc", - "financial_leverage": "finleverage", - "leverage_ratio": "leverageratio", - "compound_leverage_factor": "compoundleveragefactor", - "long_term_debt_equity_ratio": "ltdebttoequity", - "debt_equity_ratio": "debttoequity", - "return_on_invested_capital": "roic", - "net_non_operating_expense_percent": "nnep", - "roic_nnep_spread": "roicnnepspread", - "return_on_net_non_operating_assets": "rnnoa", - "return_on_equity": "roe", - "cash_returned_on_invested_capitals": "croic", - "operating_return_on_assets": "oroa", - "return_on_assets": "roa", - "non_controlling_interest_sharing_ratio": "noncontrollinginterestsharingratio", - "return_on_common_equity": "roce", - "dividend_payout_ratio": "divpayoutratio", - "augmented_payout_ratio": "augmentedpayoutratio", - "operating_cash_flow_to_capex": "ocftocapex", - "short_term_debt_to_capitalization": "stdebttocap", - "long_term_debt_to_capitalization": "ltdebttocap", - "debt_to_capitalization": "debttototalcapital", - "preferred_equity_to_capitalization": "preferredtocap", - "non_controlling_interests_to_capitalization": "noncontrolinttocap", - "equity_to_capitalization": "commontocap", - "debt_to_ebitda": "debttoebitda", - "net_debt_to_ebitda": "netdebttoebitda", - "long_term_debt_to_ebita": "ltdebttoebitda", - "debt_to_nopat": "debttonopat", - "net_debt_to_nopat": "netdebttonopat", - "long_term_debt_to_nopat": "ltdebttonopat", - "altman_z_score": "altmanzscore", - "ebit_to_interest_expense": "ebittointerestex", - "nopat_to_intersest_expense": "nopattointerestex", - "ebit_less_capex_to_interest_expense": "ebitlesscapextointerestex", - "nopat_less_capex_to_interest_expense": "nopatlesscapextointex", - "operating_cash_flow_to_interest_expense": "ocftointerestex", - "operating_cash_flow_less_capex_to_interest_expense": "ocflesscapextointerestex", - "free_cash_flow_to_interest_expense": "fcfftointerestex", - "current_ratio": "curratio", - "quick_ratio": "quickratio", - "debt_free_cash_free_nwc_to_revenue": "dfcfnwctorev", - "debt_free_nwc_to_revenue": "dfnwctorev", - "net_working_capital_to_revenue": "nwctorev", - "normalized_nopat_margin": "normalizednopatmargin", - "pre_tax_income_margin": "pretaxincomemargin", - "adjusted_basic_eps": "adjbasiceps", - "adjusted_diluted_eps": "adjdilutedeps", - "adjusted_basic_diluted_eps": "adjbasicdilutedeps", - "return_on_equity_simple": "roe_simple", - } - - -class IntrinioFinancialRatiosFetcher( - Fetcher[ - IntrinioFinancialRatiosQueryParams, - list[IntrinioFinancialRatiosData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioFinancialRatiosQueryParams: - """Transform the query params.""" - return IntrinioFinancialRatiosQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioFinancialRatiosQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - statement_code = "calculations" - if query.period in ["quarter", "annual"]: - period_type = "FY" if query.period == "annual" else "QTR" - elif query.period in ["ttm", "ytd"]: - period_type = query.period.upper() - else: - raise OpenBBError(f"Period '{query.period}' not supported.") - - fundamentals_data: dict = {} - - base_url = "https://api-v2.intrinio.com" - fundamentals_url = ( - f"{base_url}/companies/{query.symbol}" - f"/fundamentals?statement_code={statement_code}&type={period_type}" - ) - if query.fiscal_year is not None: - if query.fiscal_year < 2008: - warn("Financials data is only available from 2008 and later.") - query.fiscal_year = 2008 - fundamentals_url = fundamentals_url + f"&fiscal_year={query.fiscal_year}" - fundamentals_url = fundamentals_url + f"&api_key={api_key}" - fundamentals_data = (await get_data_one(fundamentals_url, **kwargs)).get( - "fundamentals", [] - ) - ids = [item["id"] for item in fundamentals_data] - ids = ids[: query.limit] - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - statement_data = await response.json() - return { - "period_ending": statement_data["fundamental"]["end_date"], # type: ignore - "fiscal_year": statement_data["fundamental"]["fiscal_year"], # type: ignore - "fiscal_period": statement_data["fundamental"]["fiscal_period"], # type: ignore - "calculations": statement_data["standardized_financials"], # type: ignore - } - - urls = [ - f"https://api-v2.intrinio.com/fundamentals/{id}/standardized_financials?api_key={api_key}" - for id in ids - ] - - return await amake_requests(urls, callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioFinancialRatiosQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioFinancialRatiosData]: - """Return the transformed data.""" - transformed_data: list[IntrinioFinancialRatiosData] = [] - - tags = [ - "nopatmargin", - "investedcapitalturnover", - "bookvaluepershare", - "tangiblebookvaluepershare", - "pricetobook", - "pricetotangiblebook", - "pricetorevenue", - "pricetoearnings", - "dividendyield", - "earningsyield", - "evtoinvestedcapital", - "evtorevenue", - "evtoebitda", - "evtoebit", - "evtonopat", - "evtoocf", - "evtofcff", - "grossmargin", - "ebitdamargin", - "operatingmargin", - "ebitmargin", - "profitmargin", - "costofrevtorevenue", - "sgaextorevenue", - "rdextorevenue", - "opextorevenue", - "taxburdenpct", - "interestburdenpct", - "efftaxrate", - "assetturnover", - "arturnover", - "invturnover", - "faturnover", - "apturnover", - "dso", - "dio", - "dpo", - "ccc", - "finleverage", - "leverageratio", - "compoundleveragefactor", - "ltdebttoequity", - "debttoequity", - "roic", - "nnep", - "roicnnepspread", - "rnnoa", - "roe", - "croic", - "oroa", - "roa", - "noncontrollinginterestsharingratio", - "roce", - "divpayoutratio", - "augmentedpayoutratio", - "ocftocapex", - "stdebttocap", - "ltdebttocap", - "debttototalcapital", - "preferredtocap", - "noncontrolinttocap", - "commontocap", - "debttoebitda", - "netdebttoebitda", - "ltdebttoebitda", - "debttonopat", - "netdebttonopat", - "ltdebttonopat", - "altmanzscore", - "ebittointerestex", - "nopattointerestex", - "ebitlesscapextointerestex", - "nopatlesscapextointex", - "ocftointerestex", - "ocflesscapextointerestex", - "fcfftointerestex", - "curratio", - "quickratio", - "dfcfnwctorev", - "dfnwctorev", - "nwctorev", - "normalizednopatmargin", - "pretaxincomemargin", - "adjbasiceps", - "adjdilutedeps", - "adjbasicdilutedeps", - "roe_simple", - ] - - for item in data: - sub_dict: dict[str, Any] = {} - - for sub_item in item["calculations"]: - field_name = sub_item["data_tag"]["tag"] - if field_name in tags: - sub_dict[field_name] = ( - float(sub_item["value"]) - if sub_item["value"] and sub_item["value"] != 0 - else None - ) - - sub_dict["period_ending"] = item["period_ending"] - sub_dict["fiscal_year"] = item["fiscal_year"] - sub_dict["fiscal_period"] = item["fiscal_period"] - - transformed_data.append(IntrinioFinancialRatiosData(**sub_dict)) - - return transformed_data diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py deleted file mode 100644 index 4740dde00ea..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py +++ /dev/null @@ -1,199 +0,0 @@ -"""Intrinio Forward EBITDA Estimates Model.""" - -# pylint: disable=unused-argument - -import asyncio -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.forward_ebitda_estimates import ( - ForwardEbitdaEstimatesData, - ForwardEbitdaEstimatesQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError -from openbb_core.provider.utils.helpers import ( - amake_request, - get_querystring, -) -from openbb_intrinio.utils.helpers import response_callback -from pydantic import Field - - -class IntrinioForwardEbitdaEstimatesQueryParams(ForwardEbitdaEstimatesQueryParams): - """Intrinio Forward EBITDA Estimates Query. - - https://docs.intrinio.com/documentation/web_api/get_zacks_sales_estimates_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - __alias_dict__ = {"estimate_type": "type"} - - fiscal_period: Literal["annual", "quarter"] | None = Field( - default=None, description="Filter for only full-year or quarterly estimates." - ) - estimate_type: ( - Literal[ - "ebitda", "ebit", "enterprise_value", "cash_flow_per_share", "pretax_income" - ] - | None - ) = Field( - default=None, - description="Limit the EBITDA estimates to this type.", - ) - - -class IntrinioForwardEbitdaEstimatesData(ForwardEbitdaEstimatesData): - """Intrinio Forward EBITDA Estimates Data.""" - - __alias_dict__ = { - "last_updated": "updated_date", - "symbol": "ticker", - "calendar_period": "estimate_month", - "name": "company_name", - "fiscal_year": "estimate_year", - "fiscal_period": "period", - "low_estimate": "low", - "high_estimate": "high", - "number_of_analysts": "estimate_count", - "standard_deviation": "std_dev", - } - - conensus_type: ( - Literal[ - "ebitda", - "ebitda", - "ebit", - "enterprise_value", - "cash_flow_per_share", - "pretax_income", - ] - | None - ) = Field( - default=None, - description="The type of estimate.", - ) - - -class IntrinioForwardEbitdaEstimatesFetcher( - Fetcher[ - IntrinioForwardEbitdaEstimatesQueryParams, - list[IntrinioForwardEbitdaEstimatesData], - ] -): - """Intrinio Forward EBITDA Estimates Fetcher.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioForwardEbitdaEstimatesQueryParams: - """Transform the query params.""" - return IntrinioForwardEbitdaEstimatesQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioForwardEbitdaEstimatesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - BASE_URL = ( - "https://api-v2.intrinio.com/zacks/ebitda_consensus?" - + f"page_size=10000&api_key={api_key}" - ) - symbols = query.symbol.split(",") if query.symbol else None - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol"]) - results: list[dict] = [] - - async def get_one(symbol): - """Get the data for one symbol.""" - url = f"{BASE_URL}&identifier={symbol}" - url = url + f"&{query_str}" if query_str else url - data = await amake_request( - url, response_callback=response_callback, **kwargs - ) - consensus = ( - data.get("ebitda_consensus") - if isinstance(data, dict) and "ebitda_consensus" in data - else [] - ) - if not data or not consensus: - warn(f"Symbol Error: No data found for {symbol}") - if consensus: - results.extend(consensus) - - if symbols: - await asyncio.gather(*[get_one(symbol) for symbol in symbols]) - if not results: - raise EmptyDataError(f"No results were found. -> {query.symbol}") - return results - - async def fetch_callback(response, session): - """Use callback for pagination.""" - data = await response.json() - error = data.get("error", None) - if error: - message = data.get("message", "") - if "api key" in message.lower(): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {message}" - ) - raise OpenBBError(f"Error: {error} -> {message}") - - estimates = data.get("ebitda_consensus", []) # type: ignore - if estimates and len(estimates) > 0: - results.extend(estimates) - while data.get("next_page"): # type: ignore - next_page = data["next_page"] # type: ignore - next_url = f"{url}&next_page={next_page}" - data = await amake_request(next_url, session=session, **kwargs) - consensus = ( - data.get("ebitda_consensus") - if isinstance(data, dict) and "ebitda_consensus" in data - else [] - ) - if consensus: - results.extend(consensus) # type: ignore - return results - - url = f"{BASE_URL}&{query_str}" if query_str else BASE_URL - - results = await amake_request(url, response_callback=fetch_callback, **kwargs) # type: ignore - - if not results: - raise EmptyDataError("The request was successful but was returned empty.") - - return results - - @staticmethod - def transform_data( - query: IntrinioForwardEbitdaEstimatesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioForwardEbitdaEstimatesData]: - """Transform the raw data into the standard format.""" - if not data: - raise EmptyDataError() - results: list[IntrinioForwardEbitdaEstimatesData] = [] - fiscal_period = None - if query.fiscal_period is not None: - fiscal_period = "fy" if query.fiscal_period == "annual" else "fq" - for item in data: - estimate_count = item.get("estimate_count") - if ( - not estimate_count - or estimate_count == 0 - or not item.get("updated_date") - ): - continue - if fiscal_period and item.get("period") != fiscal_period: - continue - results.append(IntrinioForwardEbitdaEstimatesData.model_validate(item)) - if not results: - raise EmptyDataError() - - return sorted( - results, key=lambda x: (x.fiscal_year, x.last_updated), reverse=True - ) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py deleted file mode 100644 index 56471a5c420..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py +++ /dev/null @@ -1,231 +0,0 @@ -"""Intrinio Forward EPS Estimates Model.""" - -# pylint: disable=unused-argument - -import asyncio -from datetime import datetime -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.forward_eps_estimates import ( - ForwardEpsEstimatesData, - ForwardEpsEstimatesQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError -from openbb_core.provider.utils.helpers import ( - amake_request, - get_querystring, -) -from openbb_intrinio.utils.helpers import response_callback -from pydantic import Field, field_validator, model_validator - - -class IntrinioForwardEpsEstimatesQueryParams(ForwardEpsEstimatesQueryParams): - """Intrinio Forward EPS Estimates Query. - - https://docs.intrinio.com/documentation/web_api/get_zacks_sales_estimates_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - fiscal_year: int | None = Field( - default=None, - description="The future fiscal year to retrieve estimates for." - + " When no symbol and year is supplied the current calendar year is used.", - ) - fiscal_period: Literal["fy", "q1", "q2", "q3", "q4"] | None = Field( - default=None, - description="The future fiscal period to retrieve estimates for.", - ) - calendar_year: int | None = Field( - default=None, - description="The future calendar year to retrieve estimates for." - + " When no symbol and year is supplied the current calendar year is used.", - ) - calendar_period: Literal["q1", "q2", "q3", "q4"] | None = Field( - default=None, - description="The future calendar period to retrieve estimates for.", - ) - - @model_validator(mode="after") - @classmethod - def validate_choices(cls, values): - """Validate the model and set a safe default state.""" - if values.symbol is None and ( - values.calendar_year is None and values.fiscal_year is None - ): - values.calendar_year = datetime.now().year - return values - - -class IntrinioForwardEpsEstimatesData(ForwardEpsEstimatesData): - """Intrinio Forward EPS Estimates Data.""" - - __alias_dict__ = { - "high_estimate": "high", - "low_estimate": "low", - "number_of_analysts": "count", - "mean": "estimated_sales_mean", - "revisions_change_percent": "percent_change", - "mean_1w": "mean_7_days_ago", - "mean_1m": "mean_30_days_ago", - "mean_2m": "mean_60_days_ago", - "mean_3m": "mean_90_days_ago", - } - - revisions_change_percent: float | None = Field( - default=None, - description="The earnings per share (EPS) percent change in estimate for the period.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - mean_1w: float | None = Field( - default=None, - description="The mean estimate for the period one week ago.", - ) - mean_1m: float | None = Field( - default=None, - description="The mean estimate for the period one month ago.", - ) - mean_2m: float | None = Field( - default=None, - description="The mean estimate for the period two months ago.", - ) - mean_3m: float | None = Field( - default=None, - description="The mean estimate for the period three months ago.", - ) - - @field_validator( - "revisions_change_percent", - mode="before", - check_fields=False, - ) - @classmethod - def normalize_percent(cls, v: int | float | None) -> int | float | None: - """Normalize percent values.""" - return v / 100 if v else None - - -class IntrinioForwardEpsEstimatesFetcher( - Fetcher[ - IntrinioForwardEpsEstimatesQueryParams, list[IntrinioForwardEpsEstimatesData] - ] -): - """Intrinio Forward EPS Estimates Fetcher.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioForwardEpsEstimatesQueryParams: - """Transform the query params.""" - return IntrinioForwardEpsEstimatesQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioForwardEpsEstimatesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - BASE_URL = "https://api-v2.intrinio.com/zacks/eps_estimates?page_size=10000" - - symbols = query.symbol.split(",") if query.symbol else None - - query_str = get_querystring( - query.model_dump(by_alias=True), - ["symbol", "calendar_period", "fiscal_period", "limit"], - ) - - results: list[dict] = [] - - async def get_one(symbol): - """Get the data for one symbol.""" - url = f"{BASE_URL}&identifier={symbol}&{query_str}&api_key={api_key}" - new_data: list[dict] = [] - data = await amake_request( - url, response_callback=response_callback, **kwargs - ) - if not data or not isinstance(data, dict) or not data.get("estimates"): - warn(f"Symbol Error: No data found for {symbol}") - if isinstance(data, dict) and data.get("estimates"): - new_data = data.get("estimates") # type: ignore - if new_data: - results.extend(new_data) - - if symbols: - await asyncio.gather(*[get_one(symbol) for symbol in symbols]) - return results - - async def fetch_callback(response, session): - """Use callback for pagination.""" - data = await response.json() - error = data.get("error", None) - if error: - message = data.get("message", "") - if "api key" in message.lower(): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {message}" - ) - raise OpenBBError(f"Error: {error} -> {message}") - - if data.get("estimates") and len(data.get("estimates")) > 0: # type: ignore - results.extend(data.get("estimates")) # type: ignore - while data.get("next_page"): # type: ignore - next_page = data["next_page"] # type: ignore - next_url = f"{url}&next_page={next_page}" - data = await amake_request(next_url, session=session, **kwargs) - if "estimates" in data and len(data.get("estimates")) > 0: # type: ignore - results.extend(data.get("estimates")) # type: ignore - return results - - url = f"{BASE_URL}&{query_str}&api_key={api_key}" - - results = await amake_request(url, response_callback=fetch_callback, **kwargs) # type: ignore - - if not results: - raise EmptyDataError("The request was successful but was returned empty.") - - return results - - @staticmethod - def transform_data( - query: IntrinioForwardEpsEstimatesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioForwardEpsEstimatesData]: - """Transform the raw data into the standard format.""" - symbols = query.symbol.split(",") if query.symbol else [] - results: list[IntrinioForwardEpsEstimatesData] = [] - for item in sorted( - data, - key=lambda item: ( # type: ignore - ( - symbols.index(item.get("symbol")) if item.get("symbol") in symbols else len(symbols), # type: ignore - item.get("date"), - ) - if symbols - else item.get("date") - ), - ): - temp: dict[str, Any] = {} - company = item.pop("company") - if company.get("ticker") is None: - continue - temp["symbol"] = company.get("ticker") - temp["name"] = company.get("name") - if query.fiscal_period and query.fiscal_period.upper() != item.get( - "fiscal_period" - ): - continue - if query.calendar_period and query.calendar_period.upper() != item.get( - "calendar_period" - ): - continue - temp.update(item) - results.append(IntrinioForwardEpsEstimatesData.model_validate(temp)) - - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py deleted file mode 100644 index 9c5429f3e19..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py +++ /dev/null @@ -1,163 +0,0 @@ -"""Intrinio Forward PE Estimates Model.""" - -# pylint: disable=unused-argument - -from datetime import date as dateType -from typing import Any - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.forward_pe_estimates import ( - ForwardPeEstimatesData, - ForwardPeEstimatesQueryParams, -) -from pydantic import Field - - -class IntrinioForwardPeEstimatesQueryParams(ForwardPeEstimatesQueryParams): - """Intrinio Forward PE Estimates Query. - - https://api-v2.intrinio.com/zacks/forward_pe? - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - -class IntrinioForwardPeEstimatesData(ForwardPeEstimatesData): - """Intrinio Forward PE Estimates Data.""" - - __alias_dict__ = { - "symbol": "ticker", - "name": "company_name", - "year1": "forward_pe_year1", - "year2": "forward_pe_year2", - "year3": "forward_pe_year3", - "year4": "forward_pe_year4", - "year5": "forward_pe_year5", - "peg_ratio_year1": "forward_peg_ratio_year1", - "eps_ttm": "latest_ttm_eps", - "last_updated": "updated_date", - } - - peg_ratio_year1: float | None = Field( - default=None, - description="Estimated Forward PEG ratio for the next fiscal year.", - ) - eps_ttm: float | None = Field( - default=None, - description="The latest trailing twelve months earnings per share.", - ) - last_updated: dateType | None = Field( - default=None, - description="The date the data was last updated.", - ) - - -class IntrinioForwardPeEstimatesFetcher( - Fetcher[IntrinioForwardPeEstimatesQueryParams, list[IntrinioForwardPeEstimatesData]] -): - """Intrinio Forward PE Estimates Fetcher.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioForwardPeEstimatesQueryParams: - """Transform the query params.""" - return IntrinioForwardPeEstimatesQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioForwardPeEstimatesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - import asyncio # noqa - from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError - from openbb_core.provider.utils.helpers import amake_request - from openbb_intrinio.utils.helpers import response_callback - - api_key = credentials.get("intrinio_api_key") if credentials else "" - BASE_URL = "https://api-v2.intrinio.com/zacks/forward_pe" - symbols = query.symbol.split(",") if query.symbol else None - results: list[dict] = [] - - async def get_one(symbol): - """Get the data for one symbol.""" - url = f"{BASE_URL}/{symbol}?api_key={api_key}" - try: - data = await amake_request( - url, response_callback=response_callback, **kwargs - ) - except Exception as e: - raise OpenBBError(e) from e - - if data: - results.append(data) # type: ignore - - if symbols: - try: - gather_results = await asyncio.gather( - *[get_one(symbol) for symbol in symbols], return_exceptions=True - ) - - for result in gather_results: - if isinstance(result, UnauthorizedError): - raise result - if isinstance(result, OpenBBError): - raise result - - if not results: - raise EmptyDataError( - f"There were no results found for any of the given symbols. -> {symbols}" - ) - return results - except Exception as e: - raise OpenBBError( - f"Error in Intrinio request -> {e} -> {symbols}" - ) from e - - async def fetch_callback(response, session): - """Use callback for pagination.""" - data = await response.json() - error = data.get("error", None) - - if error: - message = data.get("message", "") - if "api key" in message.lower() or "view this data" in error.lower(): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {message} -> {error}" - ) - raise OpenBBError(f"Error: {error} -> {message}") - - forward_pe = data.get("forward_pe") - - if forward_pe and len(forward_pe) > 0: # type: ignore - results.extend(forward_pe) # type: ignore - - return results - - url = f"{BASE_URL}?page_size=10000&api_key={api_key}" - results = await amake_request(url, response_callback=fetch_callback, **kwargs) # type: ignore - - if not results: - raise EmptyDataError("The request was successful but was returned empty.") - - return results - - @staticmethod - def transform_data( - query: IntrinioForwardPeEstimatesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioForwardPeEstimatesData]: - """Transform the raw data into the standard format.""" - symbols = query.symbol.split(",") if query.symbol else [] - if symbols: - data.sort( - key=lambda item: ( - symbols.index(item.get("ticker")) if item.get("ticker") in symbols else len(symbols) # type: ignore - ) - ) - return [IntrinioForwardPeEstimatesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py deleted file mode 100644 index 3e6e78934c7..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py +++ /dev/null @@ -1,249 +0,0 @@ -"""Intrinio Forward Sales Estimates Model.""" - -# pylint: disable=unused-argument - -import asyncio -from datetime import datetime -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.forward_sales_estimates import ( - ForwardSalesEstimatesData, - ForwardSalesEstimatesQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError -from openbb_core.provider.utils.helpers import ( - amake_request, - get_querystring, -) -from openbb_intrinio.utils.helpers import response_callback -from pydantic import Field, field_validator, model_validator - - -class IntrinioForwardSalesEstimatesQueryParams(ForwardSalesEstimatesQueryParams): - """Intrinio Forward Sales Estimates Query. - - https://docs.intrinio.com/documentation/web_api/get_zacks_sales_estimates_v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - fiscal_year: int | None = Field( - default=None, - description="The future fiscal year to retrieve estimates for." - + " When no symbol and year is supplied the current calendar year is used.", - ) - fiscal_period: Literal["fy", "q1", "q2", "q3", "q4"] | None = Field( - default=None, - description="The future fiscal period to retrieve estimates for.", - ) - calendar_year: int | None = Field( - default=None, - description="The future calendar year to retrieve estimates for." - + " When no symbol and year is supplied the current calendar year is used.", - ) - calendar_period: Literal["q1", "q2", "q3", "q4"] | None = Field( - default=None, - description="The future calendar period to retrieve estimates for.", - ) - - @model_validator(mode="after") - @classmethod - def validate_choices(cls, values): - """Validate the model and set a safe default state.""" - if values.symbol is None and ( - values.calendar_year is None and values.fiscal_year is None - ): - values.calendar_year = datetime.now().year - return values - - -class IntrinioForwardSalesEstimatesData(ForwardSalesEstimatesData): - """Intrinio Forward Sales Estimates Data.""" - - __alias_dict__ = { - "low_estimate": "low", - "high_estimate": "high", - "number_of_analysts": "count", - "mean": "estimated_sales_mean", - "revisions_1w_up": "analyst_revisions_up_1w", - "revisions_1w_down": "analyst_revisions_down_1w", - "revisions_1w_change_percent": "analyst_revisions_percent_change_1w", - "revisions_1m_up": "analyst_revisions_up_1m", - "revisions_1m_down": "analyst_revisions_down_1m", - "revisions_1m_change_percent": "analyst_revisions_percent_change_1m", - "revisions_3m_up": "analyst_revisions_up_3m", - "revisions_3m_down": "analyst_revisions_down_3m", - "revisions_3m_change_percent": "analyst_revisions_percent_change_3m", - } - - revisions_1w_up: int | None = Field( - default=None, description="Number of revisions up in the last week." - ) - revisions_1w_down: int | None = Field( - default=None, description="Number of revisions down in the last week." - ) - revisions_1w_change_percent: float | None = Field( - default=None, - description="The analyst revisions percent change in estimate for the period of 1 week.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - revisions_1m_up: int | None = Field( - default=None, description="Number of revisions up in the last month." - ) - revisions_1m_down: int | None = Field( - default=None, description="Number of revisions down in the last month." - ) - revisions_1m_change_percent: float | None = Field( - default=None, - description="The analyst revisions percent change in estimate for the period of 1 month.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - revisions_3m_up: int | None = Field( - default=None, description="Number of revisions up in the last 3 months." - ) - revisions_3m_down: int | None = Field( - default=None, description="Number of revisions down in the last 3 months." - ) - revisions_3m_change_percent: float | None = Field( - default=None, - description="The analyst revisions percent change in estimate for the period of 3 months.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - - @field_validator( - "revisions_1w_change_percent", - "revisions_1m_change_percent", - "revisions_3m_change_percent", - mode="before", - check_fields=False, - ) - @classmethod - def normalize_percent(cls, v: int | float | None) -> int | float | None: - """Normalize percent values.""" - return v / 100 if v else None - - -class IntrinioForwardSalesEstimatesFetcher( - Fetcher[ - IntrinioForwardSalesEstimatesQueryParams, - list[IntrinioForwardSalesEstimatesData], - ] -): - """Intrinio Forward Sales Estimates Fetcher.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioForwardSalesEstimatesQueryParams: - """Transform the query params.""" - return IntrinioForwardSalesEstimatesQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioForwardSalesEstimatesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - BASE_URL = "https://api-v2.intrinio.com/zacks/sales_estimates?page_size=10000" - - symbols = query.symbol.split(",") if query.symbol else None - - query_str = get_querystring( - query.model_dump(by_alias=True), - ["symbol", "calendar_period", "fiscal_period", "limit"], - ) - - results: list[dict] = [] - - async def get_one(symbol): - """Get the data for one symbol.""" - url = f"{BASE_URL}&identifier={symbol}&{query_str}&api_key={api_key}" - new_data: list[dict] = [] - data = await amake_request( - url, response_callback=response_callback, **kwargs - ) - if not data or not isinstance(data, dict) or not data.get("estimates"): - warn(f"Symbol Error: No data found for {symbol}") - if isinstance(data, dict) and data.get("estimates"): - new_data = data.get("estimates") # type: ignore - if new_data: - results.extend(new_data) - - if symbols: - await asyncio.gather(*[get_one(symbol) for symbol in symbols]) - return results - - async def fetch_callback(response, session): - """Use callback for pagination.""" - data = await response.json() - error = data.get("error", None) - if error: - message = data.get("message", "") - if "api key" in message.lower(): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {message}" - ) - raise OpenBBError(f"Error: {error} -> {message}") - if data.get("estimates") and len(data.get("estimates")) > 0: # type: ignore - results.extend(data.get("estimates")) # type: ignore - while data.get("next_page"): # type: ignore - next_page = data["next_page"] # type: ignore - next_url = f"{url}&next_page={next_page}" - data = await amake_request(next_url, session=session, **kwargs) - if "estimates" in data and len(data.get("estimates")) > 0: # type: ignore - results.extend(data.get("estimates")) # type: ignore - return results - - url = f"{BASE_URL}&{query_str}&api_key={api_key}" - - results = await amake_request(url, response_callback=fetch_callback, **kwargs) # type: ignore - - if not results: - raise EmptyDataError("The request was successful but was returned empty.") - - return results - - @staticmethod - def transform_data( - query: IntrinioForwardSalesEstimatesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioForwardSalesEstimatesData]: - """Transform the raw data into the standard format.""" - symbols = query.symbol.split(",") if query.symbol else [] - results: list[IntrinioForwardSalesEstimatesData] = [] - for item in sorted( - data, - key=lambda item: ( # type: ignore - ( - symbols.index(item.get("symbol")) if item.get("symbol") in symbols else len(symbols), # type: ignore - item.get("date"), - ) - if symbols - else item.get("date") - ), - ): - temp: dict[str, Any] = {} - company = item.pop("company") - if company.get("ticker") is None: - continue - temp["symbol"] = company.get("ticker") - temp["name"] = company.get("name") - if query.fiscal_period and query.fiscal_period.upper() != item.get( - "fiscal_period" - ): - continue - if query.calendar_period and query.calendar_period.upper() != item.get( - "calendar_period" - ): - continue - temp.update(item) - results.append(IntrinioForwardSalesEstimatesData.model_validate(temp)) - - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/fred_series.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/fred_series.py deleted file mode 100644 index 03c36640051..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/fred_series.py +++ /dev/null @@ -1,119 +0,0 @@ -"""Intrinio FRED Series Model.""" - -# pylint: disable=unused-argument - -import asyncio -from datetime import datetime -from typing import Any - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.fred_series import ( - SeriesData, - SeriesQueryParams, -) -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_requests, - get_querystring, -) -from pydantic import Field - - -class IntrinioFredSeriesQueryParams(SeriesQueryParams): - """Intrinio FRED Series Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_economic_index_historical_data_v2 - """ - - __alias_dict__ = {"limit": "page_size"} - - all_pages: bool | None = Field( - default=False, - description="Returns all pages of data from the API call at once.", - ) - sleep: float | None = Field( - default=1.0, - description="Time to sleep between requests to avoid rate limiting.", - ) - - -class IntrinioFredSeriesData(SeriesData): - """Intrinio FRED Series Data.""" - - value: float | None = Field(default=None, description="Value of the index.") - - -class IntrinioFredSeriesFetcher( - Fetcher[ - IntrinioFredSeriesQueryParams, - list[IntrinioFredSeriesData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioFredSeriesQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioFredSeriesQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioFredSeriesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com" - query_str = get_querystring( - query.model_dump(), ["symbol", "all_pages", "sleep"] - ) - - url = ( - f"{base_url}/indices/economic/${query.symbol.replace('$', '')}/historical_data/level" - f"?{query_str}&api_key={api_key}" - ) - - async def callback(response: ClientResponse, session: ClientSession) -> list: - """Return the response.""" - init_response: Any = await response.json() - all_data: list = [] - init_data = init_response.get("historical_data", []) - - if init_data and isinstance(init_data, list): - all_data.extend(init_data) - - if query.all_pages: - next_page = init_response.get("next_page", None) - while next_page: - if query.limit and query.limit > 100: - await asyncio.sleep(query.sleep or 1.0) - - url = response.url.update_query(next_page=next_page).human_repr() - response_data = await session.get_json(url) - - all_data.extend(response_data.get("historical_data", [])) # type: ignore - next_page = response_data.get("next_page", None) # type: ignore - - return all_data - - return await amake_requests([url], callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioFredSeriesQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioFredSeriesData]: - """Return the transformed data.""" - return [IntrinioFredSeriesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_attributes.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_attributes.py deleted file mode 100644 index da37906235b..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_attributes.py +++ /dev/null @@ -1,140 +0,0 @@ -"""Intrinio Historical Attributes Model.""" - -# pylint: disable = unused-argument - -import warnings -from datetime import datetime -from typing import Any - -from dateutil.relativedelta import relativedelta -from openbb_core.app.model.abstract.warning import OpenBBWarning -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.historical_attributes import ( - HistoricalAttributesData, - HistoricalAttributesQueryParams, -) -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_requests, - get_querystring, -) - - -class IntrinioHistoricalAttributesQueryParams(HistoricalAttributesQueryParams): - """Intrinio Historical Attributes Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_historical_data_v2 - """ - - __alias_dict__ = {"sort": "sort_order", "limit": "page_size", "tag_type": "type"} - __json_schema_extra__ = { - "tag": {"multiple_items_allowed": True}, - "symbol": {"multiple_items_allowed": True}, - } - - -class IntrinioHistoricalAttributesData(HistoricalAttributesData): - """Intrinio Historical Attributes Data.""" - - -class IntrinioHistoricalAttributesFetcher( - Fetcher[ - IntrinioHistoricalAttributesQueryParams, - list[IntrinioHistoricalAttributesData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioHistoricalAttributesQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=5) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioHistoricalAttributesQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioHistoricalAttributesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com" - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol", "tag"]) - - def generate_url(symbol: str, tag: str) -> str: - """Return the url for the given symbol and tag.""" - url_params = f"{symbol}/{tag}?{query_str}&api_key={api_key}" - url = f"{base_url}/historical_data/{url_params}" - return url - - async def callback( - response: ClientResponse, session: ClientSession - ) -> list[dict]: - """Return the response.""" - init_response = await response.json() - - if message := init_response.get( # type: ignore - "error" - ) or init_response.get( # type: ignore - "message" - ): - warnings.warn(message=str(message), category=OpenBBWarning) - return [] - - symbol = response.url.parts[-2] # type: ignore - tag = response.url.parts[-1] # type: ignore - - all_data: list = init_response.get("historical_data", []) # type: ignore - all_data = [{**item, "symbol": symbol, "tag": tag} for item in all_data] - - next_page = init_response.get("next_page", None) # type: ignore - while next_page: - url = response.url.update_query(next_page=next_page).human_repr() # type: ignore - response_data = await session.get_json(url) - - if message := response_data.get("error") or response_data.get("message"): # type: ignore - warnings.warn(message=message, category=OpenBBWarning) - return [] - - symbol = response.url.parts[-2] # type: ignore - tag = response_data.url.parts[-1] # type: ignore - - response_data = response_data.get("historical_data", []) # type: ignore - response_data = [ - {**item, "symbol": symbol, "tag": tag} for item in response_data - ] - - all_data.extend(response_data) - next_page = response_data.get("next_page", None) # type: ignore - - return all_data - - urls = [ - generate_url(symbol, tag) - for symbol in query.symbol.split(",") - for tag in query.tag.split(",") - ] - - return await amake_requests(urls, callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioHistoricalAttributesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioHistoricalAttributesData]: - """Return the transformed data.""" - return [IntrinioHistoricalAttributesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_dividends.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_dividends.py deleted file mode 100644 index 5dd12d6d086..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_dividends.py +++ /dev/null @@ -1,107 +0,0 @@ -"""Intrinio Historical Dividends Model.""" - -# pylint: disable=unused-argument -from datetime import datetime -from typing import Any - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.historical_dividends import ( - HistoricalDividendsData, - HistoricalDividendsQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_many -from pydantic import Field - - -class IntrinioHistoricalDividendsQueryParams(HistoricalDividendsQueryParams): - """Intrinio Historical Dividends Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_security_stock_price_adjustments_v2 - """ - - __alias_dict__ = {"limit": "page_size"} - - limit: int | None = Field( - default=100, - description=QUERY_DESCRIPTIONS.get("limit", ""), - ) - - -class IntrinioHistoricalDividendsData(HistoricalDividendsData): - """Intrinio Historical Dividends Data.""" - - __alias_dict__ = { - "ex_dividend_date": "date", - "amount": "dividend", - "currency": "dividend_currency", - } - - factor: float | None = Field( - default=None, - description=( - "factor by which to multiply stock prices before this date, " - "in order to calculate historically-adjusted stock prices." - ), - ) - currency: str | None = Field( - default=None, - description="The currency in which the dividend is paid.", - ) - split_ratio: float | None = Field( - default=None, - description="The ratio of the stock split, if a stock split occurred.", - ) - - -class IntrinioHistoricalDividendsFetcher( - Fetcher[ - IntrinioHistoricalDividendsQueryParams, - list[IntrinioHistoricalDividendsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioHistoricalDividendsQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(year=1) - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioHistoricalDividendsQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioHistoricalDividendsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/securities" - query_str = get_querystring(query.model_dump(), ["symbol"]) - url = f"{base_url}/{query.symbol}/prices/adjustments?{query_str}&api_key={api_key}" - - return await get_data_many(url, "stock_price_adjustments", **kwargs) - - @staticmethod - def transform_data( - query: IntrinioHistoricalDividendsQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioHistoricalDividendsData]: - """Return the transformed data.""" - transformed_data: list[dict] = [ - {"symbol": query.symbol, **item} for item in data - ] - return [ - IntrinioHistoricalDividendsData.model_validate(d) for d in transformed_data - ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_market_cap.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_market_cap.py deleted file mode 100644 index 12e7a582b06..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/historical_market_cap.py +++ /dev/null @@ -1,150 +0,0 @@ -"""Intrinio Historical Market Cap Model.""" - -# pylint: disable=unused-argument -from datetime import datetime -from typing import Any, Literal - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.historical_market_cap import ( - HistoricalMarketCapData, - HistoricalMarketCapQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from pydantic import Field - - -class IntrinioHistoricalMarketCapQueryParams(HistoricalMarketCapQueryParams): - """Intrinio Historical MarketCap Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_historical_data_v2 - """ - - __json_schema_extra__ = { - "symbol": {"multiple_items_allowed": True}, - "interval": { - "multiple_items_allowed": False, - "choices": ["day", "week", "month", "quarter", "year"], - }, - } - - interval: Literal["day", "week", "month", "quarter", "year"] = Field( - default="day", - ) - - -class IntrinioHistoricalMarketCapData(HistoricalMarketCapData): - """Intrinio Historical MarketCap Data.""" - - __alias_dict__ = { - "market_cap": "value", - } - - -class IntrinioHistoricalMarketCapFetcher( - Fetcher[ - IntrinioHistoricalMarketCapQueryParams, - list[IntrinioHistoricalMarketCapData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioHistoricalMarketCapQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = datetime( - 2007, - 1, - 1, - ).date() - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioHistoricalMarketCapQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioHistoricalMarketCapQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - import asyncio # noqa - from openbb_core.provider.utils.helpers import amake_request - from openbb_intrinio.utils.helpers import response_callback - from warnings import warn - - api_key = credentials.get("intrinio_api_key") if credentials else "" - base_url = "https://api-v2.intrinio.com/historical_data/" - frequency = f"frequency={query.interval}ly&" if query.interval != "day" else "" - start_date = query.start_date - end_date = query.end_date - results: list = [] - messages: list = [] - symbols = query.symbol.split(",") - - async def get_one(symbol): - """Get data for one symbol.""" - url_params = ( - f"{symbol}/marketcap?{frequency}start_date={start_date}" - f"&end_date={end_date}&page_size=10000" - f"&api_key={api_key}" - ) - url = f"{base_url}{url_params}" - try: - response = await amake_request(url, response_callback=response_callback) - except OpenBBError as e: - if "Cannot look up this item/identifier combination" in str(e): - msg = f"Symbol not found: {symbol}" - messages.append(msg) - return - raise e from e - - if not isinstance(response, dict): - raise OpenBBError( - f"Unexpected response format, expected a dictionary, got {response.__class__.__name__}" - ) - - if not response: - msg = f"No data found for symbol: {symbol}" - messages.append(msg) - - if response.get("historical_data"): - data = response.get("historical_data", {}) - result = [ - {"symbol": symbol, **item} for item in data if item.get("value") - ] - results.extend(result) - - return - - await asyncio.gather(*[get_one(symbol) for symbol in symbols]) - - if messages and not results: - raise OpenBBError(messages) - - if messages and results: - for message in messages: - warn(message) - - if not results: - raise EmptyDataError("The response was returned empty.") - - return results - - @staticmethod - def transform_data( - query: IntrinioHistoricalMarketCapQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioHistoricalMarketCapData]: - """Return the transformed data.""" - return [ - IntrinioHistoricalMarketCapData.model_validate(d) - for d in sorted(data, key=lambda x: x["date"]) - ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py deleted file mode 100644 index 0124c15fe87..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py +++ /dev/null @@ -1,502 +0,0 @@ -"""Intrinio Income Statement Model.""" - -# pylint: disable=unused-argument - -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.income_statement import ( - IncomeStatementData, - IncomeStatementQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_requests, -) -from openbb_intrinio.utils.helpers import get_data_one -from pydantic import Field, field_validator - - -class IntrinioIncomeStatementQueryParams(IncomeStatementQueryParams): - """Intrinio Income Statement Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_fundamentals_v2 - Source: https://docs.intrinio.com/documentation/web_api/get_fundamental_standardized_financials_v2 - """ - - __json_schema_extra__ = { - "period": { - "choices": ["annual", "quarter", "ttm", "ytd"], - } - } - - period: Literal["annual", "quarter", "ttm", "ytd"] = Field( - default="annual", - description=QUERY_DESCRIPTIONS.get("period", ""), - ) - fiscal_year: int | None = Field( - default=None, - description="The specific fiscal year. Reports do not go beyond 2008.", - ) - - @field_validator("symbol", mode="after", check_fields=False) - @classmethod - def handle_symbol(cls, v) -> str: - """Handle symbols with a dash and replace it with a dot for Intrinio.""" - return v.replace("-", ".") - - -class IntrinioIncomeStatementData(IncomeStatementData): - """Intrinio Income Statement Data.""" - - __alias_dict__ = { - "amortization_expense": "amortizationexpense", - "amortizationof_deferred_policy_acquisition_costs": "amortizationofdeferredpolicyacquisitioncosts", - "basic_and_diluted_earnings_per_share": "basicdilutedeps", - "basic_earnings_per_share": "basiceps", - "capitalized_lease_obligations_interest_expense": "capitalizedleaseobligationinterestexpense", - "cash_dividends_to_common_per_share": "cashdividendspershare", - "current_and_future_benefits": "currentandfuturebenefits", - "depletion_expense": "depletionexpense", - "deposits_interest_expense": "depositsinterestexpense", - "deposits_and_money_market_investments_interest_income": "depositsinterestincome", - "depreciation_expense": "depreciationexpense", - "diluted_earnings_per_share": "dilutedeps", - "exploration_expense": "explorationexpense", - "extraordinary_income": "extraordinaryincome", - "federal_funds_purchased_and_securities_sold_interest_expense": "fedfundsandrepointerestexpense", - "federal_funds_sold_and_securities_borrowed_interest_income": "fedfundsandrepointerestincome", - "impairment_charge": "impairmentexpense", - "income_tax_expense": "incometaxexpense", - "pre_tax_income_margin": "pretaxincomemargin", - "investment_banking_income": "investmentbankingincome", - "investment_securities_interest_income": "investmentsecuritiesinterestincome", - "loans_and_leases_interest_income": "loansandleaseinterestincome", - "long_term_debt_interest_expense": "longtermdebtinterestexpense", - "marketing_expense": "marketingexpense", - "consolidated_net_income": "netincome", - "net_income_continuing_operations": "netincomecontinuing", - "net_income_discontinued_operations": "netincomediscontinued", - "net_income_attributable_to_common_shareholders": "netincometocommon", - "net_income_attributable_to_noncontrolling_interest": "netincometononcontrollinginterest", - "net_interest_income": "netinterestincome", - "net_occupancy_and_equipment_expense": "netoccupancyequipmentexpense", - "net_realized_and_unrealized_capital_gains_on_investments": "netrealizedcapitalgains", - "non_operating_income": "nonoperatingincome", - "operating_revenue": "operatingrevenue", - "operating_cost_of_revenue": "operatingcostofrevenue", - "other_adjustments_to_consolidated_net_income": "otheradjustmentstoconsolidatednetincome", - "other_adjustments_to_net_income_attributable_to_common_shareholders": "otheradjustmentstonetincometocommon", - "other_adjustment_to_net_income_attributable_to_common_shareholders": "otheradjustmentstonetincometocommon", - "other_cost_of_revenue": "othercostofrevenue", - "other_gains": "othergains", - "other_income": "otherincome", - "other_interest_expense": "otherinterestexpense", - "other_interest_income": "otherinterestincome", - "other_non_interest_income": "othernoninterestincome", - "other_operating_expenses": "otheroperatingexpenses", - "other_revenue": "otherrevenue", - "other_service_charges": "otherservicechargeincome", - "other_special_charges": "otherspecialcharges", - "insurance_policy_acquisition_costs": "policyacquisitioncosts", - "preferred_stock_dividends_declared": "preferreddividends", - "premiums_earned": "premiumsearned", - "property_and_liability_insurance_claims": "propertyliabilityinsuranceclaims", - "provision_for_credit_losses": "provisionforcreditlosses", - "research_and_development_expense": "rdexpense", - "restructuring_charge": "restructuringcharge", - "salaries_and_employee_benefits": "salariesandemployeebenefitsexpense", - "service_charges_on_deposit_accounts": "servicechargesondepositsincome", - "selling_general_and_admin_expense": "sgaexpense", - "short_term_borrowings_interest_expense": "shorttermborrowinginterestexpense", - "cost_of_revenue": "totalcostofrevenue", - "gross_profit": "totalgrossprofit", - "gross_profit_margin": "grossmargin", - "total_interest_expense": "totalinterestexpense", - "interest_and_investment_income": "totalinterestincome", - "total_non_interest_expense": "totalnoninterestexpense", - "total_non_interest_income": "totalnoninterestincome", - "total_operating_expenses": "totaloperatingexpenses", - "total_operating_income": "totaloperatingincome", - "total_other_income": "totalotherincome", - "total_pre_tax_income": "totalpretaxincome", - "revenue": "totalrevenue", - "trading_account_interest_income": "tradingaccountinterestincome", - "trust_fees_by_commissions": "trustfeeincome", - "ebit": "ebit", - "ebitda": "ebitda", - "ebitda_margin": "ebitdamargin", - "weighted_average_basic_and_diluted_shares_outstanding": "weightedavebasicdilutedsharesos", - "weighted_average_basic_shares_outstanding": "weightedavebasicsharesos", - "weighted_average_diluted_shares_outstanding": "weightedavedilutedsharesos", - } - - reported_currency: str | None = Field( - description="The currency in which the balance sheet is reported.", - default=None, - ) - revenue: float | None = Field(default=None, description="Total revenue") - operating_revenue: float | None = Field( - default=None, description="Total operating revenue" - ) - cost_of_revenue: float | None = Field( - default=None, description="Total cost of revenue" - ) - operating_cost_of_revenue: float | None = Field( - default=None, description="Total operating cost of revenue" - ) - gross_profit: float | None = Field(default=None, description="Total gross profit") - gross_profit_margin: float | None = Field( - default=None, - description="Gross margin ratio.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - provision_for_credit_losses: float | None = Field( - default=None, - description="Provision for credit losses", - ) - research_and_development_expense: float | None = Field( - default=None, description="Research and development expense" - ) - selling_general_and_admin_expense: float | None = Field( - default=None, description="Selling, general, and admin expense" - ) - salaries_and_employee_benefits: float | None = Field( - default=None, description="Salaries and employee benefits" - ) - marketing_expense: float | None = Field( - default=None, description="Marketing expense" - ) - net_occupancy_and_equipment_expense: float | None = Field( - default=None, description="Net occupancy and equipment expense" - ) - other_operating_expenses: float | None = Field( - default=None, description="Other operating expenses" - ) - depreciation_expense: float | None = Field( - default=None, description="Depreciation expense" - ) - amortization_expense: float | None = Field( - default=None, description="Amortization expense" - ) - amortization_of_deferred_policy_acquisition_costs: float | None = Field( - default=None, description="Amortization of deferred policy acquisition costs" - ) - exploration_expense: float | None = Field( - default=None, description="Exploration expense" - ) - depletion_expense: float | None = Field( - default=None, description="Depletion expense" - ) - total_operating_expenses: float | None = Field( - default=None, description="Total operating expenses" - ) - total_operating_income: float | None = Field( - default=None, description="Total operating income" - ) - deposits_and_money_market_investments_interest_income: float | None = Field( - default=None, - description="Deposits and money market investments interest income", - ) - federal_funds_sold_and_securities_borrowed_interest_income: float | None = Field( - default=None, - description="Federal funds sold and securities borrowed interest income", - ) - investment_securities_interest_income: float | None = Field( - default=None, description="Investment securities interest income" - ) - loans_and_leases_interest_income: float | None = Field( - default=None, description="Loans and leases interest income" - ) - trading_account_interest_income: float | None = Field( - default=None, description="Trading account interest income" - ) - other_interest_income: float | None = Field( - default=None, description="Other interest income" - ) - total_non_interest_income: float | None = Field( - default=None, description="Total non-interest income" - ) - interest_and_investment_income: float | None = Field( - default=None, description="Interest and investment income" - ) - short_term_borrowings_interest_expense: float | None = Field( - default=None, description="Short-term borrowings interest expense" - ) - long_term_debt_interest_expense: float | None = Field( - default=None, description="Long-term debt interest expense" - ) - capitalized_lease_obligations_interest_expense: float | None = Field( - default=None, description="Capitalized lease obligations interest expense" - ) - deposits_interest_expense: float | None = Field( - default=None, description="Deposits interest expense" - ) - federal_funds_purchased_and_securities_sold_interest_expense: float | None = Field( - default=None, - description="Federal funds purchased and securities sold interest expense", - ) - other_interest_expense: float | None = Field( - default=None, description="Other interest expense" - ) - total_interest_expense: float | None = Field( - default=None, description="Total interest expense" - ) - net_interest_income: float | None = Field( - default=None, description="Net interest income" - ) - other_non_interest_income: float | None = Field( - default=None, description="Other non-interest income" - ) - investment_banking_income: float | None = Field( - default=None, description="Investment banking income" - ) - trust_fees_by_commissions: float | None = Field( - default=None, description="Trust fees by commissions" - ) - premiums_earned: float | None = Field(default=None, description="Premiums earned") - insurance_policy_acquisition_costs: float | None = Field( - default=None, description="Insurance policy acquisition costs" - ) - current_and_future_benefits: float | None = Field( - default=None, description="Current and future benefits" - ) - property_and_liability_insurance_claims: float | None = Field( - default=None, description="Property and liability insurance claims" - ) - total_non_interest_expense: float | None = Field( - default=None, description="Total non-interest expense" - ) - net_realized_and_unrealized_capital_gains_on_investments: float | None = Field( - default=None, - description="Net realized and unrealized capital gains on investments", - ) - other_gains: float | None = Field(default=None, description="Other gains") - non_operating_income: float | None = Field( - default=None, description="Non-operating income" - ) - other_income: float | None = Field(default=None, description="Other income") - other_revenue: float | None = Field(default=None, description="Other revenue") - - extraordinary_income: float | None = Field( - default=None, description="Extraordinary income" - ) - total_other_income: float | None = Field( - default=None, description="Total other income" - ) - ebitda: float | None = Field( - default=None, - description="Earnings Before Interest, Taxes, Depreciation and Amortization.", - ) - ebitda_margin: float | None = Field( - default=None, - description="Margin on Earnings Before Interest, Taxes, Depreciation and Amortization.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - total_pre_tax_income: float | None = Field( - default=None, description="Total pre-tax income" - ) - ebit: float | None = Field( - default=None, description="Earnings Before Interest and Taxes." - ) - pre_tax_income_margin: float | None = Field( - default=None, - description="Pre-Tax Income Margin.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - income_tax_expense: float | None = Field( - default=None, description="Income tax expense" - ) - impairment_charge: float | None = Field( - default=None, description="Impairment charge" - ) - restructuring_charge: float | None = Field( - default=None, description="Restructuring charge" - ) - service_charges_on_deposit_accounts: float | None = Field( - default=None, description="Service charges on deposit accounts" - ) - other_service_charges: float | None = Field( - default=None, description="Other service charges" - ) - other_special_charges: float | None = Field( - default=None, description="Other special charges" - ) - other_cost_of_revenue: float | None = Field( - default=None, description="Other cost of revenue" - ) - net_income_continuing_operations: float | None = Field( - default=None, description="Net income (continuing operations)" - ) - net_income_discontinued_operations: float | None = Field( - default=None, description="Net income (discontinued operations)" - ) - consolidated_net_income: float | None = Field( - default=None, description="Consolidated net income" - ) - other_adjustments_to_consolidated_net_income: float | None = Field( - default=None, description="Other adjustments to consolidated net income" - ) - other_adjustment_to_net_income_attributable_to_common_shareholders: float | None = ( - Field( - default=None, - description="Other adjustment to net income attributable to common shareholders", - ) - ) - net_income_attributable_to_noncontrolling_interest: float | None = Field( - default=None, description="Net income attributable to noncontrolling interest" - ) - net_income_attributable_to_common_shareholders: float | None = Field( - default=None, description="Net income attributable to common shareholders" - ) - basic_earnings_per_share: float | None = Field( - default=None, description="Basic earnings per share" - ) - diluted_earnings_per_share: float | None = Field( - default=None, description="Diluted earnings per share" - ) - basic_and_diluted_earnings_per_share: float | None = Field( - default=None, description="Basic and diluted earnings per share" - ) - cash_dividends_to_common_per_share: float | None = Field( - default=None, description="Cash dividends to common per share" - ) - preferred_stock_dividends_declared: float | None = Field( - default=None, description="Preferred stock dividends declared" - ) - weighted_average_basic_shares_outstanding: float | None = Field( - default=None, description="Weighted average basic shares outstanding" - ) - weighted_average_diluted_shares_outstanding: float | None = Field( - default=None, description="Weighted average diluted shares outstanding" - ) - weighted_average_basic_and_diluted_shares_outstanding: float | None = Field( - default=None, - description="Weighted average basic and diluted shares outstanding", - ) - - -class IntrinioIncomeStatementFetcher( - Fetcher[ - IntrinioIncomeStatementQueryParams, - list[IntrinioIncomeStatementData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioIncomeStatementQueryParams: - """Transform the query params.""" - return IntrinioIncomeStatementQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioIncomeStatementQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - statement_code = "income_statement" - if query.period in ["quarter", "annual"]: - period_type = "FY" if query.period == "annual" else "QTR" - elif query.period in ["ttm", "ytd"]: - period_type = query.period.upper() - else: - raise OpenBBError(f"Period '{query.period}' not supported.") - - data_tags = [ - "ebit", - "ebitda", - "ebitdamargin", - "pretaxincomemargin", - "grossmargin", - ] - - fundamentals_data: dict = {} - - base_url = "https://api-v2.intrinio.com" - - fundamentals_url = ( - f"{base_url}/companies/{query.symbol}" - f"/fundamentals?statement_code={statement_code}&type={period_type}" - ) - if query.fiscal_year is not None: - if query.fiscal_year < 2008: - warn("Financials data is only available from 2008 and later.") - query.fiscal_year = 2008 - fundamentals_url = fundamentals_url + f"&fiscal_year={query.fiscal_year}" - fundamentals_url = fundamentals_url + f"&api_key={api_key}" - fundamentals_data = (await get_data_one(fundamentals_url, **kwargs)).get( - "fundamentals", [] - ) - - fiscal_periods = [ - f"{item['fiscal_year']}-{item['fiscal_period']}" - for item in fundamentals_data - ] - fiscal_periods = fiscal_periods[: query.limit] - - async def callback(response: ClientResponse, session: ClientSession) -> dict: - """Return the response.""" - intrinio_id = response.url.parts[-2].replace(statement_code, "calculations") - - statement_data = await response.json() - - calculations_url = f"{base_url}/fundamentals/{intrinio_id}/standardized_financials?api_key={api_key}" - calculations_data = await session.get_json(calculations_url) - - calculations_data = [ - item - for item in calculations_data.get("standardized_financials", []) # type: ignore - if item["data_tag"]["tag"] in data_tags - ] - - return { - "period_ending": statement_data["fundamental"]["end_date"], # type: ignore - "fiscal_period": statement_data["fundamental"]["fiscal_period"], # type: ignore - "fiscal_year": statement_data["fundamental"]["fiscal_year"], # type: ignore - "financials": statement_data["standardized_financials"] + calculations_data, # type: ignore - } - - intrinio_id = f"{query.symbol}-{statement_code}" - urls = [ - f"{base_url}/fundamentals/{intrinio_id}-{period}/standardized_financials?api_key={api_key}" - for period in fiscal_periods - ] - - return await amake_requests(urls, callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioIncomeStatementQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioIncomeStatementData]: - """Return the transformed data.""" - transformed_data: list[IntrinioIncomeStatementData] = [] - units = [] - for item in data: - sub_dict: dict[str, Any] = {} - - for sub_item in item["financials"]: - unit = sub_item["data_tag"].get("unit", "") - if unit and len(unit) == 3: - units.append(unit) - field_name = sub_item["data_tag"]["tag"] - sub_dict[field_name] = ( - float(sub_item["value"]) - if sub_item["value"] and sub_item["value"] != 0 - else None - ) - - sub_dict["period_ending"] = item["period_ending"] - sub_dict["fiscal_year"] = item["fiscal_year"] - sub_dict["fiscal_period"] = item["fiscal_period"] - sub_dict["reported_currency"] = list(set(units))[0] - - transformed_data.append(IntrinioIncomeStatementData(**sub_dict)) - - return transformed_data diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/index_historical.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/index_historical.py deleted file mode 100644 index c24da360c99..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/index_historical.py +++ /dev/null @@ -1,101 +0,0 @@ -"""Intrinio Index Historical Model.""" - -from datetime import datetime -from typing import Any - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.index_historical import ( - IndexHistoricalData, - IndexHistoricalQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import amake_requests, get_querystring -from pydantic import Field - - -class IntrinioIndexHistoricalQueryParams(IndexHistoricalQueryParams): - """Intrinio Index Historical Query. - - Source: - https://docs.intrinio.com/documentation/web_api/get_stock_market_index_historical_data_v2 - """ - - __alias_dict__ = {"limit": "page_size", "sort": "sort_order"} - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - limit: int | None = Field( - default=10000, - description=QUERY_DESCRIPTIONS.get("limit", ""), - ) - - -class IntrinioIndexHistoricalData(IndexHistoricalData): - """Intrinio Index Historical Data.""" - - __alias_dict__ = {"close": "value"} - - -class IntrinioIndexHistoricalFetcher( - Fetcher[ - IntrinioIndexHistoricalQueryParams, - list[IntrinioIndexHistoricalData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioIndexHistoricalQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioIndexHistoricalQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioIndexHistoricalQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - results = [] - api_key = credentials.get("intrinio_api_key") if credentials else "" - symbols = query.symbol.replace("$", "").replace("^", "").split(",") - base_url = "https://api-v2.intrinio.com/indices/stock_market" - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol"]) - urls = [ - f"{base_url}/${symbol}/historical_data/level?{query_str}&api_key={api_key}" - for symbol in symbols - ] - - async def callback(response, _) -> list[dict]: - """Response callback.""" - _response = await response.json() - data = _response.get("historical_data") - symbol = _response["index"].get("symbol").replace("$", "") - data = [d for d in data if d.get("value") is not None] - data = [{"symbol": symbol, **d} for d in data] if len(symbols) > 1 else data - return results.extend(data) if len(data) > 0 else results # type: ignore - - await amake_requests(urls, callback, **kwargs) - - if len(results) == 0: - raise EmptyDataError() - return results - - @staticmethod - def transform_data( - query: IntrinioIndexHistoricalQueryParams, # pylint: disable=unused-argument - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioIndexHistoricalData]: - """Return the transformed data.""" - return [IntrinioIndexHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/insider_trading.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/insider_trading.py deleted file mode 100644 index 6d370450174..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/insider_trading.py +++ /dev/null @@ -1,181 +0,0 @@ -"""Intrinio Insider Trading Model.""" - -# pylint: disable=unused-argument - -from datetime import ( - date as dateType, - datetime, -) -from typing import Any, Literal - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.insider_trading import ( - InsiderTradingData, - InsiderTradingQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_many -from pydantic import Field, model_validator - - -class IntrinioInsiderTradingQueryParams(InsiderTradingQueryParams): - """Intrinio Insider Trading Query. - - Source: https://docs.intrinio.com/documentation/web_api/insider_transaction_filings_by_company_v2 - """ - - __alias_dict__ = {"limit": "page_size"} - - start_date: dateType | None = Field( - description=QUERY_DESCRIPTIONS.get("start_date", "") - ) - end_date: dateType | None = Field( - description=QUERY_DESCRIPTIONS.get("end_date", "") - ) - ownership_type: Literal["D", "I"] | None = Field( - default=None, - description="Type of ownership.", - ) - sort_by: Literal["filing_date", "updated_on"] | None = Field( - default="updated_on", - description="Field to sort by.", - ) - - -class IntrinioInsiderTradingData(InsiderTradingData): - """Intrinio Insider Trading Data.""" - - __alias_dict__ = { - "owner_title": "officer_title", - "transaction_type": "transaction_type_code", - "acquisition_or_disposition": "acquisition_disposition_code", - "security_type": "security_title", - "securities_owned": "total_shares_owned", - "securities_transacted": "amount_of_shares", - } - - company_name: str = Field(description="Name of the company.") - conversion_exercise_price: float | None = Field( - default=None, - description="Conversion/Exercise price of the shares.", - ) - deemed_execution_date: dateType | None = Field( - default=None, - description="Deemed execution date of the trade.", - ) - exercise_date: dateType | None = Field( - default=None, - description="Exercise date of the trade.", - ) - expiration_date: dateType | None = Field( - default=None, - description="Expiration date of the derivative.", - ) - underlying_security_title: str | None = Field( - default=None, - description="Name of the underlying non-derivative security related to this derivative transaction.", - ) - underlying_shares: int | float | None = Field( - default=None, - description="Number of underlying shares related to this derivative transaction.", - ) - nature_of_ownership: str | None = Field( - default=None, - description="Nature of ownership of the insider trading.", - ) - director: bool | None = Field( - default=None, description="Whether the owner is a director." - ) - officer: bool | None = Field( - default=None, description="Whether the owner is an officer." - ) - ten_percent_owner: bool | None = Field( - default=None, description="Whether the owner is a 10% owner." - ) - other_relation: bool | None = Field( - default=None, description="Whether the owner is having another relation." - ) - derivative_transaction: bool | None = Field( - default=None, - description="Whether the owner is having a derivative transaction.", - ) - report_line_number: int | None = Field( - default=None, description="Report line number of the insider trading." - ) - filing_url: str | None = Field(default=None, description="URL of the filing.") - - @model_validator(mode="before") - @classmethod - def empty_strings(cls, values): # pylint: disable=no-self-argument - """Check for empty strings and replace with None.""" - return ( - {k: None if v == "" else v for k, v in values.items()} - if isinstance(values, dict) - else values - ) - - -class IntrinioInsiderTradingFetcher( - Fetcher[ - IntrinioInsiderTradingQueryParams, - list[IntrinioInsiderTradingData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioInsiderTradingQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=5) - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioInsiderTradingQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioInsiderTradingQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/companies" - query.limit = query.limit or 500 - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol"]) - url = f"{base_url}/{query.symbol}/insider_transaction_filings?{query_str}&api_key={api_key}" - - return await get_data_many(url, "transaction_filings", **kwargs) - - @staticmethod - def transform_data( - query: IntrinioInsiderTradingQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioInsiderTradingData]: - """Return the transformed data.""" - transformed_data: list[dict] = [] - - for item in data: - transformed_data.extend( - [ - { - **sub_item, - "filing_date": item["filing_date"], - "filing_url": item["filing_url"], - "symbol": item["issuer_ticker"], - "company_cik": item["issuer_cik"], - "company_name": item["issuer_company"], - "owner_cik": item["owner"]["owner_cik"], - "owner_name": item["owner"]["owner_name"], - } - for sub_item in item["transactions"] - ] - ) - - return [IntrinioInsiderTradingData.model_validate(d) for d in transformed_data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/institutional_ownership.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/institutional_ownership.py deleted file mode 100644 index 87701c183c7..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/institutional_ownership.py +++ /dev/null @@ -1,130 +0,0 @@ -"""Intrinio Institutional Ownership Model.""" - -# pylint: disable=unused-argument - -import asyncio -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.institutional_ownership import ( - InstitutionalOwnershipData, - InstitutionalOwnershipQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_many, get_data_one -from pydantic import Field - - -class IntrinioInstitutionalOwnershipQueryParams(InstitutionalOwnershipQueryParams): - """Intrinio Institutional Ownership Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_security_insider_ownership_v2 - https://docs.intrinio.com/documentation/web_api/get_owner_by_id_v2 - """ - - __alias_dict__ = { - "limit": "page_size", - } - - limit: int | None = Field( - default=100, - description=QUERY_DESCRIPTIONS.get("limit", ""), - ) - - -class IntrinioInstitutionalOwnershipData(InstitutionalOwnershipData): - """Intrinio Institutional Ownership Data.""" - - __alias_dict__ = { - "cik": "owner_cik", - "date": "period_ended", - "name": "owner_name", - } - - name: str = Field( - description="Name of the institutional owner.", - ) - value: float = Field(description="Value of the institutional owner.") - amount: float = Field(description="Amount of the institutional owner.") - sole_voting_authority: float = Field( - description="Sole voting authority of the institutional owner." - ) - shared_voting_authority: float = Field( - description="Shared voting authority of the institutional owner." - ) - no_voting_authority: float = Field( - description="No voting authority of the institutional owner." - ) - previous_amount: float = Field( - description="Previous amount of the institutional owner." - ) - amount_change: float = Field( - description="Amount change of the institutional owner." - ) - amount_percent_change: float = Field( - description="Amount percent change of the institutional owner." - ) - - -class IntrinioInstitutionalOwnershipFetcher( - Fetcher[ - IntrinioInstitutionalOwnershipQueryParams, - list[IntrinioInstitutionalOwnershipData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioInstitutionalOwnershipQueryParams: - """Transform the query params.""" - return IntrinioInstitutionalOwnershipQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioInstitutionalOwnershipQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - data: list[dict] = [] - - base_url = "https://api-v2.intrinio.com" - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol"]) - url = f"{base_url}/securities/{query.symbol}/institutional_ownership?{query_str}&api_key={api_key}" - - async def get_owner_name(item: dict) -> dict: - cik = item["owner_cik"] - cik_url = f"{base_url}/owners/{cik}?api_key={api_key}" - cik_data = await get_data_one(cik_url, **kwargs) - owner_name = cik_data["owner_name"] - item["symbol"] = query.symbol - item["owner_name"] = owner_name - return item - - results = await asyncio.gather( - *[ - get_owner_name(item) - for item in await get_data_many(url, "ownership", **kwargs) - ], - return_exceptions=True, - ) - - for item in results: - if isinstance(item, Exception): - continue - data.append(item) # type: ignore - - return data - - @staticmethod - def transform_data( - query: IntrinioInstitutionalOwnershipQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioInstitutionalOwnershipData]: - """Return the transformed data.""" - return [IntrinioInstitutionalOwnershipData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py deleted file mode 100644 index c932e79fc4e..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py +++ /dev/null @@ -1,367 +0,0 @@ -"""Intrinio Key Metrics Model.""" - -# pylint: disable=unused-argument - -import asyncio -from typing import Any -from warnings import warn - -from openbb_core.provider.abstract.data import ForceInt -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.key_metrics import ( - KeyMetricsData, - KeyMetricsQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import ( - ClientResponse, - amake_requests, -) -from pydantic import Field - - -class IntrinioKeyMetricsQueryParams(KeyMetricsQueryParams): - """ - Intrinio Key Metrics Query. - - Source: https://data.intrinio.com/data-tags/ - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - -class IntrinioKeyMetricsData(KeyMetricsData): - """Intrinio Key Metrics Data.""" - - __alias_dict__ = { - "market_cap": "marketcap", - "pe_ratio": "pricetoearnings", - "price_to_book": "pricetobook", - "price_to_tangible_book": "pricetotangiblebook", - "price_to_revenue": "pricetorevenue", - "long_term_debt": "ltdebtandcapleases", - "total_debt": "debt", - "total_capital": "totalcapital", - "enterprise_value": "enterprisevalue", - "eps_growth": "epsgrowth", - "ebit_growth": "ebitgrowth", - "ebitda_growth": "ebitdagrowth", - "revenue_growth": "revenuegrowth", - "net_income_growth": "netincomegrowth", - "free_cash_flow_to_firm_growth": "fcffgrowth", - "invested_capital_growth": "investedcapitalgrowth", - "quick_ratio": "quickratio", - "gross_margin": "grossmargin", - "ebit_margin": "ebitmargin", - "profit_margin": "profitmargin", - "return_on_assets": "roa", - "return_on_equity": "roe", - "return_on_invested_capital": "roic", - "free_cash_flow_to_firm": "freecashflow", - "altman_z_score": "altmanzscore", - "earnings_yield": "earningsyield", - "dividend_yield": "dividendyield", - "year_high": "52_week_high", - "year_low": "52_week_low", - "volume_avg": "average_daily_volume", - "shares_outstanding": "adjweightedavebasicsharesos", - "eps": "basiceps", - } - - pe_ratio: float | None = Field( - default=None, - description="Price-to-earnings ratio (TTM).", - ) - price_to_book: float | None = Field( - default=None, - description="Price to book ratio.", - ) - price_to_tangible_book: float | None = Field( - default=None, - description="Price to tangible book ratio.", - ) - price_to_revenue: float | None = Field( - default=None, - description="Price to revenue ratio.", - ) - quick_ratio: float | None = Field( - default=None, - description="Quick ratio.", - ) - gross_margin: float | None = Field( - default=None, - description="Gross margin, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - ebit_margin: float | None = Field( - default=None, - description="EBIT margin, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - profit_margin: float | None = Field( - default=None, - description="Profit margin, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - eps: float | None = Field( - default=None, - description="Basic earnings per share.", - ) - eps_growth: float | None = Field( - default=None, - description="EPS growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - revenue_growth: float | None = Field( - default=None, - description="Revenue growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - ebitda_growth: float | None = Field( - default=None, - description="EBITDA growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - ebit_growth: float | None = Field( - default=None, - description="EBIT growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - net_income_growth: float | None = Field( - default=None, - description="Net income growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - free_cash_flow_to_firm_growth: float | None = Field( - default=None, - description="Free cash flow to firm growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - invested_capital_growth: float | None = Field( - default=None, - description="Invested capital growth, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - return_on_assets: float | None = Field( - default=None, - description="Return on assets, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - return_on_equity: float | None = Field( - default=None, - description="Return on equity, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - return_on_invested_capital: float | None = Field( - default=None, - description="Return on invested capital, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - ebitda: ForceInt | None = Field( - default=None, - description="Earnings before interest, taxes, depreciation, and amortization.", - ) - ebit: ForceInt | None = Field( - default=None, - description="Earnings before interest and taxes.", - ) - long_term_debt: ForceInt | None = Field( - default=None, - description="Long-term debt.", - ) - total_debt: ForceInt | None = Field( - default=None, - description="Total debt.", - ) - total_capital: ForceInt | None = Field( - default=None, - description="The sum of long-term debt and total shareholder equity.", - ) - enterprise_value: ForceInt | None = Field( - default=None, - description="Enterprise value.", - ) - free_cash_flow_to_firm: ForceInt | None = Field( - default=None, - description="Free cash flow to firm.", - ) - altman_z_score: float | None = Field( - default=None, - description="Altman Z-score.", - ) - beta: float | None = Field( - default=None, - description="Beta relative to the broad market (rolling three-year).", - ) - dividend_yield: float | None = Field( - default=None, - description="Dividend yield, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - earnings_yield: float | None = Field( - default=None, - description="Earnings yield, as a normalized percent.", - json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, - ) - last_price: float | None = Field( - default=None, - description="Last price of the stock.", - ) - year_high: float | None = Field( - default=None, - description="52 week high", - ) - year_low: float | None = Field(default=None, description="52 week low") - volume_avg: ForceInt | None = Field( - default=None, - description="Average daily volume.", - ) - short_interest: ForceInt | None = Field( - default=None, - description="Number of shares reported as sold short.", - ) - shares_outstanding: ForceInt | None = Field( - default=None, - description="Weighted average shares outstanding (TTM).", - ) - days_to_cover: float | None = Field( - default=None, - description="Days to cover short interest, based on average daily volume.", - ) - - -class IntrinioKeyMetricsFetcher( - Fetcher[ - IntrinioKeyMetricsQueryParams, - list[IntrinioKeyMetricsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioKeyMetricsQueryParams: - """Transform the query params.""" - - if params.get("period") is not None and params.get("period") != "annual": - warn( - "The period parameter is not available for this Intrinio endpoint, it will be ignored." - ) - return IntrinioKeyMetricsQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioKeyMetricsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - tags = [ - "beta", - "average_daily_volume", - "basiceps", - "basicdilutedeps", - "marketcap", - "last_price", - "52_week_high", - "52_week_low", - "dividendyield", - "pricetoearnings", - "pricetorevenue", - "pricetobook", - "pricetotangiblebook", - "grossmargin", - "ebitmargin", - "profitmargin", - "roa", - "roe", - "roic", - "earningsyield", - "days_to_cover", - "short_interest", - "revenuegrowth", - "ebitgrowth", - "ebitdagrowth", - "epsgrowth", - "netincomegrowth", - "investedcapitalgrowth", - "debt", - "totalcapital", - "enterprisevalue", - "freecashflow", - "fcffgrowth", - "ltdebtandcapleases", - "altmanzscore", - "quickratio", - "ebit", - "ebitda", - "adjweightedavebasicsharesos", - ] - results = [] - urls = [] - symbols = query.symbol.split(",") - - async def get_one(symbol: str): - """Get data for one symbol.""" - - _urls = [ - f"https://api-v2.intrinio.com/companies/{symbol}/data_point/{tag}?api_key={api_key}" - for tag in tags - ] - urls.extend(_urls) - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - return {response.url.parts[-1]: await response.json()} - - data = {} - for result in await amake_requests(urls, callback, **kwargs): - data.update(result) - if data: - data["symbol"] = symbol - results.append(data) - - tasks = [get_one(symbol) for symbol in symbols] - - await asyncio.gather(*tasks) - - if not results: - raise EmptyDataError() - - return results - - @staticmethod - def transform_data( - query: IntrinioKeyMetricsQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioKeyMetricsData]: - """Validate and transform the data.""" - - # Sort the results by the order of the symbols in the query. - symbols = query.symbol.split(",") - data = sorted( - data, - key=( - lambda item: ( - symbols.index(item["symbol"]) - if item["symbol"] in symbols - else len(symbols) - ) - ), - ) - - results: list[IntrinioKeyMetricsData] = [] - for item in data: - if item.get("marketcap") is None or isinstance(item.get("marketcap"), dict): - warn(f"Symbol Error: No data found for {item.get('symbol')}") - continue - - for key, value in item.copy().items(): - # A bad response in a field will return a dict here, so we remove it. - if isinstance(value, dict): - _ = item.pop(key) - - results.append(IntrinioKeyMetricsData.model_validate(item)) - - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/latest_attributes.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/latest_attributes.py deleted file mode 100644 index 74ddae2241b..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/latest_attributes.py +++ /dev/null @@ -1,99 +0,0 @@ -"""Intrinio Latest Attributes Model.""" - -import warnings -from typing import Any - -from openbb_core.app.model.abstract.warning import OpenBBWarning -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.latest_attributes import ( - LatestAttributesData, - LatestAttributesQueryParams, -) -from openbb_core.provider.utils.helpers import ( - ClientResponse, - amake_requests, -) - - -class IntrinioLatestAttributesQueryParams(LatestAttributesQueryParams): - """Intrinio Latest Attributes Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_data_point_number_v2 - https://docs.intrinio.com/documentation/web_api/get_data_point_text_v2 - """ - - __json_schema_extra__ = { - "tag": {"multiple_items_allowed": True}, - "symbol": {"multiple_items_allowed": True}, - } - - -class IntrinioLatestAttributesData(LatestAttributesData): - """Intrinio Latest Attributes Data.""" - - -class IntrinioLatestAttributesFetcher( - Fetcher[ - IntrinioLatestAttributesQueryParams, - list[IntrinioLatestAttributesData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioLatestAttributesQueryParams: - """Transform the query params.""" - return IntrinioLatestAttributesQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioLatestAttributesQueryParams, # pylint: disable=unused-argument - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> dict: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/companies" - - def generate_url(symbol: str, tag: str) -> str: - """Return the url for the given symbol and tag.""" - return f"{base_url}/{symbol}/data_point/{tag}?api_key={api_key}" - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - response_data = await response.json() - - if isinstance(response_data, dict) and ( - "error" in response_data or "message" in response_data - ): - warnings.warn( - message=str(response_data.get("error")) - or str(response_data.get("message")), - category=OpenBBWarning, - ) - return {} - if not response_data: - return {} - - tag = response.url.parts[-1] - symbol = response.url.parts[-3] - - return {"symbol": symbol, "tag": tag, "value": response_data} - - urls = [ - generate_url(symbol, tag) - for symbol in query.symbol.split(",") - for tag in query.tag.split(",") - ] - - return await amake_requests(urls, callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioLatestAttributesQueryParams, # pylint: disable=unused-argument - data: dict, - **kwargs: Any, - ) -> list[IntrinioLatestAttributesData]: - """Return the transformed data.""" - return [IntrinioLatestAttributesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py deleted file mode 100644 index 445458defbe..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py +++ /dev/null @@ -1,263 +0,0 @@ -"""Intrinio Market Snapshots Model.""" - -# pylint: disable=unused-argument - -from datetime import ( - date as dateType, - datetime, -) -from typing import Any - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.market_snapshots import ( - MarketSnapshotsData, - MarketSnapshotsQueryParams, -) -from pydantic import Field - - -class IntrinioMarketSnapshotsQueryParams(MarketSnapshotsQueryParams): - """Intrinio Market Snapshots Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_security_snapshots_v2 - """ - - date: dateType | datetime | str | None = Field( - default=None, - description="The date of the data. Can be a datetime or an ISO datetime string." - + " Historical data appears to go back to mid-June 2022." - + " Example: '2024-03-08T12:15:00+0400'", - ) - - -class IntrinioMarketSnapshotsData(MarketSnapshotsData): - """Intrinio Market Snapshots Data.""" - - __alias_dict__ = { - "last_price": "trade_price", - "last_size": "trade_size", - "last_volume": "total_trade_volume", - } - - last_price: float | None = Field( - default=None, - description="The last trade price.", - ) - last_size: int | None = Field( - default=None, - description="The last trade size.", - ) - last_volume: int | None = Field( - default=None, - description="The last trade volume.", - ) - last_trade_timestamp: datetime | None = Field( - default=None, - description="The timestamp of the last trade.", - ) - bid_size: int | None = Field( - default=None, - description="The size of the last bid price. Bid price and size is not always available.", - ) - bid_price: float | None = Field( - default=None, - description="The last bid price. Bid price and size is not always available.", - ) - ask_price: float | None = Field( - default=None, - description="The last ask price. Ask price and size is not always available.", - ) - ask_size: int | None = Field( - default=None, - description="The size of the last ask price. Ask price and size is not always available.", - ) - last_bid_timestamp: datetime | None = Field( - default=None, - description="The timestamp of the last bid price. Bid price and size is not always available.", - ) - last_ask_timestamp: datetime | None = Field( - default=None, - description="The timestamp of the last ask price. Ask price and size is not always available.", - ) - - -class IntrinioMarketSnapshotsFetcher( - Fetcher[ - IntrinioMarketSnapshotsQueryParams, - list[IntrinioMarketSnapshotsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioMarketSnapshotsQueryParams: - """Transform the query params.""" - # pylint: disable=import-outside-toplevel - from pytz import timezone - - transformed_params = params - - if "date" in transformed_params: - if isinstance(transformed_params["date"], datetime): - dt = transformed_params["date"] - dt = dt.astimezone(tz=timezone("America/New_York")) - if isinstance(transformed_params["date"], dateType): - dt = transformed_params["date"] # type: ignore - if isinstance(dt, dateType): - dt = datetime( - dt.year, - dt.month, - dt.day, - 20, - 0, - 0, - 0, - tzinfo=timezone("America/New_York"), - ) - if isinstance(transformed_params["date"], str): - dt = datetime.fromisoformat(transformed_params["date"]) - else: - try: - dt = datetime.fromisoformat(str(transformed_params["date"])) # type: ignore - except ValueError as exc: - raise OpenBBError( - "Invalid date format. Please use '2024-03-08T12:15-0400'." - ) from exc - - transformed_params["date"] = ( - dt.strftime("%Y-%m-%dT%H:%M:%S.%f%z") - .replace("+", "-") - .replace("T00:", "T20:") - if isinstance(dt, datetime) - else dt - ) - return IntrinioMarketSnapshotsQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioMarketSnapshotsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - import asyncio # noqa - import gzip # noqa - from datetime import timezone as datetime_timezone # noqa - from io import BytesIO # noqa - from openbb_core.provider.utils.helpers import ( - amake_request, - safe_fromtimestamp, - ) # noqa - from pandas import DataFrame, notna, read_csv, to_datetime # noqa - - api_key = credentials.get("intrinio_api_key") if credentials else "" - - # This gets the URL to the actual file. - url = f"https://api-v2.intrinio.com/securities/snapshots?api_key={api_key}" - if query.date: - url += f"&at_datetime={query.date}" - - response = await amake_request(url, **kwargs) - - if isinstance(response, dict) and "error" in response: - raise OpenBBError( - f"Error: {response.get('error')}. Message: {response.get('message')}" - ) - urls: list = [] - # Get the URL to the CSV file. - if response.get("snapshots"): # type: ignore - for d in response["snapshots"]: # type: ignore - if d.get("files"): - for f in d["files"]: - if f.get("url"): - urls.append(f.get("url")) - if not urls: - raise OpenBBError("No snapshots found.") - - results: list = [] - - async def response_callback(response, _): - """Response Callback.""" - return await response.read() - - async def get_csv(url): - """Return the CSV data.""" - response = await amake_request( - url, response_callback=response_callback, **kwargs - ) - df = DataFrame() - if isinstance(response, bytes): - file = gzip.decompress(response) - df = read_csv(BytesIO(file)) - if df.empty: - raise OpenBBError("Empty CSV file.") - df.columns = df.columns.str.lower().str.replace(" ", "_") - - df = ( - df.dropna(how="all", axis=1) - .dropna(subset=["trade_price", "last_trade_timestamp", "symbol"]) - .sort_values("last_trade_timestamp", ascending=False) - )[ - [ - "symbol", - "trade_price", - "trade_size", - "total_trade_volume", - "bid_size", - "bid_price", - "ask_price", - "ask_size", - "last_trade_timestamp", - "last_bid_timestamp", - "last_ask_timestamp", - ] - ] - - for col in [ - "last_trade_timestamp", - "last_bid_timestamp", - "last_ask_timestamp", - ]: - df[col] = ( - to_datetime( - df[col].apply( - lambda x: ( - safe_fromtimestamp(x, tz=datetime_timezone.utc) - if notna(x) - else x - ) - ) - ) - .dt.tz_convert("America/New_York") - .dt.floor("s") - ) - - for c in ["trade_size", "total_trade_volume"]: - df[c] = df[c].astype("int64") - - # Clear out NaN and non-numeric values with None. - df = ( - df.replace("Max", None) - .replace("Min", None) - .replace(0, None) - .fillna("N/A") - .replace("N/A", None) - ) - - if len(df) > 0: - results.extend(df.reset_index(drop=True).to_dict(orient="records")) - - await asyncio.gather(*[get_csv(url) for url in urls]) - - return results - - @staticmethod - def transform_data( - query: IntrinioMarketSnapshotsQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioMarketSnapshotsData]: - """Return the transformed data.""" - return [IntrinioMarketSnapshotsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py deleted file mode 100644 index 9a230eb5152..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py +++ /dev/null @@ -1,376 +0,0 @@ -"""Intrinio Options Chains Model.""" - -# pylint: disable=unused-argument -from datetime import ( - date as dateType, - datetime, -) -from typing import Any, Literal -from warnings import warn - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.options_chains import ( - OptionsChainsData, - OptionsChainsQueryParams, -) -from openbb_core.provider.utils.errors import OpenBBError -from openbb_intrinio.models.equity_historical import IntrinioEquityHistoricalFetcher -from openbb_intrinio.models.index_historical import IntrinioIndexHistoricalFetcher -from pydantic import Field, field_validator, model_validator - - -class IntrinioOptionsChainsQueryParams(OptionsChainsQueryParams): - """Intrinio Options Chains Query. - - source: https://docs.intrinio.com/documentation/web_api/get_options_chain_eod_v2 - """ - - __alias_dict__ = { - "strike_gt": "strike_greater_than", - "strike_lt": "strike_less_than", - "volume_gt": "volume_greater_than", - "volume_lt": "volume_less_than", - "oi_gt": "open_interest_greater_than", - "oi_lt": "open_interest_less_than", - "option_type": "type", - } - __json_schema_extra__ = { - "moneyness": { - "multiple_items_allowed": False, - "choices": ["otm", "itm", "all"], - }, - "delay": { - "multiple_items_allowed": False, - "choices": ["eod", "realtime", "delayed"], - }, - "option_type": { - "multiple_items_allowed": False, - "choices": ["call", "put"], - }, - "model": { - "multiple_items_allowed": False, - "choices": ["black_scholes", "bjerk"], - }, - } - - delay: Literal["eod", "realtime", "delayed"] = Field( - description="Whether to return delayed, realtime, or eod data.", - default="eod", - ) - date: dateType | None = Field( - default=None, description="The end-of-day date for options chains data." - ) - option_type: Literal["call", "put"] | None = Field( - default=None, - description="The option type, call or put, 'None' is both (default).", - ) - moneyness: Literal["otm", "itm", "all"] = Field( - default="all", - description="Return only contracts that are in or out of the money, default is 'all'." - + " Parameter is ignored when a date is supplied.", - ) - strike_gt: int | None = Field( - default=None, - description="Return options with a strike price greater than the given value." - + " Parameter is ignored when a date is supplied.", - ) - strike_lt: int | None = Field( - default=None, - description="Return options with a strike price less than the given value." - + " Parameter is ignored when a date is supplied.", - ) - volume_gt: int | None = Field( - default=None, - description="Return options with a volume greater than the given value." - + " Parameter is ignored when a date is supplied.", - ) - volume_lt: int | None = Field( - default=None, - description="Return options with a volume less than the given value." - + " Parameter is ignored when a date is supplied.", - ) - oi_gt: int | None = Field( - default=None, - description="Return options with an open interest greater than the given value." - + " Parameter is ignored when a date is supplied.", - ) - oi_lt: int | None = Field( - default=None, - description="Return options with an open interest less than the given value." - + " Parameter is ignored when a date is supplied.", - ) - model: Literal["black_scholes", "bjerk"] = Field( - default="black_scholes", - description="The pricing model to use for options chains data, default is 'black_scholes'." - + " Parameter is ignored when a date is supplied.", - ) - show_extended_price: bool = Field( - default=True, - description="Whether to include OHLC type fields, default is True." - + " Parameter is ignored when a date is supplied.", - ) - include_related_symbols: bool = Field( - default=False, - description="Include related symbols that end in a 1 or 2 because of a corporate action," - + " default is False.", - ) - - @model_validator(mode="after") - @classmethod - def date_not_allowed_with_realtime(cls, values: Any) -> Any: - """Return an error if the date is supplied when delay is realtime.""" - if values.delay != "eod" and values.date: - warn("Date is ignored when accessing realtime or delayed data.") - return values - - -class IntrinioOptionsChainsData(OptionsChainsData): - """Intrinio Options Chains Data.""" - - __doc__ = OptionsChainsData.__doc__ - __alias_dict__ = { - "contract_symbol": "code", - "symbol": "ticker", - "eod_date": "date", - "option_type": "type", - "last_trade_time": "last_timestamp", - "last_trade_price": "last", - "last_trade_size": "last_size", - "ask_time": "ask_timestamp", - "bid_time": "bid_timestamp", - "open": "trade_open", - "high": "trade_high", - "low": "trade_low", - "close": "trade_close", - } - - @field_validator( - "close_time", - "close_ask_time", - "close_bid_time", - "ask_time", - "bid_time", - "last_trade_time", - mode="before", - check_fields=False, - ) - @classmethod - def _date_validate(cls, v): - """Return the datetime object from the date string.""" - # pylint: disable=import-outside-toplevel - from dateutil import parser - from pytz import timezone - - if not v: - return None - new_v: list = [] - for item in v: - if item: - dt = parser.parse(item) - dt = dt.replace(tzinfo=timezone("UTC")) - dt = dt.astimezone(timezone("America/New_York")) - new_v.append(dt.replace(microsecond=0)) - else: - new_v.append(None) - - return new_v - - @field_validator("volume", "open_interest", mode="before", check_fields=False) - @classmethod - def _volume_oi_validate(cls, v): - """Return the volume as an integer.""" - return [0 if item is None else item for item in v] - - -class IntrinioOptionsChainsFetcher( - Fetcher[IntrinioOptionsChainsQueryParams, IntrinioOptionsChainsData] -): - """Intrinio Options Chains Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioOptionsChainsQueryParams: - """Transform the query.""" - return IntrinioOptionsChainsQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioOptionsChainsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> dict: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - from datetime import timedelta # noqa - from openbb_core.provider.utils.helpers import ( - amake_requests, - get_querystring, - ) - from openbb_intrinio.utils.helpers import ( - get_data_many, - get_weekday, - response_callback, - ) - - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/options" - - date = query.date if query.date is not None else datetime.now().date() - date = get_weekday(date) - - if query.symbol in ["SPX", "^SPX", "^GSPC"]: - query.symbol = "SPX" - warn("For weekly SPX options, use the symbol SPXW instead of SPX.") - - async def get_urls(date: str) -> list[str]: - """Return the urls for the given date.""" - date = (datetime.strptime(date, "%Y-%m-%d") - timedelta(days=1)).strftime( - "%Y-%m-%d" - ) - url = ( - f"{base_url}/expirations/{query.symbol}/" - f"{'eod' if query.delay == 'eod' else 'realtime'}?" - f"{'after=' + date + '&' if query.delay == 'eod' else 'source=' + query.delay + '&'}" - f"api_key={api_key}" - ) - expirations = await get_data_many(url, "expirations", **kwargs) - - def generate_url(expiration) -> str: - url = f"{base_url}/chain/{query.symbol}/{expiration}/" - if query.date is not None: - query_string = get_querystring( - query.model_dump(exclude_none=True), - [ - "symbol", - "date", - "model", - "volume_greater_than", - "volume_less_than", - "moneyness", - "open_interest_greater_than", - "open_interest_less_than", - "show_extended_price", - ], - ) - url = url + f"eod?date={query.date}&{query_string}" - else: - if query.moneyness: - moneyness = ( - "out_of_the_money" - if query.moneyness == "otm" - else "in_the_money" if query.moneyness == "itm" else "all" - ) - - query_string = get_querystring( - query.model_dump(exclude_none=True), - ["symbol", "date", "moneyness"], - ) - url = url + f"realtime?{query_string}&moneyness={moneyness}" - - return url + f"&api_key={api_key}" - - return [generate_url(expiration) for expiration in expirations] - - async def callback(response, _) -> list: - """Return the response.""" - response_data = await response_callback(response, _) - return response_data.get("chain", []) # type: ignore - - results = await amake_requests( - await get_urls(date.strftime("%Y-%m-%d")), callback, **kwargs - ) - # If the EOD chains are not available for the given date, try the previous day - if not results and query.date is not None: - date = get_weekday(date - timedelta(days=1)).strftime("%Y-%m-%d") - urls = await get_urls(date) # type: ignore - results = await amake_requests(urls, response_callback=callback, **kwargs) - - if not results: - raise OpenBBError(f"No data found for the given symbol: {query.symbol}") - - output: dict = {} - underlying_price: dict = {} - # If the EOD chains are requested, get the underlying price on the given date. - if query.date is not None: - if query.symbol.endswith("W") and query.symbol.startswith("SPX"): - query.symbol = query.symbol[:-1] - temp = None - try: - temp = await IntrinioEquityHistoricalFetcher.fetch_data( - {"symbol": query.symbol, "start_date": date, "end_date": date}, - credentials, - ) - temp = temp[0] # type: ignore - # If the symbol is SPX, or similar, try to get the underlying price from the index. - except Exception as e: - try: - temp = await IntrinioIndexHistoricalFetcher.fetch_data( - {"symbol": query.symbol, "start_date": date, "end_date": date}, - credentials, - ) - temp = temp[0] # type: ignore - except Exception: - warn(f"Failed to get underlying price for {query.symbol}: {e}") - if temp: - underlying_price["symbol"] = query.symbol - underlying_price["price"] = temp.close - underlying_price["date"] = temp.date.strftime("%Y-%m-%d") - - output = {"underlying": underlying_price, "data": results} - - return output - - @staticmethod - def transform_data( - query: IntrinioOptionsChainsQueryParams, - data: dict, - **kwargs: Any, - ) -> IntrinioOptionsChainsData: - """Return the transformed data.""" - # pylint: disable=import-outside-toplevel - from numpy import nan - from pandas import DataFrame - - results: list = [] - chains = data.get("data", []) - underlying = data.get("underlying", {}) - last_price = underlying.get("price") - if query.date is not None: - for item in chains: - new_item = {**item["option"], **item["prices"]} - new_item["dte"] = ( - datetime.strptime(new_item["expiration"], "%Y-%m-%d").date() - - datetime.strptime(new_item["date"], "%Y-%m-%d").date() - ).days - if last_price: - new_item["underlying_price"] = last_price - _ = new_item.pop("exercise_style", None) - new_item["underlying_symbol"] = new_item.pop("ticker") - results.append(new_item) - else: - for item in chains: - new_item = { - **item["option"], - **item["price"], - **item["stats"], - **item["extended_price"], - } - dte = ( - datetime.strptime(new_item["expiration"], "%Y-%m-%d").date() - - datetime.now().date() - ).days - new_item["dte"] = dte - new_item["underlying_symbol"] = new_item.pop( - "underlying_price_ticker", None - ) - underlying["date"] = datetime.now().date() - new_item["underlying_price"] = new_item.pop("underlying_price", None) - _ = new_item.pop("ticker", None) - _ = new_item.pop("trade_exchange", None) - _ = new_item.pop("exercise_style", None) - results.append(new_item) - - output = DataFrame(results).replace({nan: None}).dropna(how="all", axis=1) - output = output.sort_values(by=["expiration", "strike", "type"]) - - return IntrinioOptionsChainsData.model_validate(output.to_dict(orient="list")) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py deleted file mode 100644 index a9432ba88bc..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py +++ /dev/null @@ -1,337 +0,0 @@ -"""Intrinio Options Snapshots Model.""" - -# pylint: disable=unused-argument - -from datetime import ( - date as dateType, - datetime, -) -from typing import TYPE_CHECKING, Any - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.options_snapshots import ( - OptionsSnapshotsData, - OptionsSnapshotsQueryParams, -) -from pydantic import Field - -if TYPE_CHECKING: - from pandas import DataFrame - - -class IntrinioOptionsSnapshotsQueryParams(OptionsSnapshotsQueryParams): - """Intrinio Options Snapshots Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_options_snapshots_v2 - """ - - date: dateType | datetime | str | None = Field( - default=None, - description="The date of the data. Can be a datetime or an ISO datetime string." - + " Data appears to go back to around 2022-06-01" - + " Example: '2024-03-08T12:15:00+0400'", - ) - only_traded: bool = Field( - default=True, - description="Only include options that have been traded during the session, default is True." - + " Setting to false will dramatically increase the size of the response - use with caution.", - ) - - -class IntrinioOptionsSnapshotsData(OptionsSnapshotsData): - """Intrinio Options Snapshots Data. Warning: This is a large file.""" - - bid: list[float | None] = Field( - default_factory=list, - description="The last bid price at the time.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - bid_size: list[int | None] = Field( - default_factory=list, - description="The size of the last bid price.", - ) - bid_timestamp: list[datetime | None] = Field( - default_factory=list, - description="The timestamp of the last bid price.", - ) - ask: list[float | None] = Field( - default_factory=list, - description="The last ask price at the time.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - ask_size: list[int | None] = Field( - default_factory=list, - description="The size of the last ask price.", - ) - ask_timestamp: list[datetime | None] = Field( - default_factory=list, - description="The timestamp of the last ask price.", - ) - total_bid_volume: list[int | None] = Field( - default_factory=list, - description="Total volume of bids.", - ) - bid_high: list[float | None] = Field( - default_factory=list, - description="The highest bid price.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - bid_low: list[float | None] = Field( - default_factory=list, - description="The lowest bid price.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - total_ask_volume: list[int | None] = Field( - default_factory=list, - description="Total volume of asks.", - ) - ask_high: list[float | None] = Field( - default_factory=list, - description="The highest ask price.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - ask_low: list[float | None] = Field( - default_factory=list, - description="The lowest ask price.", - json_schema_extra={"x-unit_measurement": "currency"}, - ) - - -class IntrinioOptionsSnapshotsFetcher( - Fetcher[ - IntrinioOptionsSnapshotsQueryParams, - list[IntrinioOptionsSnapshotsData], - ] -): - """Intrinio Options Snapshots Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioOptionsSnapshotsQueryParams: - """Transform the query params.""" - # pylint: disable=import-outside-toplevel - from pytz import timezone - - transformed_params = params.copy() - if "date" in transformed_params: - if isinstance(transformed_params["date"], datetime): - dt = transformed_params["date"] - dt = dt.astimezone(tz=timezone("America/New_York")) - if isinstance(transformed_params["date"], dateType): - dt = transformed_params["date"] # type: ignore - if isinstance(dt, dateType): - dt = datetime( - dt.year, - dt.month, - dt.day, - 16, - 15, - 0, - 0, - tzinfo=timezone("America/New_York"), - ) - if isinstance(transformed_params["date"], str): - dt = datetime.fromisoformat(transformed_params["date"]) - else: - try: - dt = datetime.fromisoformat(str(transformed_params["date"])) # type: ignore - except ValueError as exc: - raise OpenBBError( - "Invalid date format. Please use '2024-03-08T12:15-0400'." - ) from exc - - transformed_params["date"] = ( - dt.strftime("%Y-%m-%dT%H:%M:%S.%f%z") - .replace("+", "-") - .replace("T00:", "T20:") - if isinstance(dt, datetime) - else dt - ) - return IntrinioOptionsSnapshotsQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioOptionsSnapshotsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> "DataFrame": - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - import gzip # noqa - from io import BytesIO # noqa - from openbb_core.provider.utils.helpers import amake_request # noqa - from pandas import DataFrame, read_csv # noqa - - api_key = credentials.get("intrinio_api_key") if credentials else "" - - # This gets the URL to the actual file. - url = f"https://api-v2.intrinio.com/options/snapshots?api_key={api_key}" - if query.date: - url += f"&at_datetime={query.date}" - - try: - response = await amake_request(url, **kwargs) - except Exception as exc: - raise OpenBBError("Could not fetch data from Intrinio.") from exc - - if isinstance(response, dict) and "error" in response: - raise OpenBBError( - f"{response.get('error')}. Message: {response.get('message')}" - ) - urls = [] - # Get the URL to the CSV file. - if response.get("snapshots"): # type: ignore - for d in response["snapshots"]: # type: ignore - if d.get("files"): - for f in d["files"]: - if f.get("url"): - urls.append(f.get("url")) - if not urls: - raise OpenBBError("No snapshots found.") - - async def response_callback(response, _): - """Response Callback.""" - return await response.read() - - async def get_csv(url) -> DataFrame: - """Return the CSV data.""" - try: - response = await amake_request( - url, response_callback=response_callback, **kwargs - ) - df = DataFrame() - if isinstance(response, bytes): - file = gzip.decompress(response) - df = read_csv(BytesIO(file)) - - return df - - except Exception as exc: - try: - df = read_csv(response) - return df - except Exception: - raise OpenBBError("Could not read file from URL.") from exc - - # There should only be one URL with this bulk data. - return await get_csv(urls[0]) - - @staticmethod - def transform_data( - query: IntrinioOptionsSnapshotsQueryParams, - data: "DataFrame", - **kwargs: Any, - ) -> list[IntrinioOptionsSnapshotsData]: - """Return the transformed data.""" - # pylint: disable=import-outside-toplevel - import numpy as np - from pandas import NaT, Series, to_datetime - from pytz import timezone - - df = data - if df.empty: - raise OpenBBError("Empty CSV file") - COL_MAP = { - "CONTRACT ID": "contract_symbol", - "OPEN INTEREST": "open_interest", - "TRADE PRICE": "last_price", - "TRADE SIZE": "last_size", - "TOTAL TRADE VOLUME": "volume", - "LAST TRADE TIMESTAMP": "last_timestamp", - "TRADE HIGH PRICE": "high", - "TRADE LOW PRICE": "low", - "ASK PRICE": "ask", - "ASK SIZE": "ask_size", - "LAST ASK TIMESTAMP": "ask_timestamp", - "BID PRICE": "bid", - "BID SIZE": "bid_size", - "LAST BID TIMESTAMP": "bid_timestamp", - "TOTAL ASK VOLUME": "total_ask_volume", - "ASK HIGH PRICE": "ask_high", - "ASK LOW PRICE": "ask_low", - "TOTAL BID VOLUME": "total_bid_volume", - "BID HIGH PRICE": "bid_high", - "BID LOW PRICE": "bid_low", - } - df = df.rename(columns=COL_MAP) - to_drop_na = ( - ["bid_timestamp", "ask_timestamp", "last_timestamp"] - if query.only_traded is True - else ["bid_timestamp", "ask_timestamp"] - ) - df = df.dropna(subset=to_drop_na + ["contract_symbol"]) - for col in ["last_timestamp", "bid_timestamp", "ask_timestamp"]: - # Convert Unix timestamp to tz-aware datetime - df[col] = ( - to_datetime(df[col].replace("", None).astype(float), unit="s") - .dt.tz_localize(timezone("UTC")) - .dt.tz_convert(timezone("America/New_York")) - .dt.floor("s") - ) - - # Extract the underlying symbol, expiration, option type, and strike. - symbols = Series(df["contract_symbol"].copy()) - df["underlying_symbol"] = symbols.str.extract(r"^(?P[^_]*)") - split_symbols = symbols.str.rsplit("_", n=1).str[-1] - df["expiration"] = to_datetime( - [symbol[:6] for symbol in split_symbols], - format="%y%m%d", - ) - df["option_type"] = split_symbols.str.extract( - r"^\d*(?P\D)" - ).replace({"C": "call", "P": "put"}) - df["strike"] = [ - ( - symbol[7:].lstrip("0")[:-3] + "." + symbol[7:].lstrip("0")[-3:] - if "." not in symbol[7:] - else symbol[7:] - ) - for symbol in split_symbols - ] - - def calculate_dte(df): - """Calculate the DTE.""" - new_df = df[ - ["expiration", "last_timestamp", "bid_timestamp", "ask_timestamp"] - ].copy() - conditions = [ - new_df["last_timestamp"].notna(), - new_df["bid_timestamp"].notna(), - new_df["ask_timestamp"].notna(), - ] - choices = [ - (new_df["expiration"].dt.date - new_df["last_timestamp"].dt.date) - .apply(lambda x: x) - .dt.days, - (new_df["expiration"].dt.date - new_df["bid_timestamp"].dt.date) - .apply(lambda x: x) - .dt.days, - (new_df["expiration"].dt.date - new_df["ask_timestamp"].dt.date) - .apply(lambda x: x) - .dt.days, - ] - new_df["dte"] = np.select(conditions, choices, default=None) - return new_df["dte"] - - df["dte"] = calculate_dte(df) - - def apply_contract_symbol(x): - """Construct the OCC Contract Symbol.""" - symbol = x.split("_")[0].replace("_", "") - exp = x.rsplit("_")[-1][:6] - cp = x.rsplit("_")[-1][6] - strike = x.rsplit("_")[-1][7:] - _strike = strike.split(".") - front = "0" * (5 - len(_strike[0])) - back = "0" * (3 - len(_strike[1])) - strike = f"{front}{_strike[0]}{_strike[1]}{back}" - return symbol + exp + cp + strike - - if symbols.str.contains(r"\.").any(): # noqa # pylint: disable=W1401 - df["contract_symbol"] = df["contract_symbol"].apply(apply_contract_symbol) - else: - df["contract_symbol"] = symbols.str.replace("_", "") - df = df.replace({NaT: None, np.nan: None}) - df = df.sort_values(by="volume", ascending=False) - - return [IntrinioOptionsSnapshotsData.model_validate(df.to_dict(orient="list"))] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py deleted file mode 100644 index 3011a8d17b9..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py +++ /dev/null @@ -1,290 +0,0 @@ -"""Intrinio Unusual Options Model.""" - -# pylint: disable = unused-argument - -from datetime import ( - date as dateType, - datetime, - timedelta, -) -from typing import Any, Literal - -from dateutil.parser import parse -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.options_unusual import ( - OptionsUnusualData, - OptionsUnusualQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_request, - get_querystring, -) -from pydantic import Field, field_validator, model_validator -from pytz import timezone - - -class IntrinioOptionsUnusualQueryParams(OptionsUnusualQueryParams): - """Intrinio Unusual Options Query. - - source: https://docs.intrinio.com/documentation/web_api/get_unusual_activity_v2 - """ - - __alias_dict__ = { - "min_value": "minimum_total_value", - "max_value": "maximum_total_value", - "trade_type": "activity_type", - } - - start_date: dateType | None = Field( - description=QUERY_DESCRIPTIONS.get("start_date", "") - + " If no symbol is supplied, requests are only allowed for a single date." - + " Use the start_date for the target date." - + " Intrinio appears to have data beginning Feb/2022," - + " but is unclear when it actually began.", - default=None, - ) - end_date: dateType | None = Field( - description=QUERY_DESCRIPTIONS.get("end_date", "") - + " If a symbol is not supplied, do not include an end date.", - default=None, - ) - trade_type: Literal["block", "sweep", "large"] | None = Field( - description="The type of unusual activity to query for.", - default=None, - ) - sentiment: Literal["bullish", "bearish", "neutral"] | None = Field( - description="The sentiment type to query for.", - default=None, - ) - min_value: int | float | None = Field( - description="The inclusive minimum total value for the unusual activity.", - default=None, - ) - max_value: int | float | None = Field( - description="The inclusive maximum total value for the unusual activity.", - default=None, - ) - limit: int = Field( - description=QUERY_DESCRIPTIONS.get("limit", "") - + " A typical day for all symbols will yield 50-80K records." - + " The API will paginate at 1000 records." - + " The high default limit (100K) is to be able to reliably capture the most days." - + " The high absolute limit (1.25M) is to allow for outlier days." - + " Queries at the absolute limit will take a long time, and might be unreliable." - + " Apply filters to improve performance.", - default=100000, - lt=1250000, - ) - source: Literal["delayed", "realtime"] = Field( - default="delayed", - description="The source of the data." + " Either realtime or delayed.", - ) - - @model_validator(mode="before") - @classmethod - def validate_params(cls, params): - """Validate the query parameters.""" - if params.get("start_date") is None: - # If the symbol is provided, there will be considerably less results. - # Broad market data needs to be confined to a single date. - params["start_date"] = ( - dateType.today() - timedelta(days=10) - if params.get("symbol") is not None - else dateType.today() - ) - - # Ensure the start date is not on a weekend. - if params.get("start_date").weekday() > 4: # type: ignore - params["start_date"] = params.get("start_date") + timedelta(days=4 - params.get("start_date").weekday()) # type: ignore - - # If the end date is not provided, set it to the start date. - if params.get("end_date") is None: - params["end_date"] = params.get("start_date") - - # Ensure the start date is before the end date. - if params.get("start_date") > params.get("end_date"): # type: ignore - params["start_date"], params["end_date"] = ( - params["end_date"], - params["start_date"], - ) - - # Ensure we are not overloading API. - if ( - params.get("symbol") is None - and (params.get("end_date") - params.get("start_date")).days >= 1 - ): - raise OpenBBError( - "When no symbol is supplied, queries are not allowed if" - + " the date range covers more than one trading day." - + " Supply only the start_date for queries with no symbol." - ) - - # Ensure the end date is not on a weekend. - if params.get("end_date").weekday() > 4: # type: ignore - params["end_date"] = params.get("end_date") + timedelta(days=7 - params.get("end_date").weekday()) # type: ignore - - # Intrinio appears to make the end date not inclusive. - # It doesn't want the start/end dates to be the same, set the end date to the next day. - if params.get("end_date") is not None or params.get("start_date") == params.get( - "end_date" - ): - params["end_date"] = params.get("end_date") + timedelta(days=1) # type: ignore - - return params - - -class IntrinioOptionsUnusualData(OptionsUnusualData): - """Intrinio Unusual Options Data.""" - - __alias_dict__ = { - "contract_symbol": "contract", - "underlying_symbol": "symbol", - "trade_type": "type", - "trade_timestamp": "timestamp", - } - - trade_timestamp: datetime = Field(description="The datetime of order placement.") - trade_type: Literal["block", "sweep", "large", "sweep"] = Field( - description="The type of unusual trade." - ) - sentiment: Literal["bullish", "bearish", "neutral"] = Field( - description=( - "Bullish, Bearish, or Neutral Sentiment is estimated based on whether" - + " the trade was executed at the bid, ask, or mark price." - ) - ) - bid_at_execution: float = Field(description="Bid price at execution.") - ask_at_execution: float = Field(description="Ask price at execution.") - average_price: float = Field( - description="The average premium paid per option contract." - ) - underlying_price_at_execution: float | None = Field( - default=None, - description="Price of the underlying security at execution of trade.", - ) - total_size: int = Field( - description="The total number of contracts involved in a single transaction." - ) - total_value: int | float = Field( - description="The aggregated value of all option contract premiums included in the trade." - ) - - @field_validator("trade_timestamp", mode="before", check_fields=False) - @classmethod - def validate_timestamp(cls, v): - """Convert the timestamp string to a datetime object.""" - if v: - v = parse(v) - v = v.replace(microsecond=0) - v = v.astimezone(timezone("America/New_York")) - return v - return None - - @field_validator("contract_symbol", mode="before", check_fields=False) - @classmethod - def validate_contract_symbol(cls, v): - """Return the symbol as the OCC standard format.""" - return v.replace("_", "") if v else None - - @field_validator("trade_type", mode="before", check_fields=False) - @classmethod - def validate_trade_type(cls, v): - """Validate the trade type.""" - if v and "_" in v: - v = v.split("_")[-1] - return v.lower() - - @field_validator("underlying_price_at_execution", mode="before", check_fields=False) - @classmethod - def replace_zero(cls, v): - """Replace a 0 with None.""" - if v: - return None if v == 0 else v - return None - - -class IntrinioOptionsUnusualFetcher( - Fetcher[IntrinioOptionsUnusualQueryParams, list[IntrinioOptionsUnusualData]] -): - """Intrinio Unusual Options Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioOptionsUnusualQueryParams: - """Transform the query.""" - return IntrinioOptionsUnusualQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioOptionsUnusualQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - data: list = [] - - base_url = "https://api-v2.intrinio.com/options/unusual_activity" - - query_str = get_querystring(query.model_dump(), ["symbol", "limit"]) - - # Page size is capped at 1000 for this endpoint. They don't tell you though. - url = ( - base_url - + f"/{query.symbol}/intraday?{query_str}&page_size=1000&api_key={api_key}" - if query.symbol - else base_url + f"/intraday?{query_str}&page_size=1000&api_key={api_key}" - ) - - data = [] - - async def response_callback(response: ClientResponse, session: ClientSession): - """Async response callback.""" - results = await response.json() - if "trades" in results and len(results.get("trades")) > 0: # type: ignore - data.extend( - sorted( - results["trades"], # type: ignore - key=lambda x: x["timestamp"], - reverse=True, - ) - ) - records = len(data) - while ( - "next_page" in results - and results.get("next_page") is not None # type: ignore - and records < query.limit - ): - next_page = results["next_page"] # type: ignore - next_url = f"{url}&next_page={next_page}" - results = await amake_request(next_url, session=session, **kwargs) - if "trades" in results and len(results.get("trades")) > 0: # type: ignore - data.extend( - sorted( - results["trades"], # type: ignore - key=lambda x: x["timestamp"], - reverse=True, - ) - ) - records = len(data) - return data - - return await amake_request(url, response_callback=response_callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioOptionsUnusualQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioOptionsUnusualData]: - """Return the transformed data.""" - if not data: - raise EmptyDataError() - return [ - IntrinioOptionsUnusualData.model_validate(d) for d in data[: query.limit] - ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py deleted file mode 100644 index a56dbe13e7c..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py +++ /dev/null @@ -1,178 +0,0 @@ -"""Intrinio Price Target Consensus Model.""" - -# pylint: disable=unused-argument - -import asyncio -from datetime import date as dateType -from typing import Any -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.price_target_consensus import ( - PriceTargetConsensusData, - PriceTargetConsensusQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_core.provider.utils.helpers import ( - amake_request, - get_querystring, -) -from openbb_intrinio.utils.helpers import response_callback -from pydantic import Field - - -class IntrinioPriceTargetConsensusQueryParams(PriceTargetConsensusQueryParams): - """Intrinio Price Target Consensus Query. - - https://docs.intrinio.com/documentation/web_api/get_zacks_sales__v2 - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - industry_group_number: int | None = Field( - default=None, - description="The Zacks industry group number.", - ) - - -class IntrinioPriceTargetConsensusData(PriceTargetConsensusData): - """Intrinio Price Target Consensus Data.""" - - __alias_dict__ = { - "symbol": "ticker", - "name": "company_name", - "target_high": "high", - "target_low": "low", - "target_consensus": "mean", - "target_median": "median", - } - standard_deviation: float | None = Field( - default=None, - description="The standard deviation of target price estimates.", - ) - total_analysts: int | None = Field( - default=None, - description="The total number of target price estimates in consensus.", - ) - raised: int | None = Field( - default=None, - description="The number of analysts that have raised their target price estimates.", - ) - lowered: int | None = Field( - default=None, - description="The number of analysts that have lowered their target price estimates.", - ) - most_recent_date: dateType | None = Field( - default=None, - description="The date of the most recent estimate.", - ) - industry_group_number: int | None = Field( - default=None, - description="The Zacks industry group number.", - ) - - -class IntrinioPriceTargetConsensusFetcher( - Fetcher[ - IntrinioPriceTargetConsensusQueryParams, list[IntrinioPriceTargetConsensusData] - ] -): - """Intrinio Price Target Consensus Fetcher.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioPriceTargetConsensusQueryParams: - """Transform the query params.""" - return IntrinioPriceTargetConsensusQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioPriceTargetConsensusQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - BASE_URL = ( - "https://api-v2.intrinio.com/zacks/target_price_consensuses?page_size=10000" - ) - - symbols = query.symbol.split(",") if query.symbol else None - - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol"]) - - results: list[dict] = [] - - async def get_one(symbol): - """Get the data for one symbol.""" - url = f"{BASE_URL}&identifier={symbol}&{query_str}&api_key={api_key}" - new_data: list[dict] = [] - data = await amake_request( - url, response_callback=response_callback, **kwargs - ) - if ( - not data - or not isinstance(data, dict) - or not data.get("target_price_consensuses") - ): - warn(f"Symbol Error: No data found for {symbol}") - if isinstance(data, dict) and data.get("target_price_consensuses"): - new_data = data.get("target_price_consensuses") # type: ignore - if new_data: - results.extend(new_data) - - if symbols: - await asyncio.gather(*[get_one(symbol) for symbol in symbols]) - return results - - async def fetch_callback(response, session): - """Use callback for pagination.""" - data = await response.json() - messages = data.get("messages") - if messages: - raise OpenBBError(str(messages)) - _data = data.get("target_price_consensuses") - if _data and len(_data) > 0: - results.extend(_data) # type: ignore - while data.get("next_page"): # type: ignore - next_page = data["next_page"] # type: ignore - next_url = f"{url}&next_page={next_page}" - data = await amake_request(next_url, session=session, **kwargs) - if "" in data and len(data.get("target_price_consensuses")) > 0: # type: ignore - results.extend(data.get("target_price_consensuses")) # type: ignore - return results - - url = f"{BASE_URL}&{query_str}&api_key={api_key}" - results = await amake_request(url, response_callback=fetch_callback, **kwargs) # type: ignore - - if not results: - raise EmptyDataError("The request was successful but was returned empty.") - - return results - - @staticmethod - def transform_data( - query: IntrinioPriceTargetConsensusQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioPriceTargetConsensusData]: - """Transform the raw data into the standard format.""" - symbols = query.symbol.split(",") if query.symbol else [] - results: list[IntrinioPriceTargetConsensusData] = [] - for item in sorted( # type: ignore - sorted( # type: ignore - data, - key=lambda item: item.get("most_recent_date"), # type: ignore - reverse=True, - ), - key=lambda item: ( - symbols.index(item.get("symbol")) if item.get("symbol") in symbols else len(symbols) # type: ignore - ), - ): - _ = item.pop("company") - results.append(IntrinioPriceTargetConsensusData.model_validate(item)) - - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py deleted file mode 100644 index 22a4411a06f..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py +++ /dev/null @@ -1,147 +0,0 @@ -"""Intrinio Reported Financials Model.""" - -# pylint: disable=unused-argument - -from typing import Any, Literal -from warnings import warn - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.reported_financials import ( - ReportedFinancialsData, - ReportedFinancialsQueryParams, -) -from pydantic import Field - -STATEMENT_DICT = { - "balance": "balance_sheet_statement", - "income": "income_statement", - "cash": "cash_flow_statement", -} - - -class IntrinioReportedFinancialsQueryParams(ReportedFinancialsQueryParams): - """Intrinio Reported Financials Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_company_fundamentals_v2 - Source: https://docs.intrinio.com/documentation/web_api/get_fundamental_reported_financials_v2 - """ - - statement_type: Literal["balance", "income", "cash"] = Field( - default="income", - description="Cash flow statements are reported as YTD, Q4 is the same as FY.", - ) - period: Literal["annual", "quarter"] = Field(default="annual") - fiscal_year: int | None = Field( - default=None, - description="The specific fiscal year. Reports do not go beyond 2008.", - ) - - -class IntrinioReportedFinancialsData(ReportedFinancialsData): - """ - Intrinio Reported Financials Data. - - The fields for this model are generated dynamically from the XBRL tags in the Intrinio response. - """ - - -class IntrinioReportedFinancialsFetcher( - Fetcher[ - IntrinioReportedFinancialsQueryParams, - list[IntrinioReportedFinancialsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query( - params: dict[str, Any], - ) -> IntrinioReportedFinancialsQueryParams: - """Transform the query params.""" - return IntrinioReportedFinancialsQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioReportedFinancialsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.helpers import ( - ClientResponse, - amake_requests, - ) - from openbb_intrinio.utils.helpers import get_data_one - from pandas import DataFrame - - period_type = "" - api_key = credentials.get("intrinio_api_key") if credentials else "" - statement_code = STATEMENT_DICT[query.statement_type] - period_type = "FY" if query.period == "annual" else "Q" - ids = [] - ids_url = f"https://api-v2.intrinio.com/companies/{query.symbol}/fundamentals?reported_only=true&statement_code={statement_code}" - if query.fiscal_year is not None: - if query.fiscal_year < 2008: - warn("Financials data is only available from 2008 and later.") - query.fiscal_year = 2008 - ids_url = ids_url + f"&fiscal_year={query.fiscal_year}" - ids_url = ids_url + f"&page_size=10000&api_key={api_key}" - - fundamentals_ids = await get_data_one(ids_url, **kwargs) - filings = DataFrame(fundamentals_ids["fundamentals"]) - - _period = "" if query.period is None else period_type - _statement = "" if statement_code is None else statement_code - if len(filings) > 0: - filings = filings[filings["statement_code"].str.contains(_statement)] - if query.period == "annual": - filings = filings[filings["fiscal_period"].str.contains(_period)] - ids = filings.iloc[: query.limit]["id"].to_list() - - if ids == []: - raise OpenBBError("No reports found.") - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - statement_data = await response.json() - return { - "period_ending": statement_data["fundamental"]["end_date"], # type: ignore - "fiscal_year": statement_data["fundamental"]["fiscal_year"], # type: ignore - "fiscal_period": statement_data["fundamental"]["fiscal_period"], # type: ignore - "financials": statement_data["reported_financials"], # type: ignore - } - - urls = [ - f"https://api-v2.intrinio.com/fundamentals/{id}/reported_financials?api_key={api_key}" - for id in ids - ] - - return await amake_requests(urls, callback, **kwargs) - - @staticmethod - def transform_data( - query: IntrinioReportedFinancialsQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioReportedFinancialsData]: - """Return the transformed data.""" - # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.helpers import to_snake_case - - transformed_data: list[IntrinioReportedFinancialsData] = [] - data_tag = "xbrl_tag" - for item in data: - sub_dict: dict[str, Any] = {} - - for sub_item in item["financials"]: - field_name = to_snake_case(sub_item[data_tag]["tag"]) - if sub_item["value"] and sub_item["value"] != 0: - sub_dict[field_name] = float(sub_item["value"]) - - sub_dict["period_ending"] = item["period_ending"] - sub_dict["fiscal_year"] = item["fiscal_year"] - sub_dict["fiscal_period"] = item["fiscal_period"] - - transformed_data.append(IntrinioReportedFinancialsData(**sub_dict)) - - return transformed_data diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/search_attributes.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/search_attributes.py deleted file mode 100644 index 7bc17fc343f..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/search_attributes.py +++ /dev/null @@ -1,75 +0,0 @@ -"""Intrinio Search Attributes Model.""" - -# pylint: disable=unused-argument - -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.search_attributes import ( - SearchAttributesData, - SearchAttributesQueryParams, -) -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_one - - -class IntrinioSearchAttributesQueryParams(SearchAttributesQueryParams): - """Intrinio Search Attributes Query. - - Source: https://docs.intrinio.com/documentation/web_api/search_data_tags_v2 - """ - - __alias_dict__ = {"limit": "page_size"} - - -class IntrinioSearchAttributesData(SearchAttributesData): - """Intrinio Search Attributes Data.""" - - __alias_dict__ = { - "parent_name": "parent", - "transaction": "balance", - } - - -class IntrinioSearchAttributesFetcher( - Fetcher[ - IntrinioSearchAttributesQueryParams, - list[IntrinioSearchAttributesData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioSearchAttributesQueryParams: - """Transform the query params.""" - return IntrinioSearchAttributesQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioSearchAttributesQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com" - query_str = get_querystring(query.model_dump(by_alias=True), []) - - url = f"{base_url}/data_tags/search?{query_str}&api_key={api_key}" - data = await get_data_one(url, **kwargs) - - # Intrinio doesn't return the correct number of results when using the limit parameter - # Temporary fix until they fix it - data = data.get("tags", [])[: query.limit] - - return data - - @staticmethod - def transform_data( - query: IntrinioSearchAttributesQueryParams, - data: list[dict], - **kwargs: Any, - ) -> list[IntrinioSearchAttributesData]: - """Return the transformed data.""" - return [IntrinioSearchAttributesData.model_validate(item) for item in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/share_statistics.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/share_statistics.py deleted file mode 100644 index 78e4246e785..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/share_statistics.py +++ /dev/null @@ -1,95 +0,0 @@ -"""Intrinio Share Statistics Model.""" - -# pylint: disable=unused-argument - -from datetime import datetime -from typing import Any - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.share_statistics import ( - ShareStatisticsData, - ShareStatisticsQueryParams, -) -from openbb_core.provider.utils.helpers import ( - ClientResponse, - amake_requests, -) -from pydantic import Field - - -class IntrinioShareStatisticsQueryParams(ShareStatisticsQueryParams): - """Intrinio Share Statistics Query. - - Source: https://data.intrinio.com/data-tag/adjweightedavebasicdilutedsharesos - https://data.intrinio.com/data-tag/weightedavebasicdilutedsharesos - https://data.intrinio.com/data-tag/public_float - """ - - -class IntrinioShareStatisticsData(ShareStatisticsData): - """Intrinio Share Statistics Data.""" - - __alias_dict__ = { - "outstanding_shares": "weightedavebasicdilutedsharesos", - "adjusted_outstanding_shares": "adjweightedavebasicdilutedsharesos", - } - - adjusted_outstanding_shares: float | None = Field( - default=None, - description="Total number of shares of a publicly-traded company, adjusted for splits.", - ) - public_float: float | None = Field( - default=None, - description="Aggregate market value of the shares of a publicly-traded company.", - ) - - -class IntrinioShareStatisticsFetcher( - Fetcher[ - IntrinioShareStatisticsQueryParams, - list[IntrinioShareStatisticsData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioShareStatisticsQueryParams: - """Transform the query params.""" - return IntrinioShareStatisticsQueryParams(**params) - - @staticmethod - async def aextract_data( - query: IntrinioShareStatisticsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - data = {"symbol": query.symbol, "date": datetime.now().date()} - - tags = [ - "public_float", - "weightedavebasicdilutedsharesos", - "adjweightedavebasicdilutedsharesos", - ] - - urls = [ - f"https://api-v2.intrinio.com/companies/{query.symbol}/data_point/{tag}/number?api_key={api_key}" - for tag in tags - ] - - async def callback(response: ClientResponse, _: Any) -> dict: - """Return the response.""" - return {response.url.parts[-2]: await response.json()} - - for result in await amake_requests(urls, callback, **kwargs): - data.update(result) - - return [data] - - @staticmethod - def transform_data( - query: IntrinioShareStatisticsQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioShareStatisticsData]: - """Return the transformed data.""" - return [IntrinioShareStatisticsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/world_news.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/world_news.py deleted file mode 100644 index 2bcebbcc1cb..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/world_news.py +++ /dev/null @@ -1,254 +0,0 @@ -"""Intrinio World News Model.""" - -# pylint: disable=unused-argument - -from datetime import datetime, timedelta -from typing import Any, Literal - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.world_news import ( - WorldNewsData, - WorldNewsQueryParams, -) -from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError -from openbb_intrinio.utils.references import IntrinioCompany, IntrinioSecurity -from pydantic import Field, field_validator - - -class IntrinioWorldNewsQueryParams(WorldNewsQueryParams): - """Intrinio World News Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_all_company_news_v2 - """ - - __alias_dict__ = { - "source": "specific_source", - "limit": "page_size", - } - source: ( - Literal["yahoo", "moody", "moody_us_news", "moody_us_press_releases"] | None - ) = Field( - default=None, - description="The source of the news article.", - ) - sentiment: None | Literal["positive", "neutral", "negative"] = Field( - default=None, - description="Return news only from this source.", - ) - language: str | None = Field( - default=None, - description="Filter by language. Unsupported for yahoo source.", - ) - topic: str | None = Field( - default=None, - description="Filter by topic. Unsupported for yahoo source.", - ) - word_count_greater_than: int | None = Field( - default=None, - description="News stories will have a word count greater than this value." - + " Unsupported for yahoo source.", - ) - word_count_less_than: int | None = Field( - default=None, - description="News stories will have a word count less than this value." - + " Unsupported for yahoo source.", - ) - is_spam: bool | None = Field( - default=None, - description="Filter whether it is marked as spam or not." - + " Unsupported for yahoo source.", - ) - business_relevance_greater_than: float | None = Field( - default=None, - ge=0, - le=1, - description="News stories will have a business relevance score more than this value." - + " Unsupported for yahoo source. Value is a decimal between 0 and 1.", - ) - business_relevance_less_than: float | None = Field( - default=None, - ge=0, - le=1, - description="News stories will have a business relevance score less than this value." - + " Unsupported for yahoo source. Value is a decimal between 0 and 1.", - ) - - -class IntrinioWorldNewsData(WorldNewsData): - """Intrinio World News Data.""" - - __alias_dict__ = { - "date": "publication_date", - "sentiment": "article_sentiment", - "sentiment_confidence": "article_sentiment_confidence", - } - source: str | None = Field( - default=None, - description="The source of the news article.", - ) - summary: str | None = Field( - default=None, - description="The summary of the news article.", - ) - topics: str | None = Field( - default=None, - description="The topics related to the news article.", - ) - word_count: int | None = Field( - default=None, - description="The word count of the news article.", - ) - business_relevance: float | None = Field( - default=None, - description=" How strongly correlated the news article is to the business", - ) - sentiment: str | None = Field( - default=None, - description="The sentiment of the news article - i.e, negative, positive.", - ) - sentiment_confidence: float | None = Field( - default=None, - description="The confidence score of the sentiment rating.", - ) - language: str | None = Field( - default=None, - description="The language of the news article.", - ) - spam: bool | None = Field( - default=None, - description="Whether the news article is spam.", - ) - copyright: str | None = Field( - default=None, - description="The copyright notice of the news article.", - ) - id: str = Field(description="Article ID.") - company: IntrinioCompany | None = Field( - default=None, - description="The Intrinio Company object. Contains details company reference data.", - ) - security: IntrinioSecurity | None = Field( - default=None, - description="The Intrinio Security object. Contains the security details related to the news article.", - ) - - @field_validator("publication_date", mode="before", check_fields=False) - @classmethod - def date_validate(cls, v): - """Return the date as a datetime object.""" - return datetime.strptime(v, "%Y-%m-%dT%H:%M:%S.000Z") - - @field_validator("topics", mode="before", check_fields=False) - @classmethod - def topics_validate(cls, v): - """ "Parse the topics as a string.""" - if v: - topics = [t.get("name") for t in v if t and t not in ["", " "]] - return ", ".join(topics) - return None - - @field_validator("copyright", mode="before", check_fields=False) - @classmethod - def copyright_validate(cls, v): - """Clean empty strings""" - return None if v in ["", " "] else v - - -class IntrinioWorldNewsFetcher( - Fetcher[ - IntrinioWorldNewsQueryParams, - list[IntrinioWorldNewsData], - ] -): - """Intrinio World News Fetcher.""" - - @staticmethod - def transform_query(params: dict[str, Any]) -> IntrinioWorldNewsQueryParams: - """Transform the query params.""" - transformed_params = params - if not transformed_params.get("start_date"): - transformed_params["start_date"] = datetime.now().date() - if not transformed_params.get("end_date"): - transformed_params["end_date"] = (datetime.now() + timedelta(days=1)).date() - if transformed_params["start_date"] == transformed_params["end_date"]: - transformed_params["end_date"] = ( - transformed_params["end_date"] + timedelta(days=1) - ).date() - return IntrinioWorldNewsQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioWorldNewsQueryParams, - credentials: dict[str, str] | None, - **kwargs: Any, - ) -> list[dict]: - """Return the raw data from the Intrinio endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.helpers import amake_request, get_querystring - from openbb_intrinio.utils.helpers import get_data - - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/companies" - ignore = ( - ["symbol", "page_size", "is_spam"] - if not query.source or query.source == "yahoo" - else ["symbol", "page_size"] - ) - query_str = get_querystring(query.model_dump(by_alias=True), ignore) - url = f"{base_url}/news?{query_str}&page_size={query.limit}&api_key={api_key}" - seen = set() - - async def callback(response, session): - """Response callback.""" - result = await response.json() - - if isinstance(result, dict) and "error" in result: - if "api key" in result.get("message", "").lower(): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {result.get('message')}" - ) - raise OpenBBError(f"Error in Intrinio request -> {result}") - - _data = result.get("news", []) - data = [] - data.extend([x for x in _data if not (x["url"] in seen or seen.add(x["url"]))]) # type: ignore - articles = len(data) - next_page = result.get("next_page") - while next_page and articles < query.limit: - url = f"{base_url}/news?{query_str}&page_size={query.limit}&api_key={api_key}&next_page={next_page}" - result = await get_data(url, session=session, **kwargs) - _data = result.get("news", []) - if _data: - # Remove duplicates based on URL - data.extend([x for x in _data if not (x["url"] in seen or seen.add(x["url"]))]) # type: ignore - articles = len(data) - next_page = result.get("next_page") - return sorted(data, key=lambda x: x["publication_date"], reverse=True)[ - : query.limit - ] - - return await amake_request(url, response_callback=callback, **kwargs) # type: ignore - - @staticmethod - def transform_data( - query: IntrinioWorldNewsQueryParams, data: list[dict], **kwargs: Any - ) -> list[IntrinioWorldNewsData]: - """Return the transformed data.""" - if not data: - raise EmptyDataError( - "Error: The request was returned as empty." - + " Try adjusting the requested date ranges, if applicable." - ) - results: list[IntrinioWorldNewsData] = [] - for item in data: - body = item.get("body", {}) - if not body: - item["text"] = item.pop("summary") - if body: - _ = item.pop("body") - item["publication_date"] = body.get("publication_date", None) - item["text"] = body.get("body", None) - results.append(IntrinioWorldNewsData.model_validate(item)) - return results diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/py.typed b/openbb_platform/providers/intrinio/openbb_intrinio/py.typed deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/utils/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/utils/__init__.py deleted file mode 100644 index 4c2d5f3789a..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/utils/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Intrinio utils directory.""" diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py b/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py deleted file mode 100644 index 73307f0e114..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py +++ /dev/null @@ -1,153 +0,0 @@ -"""Intrinio Helpers Module.""" - -import asyncio -import json -from datetime import ( - date as dateType, - timedelta, -) -from io import StringIO -from typing import Any, TypeVar - -from openbb_core.app.model.abstract.error import OpenBBError -from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError -from openbb_core.provider.utils.helpers import ( - ClientResponse, - ClientSession, - amake_request, -) -from pydantic import BaseModel - -T = TypeVar("T", bound=BaseModel) - - -class BasicResponse: - """Basic Response class.""" - - def __init__(self, response: StringIO): - """Initialize the BasicResponse class.""" - # Find a way to get the status code - self.status_code = 200 - response.seek(0) - self.text = response.read() - - def json(self) -> dict: - """Return the response as a dictionary.""" - return json.loads(self.text) - - -def request(url: str) -> BasicResponse: - """ - Request function for PyScript. Pass in Method and make sure to await. - - Parameters - ---------- - url: str - URL to make request to - - Return: - ------- - response: BasicRequest - BasicRequest object with status_code and text attributes - """ - # pylint: disable=import-outside-toplevel - from pyodide.http import open_url # type: ignore - - response = open_url(url) - return BasicResponse(response) - - -async def response_callback( - response: ClientResponse, _: ClientSession -) -> dict | list[dict]: - """Use callback for async_request.""" - data = await response.json() - - if isinstance(data, dict) and "error" in data: - message = data.get("message", "") - error = data.get("error", "") - if "api key" in message.lower() or error.startswith( - "You do not have sufficient access to view this data" - ): - raise UnauthorizedError( - f"Unauthorized Intrinio request -> {message} -> {error}" - ) - - raise OpenBBError(f"Error in Intrinio request -> {message} -> {error}") - - if isinstance(data, (str, float)): - data = {"value": data} - - if isinstance(data, list) and len(data) == 0: - raise EmptyDataError() - - return data - - -async def get_data(url: str, **kwargs: Any) -> list | dict: - """Get data from Intrinio endpoint.""" - return await amake_request(url, response_callback=response_callback, **kwargs) - - -async def get_data_many( - url: str, sub_dict: str | None = None, **kwargs: Any -) -> list[dict]: - """Get data from Intrinio endpoint and convert to list of schemas. - - Parameters - ---------- - url: str - The URL to get the data from. - sub_dict: Optional[str] - The sub-dictionary to use. - - Returns - ------- - List[dict] - Dictionary of data. - """ - data = await get_data(url, **kwargs) - if sub_dict and isinstance(data, dict): - data = data.get(sub_dict, []) - if isinstance(data, dict): - raise ValueError("Expected list of dicts, got dict") - return data - - -async def get_data_one(url: str, **kwargs: Any) -> dict[str, Any]: - """Get data from Intrinio endpoint and convert to schema.""" - data = await get_data(url, **kwargs) - if isinstance(data, list): - if len(data) == 0: - raise ValueError("Expected dict, got empty list") - - try: - data = {i: data[i] for i in range(len(data))} if len(data) > 1 else data[0] - except TypeError as e: - raise ValueError("Expected dict, got list of dicts") from e - - return data - - -def get_weekday(date: dateType) -> dateType: - """Return the weekday date.""" - if date.weekday() in [5, 6]: - return date - timedelta(days=date.weekday() - 4) - return date - - -async def async_get_data_one( - url: str, limit: int = 1, sleep: float = 1, **kwargs: Any -) -> list | dict: - """Get data from Intrinio endpoint and convert to schema.""" - if limit > 100: - await asyncio.sleep(sleep) - - try: - data = await get_data(url, **kwargs) - except Exception as e: - if "limit" not in str(e): - raise e - return await async_get_data_one(url, limit, sleep, **kwargs) - - return data diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/utils/references.py b/openbb_platform/providers/intrinio/openbb_intrinio/utils/references.py deleted file mode 100644 index ee6724c144e..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/utils/references.py +++ /dev/null @@ -1,155 +0,0 @@ -"""Intrinio References Helpers.""" - -from typing import Literal - -from openbb_core.provider.abstract.data import Data -from pydantic import Field - -SOURCES = Literal[ - "iex", - "bats", - "bats_delayed", - "utp_delayed", - "cta_a_delayed", - "cta_b_delayed", - "intrinio_mx", - "intrinio_mx_plus", - "delayed_sip", -] - -VENUES = { - "A": "NYSE MKT LLC", - "B": "NASDAQ OMX BX, Inc.", - "C": "National Stock Exchange Inc. (NSX)", - "D": "FINRA ADF", - "I": "International Securities Exchange, LLC", - "J": "Bats EDGA Exchange, INC", - "K": "Bats EDGX Exchange, Inc.", - "M": "Chicago Stock Exchange, Inc. (CHX)", - "N": "New York Stock Exchange LLC", - "P": "NYSE Arca, Inc.", - "S": "Consolidated Tape System", - "T": "NASDAQ (Tape A, B securities)", - "Q": "NASDAQ (Tape C securities)", - "V": "The Investors' Exchange, LLC (IEX)", - "W": "Chicago Broad Options Exchange, Inc. (CBOE)", - "X": "NASDAQ OMX PSX, Inc. LLC", - "Y": "Bats BYX Exchange, Inc.", - "Z": "Bats BZX Exchange, Inc.", - "u": "Other OTC Markets", -} - - -ETF_EXCHANGES = Literal[ - "xnas", - "arcx", - "bats", - "xnys", - "bvmf", - "xshg", - "xshe", - "xhkg", - "xbom", - "xnse", - "xidx", - "tase", - "xkrx", - "xkls", - "xmex", - "xses", - "roco", - "xtai", - "xbkk", - "xist", -] - - -ETF_PERFORMANCE_MAP = { - "trailing_one_month_return_split_and_dividend": "one_month", - "trailing_one_month_return_split_only": "one_month", - "trailing_one_year_return_split_and_dividend": "one_year", - "trailing_one_year_return_split_only": "one_year", - "trailing_one_year_volatility_annualized": "volatility_one_year", - "trailing_three_year_annualized_return_split_and_dividend": "three_year", - "trailing_three_year_annualized_return_split_only": "three_year", - "trailing_three_year_volatility_annualized": "volatility_three_year", - "trailing_five_year_annualized_return_split_and_dividend": "five_year", - "trailing_five_year_annualized_return_split_only": "five_year", - "trailing_five_year_volatility_annualized": "volatility_five_year", - "trailing_ten_year_annualized_return_split_and_dividend": "ten_year", - "trailing_ten_year_annualized_return_split_only": "ten_year", - "inception_annualized_return_split_and_dividend": "max_annualized", - "inception_annualized_return_split_only": "max_annualized", - "calendar_year_5_return_split_and_dividend": "five_year", - "calendar_year_5_return_split_only": "five_year", - "calendar_year_4_return_split_and_dividend": "four_year", - "calendar_year_4_return_split_only": "four_year", - "calendar_year_3_return_split_and_dividend": "three_year", - "calendar_year_3_return_split_only": "three_year", - "calendar_year_2_return_split_and_dividend": "two_year", - "calendar_year_2_return_split_only": "two_year", - "calendar_year_1_return_split_and_dividend": "one_year", - "calendar_year_1_return_split_only": "one_year", - "calendar_year_to_date_return_split_and_dividend": "ytd", - "calendar_year_to_date_return_split_only": "ytd", - "net_asset_value": "nav", - "beta_vs_spy": "beta", -} - - -class IntrinioCompany(Data): - """Intrinio Company Data.""" - - id: str = Field(description="The Intrinio ID of the Company.") - ticker: str | None = Field( - description="The stock market ticker symbol associated with the company's common stock securities", - default=None, - ) - name: str | None = Field(description="The company's common name.", default=None) - lei: str | None = Field( - description="The Legal Entity Identifier (LEI) of the company.", default=None - ) - cik: str | None = Field( - description="The Central Index Key (CIK) of the company.", - ) - - -class IntrinioSecurity(Data): - """Intrinio Security Data.""" - - id: str = Field(description="The Intrinio ID for Security.") - company_id: str | None = Field( - description="The Intrinio ID for the company for which the Security is issued.", - default=None, - ) - name: str | None = Field(description="Name of the Security.", default=None) - code: str | None = Field( - description=""" - A 2-3 digit code classifying the Security. - Reference: https://docs.intrinio.com/documentation/security_codes - """, - default=None, - ) - currency: str | None = Field( - description="The currency in which the Security is traded.", default=None - ) - ticker: str | None = Field( - description="The common/local ticker of the Security.", default=None - ) - composite_ticker: str | None = Field( - description="The country-composite ticker of the Security.", default=None - ) - figi: str | None = Field(description="The OpenFIGI identifier.", default=None) - composite_figi: str | None = Field( - description="The country-composite OpenFIGI identifier.", default=None - ) - share_class_figi: str | None = Field( - description="The global-composite OpenFIGI identifier.", default=None - ) - primary_listing: bool | None = Field( - description=""" - If true, the Security is the primary issue for the company, - otherwise it is a secondary issue on a secondary stock exchange, - """, - default=None, - ) diff --git a/openbb_platform/providers/intrinio/poetry.lock b/openbb_platform/providers/intrinio/poetry.lock deleted file mode 100644 index 2c65837b705..00000000000 --- a/openbb_platform/providers/intrinio/poetry.lock +++ /dev/null @@ -1,2045 +0,0 @@ -# This file is automatically @generated by Poetry 2.4.1 and should not be changed by hand. - -[[package]] -name = "aiohappyeyeballs" -version = "2.6.2" -description = "Happy Eyeballs for asyncio" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "aiohappyeyeballs-2.6.2-py3-none-any.whl", hash = "sha256:4708045e2d7a6c6bdf8aafa8ed39649eaf926a4543b54560659129e3365953c4"}, - {file = "aiohappyeyeballs-2.6.2.tar.gz", hash = "sha256:e202810ee718bd01fc6ef49e8ea53d023d5cb6b581076d7925aa499fa55dbe64"}, -] - -[[package]] -name = "aiohttp" -version = "3.13.5" -description = "Async http client/server framework (asyncio)" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "aiohttp-3.13.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02222e7e233295f40e011c1b00e3b0bd451f22cf853a0304c3595633ee47da4b"}, - {file = "aiohttp-3.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bace460460ed20614fa6bc8cb09966c0b8517b8c58ad8046828c6078d25333b5"}, - {file = "aiohttp-3.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f546a4dc1e6a5edbb9fd1fd6ad18134550e096a5a43f4ad74acfbd834fc6670"}, - {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c86969d012e51b8e415a8c6ce96f7857d6a87d6207303ab02d5d11ef0cad2274"}, - {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b6f6cd1560c5fa427e3b6074bb24d2c64e225afbb7165008903bd42e4e33e28a"}, - {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:636bc362f0c5bbc7372bc3ae49737f9e3030dbce469f0f422c8f38079780363d"}, - {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a7cbeb06d1070f1d14895eeeed4dac5913b22d7b456f2eb969f11f4b3993796"}, - {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca9ef7517fd7874a1a08970ae88f497bf5c984610caa0bf40bd7e8450852b95"}, - {file = "aiohttp-3.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:019a67772e034a0e6b9b17c13d0a8fe56ad9fb150fc724b7f3ffd3724288d9e5"}, - {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f34ecee82858e41dd217734f0c41a532bd066bcaab636ad830f03a30b2a96f2a"}, - {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4eac02d9af4813ee289cd63a361576da36dba57f5a1ab36377bc2600db0cbb73"}, - {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4beac52e9fe46d6abf98b0176a88154b742e878fdf209d2248e99fcdf73cd297"}, - {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c180f480207a9b2475f2b8d8bd7204e47aec952d084b2a2be58a782ffcf96074"}, - {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2837fb92951564d6339cedae4a7231692aa9f73cbc4fb2e04263b96844e03b4e"}, - {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9010032a0b9710f58012a1e9c222528763d860ba2ee1422c03473eab47703e7"}, - {file = "aiohttp-3.13.5-cp310-cp310-win32.whl", hash = "sha256:7c4b6668b2b2b9027f209ddf647f2a4407784b5d88b8be4efcc72036f365baf9"}, - {file = "aiohttp-3.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:cd3db5927bf9167d5a6157ddb2f036f6b6b0ad001ac82355d43e97a4bde76d76"}, - {file = "aiohttp-3.13.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ab7229b6f9b5c1ba4910d6c41a9eb11f543eadb3f384df1b4c293f4e73d44d6"}, - {file = "aiohttp-3.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f14c50708bb156b3a3ca7230b3d820199d56a48e3af76fa21c2d6087190fe3d"}, - {file = "aiohttp-3.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d2f8616f0ff60bd332022279011776c3ac0faa0f1b463f7bb12326fbc97a1c"}, - {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2567b72e1ffc3ab25510db43f355b29eeada56c0a622e58dcdb19530eb0a3cb"}, - {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fb0540c854ac9c0c5ad495908fdfd3e332d553ec731698c0e29b1877ba0d2ec6"}, - {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9883051c6972f58bfc4ebb2116345ee2aa151178e99c3f2b2bbe2af712abd13"}, - {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2294172ce08a82fb7c7273485895de1fa1186cc8294cfeb6aef4af42ad261174"}, - {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a807cabd5115fb55af198b98178997a5e0e57dead43eb74a93d9c07d6d4a7dc"}, - {file = "aiohttp-3.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aa6d0d932e0f39c02b80744273cd5c388a2d9bc07760a03164f229c8e02662f6"}, - {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60869c7ac4aaabe7110f26499f3e6e5696eae98144735b12a9c3d9eae2b51a49"}, - {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26d2f8546f1dfa75efa50c3488215a903c0168d253b75fba4210f57ab77a0fb8"}, - {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1162a1492032c82f14271e831c8f4b49f2b6078f4f5fc74de2c912fa225d51d"}, - {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8b14eb3262fad0dc2f89c1a43b13727e709504972186ff6a99a3ecaa77102b6c"}, - {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ca9ac61ac6db4eb6c2a0cd1d0f7e1357647b638ccc92f7e9d8d133e71ed3c6ac"}, - {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7996023b2ed59489ae4762256c8516df9820f751cf2c5da8ed2fb20ee50abab3"}, - {file = "aiohttp-3.13.5-cp311-cp311-win32.whl", hash = "sha256:77dfa48c9f8013271011e51c00f8ada19851f013cde2c48fca1ba5e0caf5bb06"}, - {file = "aiohttp-3.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:d3a4834f221061624b8887090637db9ad4f61752001eae37d56c52fddade2dc8"}, - {file = "aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9"}, - {file = "aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416"}, - {file = "aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2"}, - {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4"}, - {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9"}, - {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5"}, - {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e"}, - {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1"}, - {file = "aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286"}, - {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9"}, - {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88"}, - {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3"}, - {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b"}, - {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe"}, - {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14"}, - {file = "aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3"}, - {file = "aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1"}, - {file = "aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61"}, - {file = "aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832"}, - {file = "aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9"}, - {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090"}, - {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b"}, - {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a"}, - {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8"}, - {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665"}, - {file = "aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540"}, - {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb"}, - {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46"}, - {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8"}, - {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d"}, - {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6"}, - {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c"}, - {file = "aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc"}, - {file = "aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83"}, - {file = "aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c"}, - {file = "aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be"}, - {file = "aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25"}, - {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56"}, - {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2"}, - {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a"}, - {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be"}, - {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b"}, - {file = "aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94"}, - {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d"}, - {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7"}, - {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772"}, - {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5"}, - {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1"}, - {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b"}, - {file = "aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3"}, - {file = "aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162"}, - {file = "aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a"}, - {file = "aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254"}, - {file = "aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36"}, - {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f"}, - {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800"}, - {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf"}, - {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b"}, - {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a"}, - {file = "aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8"}, - {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be"}, - {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b"}, - {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6"}, - {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037"}, - {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500"}, - {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9"}, - {file = "aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8"}, - {file = "aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9"}, - {file = "aiohttp-3.13.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:347542f0ea3f95b2a955ee6656461fa1c776e401ac50ebce055a6c38454a0adf"}, - {file = "aiohttp-3.13.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:178c7b5e62b454c2bc790786e6058c3cc968613b4419251b478c153a4aec32b1"}, - {file = "aiohttp-3.13.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af545c2cffdb0967a96b6249e6f5f7b0d92cdfd267f9d5238d5b9ca63e8edb10"}, - {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:206b7b3ef96e4ce211754f0cd003feb28b7d81f0ad26b8d077a5d5161436067f"}, - {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ee5e86776273de1795947d17bddd6bb19e0365fd2af4289c0d2c5454b6b1d36b"}, - {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:95d14ca7abefde230f7639ec136ade282655431fd5db03c343b19dda72dd1643"}, - {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:912d4b6af530ddb1338a66229dac3a25ff11d4448be3ec3d6340583995f56031"}, - {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e999f0c88a458c836d5fb521814e92ed2172c649200336a6df514987c1488258"}, - {file = "aiohttp-3.13.5-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39380e12bd1f2fdab4285b6e055ad48efbaed5c836433b142ed4f5b9be71036a"}, - {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9efcc0f11d850cefcafdd9275b9576ad3bfb539bed96807663b32ad99c4d4b88"}, - {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:147b4f501d0292077f29d5268c16bb7c864a1f054d7001c4c1812c0421ea1ed0"}, - {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d147004fede1b12f6013a6dbb2a26a986a671a03c6ea740ddc76500e5f1c399f"}, - {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:9277145d36a01653863899c665243871434694bcc3431922c3b35c978061bdb8"}, - {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4e704c52438f66fdd89588346183d898bb42167cf88f8b7ff1c0f9fc957c348f"}, - {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8a4d3427e8de1312ddf309cc482186466c79895b3a139fed3259fc01dfa9a5b"}, - {file = "aiohttp-3.13.5-cp39-cp39-win32.whl", hash = "sha256:6f497a6876aa4b1a102b04996ce4c1170c7040d83faa9387dd921c16e30d5c83"}, - {file = "aiohttp-3.13.5-cp39-cp39-win_amd64.whl", hash = "sha256:cb979826071c0986a5f08333a36104153478ce6018c58cba7f9caddaf63d5d67"}, - {file = "aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1"}, -] - -[package.dependencies] -aiohappyeyeballs = ">=2.5.0" -aiosignal = ">=1.4.0" -async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -propcache = ">=0.2.0" -yarl = ">=1.17.0,<2.0" - -[package.extras] -speedups = ["Brotli (>=1.2) ; platform_python_implementation == \"CPython\"", "aiodns (>=3.3.0)", "backports.zstd ; platform_python_implementation == \"CPython\" and python_version < \"3.14\"", "brotlicffi (>=1.2) ; platform_python_implementation != \"CPython\""] - -[[package]] -name = "aiosignal" -version = "1.4.0" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e"}, - {file = "aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" -typing-extensions = {version = ">=4.2", markers = "python_version < \"3.13\""} - -[[package]] -name = "annotated-doc" -version = "0.0.4" -description = "Document parameters, class attributes, return types, and variables inline, with Annotated." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320"}, - {file = "annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4"}, -] - -[[package]] -name = "annotated-types" -version = "0.7.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] - -[[package]] -name = "anyio" -version = "4.13.0" -description = "High-level concurrency and networking framework on top of asyncio or Trio" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708"}, - {file = "anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} -idna = ">=2.8" -typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} - -[package.extras] -trio = ["trio (>=0.32.0)"] - -[[package]] -name = "async-timeout" -version = "5.0.1" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version == \"3.10\"" -files = [ - {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, - {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, -] - -[[package]] -name = "attrs" -version = "26.1.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309"}, - {file = "attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32"}, -] - -[[package]] -name = "cattrs" -version = "26.1.0" -description = "Composable complex class support for attrs and dataclasses." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "cattrs-26.1.0-py3-none-any.whl", hash = "sha256:d1e0804c42639494d469d08d4f26d6b9de9b8ab26b446db7b5f8c2e97f7c3096"}, - {file = "cattrs-26.1.0.tar.gz", hash = "sha256:fa239e0f0ec0715ba34852ce813986dfed1e12117e209b816ab87401271cdd40"}, -] - -[package.dependencies] -attrs = ">=25.4.0" -exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.14.0" - -[package.extras] -bson = ["pymongo (>=4.4.0)"] -cbor2 = ["cbor2 (>=5.4.6)"] -msgpack = ["msgpack (>=1.0.5)"] -msgspec = ["msgspec (>=0.19.0) ; implementation_name == \"cpython\""] -orjson = ["orjson (>=3.11.3) ; implementation_name == \"cpython\""] -pyyaml = ["pyyaml (>=6.0)"] -tomlkit = ["tomlkit (>=0.11.8)"] -tomllib = ["tomli (>=1.1.0) ; python_version < \"3.11\"", "tomli-w (>=1.1.0)"] -ujson = ["ujson (>=5.10.0)"] - -[[package]] -name = "certifi" -version = "2026.5.20" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.7" -groups = ["main"] -files = [ - {file = "certifi-2026.5.20-py3-none-any.whl", hash = "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897"}, - {file = "certifi-2026.5.20.tar.gz", hash = "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.7" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7" -groups = ["main"] -files = [ - {file = "charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-win32.whl", hash = "sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-win32.whl", hash = "sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c"}, - {file = "charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d"}, - {file = "charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5"}, -] - -[[package]] -name = "click" -version = "8.4.1" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "click-8.4.1-py3-none-any.whl", hash = "sha256:482be17c6991b8c19c5429a1e995d9b0efdbb63172824c41f99965dc0ade8ec2"}, - {file = "click-8.4.1.tar.gz", hash = "sha256:918b5633eddf6b41c32d4f454bf0de810065c74e3f7dbf8ee5452f8be88d3e96"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main"] -markers = "platform_system == \"Windows\"" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "exceptiongroup" -version = "1.3.1" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -groups = ["main"] -markers = "python_version == \"3.10\"" -files = [ - {file = "exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598"}, - {file = "exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "fastapi" -version = "0.128.8" -description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "fastapi-0.128.8-py3-none-any.whl", hash = "sha256:5618f492d0fe973a778f8fec97723f598aa9deee495040a8d51aaf3cf123ecf1"}, - {file = "fastapi-0.128.8.tar.gz", hash = "sha256:3171f9f328c4a218f0a8d2ba8310ac3a55d1ee12c28c949650288aee25966007"}, -] - -[package.dependencies] -annotated-doc = ">=0.0.2" -pydantic = ">=2.7.0" -starlette = ">=0.40.0,<1.0.0" -typing-extensions = ">=4.8.0" -typing-inspection = ">=0.4.2" - -[package.extras] -all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.9.3)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=5.8.0)", "uvicorn[standard] (>=0.12.0)"] -standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "jinja2 (>=3.1.5)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"] -standard-no-fastapi-cloud-cli = ["email-validator (>=2.0.0)", "fastapi-cli[standard-no-fastapi-cloud-cli] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "jinja2 (>=3.1.5)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"] - -[[package]] -name = "frozenlist" -version = "1.8.0" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011"}, - {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565"}, - {file = "frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad"}, - {file = "frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2"}, - {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186"}, - {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e"}, - {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450"}, - {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef"}, - {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4"}, - {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff"}, - {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c"}, - {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f"}, - {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7"}, - {file = "frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a"}, - {file = "frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6"}, - {file = "frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e"}, - {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84"}, - {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9"}, - {file = "frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93"}, - {file = "frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f"}, - {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695"}, - {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52"}, - {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581"}, - {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567"}, - {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b"}, - {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92"}, - {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d"}, - {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd"}, - {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967"}, - {file = "frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25"}, - {file = "frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b"}, - {file = "frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a"}, - {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1"}, - {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b"}, - {file = "frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4"}, - {file = "frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383"}, - {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4"}, - {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8"}, - {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b"}, - {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52"}, - {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29"}, - {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3"}, - {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143"}, - {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608"}, - {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa"}, - {file = "frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf"}, - {file = "frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746"}, - {file = "frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd"}, - {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a"}, - {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7"}, - {file = "frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40"}, - {file = "frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027"}, - {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822"}, - {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121"}, - {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5"}, - {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e"}, - {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11"}, - {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1"}, - {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1"}, - {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8"}, - {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed"}, - {file = "frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496"}, - {file = "frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231"}, - {file = "frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62"}, - {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94"}, - {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c"}, - {file = "frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52"}, - {file = "frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51"}, - {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65"}, - {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82"}, - {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714"}, - {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d"}, - {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506"}, - {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51"}, - {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e"}, - {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0"}, - {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41"}, - {file = "frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b"}, - {file = "frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888"}, - {file = "frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042"}, - {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0"}, - {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f"}, - {file = "frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c"}, - {file = "frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2"}, - {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8"}, - {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686"}, - {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e"}, - {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a"}, - {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128"}, - {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f"}, - {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7"}, - {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30"}, - {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7"}, - {file = "frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806"}, - {file = "frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0"}, - {file = "frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b"}, - {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d"}, - {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed"}, - {file = "frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930"}, - {file = "frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c"}, - {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24"}, - {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37"}, - {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a"}, - {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2"}, - {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef"}, - {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe"}, - {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8"}, - {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a"}, - {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e"}, - {file = "frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df"}, - {file = "frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd"}, - {file = "frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79"}, - {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47"}, - {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca"}, - {file = "frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068"}, - {file = "frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95"}, - {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459"}, - {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675"}, - {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61"}, - {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6"}, - {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5"}, - {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3"}, - {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1"}, - {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178"}, - {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda"}, - {file = "frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087"}, - {file = "frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a"}, - {file = "frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103"}, - {file = "frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d"}, - {file = "frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad"}, -] - -[[package]] -name = "h11" -version = "0.16.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, - {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, -] - -[[package]] -name = "html5lib" -version = "1.1" -description = "HTML parser based on the WHATWG HTML specification" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] -files = [ - {file = "html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d"}, - {file = "html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f"}, -] - -[package.dependencies] -six = ">=1.9" -webencodings = "*" - -[package.extras] -all = ["chardet (>=2.2)", "genshi", "lxml ; platform_python_implementation == \"CPython\""] -chardet = ["chardet (>=2.2)"] -genshi = ["genshi"] -lxml = ["lxml ; platform_python_implementation == \"CPython\""] - -[[package]] -name = "idna" -version = "3.17" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "idna-3.17-py3-none-any.whl", hash = "sha256:466e48829084efe2548012b855df21540b96f2e20e51bd124c851536556a592c"}, - {file = "idna-3.17.tar.gz", hash = "sha256:5eb0cb53bc467c12eadcf6de83163ad8527cec9416f44b9b61b19caedad2b87f"}, -] - -[package.extras] -all = ["mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "importlib-metadata" -version = "9.0.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "importlib_metadata-9.0.0-py3-none-any.whl", hash = "sha256:2d21d1cc5a017bd0559e36150c21c830ab1dc304dedd1b7ea85d20f45ef3edd7"}, - {file = "importlib_metadata-9.0.0.tar.gz", hash = "sha256:a4f57ab599e6a2e3016d7595cfd72eb4661a5106e787a95bcc90c7105b831efc"}, -] - -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.14)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=3.4)"] -perf = ["ipython"] -test = ["packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy (>=1.0.1) ; platform_python_implementation != \"PyPy\""] - -[[package]] -name = "multidict" -version = "6.7.1" -description = "multidict implementation" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5"}, - {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8"}, - {file = "multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505"}, - {file = "multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122"}, - {file = "multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df"}, - {file = "multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db"}, - {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d"}, - {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e"}, - {file = "multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa"}, - {file = "multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a"}, - {file = "multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b"}, - {file = "multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6"}, - {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172"}, - {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd"}, - {file = "multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba"}, - {file = "multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511"}, - {file = "multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19"}, - {file = "multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf"}, - {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23"}, - {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2"}, - {file = "multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33"}, - {file = "multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3"}, - {file = "multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5"}, - {file = "multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df"}, - {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1"}, - {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963"}, - {file = "multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108"}, - {file = "multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32"}, - {file = "multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8"}, - {file = "multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118"}, - {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee"}, - {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2"}, - {file = "multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b"}, - {file = "multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d"}, - {file = "multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f"}, - {file = "multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5"}, - {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581"}, - {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a"}, - {file = "multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2"}, - {file = "multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7"}, - {file = "multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5"}, - {file = "multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2"}, - {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f"}, - {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358"}, - {file = "multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5"}, - {file = "multidict-6.7.1-cp39-cp39-win32.whl", hash = "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0"}, - {file = "multidict-6.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4"}, - {file = "multidict-6.7.1-cp39-cp39-win_arm64.whl", hash = "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9"}, - {file = "multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56"}, - {file = "multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "numpy" -version = "2.2.6" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.10" -groups = ["main"] -markers = "python_version == \"3.10\"" -files = [ - {file = "numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb"}, - {file = "numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90"}, - {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163"}, - {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf"}, - {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83"}, - {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915"}, - {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680"}, - {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289"}, - {file = "numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d"}, - {file = "numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491"}, - {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a"}, - {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf"}, - {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1"}, - {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab"}, - {file = "numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47"}, - {file = "numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282"}, - {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87"}, - {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249"}, - {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49"}, - {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de"}, - {file = "numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4"}, - {file = "numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566"}, - {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f"}, - {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f"}, - {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868"}, - {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d"}, - {file = "numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd"}, - {file = "numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8"}, - {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f"}, - {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa"}, - {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571"}, - {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1"}, - {file = "numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff"}, - {file = "numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00"}, - {file = "numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd"}, -] - -[[package]] -name = "numpy" -version = "2.4.6" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.11" -groups = ["main"] -markers = "python_version >= \"3.11\"" -files = [ - {file = "numpy-2.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0280e0356c0829a18d9de1cb7eee50ec22ca639878d7240307ca0943d73cd2c4"}, - {file = "numpy-2.4.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:110f8b71aacb688ec69062bb7f6938a0f8acb01b7c1c4beb453c65b6d234584d"}, - {file = "numpy-2.4.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4cfe66903cc32a9921a6733d96b19bb6abf310397581bbad89c228f5abaf0ee8"}, - {file = "numpy-2.4.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8155154c7c691289fe18f510b5d4657c68c67989f293f0535a91360392ff6538"}, - {file = "numpy-2.4.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ab0a9c4ffb1a6d95ef519fe4247dba8eb6b18ad93999f76b7f657039acabd47"}, - {file = "numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:89cd468399cfd2504718f0ba50e410dca55a170b61a02ad92bb18c8a65186e93"}, - {file = "numpy-2.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2d37ab77531417474168eb79d6d80b14f821a966818505d03013d0833edb7a8"}, - {file = "numpy-2.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f407cb6b8e9d6d8c626bc73c945db1706035af8fd632295547bf1c9e46d092d6"}, - {file = "numpy-2.4.6-cp311-cp311-win32.whl", hash = "sha256:ddea102b48f9e339f3948bf22040944184627a30fdf7f858667673b9c5f033c8"}, - {file = "numpy-2.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:1e254a00cdf42b1e4d5b3d68d33af63268d41340d8885df2ab6470f2e1500147"}, - {file = "numpy-2.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:ed9749eef4cbd126da3dc1d6bcb3a57f5eb7ac6a6484146bdbf743f552dfc577"}, - {file = "numpy-2.4.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:001fbb8e08d942dd57599e781f2472269ee7f2755fae407b4f67b2f0b17da3f1"}, - {file = "numpy-2.4.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ebfb099f8dcf083deef3ac1ca4c1503f387cf76296fcb3816b66f5ecb5f54fdb"}, - {file = "numpy-2.4.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3213d622a0283a39a93d188f3cf72b26862df52fbb4ca3697f51705016523d41"}, - {file = "numpy-2.4.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:357cc07a6d7b0b182ff02249616a03742827ebb1277546b5c7cd7f7620a45698"}, - {file = "numpy-2.4.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f9fb9157b4ce2971008323afe46053787b526ef624fea915b261468a8421a0f"}, - {file = "numpy-2.4.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90f9849678c75fe7afa2d348ac842c168b0a4d3d61919687216dfc547976d853"}, - {file = "numpy-2.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c1a2af6c6ef86344a6b0db6b97834208bf598db514f2b155042439b62605601a"}, - {file = "numpy-2.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5805d5a22fd19c8ccff10a9561f9df94436b0545619ea579db2d3c35294bce2"}, - {file = "numpy-2.4.6-cp312-cp312-win32.whl", hash = "sha256:e3eeb0aabd6bd5ce64faae67e9935203a6991b4bc2a485a767fbafb2c5125f45"}, - {file = "numpy-2.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:d8e8286dd7cea7895157318d1b91cdacac64c479f3cbc8dce548331728484751"}, - {file = "numpy-2.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:4081eb135ac24158bd51cdfbef16f1c64df7063b1143f24731387137c092bec8"}, - {file = "numpy-2.4.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:511dbaf848decaaaf4b4ca48032619fb3138710c4bf7da7617765edad1ef96b0"}, - {file = "numpy-2.4.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bf162abab1c1a736333192707cef898e735a5ca00f38f27eeedf44b39d9e85eb"}, - {file = "numpy-2.4.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:043191bfa8eab18c776647b62723ac9dddece59743b13f49b2016094129c2b3f"}, - {file = "numpy-2.4.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6180d8b35af935aed8ece3a85e0a43f87393ae0ac87c8d2c8bd2c993f7270ef3"}, - {file = "numpy-2.4.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72fbe16c6fac95aedf5937fa873445cec2110be35d8a4e9433d7501fd98dae6b"}, - {file = "numpy-2.4.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7830bab239b79cda9c08c2da014761cafb48da6150e1da17ac06283f43b6089"}, - {file = "numpy-2.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ef4aea96ce4d3b074422cb4f2f64e216bf9e213004bb58ecfdf50ea02ea8eb9a"}, - {file = "numpy-2.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dfa20cc6ca228e6b155b11da03825975ce66aea520985dbbddf0f2a5a495c605"}, - {file = "numpy-2.4.6-cp313-cp313-win32.whl", hash = "sha256:56b39e5e0622a09a25bf5baf62f4bcf0cb8a41ae6e2819cf49bbc5a74c083f91"}, - {file = "numpy-2.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:c4fc99836233ea196540b17ab0983aff60ed07941751930f5f4d05bc3b3b7359"}, - {file = "numpy-2.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a7c711e21628b52034bb5ab8d1bce291f752fcc5e92accc615778acee1ff4778"}, - {file = "numpy-2.4.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:112b06a867b235ef466ed3508ddf0238050df9c727cafb5301ac385b899189a1"}, - {file = "numpy-2.4.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:eaf7fa2de5c0be8ae6ff8e9bea2ccd725e980541244521d8d4b5f3354a27babe"}, - {file = "numpy-2.4.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7265a2f3d436e54ef9f2b52b5c937e6be778781bd97a590319d7348f1c1ca997"}, - {file = "numpy-2.4.6-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f74a575920ab21fe304421a3fc28793d82e299cae9eccb37084e9fc7f3617c20"}, - {file = "numpy-2.4.6-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ede83e07a75dd06bc501566c1eca2afc0d61677c1472ac9ad93fdee6e638a48d"}, - {file = "numpy-2.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:68bb27509ac1b9a3443094260f6326150663b06abe40b73a2f81160623da5b67"}, - {file = "numpy-2.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a0df0043bdb289bde1f62da130d20df23d58b45429f752bc7a8fc5325a225ecd"}, - {file = "numpy-2.4.6-cp313-cp313t-win32.whl", hash = "sha256:29a287e0cf63ff528da061de6b9f64a4618da591ca1046aafc54062e40ca7eab"}, - {file = "numpy-2.4.6-cp313-cp313t-win_amd64.whl", hash = "sha256:25c692919ac5a01f170a3bfcd62d745b24fd095c353d50812637d6fcab442e75"}, - {file = "numpy-2.4.6-cp313-cp313t-win_arm64.whl", hash = "sha256:1e978ec1e8bd0e0e4de6bb75de9d30cbb74db6b6a2bb727618613703ca0167dd"}, - {file = "numpy-2.4.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06ca2f61ec4385a07a6977c55ba998a4466c123642b4a32694d3128fce18c079"}, - {file = "numpy-2.4.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:38efbc8de75c7a0fc1ac190162d892787f3f47b57cc291231aafee36b80982b7"}, - {file = "numpy-2.4.6-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:d581b735e177fdcdce6fed8e7e8880a3fb6ee4e3653a3ac6af01c6f4c03effc5"}, - {file = "numpy-2.4.6-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:0a041d3d761dc3c35cc56ce0351506a02bcbc25f7b169f652435141a17db9096"}, - {file = "numpy-2.4.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40fdc1ae7125e518ea98e53e69a4ebc27e1fd50510c47b7ea130cf21e5e1d42b"}, - {file = "numpy-2.4.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a2c306dea656c12c68f51f4cea133cbe78ca7435eb28c735eac1d3ebe73be6e8"}, - {file = "numpy-2.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:33111801a01c12a8a1e3721f0a9232f8cfc8ae2c6b7098167e6f623c6073f402"}, - {file = "numpy-2.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae506e6902902557576a26ff33eda8695e7ecb3cb36c3b573a0765dee114ebdb"}, - {file = "numpy-2.4.6-cp314-cp314-win32.whl", hash = "sha256:aaf159caa35993cb1f56fb9b8e4610d35758e7ca005412eb1daa856a78c9c4b1"}, - {file = "numpy-2.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:b507f5c4c1d508876d1819b6bf9a49d365b96320b5d4993426b33a23ca4b8261"}, - {file = "numpy-2.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:6f41ae150c4e32db4f3310cdaf64b1593a03dbabe29eec77fc9b50fe64061df6"}, - {file = "numpy-2.4.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ece3d2cfe132e7d51f44a832b303895e6f2d499c5e74dfbdb06ee246147a304a"}, - {file = "numpy-2.4.6-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:e3e5193ef5a3dc73bceee50f7fdc2c90dbb76c42df8d8fae3d1067a583df579e"}, - {file = "numpy-2.4.6-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:17f9ade344e7d9b464a084d69bcf18fc691cb1db67c62ed80820bf4926d78f0e"}, - {file = "numpy-2.4.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cd5ffd25db4e7ba6a375693b3fc0fc1791ec636c17db3720da19bde7180ec43"}, - {file = "numpy-2.4.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d92c3819208a60205a12a245c91ad70cb0a85336659b19b834205573ac8456e"}, - {file = "numpy-2.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e85b752a1e912b70eaad4fafbd4d1238007ab221de2009b9a2f5ae7461239895"}, - {file = "numpy-2.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:29cb7f67d10b479ff07c17d33e39f78c07f71c40ef30d63c153d340e96cd3fb4"}, - {file = "numpy-2.4.6-cp314-cp314t-win32.whl", hash = "sha256:260a5d70215b61ab4fadf5c7baacd64821842975eea312125ed3c39a6391b063"}, - {file = "numpy-2.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:81a1cca95ed5bb92aa8b10dd2cdc9a0d3853a50fad926c28b5d7e8ea54389627"}, - {file = "numpy-2.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:0c9136e14ed34a9e343a31c533d78a9813a69a3148332bce5e9821cb2f996e66"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:55cced7c52e981362f708ad635198e97a752dfba412cc03c23bbf3bd8d5cd662"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6da64deb6b8ed903e7560180a92f2d804ee1ba5eeb849ac2748b8c1aba1f6d7"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:68a5124b13fa6cc2086764a20005d30bc0548146f7f5322f02fce212ca14317f"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:948424b06129ce883307e8cff868c31396d8dc7630a59c61d70d98dbe70f222c"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbbdb29840ca3d91ee0fece42fc29278886d908280bfec0a5846c6f901a3eb0"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8ad03c0965fb3c692200e74d458ca28c1dbb4ce96f9a479a8aa041ad5fabca02"}, - {file = "numpy-2.4.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2803abfebfc990042cd494d8ce2d5f82e9d847af6d35ec486923aa19dbad5e73"}, - {file = "numpy-2.4.6.tar.gz", hash = "sha256:f3a3570c4a2a16746ac2c31a7c7c7b0c186b95ce902e33db6f28094ed7387dda"}, -] - -[[package]] -name = "openbb-core" -version = "1.6.10" -description = "OpenBB package with core functionality." -optional = false -python-versions = "<4,>=3.10" -groups = ["main"] -files = [ - {file = "openbb_core-1.6.10-py3-none-any.whl", hash = "sha256:45b036ee816f2d5b1f25124f0a76f437c8a6304aa3b7d09b4c954339c6f0c447"}, - {file = "openbb_core-1.6.10.tar.gz", hash = "sha256:37e5aabc0a03fdac4f05f460127bfcb81c249afc6d6033997c246a97be70d0fe"}, -] - -[package.dependencies] -aiohttp = ">=3.13.3" -fastapi = ">=0.128.0,<0.129.0" -html5lib = ">=1.1,<2.0" -importlib-metadata = ">=6.8.0" -pandas = ">=1.5.3" -pydantic = ">=2.12.3,<3.0.0" -pyjwt = ">=2.12.0,<3.0.0" -python-dotenv = ">=1.0.0,<2.0.0" -python-multipart = ">=0.0.27,<0.0.28" -requests = ">=2.33.0,<3.0.0" -ruff = ">=0.15,<0.16" -uuid7 = ">=0.1.0,<0.2.0" -uvicorn = ">=0.40.0,<0.41.0" -websockets = ">=15.0" - -[[package]] -name = "pandas" -version = "2.3.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.9" -groups = ["main"] -markers = "python_version == \"3.10\"" -files = [ - {file = "pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c"}, - {file = "pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a"}, - {file = "pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1"}, - {file = "pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838"}, - {file = "pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250"}, - {file = "pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4"}, - {file = "pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826"}, - {file = "pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523"}, - {file = "pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45"}, - {file = "pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66"}, - {file = "pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b"}, - {file = "pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791"}, - {file = "pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151"}, - {file = "pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c"}, - {file = "pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53"}, - {file = "pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35"}, - {file = "pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908"}, - {file = "pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89"}, - {file = "pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98"}, - {file = "pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084"}, - {file = "pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b"}, - {file = "pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713"}, - {file = "pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8"}, - {file = "pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d"}, - {file = "pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac"}, - {file = "pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c"}, - {file = "pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493"}, - {file = "pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee"}, - {file = "pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5"}, - {file = "pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21"}, - {file = "pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78"}, - {file = "pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110"}, - {file = "pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86"}, - {file = "pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc"}, - {file = "pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0"}, - {file = "pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593"}, - {file = "pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c"}, - {file = "pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b"}, - {file = "pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6"}, - {file = "pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3"}, - {file = "pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5"}, - {file = "pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec"}, - {file = "pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7"}, - {file = "pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450"}, - {file = "pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5"}, - {file = "pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788"}, - {file = "pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87"}, - {file = "pandas-2.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c503ba5216814e295f40711470446bc3fd00f0faea8a086cbc688808e26f92a2"}, - {file = "pandas-2.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a637c5cdfa04b6d6e2ecedcb81fc52ffb0fd78ce2ebccc9ea964df9f658de8c8"}, - {file = "pandas-2.3.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:854d00d556406bffe66a4c0802f334c9ad5a96b4f1f868adf036a21b11ef13ff"}, - {file = "pandas-2.3.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf1f8a81d04ca90e32a0aceb819d34dbd378a98bf923b6398b9a3ec0bf44de29"}, - {file = "pandas-2.3.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:23ebd657a4d38268c7dfbdf089fbc31ea709d82e4923c5ffd4fbd5747133ce73"}, - {file = "pandas-2.3.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5554c929ccc317d41a5e3d1234f3be588248e61f08a74dd17c9eabb535777dc9"}, - {file = "pandas-2.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:d3e28b3e83862ccf4d85ff19cf8c20b2ae7e503881711ff2d534dc8f761131aa"}, - {file = "pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b"}, -] - -[package.dependencies] -numpy = {version = ">=1.22.4", markers = "python_version < \"3.11\""} -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "pandas" -version = "3.0.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.11" -groups = ["main"] -markers = "python_version >= \"3.11\"" -files = [ - {file = "pandas-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:455f6f8139d4282188f526868dbc3c828470e88a3d9d59a891bd46a455f21b98"}, - {file = "pandas-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4e15135e2ee5df1063313e2425ceef8ac0f4ae775893815b0923651b806a5639"}, - {file = "pandas-3.0.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:05f1f1752b8533ea03f7f39a9c15b1a058d067bb48f4748948e7a8691e0510f2"}, - {file = "pandas-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a1e45c80cceb3b4a21bc5939d52e8cbd8d9b7305309219d59e9754d9ce09e27"}, - {file = "pandas-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:14da8316da4d0c5a77618425996bfb1248ca87fc2c1486e6fde4652bd18b5824"}, - {file = "pandas-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a55066a0505dae0ba2b50a46637db34b46f9094c65c5d4800794ef6335010938"}, - {file = "pandas-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6674ab18ad8c57802867264b00e15e7bb904700cdd9046e3b2fa1fce237439ea"}, - {file = "pandas-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:5cc09a68b3120e0f54870dede8287a7bb1fa463907e4fcec1ea77cab6179bf7a"}, - {file = "pandas-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fed2ff7fd9779120e388e285fc029bd5cf9490cdd2e4166a9ee22c0e49a9ab09"}, - {file = "pandas-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b168fc218fd80a6cbdbdbc1a97ddc7889ed057d7eb45f50d866ceab5f39904c4"}, - {file = "pandas-3.0.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0383c72c75cdcca61a9e116e611143902dbfd08bff356829c2f6d1cf40a9ca8c"}, - {file = "pandas-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6dc0b3fd2169c9157deed50b4d519553a3655c8c6a96027136d654592be973a9"}, - {file = "pandas-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7e65d5407dc0b394f509699650e4a2ec01c0514f21850f453fa60f3be79a5dbf"}, - {file = "pandas-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f8894dc474d648fe7b6ff0ca9b0bd73950d19952bc1a6534540762c5d79d305c"}, - {file = "pandas-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:c7be265b62cef88e253a941e4698604973736dcfe242fdb5198f0f7bc473cdcc"}, - {file = "pandas-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:557409bc4178e70ee8d9ddb494798e51ebf6ea59330f6be22c51bab2a7db6c49"}, - {file = "pandas-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:67b3b64c11910cfa29f4e94a14d3bff9ee693b6fc76055e7cad549cee0aec5fa"}, - {file = "pandas-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:39436b377d56d2a2e52d0395bdbee171f01068e99af5250509aceeb929f765c7"}, - {file = "pandas-3.0.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4be06d68f9ddcfc645b87534911da79a8fbffc7573c80e0edcf42a5020624d8"}, - {file = "pandas-3.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a"}, - {file = "pandas-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1928e07221f82db493cd4af1e23c1bfca524a19a4699887975bff68f49a72bfb"}, - {file = "pandas-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51b1fe551acb77dac643c6fda86084d8d446c10fe64b06a9cc29c4cc8540e7f2"}, - {file = "pandas-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:a82d532a3351d435432cd913edbccaf8b8e01d4dd0e5ced5a8d2e8ecd94c7e44"}, - {file = "pandas-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:275c14e0fce14a2ec20eee474aecd305478ea3c1e6f6a9d8fe219a165542717e"}, - {file = "pandas-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:46997386d528eb40376ecd6b033cf4a8a1e5282580f68f43de875b78cba2199d"}, - {file = "pandas-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:261e308dfb22448384b7580cf719d2f998fe2966c92893c3e77d14008af1f066"}, - {file = "pandas-3.0.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dd1a5d1def6a46002e964510bdc67c368aa0951df5d1d9f8365336f5a1f490cd"}, - {file = "pandas-3.0.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d72828c20c6d6e83e1e22a6a3b47b326b71664112fa9705dcbccfd7a39b62085"}, - {file = "pandas-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d26cbe1fcfc12e8fd900e2454163e466b2d3af84f7c75481df7683ffc073d870"}, - {file = "pandas-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e91cec1879ada0624fc3dc9953c5cbd60208e59c0db28f540c5d6d47502422f"}, - {file = "pandas-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:08d789b41f87e0905880e293cedf6197ce71fe67cc081358b1e148a491b9bd13"}, - {file = "pandas-3.0.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:3650109c0f22879df8bd6179ab9ee3d7f1d1d4e7e0094a3f0032d9f51e2e64ac"}, - {file = "pandas-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:bab900348131a7db1f69a7309ef141fd5680f1487094193bcbbb61791573bf8f"}, - {file = "pandas-3.0.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba7e08b9ac1d54569cd1e256e3668975ed624d6826f7b68df0342b012007bddb"}, - {file = "pandas-3.0.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d71c63ae4ebdbf70209742096f1fc46a83a0613c99d4b23766cced9ff8cd62a"}, - {file = "pandas-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e3a2ec42c98ffa2565a67e08e218d06d72576d758d90facb7c00805194d8f360"}, - {file = "pandas-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:335f62418ed562cfc3c49e9e196375c28b729dcef8543abf4f9438e381bf3c76"}, - {file = "pandas-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:3c20a521bbb85902f79f7270c80a59e1b5452d96d170c034f207181870f97ac5"}, - {file = "pandas-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:a2d2dff8a04f3917b55ab3910c32990f8ddf7eceba114947838cefa976a68977"}, - {file = "pandas-3.0.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:0d589105b3c14645af1738ff279b2995102d8f7a03b0a66dc8d95550eb513e04"}, - {file = "pandas-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:13fc1e853d9e04743d11ba75a985ccbc2a317fe07d8af61e445a6fd24dacd6a6"}, - {file = "pandas-3.0.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:819959dab7bbd0049c15623fbac4e29a191b9528160a61fb1032242d8ced2d9c"}, - {file = "pandas-3.0.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:60ae316d3fd75d1858d450d0db0103ea2be3e7d4a95ec2f064f7e2ae63f7b028"}, - {file = "pandas-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bd3a518890b400d32f9023722dc9a9a5c969f00b415419a3c06c043f09bb5d7d"}, - {file = "pandas-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9c39be2d709d01fa972a0cabc522389fceca4f3969332ba25a7d6c5802cf976a"}, - {file = "pandas-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4db8c527972a821cf5286b40ccc57642a39bc62e62022b42f99f8a67fca8c3a1"}, - {file = "pandas-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b2c95f8bfc1ee412bf482605d7bfd30c12d1d26bd59fdd91efeef1d4718decb1"}, - {file = "pandas-3.0.3.tar.gz", hash = "sha256:696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.26.0", markers = "python_version < \"3.14\""}, - {version = ">=2.3.3", markers = "python_version >= \"3.14\""}, -] -python-dateutil = ">=2.8.2" -tzdata = {version = "*", markers = "sys_platform == \"win32\" or sys_platform == \"emscripten\""} - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.36)", "adbc-driver-postgresql (>=1.2.0)", "adbc-driver-sqlite (>=1.2.0)", "beautifulsoup4 (>=4.12.3)", "bottleneck (>=1.4.2)", "fastparquet (>=2024.11.0)", "fsspec (>=2024.10.0)", "gcsfs (>=2024.10.0)", "html5lib (>=1.1)", "hypothesis (>=6.116.0)", "jinja2 (>=3.1.5)", "lxml (>=5.3.0)", "matplotlib (>=3.9.3)", "numba (>=0.60.0)", "numexpr (>=2.10.2)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.5)", "psycopg2 (>=2.9.10)", "pyarrow (>=13.0.0)", "pyiceberg (>=0.8.1)", "pymysql (>=1.1.1)", "pyreadstat (>=1.2.8)", "pytest (>=8.3.4)", "pytest-xdist (>=3.6.1)", "python-calamine (>=0.3.0)", "pytz (>=2020.1)", "pyxlsb (>=1.0.10)", "qtpy (>=2.4.2)", "s3fs (>=2024.10.0)", "scipy (>=1.14.1)", "tables (>=3.10.1)", "tabulate (>=0.9.0)", "xarray (>=2024.10.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.2.0)", "zstandard (>=0.23.0)"] -aws = ["s3fs (>=2024.10.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.4.2)"] -compression = ["zstandard (>=0.23.0)"] -computation = ["scipy (>=1.14.1)", "xarray (>=2024.10.0)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.5)", "python-calamine (>=0.3.0)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.2.0)"] -feather = ["pyarrow (>=13.0.0)"] -fss = ["fsspec (>=2024.10.0)"] -gcp = ["gcsfs (>=2024.10.0)"] -hdf5 = ["tables (>=3.10.1)"] -html = ["beautifulsoup4 (>=4.12.3)", "html5lib (>=1.1)", "lxml (>=5.3.0)"] -iceberg = ["pyiceberg (>=0.8.1)"] -mysql = ["SQLAlchemy (>=2.0.36)", "pymysql (>=1.1.1)"] -output-formatting = ["jinja2 (>=3.1.5)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=13.0.0)"] -performance = ["bottleneck (>=1.4.2)", "numba (>=0.60.0)", "numexpr (>=2.10.2)"] -plot = ["matplotlib (>=3.9.3)"] -postgresql = ["SQLAlchemy (>=2.0.36)", "adbc-driver-postgresql (>=1.2.0)", "psycopg2 (>=2.9.10)"] -pyarrow = ["pyarrow (>=13.0.0)"] -spss = ["pyreadstat (>=1.2.8)"] -sql-other = ["SQLAlchemy (>=2.0.36)", "adbc-driver-postgresql (>=1.2.0)", "adbc-driver-sqlite (>=1.2.0)"] -test = ["hypothesis (>=6.116.0)", "pytest (>=8.3.4)", "pytest-xdist (>=3.6.1)"] -timezone = ["pytz (>=2020.1)"] -xml = ["lxml (>=5.3.0)"] - -[[package]] -name = "platformdirs" -version = "4.10.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "platformdirs-4.10.0-py3-none-any.whl", hash = "sha256:fb516cdb12eb0d857d0cd85a7c57cea4d060bee4578d6cf5a14dfdf8cbf8784a"}, - {file = "platformdirs-4.10.0.tar.gz", hash = "sha256:31e761a6a0ca04faf7353ea759bdba55652be214725111e5aac52dfa29d4bef7"}, -] - -[[package]] -name = "propcache" -version = "0.5.2" -description = "Accelerated property cache" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b"}, - {file = "propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c"}, - {file = "propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bf3be92233808fcd338eba0fb4d0b59ec5772af4f4ecfcec450d1bfc0f8b5eb"}, - {file = "propcache-0.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f8ea531c794b9d6274acd4e8d2c2ebcac590a4361d27482edd3010b79f1325e"}, - {file = "propcache-0.5.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:decfca4c79dd53ebab484b00cc4b6717d8c369f86e74aa4ca395a64ac651495e"}, - {file = "propcache-0.5.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4621064bbf28fa77ff64dd5d94367c04684c67d3a5bf1dff25f0cd0d98a38f3b"}, - {file = "propcache-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b96db7141a592cbc968daf1feea83a118e6ab378af4abbc72b248c895414c22d"}, - {file = "propcache-0.5.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ca071adabaab6e9219924bbe00af821f1ee7de113a9eca1cdc292de3d120f4d"}, - {file = "propcache-0.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e4294d04a94dcab1b3bccd8b66d962dcad411a1d19414b2a41d1445f1de32ad0"}, - {file = "propcache-0.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a0e399a2eccb91ed18721f86aa85757727400b6865c89e88934781deb9c8498b"}, - {file = "propcache-0.5.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:823581fd5cb08b12a48bfa11fe962a7916766b6170c17b028fbdf762b85eb9bf"}, - {file = "propcache-0.5.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:949c91d1a990cf3b2e8188dfcfb25005e0b834a06c63fa4ef9f360878ce21ecf"}, - {file = "propcache-0.5.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc1177027eda740fdb152706bd215a3f124e3eea15afc39f2cb9fe351b50619e"}, - {file = "propcache-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b05d643f944a8c3c4bd86d65ffd87bf3264b617f87791940302bc474d2ff5274"}, - {file = "propcache-0.5.2-cp310-cp310-win32.whl", hash = "sha256:8114f28879e0904748e831c3a7774261bd9e75f49be089f389a76f959dcd13fe"}, - {file = "propcache-0.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:5fcb98e7598b1ee0addab320d90f65b530297a867dbfe9de52ea838077e16e3d"}, - {file = "propcache-0.5.2-cp310-cp310-win_arm64.whl", hash = "sha256:04dc2390d9edbbaef7461f33322555976ffddf0b650a038649d026358714e6c5"}, - {file = "propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78"}, - {file = "propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959"}, - {file = "propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7"}, - {file = "propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511"}, - {file = "propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660"}, - {file = "propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66"}, - {file = "propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b"}, - {file = "propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67"}, - {file = "propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f"}, - {file = "propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c"}, - {file = "propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0"}, - {file = "propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6"}, - {file = "propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27"}, - {file = "propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f"}, - {file = "propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0"}, - {file = "propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82"}, - {file = "propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab"}, - {file = "propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba"}, - {file = "propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a"}, - {file = "propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf"}, - {file = "propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144"}, - {file = "propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9"}, - {file = "propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42"}, - {file = "propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476"}, - {file = "propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba"}, - {file = "propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a"}, - {file = "propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64"}, - {file = "propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913"}, - {file = "propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1"}, - {file = "propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33"}, - {file = "propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a"}, - {file = "propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031"}, - {file = "propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42"}, - {file = "propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84"}, - {file = "propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a"}, - {file = "propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117"}, - {file = "propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098"}, - {file = "propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4"}, - {file = "propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e"}, - {file = "propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7"}, - {file = "propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d"}, - {file = "propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a"}, - {file = "propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2"}, - {file = "propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa"}, - {file = "propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853"}, - {file = "propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a"}, - {file = "propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704"}, - {file = "propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4"}, - {file = "propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d"}, - {file = "propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757"}, - {file = "propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f"}, - {file = "propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d"}, - {file = "propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa"}, - {file = "propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94"}, - {file = "propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164"}, - {file = "propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f"}, - {file = "propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c"}, - {file = "propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc"}, - {file = "propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f"}, - {file = "propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb"}, - {file = "propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751"}, - {file = "propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836"}, - {file = "propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f"}, - {file = "propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55"}, - {file = "propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568"}, - {file = "propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191"}, - {file = "propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7"}, - {file = "propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96"}, - {file = "propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999"}, - {file = "propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e"}, - {file = "propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539"}, - {file = "propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e"}, - {file = "propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979"}, - {file = "propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80"}, - {file = "propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825"}, - {file = "propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39"}, - {file = "propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4"}, - {file = "propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5"}, - {file = "propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702"}, - {file = "propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3"}, - {file = "propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5"}, - {file = "propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4"}, - {file = "propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0"}, - {file = "propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c"}, - {file = "propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0"}, - {file = "propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb"}, - {file = "propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078"}, - {file = "propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa"}, - {file = "propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917"}, - {file = "propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe"}, - {file = "propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03"}, - {file = "propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335"}, - {file = "propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285"}, - {file = "propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837"}, - {file = "propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8"}, - {file = "propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366"}, - {file = "propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56"}, - {file = "propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d"}, - {file = "propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2"}, - {file = "propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821"}, - {file = "propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370"}, - {file = "propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6"}, - {file = "propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe"}, - {file = "propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427"}, -] - -[[package]] -name = "pydantic" -version = "2.13.4" -description = "Data validation using Python type hints" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba"}, - {file = "pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6"}, -] - -[package.dependencies] -annotated-types = ">=0.6.0" -pydantic-core = "2.46.4" -typing-extensions = ">=4.14.1" -typing-inspection = ">=0.4.2" - -[package.extras] -email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] - -[[package]] -name = "pydantic-core" -version = "2.46.4" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4"}, - {file = "pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01"}, - {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d"}, - {file = "pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4"}, - {file = "pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f"}, - {file = "pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39"}, - {file = "pydantic_core-2.46.4-cp310-cp310-win32.whl", hash = "sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d"}, - {file = "pydantic_core-2.46.4-cp310-cp310-win_amd64.whl", hash = "sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf"}, - {file = "pydantic_core-2.46.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594"}, - {file = "pydantic_core-2.46.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398"}, - {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3"}, - {file = "pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848"}, - {file = "pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3"}, - {file = "pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109"}, - {file = "pydantic_core-2.46.4-cp311-cp311-win32.whl", hash = "sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda"}, - {file = "pydantic_core-2.46.4-cp311-cp311-win_amd64.whl", hash = "sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33"}, - {file = "pydantic_core-2.46.4-cp311-cp311-win_arm64.whl", hash = "sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d"}, - {file = "pydantic_core-2.46.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2"}, - {file = "pydantic_core-2.46.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987"}, - {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b"}, - {file = "pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458"}, - {file = "pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b"}, - {file = "pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c"}, - {file = "pydantic_core-2.46.4-cp312-cp312-win32.whl", hash = "sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894"}, - {file = "pydantic_core-2.46.4-cp312-cp312-win_amd64.whl", hash = "sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89"}, - {file = "pydantic_core-2.46.4-cp312-cp312-win_arm64.whl", hash = "sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a"}, - {file = "pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008"}, - {file = "pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262"}, - {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e"}, - {file = "pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd"}, - {file = "pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be"}, - {file = "pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d"}, - {file = "pydantic_core-2.46.4-cp313-cp313-win32.whl", hash = "sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb"}, - {file = "pydantic_core-2.46.4-cp313-cp313-win_amd64.whl", hash = "sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292"}, - {file = "pydantic_core-2.46.4-cp313-cp313-win_arm64.whl", hash = "sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d"}, - {file = "pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb"}, - {file = "pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c"}, - {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb"}, - {file = "pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898"}, - {file = "pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e"}, - {file = "pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519"}, - {file = "pydantic_core-2.46.4-cp314-cp314-win32.whl", hash = "sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4"}, - {file = "pydantic_core-2.46.4-cp314-cp314-win_amd64.whl", hash = "sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac"}, - {file = "pydantic_core-2.46.4-cp314-cp314-win_arm64.whl", hash = "sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-win32.whl", hash = "sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-win_amd64.whl", hash = "sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5"}, - {file = "pydantic_core-2.46.4-cp314-cp314t-win_arm64.whl", hash = "sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596"}, - {file = "pydantic_core-2.46.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:fd8b3d9fd264be37976686c7f65cd52a83f5e84f4bfd2adf9c1d469676bbb6ae"}, - {file = "pydantic_core-2.46.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9f444c499b3eefd3a92e348059471ea0c3a6e303d9c1cec09fa748fd9f895201"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3447661d99f75a3683a4cf5c87da72f2161964611864dbbeac7fbb118bb4bfc0"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b9bab013d1c7a79d3501ff86d0bc9c31bf587db4551677b96bec07df78c6b15"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d995260fdf4e1db774581b4900e0f832abe3c7c84996726bbc161b19c8f29e76"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f13a646d65d09fbf1bc6b3a9635d30095c8e7e5cc419ff35ecc563c5fd04cd49"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432c179df7874eeb73307aad2df0755e1ae0efa61ff0ea89b93e194411ae3928"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:e68b7a074f65a2fd746c52a7ce6142ab7006074ac269ace0c25cd8ba171f8066"}, - {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4a05d69cba51d852c5c3e92758653245a50c0b646ced0cf05bd793ed592839d6"}, - {file = "pydantic_core-2.46.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:228ee9bae8bef5b1e97ec58302f80357c37199e0d0a99174e138d28e6957b9d9"}, - {file = "pydantic_core-2.46.4-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:10e17cbb10a330363733efc4d7c4d0dd827ac0909b8f6a6542298fed1ea62f29"}, - {file = "pydantic_core-2.46.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:91a06d2e259ecfbd8c901d70c3c507900458498142b3026a296b7de4d1322cc9"}, - {file = "pydantic_core-2.46.4-cp39-cp39-win32.whl", hash = "sha256:d80ee3d731373b24cebbc10d689ca4ee1875caf0d5703a245db18efd4dd37fc1"}, - {file = "pydantic_core-2.46.4-cp39-cp39-win_amd64.whl", hash = "sha256:3be77f45df024d789a672ae34f8b06fb346c4f9f46ea714956660ea4862e89ac"}, - {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c"}, - {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b"}, - {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b"}, - {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea"}, - {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7"}, - {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df"}, - {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526"}, - {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc"}, - {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983"}, - {file = "pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1"}, -] - -[package.dependencies] -typing-extensions = ">=4.14.1" - -[[package]] -name = "pyjwt" -version = "2.13.0" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728"}, - {file = "pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423"}, -] - -[package.dependencies] -typing_extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.2.2" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a"}, - {file = "python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "python-multipart" -version = "0.0.27" -description = "A streaming multipart parser for Python" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "python_multipart-0.0.27-py3-none-any.whl", hash = "sha256:6fccfad17a27334bd0193681b369f476eda3409f17381a2d65aa7df3f7275645"}, - {file = "python_multipart-0.0.27.tar.gz", hash = "sha256:9870a6a8c5a20a5bf4f07c017bd1489006ff8836cff097b6933355ee2b49b602"}, -] - -[[package]] -name = "pytz" -version = "2026.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -groups = ["main"] -markers = "python_version == \"3.10\"" -files = [ - {file = "pytz-2026.2-py2.py3-none-any.whl", hash = "sha256:04156e608bee23d3792fd45c94ae47fae1036688e75032eea2e3bf0323d1f126"}, - {file = "pytz-2026.2.tar.gz", hash = "sha256:0e60b47b29f21574376f218fe21abc009894a2321ea16c6754f3cad6eb7cdd6a"}, -] - -[[package]] -name = "requests" -version = "2.34.2" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0"}, - {file = "requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed"}, -] - -[package.dependencies] -certifi = ">=2023.5.7" -charset_normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.26,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<8)"] - -[[package]] -name = "requests-cache" -version = "1.3.2" -description = "A persistent cache for python requests" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "requests_cache-1.3.2-py3-none-any.whl", hash = "sha256:c52666c76b08daa94d05a99327dd24afc46f405abc044e8c2267b540f90673d0"}, - {file = "requests_cache-1.3.2.tar.gz", hash = "sha256:bdc3680931f98a1dea509d339ea6b45cea526945b47b250ce63ffd2744ee0b14"}, -] - -[package.dependencies] -attrs = ">=21.2" -cattrs = ">=22.2" -platformdirs = ">=2.5" -requests = ">=2.22" -url-normalize = ">=2.0" -urllib3 = ">=1.25.5" - -[package.extras] -all = ["boto3 (>=1.15)", "botocore (>=1.18)", "itsdangerous (>=2.0)", "orjson (>=3.0) ; python_version < \"3.14\"", "pymongo (>=3)", "pyyaml (>=6.0.1)", "redis (>=3)", "ujson (>=5.4)"] -dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] -mongodb = ["pymongo (>=3)"] -redis = ["redis (>=3)"] -security = ["itsdangerous (>=2.0)"] -yaml = ["pyyaml (>=6.0.1)"] - -[[package]] -name = "ruff" -version = "0.15.15" -description = "An extremely fast Python linter and code formatter, written in Rust." -optional = false -python-versions = ">=3.7" -groups = ["main"] -files = [ - {file = "ruff-0.15.15-py3-none-linux_armv6l.whl", hash = "sha256:cf93e5388f412e1b108b1f8b34a6e036b70fe8aff89393befad96fe48670311b"}, - {file = "ruff-0.15.15-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ac5a646d1f6a7dadd5d50842dae2c1f9862ac887ef5d1b1375e02def791fde6e"}, - {file = "ruff-0.15.15-py3-none-macosx_11_0_arm64.whl", hash = "sha256:77d955a431430c66f72dd94e379ad38a16daea3d25094872ac4edf9e797be530"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7614ee79c69788cf6cedd568069ade9cecc22a1ad20494efe8d0c9ebb4b622d4"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3cdb1679e06a1f6b47bc384714ae96f6e2fb65ca441eb78c43d2ca554176ce1f"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2728b93d7b23a603ea2c0ac6eb73d760bd38ec9de35f35fb41e18f7a3fee7622"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be582fcc0db438902c7792b08d6ddf6c9b9e21addaa10092c2c741cfb09e5a45"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7aa77465b8ecaf1a27bea098d696f7fed5e1eccbd10b321b682d6de586ae5627"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48decfa11d740de4889de623be1463308346312f2409a56e24aa280c86162dc4"}, - {file = "ruff-0.15.15-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a5015088452ca0081387063649ec67f06d3d1d6b8b936a1f836b5e9657ecd48c"}, - {file = "ruff-0.15.15-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f5294aab6356c81600fcdea3a62bb1b924dfd5e91767c12318d3f68f86af57cd"}, - {file = "ruff-0.15.15-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:db5bd4d802415cca656dc1616070b725952d6ae95eb5d4831e49fbd94a38f75f"}, - {file = "ruff-0.15.15-py3-none-musllinux_1_2_i686.whl", hash = "sha256:587a6278ed42059191c1a466e490bd7930fb50bd2e255398bc29616c895a61cb"}, - {file = "ruff-0.15.15-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:df0c1c084f5f4be9812f61518a45c440d3c30d69ce4bf6c5270e66d38338f02a"}, - {file = "ruff-0.15.15-py3-none-win32.whl", hash = "sha256:29428ea79694afbe756d45fd59b36f22b6b020dc0443cf7de0173046236964b9"}, - {file = "ruff-0.15.15-py3-none-win_amd64.whl", hash = "sha256:8df0323902e15e24bc4bf246da830573d3cf3352bd0b9a164eab335d111ff4a4"}, - {file = "ruff-0.15.15-py3-none-win_arm64.whl", hash = "sha256:3c8ceca6792f38196b8f589bc92eccd03eef286602da92e5dc05cc42ef6441b7"}, - {file = "ruff-0.15.15.tar.gz", hash = "sha256:b8dff018130b46d8e5bf0f926ef6b60cf871d6d5ae45fc9334e09632daa741d6"}, -] - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "starlette" -version = "0.52.1" -description = "The little ASGI library that shines." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "starlette-0.52.1-py3-none-any.whl", hash = "sha256:0029d43eb3d273bc4f83a08720b4912ea4b071087a3b48db01b7c839f7954d74"}, - {file = "starlette-0.52.1.tar.gz", hash = "sha256:834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933"}, -] - -[package.dependencies] -anyio = ">=3.6.2,<5" -typing-extensions = {version = ">=4.10.0", markers = "python_version < \"3.13\""} - -[package.extras] -full = ["httpx (>=0.27.0,<0.29.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.18)", "pyyaml"] - -[[package]] -name = "typing-extensions" -version = "4.15.0" -description = "Backported and Experimental Type Hints for Python 3.9+" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, - {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, -] - -[[package]] -name = "typing-inspection" -version = "0.4.2" -description = "Runtime typing introspection tools" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"}, - {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"}, -] - -[package.dependencies] -typing-extensions = ">=4.12.0" - -[[package]] -name = "tzdata" -version = "2026.2" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -groups = ["main"] -markers = "sys_platform == \"win32\" or sys_platform == \"emscripten\" or python_version == \"3.10\"" -files = [ - {file = "tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7"}, - {file = "tzdata-2026.2.tar.gz", hash = "sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10"}, -] - -[[package]] -name = "url-normalize" -version = "3.0.0" -description = "URL normalization for Python" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "url_normalize-3.0.0-py3-none-any.whl", hash = "sha256:95234bd359f86831c1fd87c248877f2a6887db2f3b5087120083f2fffcba4889"}, - {file = "url_normalize-3.0.0.tar.gz", hash = "sha256:0552cbf2831a32a28994a13d29bca58a60e10ff6c0380e343ec6d1c2a0d232d8"}, -] - -[package.dependencies] -idna = ">=3.3" - -[package.extras] -dev = ["mypy", "pre-commit", "pytest", "pytest-cov", "pytest-socket", "ruff"] - -[[package]] -name = "urllib3" -version = "2.7.0" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897"}, - {file = "urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c"}, -] - -[package.extras] -brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""] - -[[package]] -name = "uuid7" -version = "0.1.0" -description = "UUID version 7, generating time-sorted UUIDs with 200ns time resolution and 48 bits of randomness" -optional = false -python-versions = ">=3.7" -groups = ["main"] -files = [ - {file = "uuid7-0.1.0-py2.py3-none-any.whl", hash = "sha256:5e259bb63c8cb4aded5927ff41b444a80d0c7124e8a0ced7cf44efa1f5cccf61"}, - {file = "uuid7-0.1.0.tar.gz", hash = "sha256:8c57aa32ee7456d3cc68c95c4530bc571646defac01895cfc73545449894a63c"}, -] - -[[package]] -name = "uvicorn" -version = "0.40.0" -description = "The lightning-fast ASGI server." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "uvicorn-0.40.0-py3-none-any.whl", hash = "sha256:c6c8f55bc8bf13eb6fa9ff87ad62308bbbc33d0b67f84293151efe87e0d5f2ee"}, - {file = "uvicorn-0.40.0.tar.gz", hash = "sha256:839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea"}, -] - -[package.dependencies] -click = ">=7.0" -h11 = ">=0.8" -typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} - -[package.extras] -standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.15.1) ; sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\"", "watchfiles (>=0.13)", "websockets (>=10.4)"] - -[[package]] -name = "webencodings" -version = "0.5.1" -description = "Character encoding aliases for legacy web content" -optional = false -python-versions = "*" -groups = ["main"] -files = [ - {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, - {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, -] - -[[package]] -name = "websockets" -version = "16.0" -description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "websockets-16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04cdd5d2d1dacbad0a7bf36ccbcd3ccd5a30ee188f2560b7a62a30d14107b31a"}, - {file = "websockets-16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ff32bb86522a9e5e31439a58addbb0166f0204d64066fb955265c4e214160f0"}, - {file = "websockets-16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:583b7c42688636f930688d712885cf1531326ee05effd982028212ccc13e5957"}, - {file = "websockets-16.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7d837379b647c0c4c2355c2499723f82f1635fd2c26510e1f587d89bc2199e72"}, - {file = "websockets-16.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df57afc692e517a85e65b72e165356ed1df12386ecb879ad5693be08fac65dde"}, - {file = "websockets-16.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2b9f1e0d69bc60a4a87349d50c09a037a2607918746f07de04df9e43252c77a3"}, - {file = "websockets-16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:335c23addf3d5e6a8633f9f8eda77efad001671e80b95c491dd0924587ece0b3"}, - {file = "websockets-16.0-cp310-cp310-win32.whl", hash = "sha256:37b31c1623c6605e4c00d466c9d633f9b812ea430c11c8a278774a1fde1acfa9"}, - {file = "websockets-16.0-cp310-cp310-win_amd64.whl", hash = "sha256:8e1dab317b6e77424356e11e99a432b7cb2f3ec8c5ab4dabbcee6add48f72b35"}, - {file = "websockets-16.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:31a52addea25187bde0797a97d6fc3d2f92b6f72a9370792d65a6e84615ac8a8"}, - {file = "websockets-16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:417b28978cdccab24f46400586d128366313e8a96312e4b9362a4af504f3bbad"}, - {file = "websockets-16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:af80d74d4edfa3cb9ed973a0a5ba2b2a549371f8a741e0800cb07becdd20f23d"}, - {file = "websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:08d7af67b64d29823fed316505a89b86705f2b7981c07848fb5e3ea3020c1abe"}, - {file = "websockets-16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7be95cfb0a4dae143eaed2bcba8ac23f4892d8971311f1b06f3c6b78952ee70b"}, - {file = "websockets-16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6297ce39ce5c2e6feb13c1a996a2ded3b6832155fcfc920265c76f24c7cceb5"}, - {file = "websockets-16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c1b30e4f497b0b354057f3467f56244c603a79c0d1dafce1d16c283c25f6e64"}, - {file = "websockets-16.0-cp311-cp311-win32.whl", hash = "sha256:5f451484aeb5cafee1ccf789b1b66f535409d038c56966d6101740c1614b86c6"}, - {file = "websockets-16.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d7f0659570eefb578dacde98e24fb60af35350193e4f56e11190787bee77dac"}, - {file = "websockets-16.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:71c989cbf3254fbd5e84d3bff31e4da39c43f884e64f2551d14bb3c186230f00"}, - {file = "websockets-16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8b6e209ffee39ff1b6d0fa7bfef6de950c60dfb91b8fcead17da4ee539121a79"}, - {file = "websockets-16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:86890e837d61574c92a97496d590968b23c2ef0aeb8a9bc9421d174cd378ae39"}, - {file = "websockets-16.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9b5aca38b67492ef518a8ab76851862488a478602229112c4b0d58d63a7a4d5c"}, - {file = "websockets-16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e0334872c0a37b606418ac52f6ab9cfd17317ac26365f7f65e203e2d0d0d359f"}, - {file = "websockets-16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a0b31e0b424cc6b5a04b8838bbaec1688834b2383256688cf47eb97412531da1"}, - {file = "websockets-16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:485c49116d0af10ac698623c513c1cc01c9446c058a4e61e3bf6c19dff7335a2"}, - {file = "websockets-16.0-cp312-cp312-win32.whl", hash = "sha256:eaded469f5e5b7294e2bdca0ab06becb6756ea86894a47806456089298813c89"}, - {file = "websockets-16.0-cp312-cp312-win_amd64.whl", hash = "sha256:5569417dc80977fc8c2d43a86f78e0a5a22fee17565d78621b6bb264a115d4ea"}, - {file = "websockets-16.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:878b336ac47938b474c8f982ac2f7266a540adc3fa4ad74ae96fea9823a02cc9"}, - {file = "websockets-16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52a0fec0e6c8d9a784c2c78276a48a2bdf099e4ccc2a4cad53b27718dbfd0230"}, - {file = "websockets-16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e6578ed5b6981005df1860a56e3617f14a6c307e6a71b4fff8c48fdc50f3ed2c"}, - {file = "websockets-16.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:95724e638f0f9c350bb1c2b0a7ad0e83d9cc0c9259f3ea94e40d7b02a2179ae5"}, - {file = "websockets-16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0204dc62a89dc9d50d682412c10b3542d748260d743500a85c13cd1ee4bde82"}, - {file = "websockets-16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:52ac480f44d32970d66763115edea932f1c5b1312de36df06d6b219f6741eed8"}, - {file = "websockets-16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6e5a82b677f8f6f59e8dfc34ec06ca6b5b48bc4fcda346acd093694cc2c24d8f"}, - {file = "websockets-16.0-cp313-cp313-win32.whl", hash = "sha256:abf050a199613f64c886ea10f38b47770a65154dc37181bfaff70c160f45315a"}, - {file = "websockets-16.0-cp313-cp313-win_amd64.whl", hash = "sha256:3425ac5cf448801335d6fdc7ae1eb22072055417a96cc6b31b3861f455fbc156"}, - {file = "websockets-16.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8cc451a50f2aee53042ac52d2d053d08bf89bcb31ae799cb4487587661c038a0"}, - {file = "websockets-16.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:daa3b6ff70a9241cf6c7fc9e949d41232d9d7d26fd3522b1ad2b4d62487e9904"}, - {file = "websockets-16.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fd3cb4adb94a2a6e2b7c0d8d05cb94e6f1c81a0cf9dc2694fb65c7e8d94c42e4"}, - {file = "websockets-16.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:781caf5e8eee67f663126490c2f96f40906594cb86b408a703630f95550a8c3e"}, - {file = "websockets-16.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caab51a72c51973ca21fa8a18bd8165e1a0183f1ac7066a182ff27107b71e1a4"}, - {file = "websockets-16.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19c4dc84098e523fd63711e563077d39e90ec6702aff4b5d9e344a60cb3c0cb1"}, - {file = "websockets-16.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a5e18a238a2b2249c9a9235466b90e96ae4795672598a58772dd806edc7ac6d3"}, - {file = "websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8"}, - {file = "websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d"}, - {file = "websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244"}, - {file = "websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e"}, - {file = "websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641"}, - {file = "websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8"}, - {file = "websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e"}, - {file = "websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944"}, - {file = "websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206"}, - {file = "websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6"}, - {file = "websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd"}, - {file = "websockets-16.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:349f83cd6c9a415428ee1005cadb5c2c56f4389bc06a9af16103c3bc3dcc8b7d"}, - {file = "websockets-16.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:4a1aba3340a8dca8db6eb5a7986157f52eb9e436b74813764241981ca4888f03"}, - {file = "websockets-16.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f4a32d1bd841d4bcbffdcb3d2ce50c09c3909fbead375ab28d0181af89fd04da"}, - {file = "websockets-16.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0298d07ee155e2e9fda5be8a9042200dd2e3bb0b8a38482156576f863a9d457c"}, - {file = "websockets-16.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a653aea902e0324b52f1613332ddf50b00c06fdaf7e92624fbf8c77c78fa5767"}, - {file = "websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec"}, - {file = "websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5"}, -] - -[[package]] -name = "yarl" -version = "1.24.2" -description = "Yet another URL library" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "yarl-1.24.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5249a113065c2b7a958bc699759e359cd61cfc81e3069662208f48f191b7ed12"}, - {file = "yarl-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7f4425fa244fbf530b006d0c5f79ce920114cfff5b4f5f6056e669f8e160fdc0"}, - {file = "yarl-1.24.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15c0b5e49d3c44e2a0b93e6a49476c5edad0a7686b92c395765a7ea775572a75"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:246d32a53a947c8f0189f5d699cbd4c7036de45d9359e13ba238d1239678c727"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:64480fb3e4d4ed9ed71c48a91a477384fc342a50ca30071d2f8a88d51d9c9413"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:349de4701dc3760b6e876628423a8f147ef4f5599d10aba1e10702075d424ed9"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d162677af8d5d3d6ebab8394b021f4d041ac107a4b705873148a77a49dc9e1b2"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f5f5c6ec23a9043f2d139cc072f53dd23168d202a334b9b2fda8de4c3e890d90"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:60de6742447fbbf697f16f070b8a443f1b5fe6ca3826fbef9fe70ecd5328e643"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acf93187c3710e422368eb768aee98db551ec7c85adc250207a95c16548ab7ac"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f4b0352fd41fd34b6651934606268816afd6914d09626f9bcbbf018edb0afb3f"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6b208bb939099b4b297438da4e9b25357f0b1c791888669b963e45b203ea9f36"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4b85b8825e631295ff4bc8943f7471d54c533a9360bbe15ebb38e018b555bb8a"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e26acf20c26cb4fefc631fdb75aca2a6b8fa8b7b5d7f204fb6a8f1e63c706f53"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:819ca24f8eafcfb683c1bd5f44f2f488cea1274eb8944731ffd2e1f10f619342"}, - {file = "yarl-1.24.2-cp310-cp310-win_amd64.whl", hash = "sha256:5cb0f995a901c36be096ccbf4c673591c2faabbe96279598ffaec8c030f85bf4"}, - {file = "yarl-1.24.2-cp310-cp310-win_arm64.whl", hash = "sha256:f408eace7e22a68b467a0562e0d27d322f91fe3eaaa6f466b962c6cfaea9fa39"}, - {file = "yarl-1.24.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:36348bebb147b83818b9d7e673ea4debc75970afc6ffdc7e3975ad05ce5a58c1"}, - {file = "yarl-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a97e42c8a2233f2f279ecadd9e4a037bcb5d813b78435e8eedd4db5a9e9708c"}, - {file = "yarl-1.24.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8d027d56f1035e339d1001ac33eceab5b2ec8e42e449787bb75e289fb9a5cd1d"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a6377060e7927187a42b7eb202090cbe2b34933a4eeaf90e3bd9e33432e5cae"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:17076578bce0049a5ce57d14ad1bded391b68a3b213e9b81b0097b090244999a"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:50713f1d4d6be6375bb178bb43d140ee1acb8abe589cd723320b7925a275be1e"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:34263e2fa8fb5bb63a0d97706cda38edbad62fddb58c7f12d6acbc092812aa50"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49016d82f032b1bd1e10b01078a7d29ae71bf468eeae0ea22df8bab691e60003"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3f6d2c216318f8f32038ca3f72501ba08536f0fd18a36e858836b121b2deed9f"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:08d3a33218e0c64393e7610284e770409a9c31c429b078bcb24096ed0a783b8f"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5d699376c4ca3cba49bbfae3a05b5b70ded572937171ce1e0b8d87118e2ba294"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a1cab588b4fa14bea2e55ebea27478adfb05372f47573738e1acc4a36c0b05d2"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:ec87ccc31bd21db7ad009d8572c127c1000f268517618a4cc09adba3c2a7f21c"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d1dd47a22843b212baa8d74f37796815d43bd046b42a0f41e9da433386c3136b"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7b54b9c67c2b06bd7b9a77253d242124b9c95d2c02def5a1144001ee547dd9d5"}, - {file = "yarl-1.24.2-cp311-cp311-win_amd64.whl", hash = "sha256:f8fdbcff8b2c7c9284e60c196f693588598ddcee31e11c18e14949ce44519d45"}, - {file = "yarl-1.24.2-cp311-cp311-win_arm64.whl", hash = "sha256:b32c37a7a337e90822c45797bf3d79d60875cfcccd3ecc80e9f453d87026c122"}, - {file = "yarl-1.24.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b975866c184564c827e0877380f0dae57dcca7e52782128381b72feff6dfceb8"}, - {file = "yarl-1.24.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3b075301a2836a0e297b1b658cb6d6135df535d62efefdd60366bd589c2c82f2"}, - {file = "yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8ae44649b00947634ab0dab2a374a638f52923a6e67083f2c156cd5cbd1a881d"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:507cc19f0b45454e2d6dcd62ff7d062b9f77a2812404e62dbdaec05b50faa035"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4c17bad5a530912d2111825d3f05e89bab2dd376aaa8cbc77e449e6db63e576"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5f0cbb112838a4a293985b6ed73948a547dadcc1ba6d2089938e7abdedceef8"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ec8356b8a6afcf81fc7aeeef13b1ff7a49dec00f313394bbb9e83830d32ccd7"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e7ebcdef69dec6c6451e616f32b622a6d4a2e92b445c992f7c8e5274a6bbc4c"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:47a55d6cf6db2f401017a9e96e5288844e5051911fb4e0c8311a3980f5e59a7d"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3065657c80a2321225e804048597ad55658a7e76b32d6f5ee4074d04c50401db"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:cb84b80d88e19ede158619b80813968713d8d008b0e2497a576e6a0557d50712"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:990de4f680b1c217e77ff0d6aa0029f9eb79889c11fb3e9a3942c7eba29c1996"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:abb8ec0323b80161e3802da3150ef660b41d0e9be2048b76a363d93eee992c2b"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e7977781f83638a4c73e0f88425563d70173e0dfd90ac006a45c65036293ee3c"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e30dd55825dc554ec5b66a94953b8eda8745926514c5089dfcacecb9c99b5bd1"}, - {file = "yarl-1.24.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dafe10c12ddd4d120d528c4b5599c953bd7b12845347d507b95451195bb6cad"}, - {file = "yarl-1.24.2-cp312-cp312-win_arm64.whl", hash = "sha256:044a09d8401fcf8681977faef6d286b8ade1e2d2e9dceda175d1cfa5ca496f30"}, - {file = "yarl-1.24.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:491ac9141decf49ee8030199e1ee251cdff0e131f25678817ff6aa5f837a3536"}, - {file = "yarl-1.24.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e89418f65eda18f99030386305bd44d7d504e328a7945db1ead514fbe03a0607"}, - {file = "yarl-1.24.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cdfcce633b4a4bb8281913c57fcafd4b5933fbc19111a5e3930bbd299d6102f1"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:863297ddede92ee49024e9a9b11ecb59f310ca85b60d8537f56bed9bbb5b1986"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:374423f70754a2c96942ede36a29d37dc6b0cb8f92f8d009ddf3ed78d3da5488"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:33a29b5d00ccbf3219bb3e351d7875739c19481e030779f48cc46a7a71681a9b"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a9532c57211730c515341af11fef6e9b61d157487272a096d0c04da445642592"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:91e72cf093fd833483a97ee648e0c053c7c629f51ff4a0e7edd84f806b0c5617"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b3177bc0a768ef3bacceb4f272632990b7bea352f1b2f1eee9d6d6ff16516f92"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e196952aacaf3b232e265ff02980b64d483dc0972bd49bcb061171ff22ac203a"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:204e7a61ce99919c0de1bf904ab5d7aa188a129ea8f690a8f76cfb6e2844dc44"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b156914620f0b9d78dc1adb3751141daee561cfec796088abb89ed49d220f1a"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8372a2b976cf70654b2be6619ab6068acabb35f724c0fda7b277fbf53d66a5cf"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f9a1e9b622ca284143aab5d885848686dcd85453bb1ca9abcdb7503e64dc0056"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:810e19b685c8c3c5862f6a38160a1f4e4c0916c9390024ec347b6157a45a0992"}, - {file = "yarl-1.24.2-cp313-cp313-win_amd64.whl", hash = "sha256:7d37fb7c38f2b6edab0f845c4f85148d4c44204f52bc127021bd2bc9fdbf1656"}, - {file = "yarl-1.24.2-cp313-cp313-win_arm64.whl", hash = "sha256:1e831894be7c2954240e49791fa4b50c05a0dc881de2552cfe3ffd8631c7f461"}, - {file = "yarl-1.24.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:f9312b3c02d9b3d23840f67952913c9c8721d7f1b7db305289faefa878f364c2"}, - {file = "yarl-1.24.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a4f4d6cd615823bfc7fb7e9b5987c3f41666371d870d51058f77e2680fbe9630"}, - {file = "yarl-1.24.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0c3063e5c0a8e8e62fae6c2596fa01da1561e4cd1da6fec5789f5cf99a8aefd8"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fecd17873a096036c1c87ab3486f1aef7f269ada7f23f7f856f93b1cc7744f14"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a46d1ab4ba4d32e6dc80daf8a28ce0bd83d08df52fbc32f3e288663427734535"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:73e68edf6dfd5f73f9ca127d84e2a6f9213c65bdffb736bda19524c0564fcd14"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a296ca617f2d25fbceafb962b88750d627e5984e75732c712154d058ae8d79a3"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51b2cf5ec89a8b8470177641ed62a3ba22d74e1e898e06ad53aa77972487208"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:310fc687f7b2044ec54e372c8cbe923bb88f5c37bded0d3079e5791c2fc3cf50"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:297a2fe352ecf858b30a98f87948746ec16f001d279f84aebdbd3bd965e2f1bd"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2a263e76b97bc42bdcd7c5f4953dec1f7cd62a1112fa7f869e57255229390d67"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:822519b64cf0b474f1a0aaef1dc621438ea46bb77c94df97a5b4d213a7d8a8b1"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:b6067060d9dc594899ba83e6db6c48c68d1e494a6dab158156ed86977ca7bcb1"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:0063adad533e57171b79db3943b229d40dfafeeee579767f96541f106bac5f1b"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ee8e3fb34513e8dc082b586ef4910c98335d43a6fab688cd44d4851bacfce3e8"}, - {file = "yarl-1.24.2-cp314-cp314-win_amd64.whl", hash = "sha256:afb00d7fd8e0f285ca29a44cc50df2d622ff2f7a6d933fa641577b5f9d5f3db0"}, - {file = "yarl-1.24.2-cp314-cp314-win_arm64.whl", hash = "sha256:68cf6eacd6028ef1142bc4b48376b81566385ca6f9e7dde3b0fa91be08ffcb57"}, - {file = "yarl-1.24.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:221ce1dd921ac4f603957f17d7c18c5cc0797fbb52f156941f92e04605d1d67b"}, - {file = "yarl-1.24.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5f3224db28173a00d7afacdee07045cc4673dfab2b15492c7ae10deddbece761"}, - {file = "yarl-1.24.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c557165320d6244ebe3a02431b2a201a20080e02f41f0cfa0ccc47a183765da8"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:904065e6e85b1fa54d0d87438bd58c14c0bad97aad654ad1077fd9d87e8478ed"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8cec2a38d70edc10e0e856ceda886af5327a017ccbde8e1de1bd44d300357543"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e7484b9361ed222ee1ca5b4337aa4cbdcc4618ce5aff57d9ef1582fd95893fc0"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:84f9670b89f34db07f81e53aee83e0b938a3412329d51c8f922488be7fcc4024"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:abb2759733d63a28b4956500a5dd57140f26486c92b2caedfb964ab7d9b79dbf"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:081c2bf54efe03774d0311172bc04fedf9ca01e644d4cd8c805688e527209bdc"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:86746bef442aa479107fe28132e1277237f9c24c2f00b0b0cf22b3ee0904f2bb"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:2d07d21d0bc4b17558e8de0b02fbfdf1e347d3bb3699edd00bb92e7c57925420"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:4fb1ac3fc5fecd8ae7453ea237e4d22b49befa70266dfe1629924245c21a0c7f"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4da31a5512ed1729ca8d8aacde3f7faeb8843cde3165d6bcf7f88f74f17bb8aa"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:533ded4dceb5f1f3da7906244f4e82cf46cfd40d84c69a1faf5ac506aa65ecbe"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7b3a85525f6e7eeabcfdd372862b21ee1915db1b498a04e8bf0e389b607ff0bd"}, - {file = "yarl-1.24.2-cp314-cp314t-win_amd64.whl", hash = "sha256:a7624b1ca46ca5d7b864ef0d2f8efe3091454085ee1855b4e992314529972215"}, - {file = "yarl-1.24.2-cp314-cp314t-win_arm64.whl", hash = "sha256:e434a45ce2e7a947f951fc5a8944c8cc080b7e59f9c50ae80fd39107cf88126d"}, - {file = "yarl-1.24.2-py3-none-any.whl", hash = "sha256:2783d9226db8797636cd6896e4de81feed252d1db72265686c9558d97a4d94b9"}, - {file = "yarl-1.24.2.tar.gz", hash = "sha256:9ac374123c6fd7abf64d1fec93962b0bd4ee2c19751755a762a72dd96c0378f8"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" -propcache = ">=0.2.1" - -[[package]] -name = "zipp" -version = "4.1.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "zipp-4.1.0-py3-none-any.whl", hash = "sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f"}, - {file = "zipp-4.1.0.tar.gz", hash = "sha256:4cb57381f544315db7688e976e922a2b18cdb513d21cc194eb42232ba2a3e602"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.14)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=3.4)"] -test = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more_itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy (>=1.0.1) ; platform_python_implementation != \"PyPy\""] - -[metadata] -lock-version = "2.1" -python-versions = ">=3.10,<4" -content-hash = "e3f4a741003932811f920fc08eb4eda67516fe72864ce7ea290305c4f1ae2778" diff --git a/openbb_platform/providers/intrinio/pyproject.toml b/openbb_platform/providers/intrinio/pyproject.toml deleted file mode 100644 index 836bce34926..00000000000 --- a/openbb_platform/providers/intrinio/pyproject.toml +++ /dev/null @@ -1,20 +0,0 @@ -[tool.poetry] -name = "openbb-intrinio" -version = "1.6.1" -description = "Intrinio extension for OpenBB" -authors = ["OpenBB Team "] -license = "AGPL-3.0-only" -readme = "README.md" -packages = [{ include = "openbb_intrinio" }] - -[tool.poetry.dependencies] -python = ">=3.10,<4" -requests-cache = "^1.1.0" -openbb-core = "^1.6.10" - -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" - -[tool.poetry.plugins."openbb_provider_extension"] -intrinio = "openbb_intrinio:intrinio_provider" diff --git a/openbb_platform/providers/intrinio/tests/__init__.py b/openbb_platform/providers/intrinio/tests/__init__.py deleted file mode 100644 index 36c3ae93b8f..00000000000 --- a/openbb_platform/providers/intrinio/tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Intrinio tests.""" diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_balance_sheet_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_balance_sheet_fetcher_urllib3_v2.yaml deleted file mode 100644 index 79f4c7800f5..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_balance_sheet_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,321 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/fundamentals?api_key=MOCK_API_KEY&statement_code=balance_sheet_statement&type=FY - response: - body: - string: !!binary | - H4sIAGM7fWYAA6zXS3PaMBAA4L/S0Rl7diU/JN2SKaElIQWGDCGdjscBp3VjzMukQzP57125kKYO - viAfJUt+fKx2l2f2sM1n8TzJizjbMP31maUzps1sNMnhfJyzFtsUcZGYJdF0MUvo6n2cxfk0iTY/ - kqSIXi/T0od0M42zaJfEa6Y5cPE6tUzW6cLc+mJC64rd0txonZSbZ38fsi6iGY2YzrdZ1mJJPtuP - mbmTA8oRUD4jS/Pvby55DvgO8BHnGjzNfRcA7mhhuokyWrQpmC7W26TFtkuzafb/1sBBPkJPe6gF - d0MV3rGX1huG1XAc470dA2+MgRsG7h1jEA7igUFqHp7MgIGLvqgw+KrdX4EdAzbGgCWDf4yBOwgO - D0sG+hbvZAZPuCCCCsNVF3vnH+0YoDEGKBmCYwxYMsjDoZCnRwNtRVlhmK8mg3HXigFVUwyoSgZ5 - jAFKBlUyBDa5AUNXhqrCsMN4cNm3Y5CNMciSQR1hICFiEGAYkGsRnJ4ilRsG73PDJG9f2zGEjTGE - tZWChEyK9EcoTG7wwIqBV6MB20GvbxkNQWMMQW2lICHDIEZYpkhhUSkkMUCFoZeM+VNox+A3xuDX - pkgSMrkhGHHQHjdVzyI3hFitFEGnf9X9ZcfgNcbglQzhMQb/UClAC9SgTi+YnuvLam7wBp5aDu0Y - GusiUdRWChLa9w30e6L2LbpIOhSqytAfrETHrpnGxrpI5PWVQuwrBVA0SJu+gVJk8C4aruUi7yo7 - hsa6SMT6FFl2kQJNNECo0epQCO5XGOKs3Y4DO4bGukiE2mYa8V+KFL5N+0QMGFYrhZTeE8+sGKCx - LhJUfaWAQ24gBuoi0YYBVDUaVkP8Obb7hwmNdZEg6ysFBQpSoJhDwX3t2+UGH4nhW4tNF/NlnO+Y - 3ovQOLq+DTq/v5jXT6ePCX0hOzvrX9E4j+fmhmfLZZZ8+JxPXZrLkpSmPo1v+pdD6PW/3MiLzu35 - SChzsKfpI12k9wRh2mDBXl7+AAAA//8DAHuz76T0EAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:55 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-balance_sheet_statement-2022-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGM7fWYAA6yZW3OqSBDHv4rFy+7Wapa7YNU+mMvJbuJRY3ISc3a3rBEmyAYHAoMnmMp33x5v - DAKi1OZJp0fo33T3vxvyIUQUERuFtrvE9uTFJYhYLvIiofPXh2AjiiYUOULnQ3BtoSPA50l/rF9f - L4WmQNAcw9oFimaNv2NRlPXG1VvsLpCHCY1gw+qXggV2uAXOmAIUwid2RZ8iz4pD9hVFEV5ZI9iM - iQVXl5rCC7KoH8LWX8EyRR5aGQQbT10KKzFx2XXiyBY+mwLcIQarrOiqLq7+zsTPZgmJOO7dXCYp - yf3MD2nrAYfzxp9kgSM6z4BEzEzB6maMx6IoNVFUXTMqUR7HT4ObcYrS9yneBqWHUYQbI2xhCMDU - wzsgAptCfvlYFLUeiiK31WqUvvNMrjmUrmX5MRx1EQHa2GpRaDUDYkiGegTF8G7BUbCEInAvF0fN - BsE0DQKm7saWnOC8Xs951TyiLuzxILx1Ut8HdIbDxsXal0Z368zaf58Z9/08lsKsGQJJlpVKDLK8 - mfY5oXpgvpRhFDqaxSiSp5r6JCmaKmqVBMMkGH3nkmgIF6fNxjD0AxzSpMnLbsD0KJdaQZCviCKO - mhWtypLUrsR4d96fnziMnk+ccpn1wFqlssQnB3pGzcKWZNE4IiiviffDXu5XR3/nUWMAwUFQ1E5h - qRS4fgKbXDPhNFWVq6X332S08JL9iuHQioqmEqgIo2YzlNqarFRXvuj0jbdc5Rc5n3OZxJ6X8ZRP - pt9P6HWa3Naqk0lL7NsbzlNuBLnE07SUd7OHvV4tFFjPRVPXcyn0mOxplzcLK8T2IZ2VJLGS4Ty5 - fV1wWbNr2EOUFHbrYLd+Gka7JoauSlJ1KMwx+uFzGNtGcYlfMHyyYf6ANh2nOBt37Y093JlPolLK - K/owVdsEwaqCulsaxjQnVlu0XsanfD/P+nwaVrkIVwRLNNSjguXpzn6FH+IqdzrLVQpUN/skTTGN - 6kiNlvO3LheptElmhGDbHQt1IJXiUgqjJoVpmJpZPfWOifeY7KdbYW8szb0yiFNR1fKZ5jCqakpq - dbzkpal5uR7DoZYm4XGApVh1xVxSDUmUKrkuHVnDuRmgFOZIhM0LAJpkWerWlCLCrFY9B1w5XaRx - KnHhz+fueqTcjs4XPmHpCP7waFa6ETy39vacSlm35g4ODuP2bX+cRfNJ45761msGwyc7l/YEPGvk - novrdiRdNdRqjXhzsM8/lo0wRS6B/nqFQgLHnEYh3FhwajgWQa6J0FJEvXpOFpPpU5vLK5h44nns - IQoUmw7rz4MQzzCJ3AWGxxzwFDd+a/zc86Pol3Qg8i33BKi6gtZiY1x1YN6dO8PMVf4msa62/vDd - 9FB6FQHUlS5N1NvVihw6ojLP+T8Mt/PbruJLgQ6iQHEz5QYtCH0oeuK4hL0+i/bfKtXVtOMgA+fx - PD/4rGG2hP2Mm5B9qZ852INUJwqdVv465/9A74/1u+scOteZtvz3M/B75ns2DqOfCgNdglL2EKiL - pQ+BFX0q+xT4D1wmJjZijQV5OzhYm7yNnpA0ZcdJQUbYhonl2+wOm3tNohnGdLIzw9YXN7KQN0lA - H+HpSJTl3RJMWa7PLv3lmYEnAV7J6erH9vomIZ3AKeMtLCb25rvArtQSzZasru7BkoIzKaAmLVF+ - kOWOaMAz2RmgfYeNbjRhAhjBIdAwxnAgAfsRf1W1JeotSX6Q1I4qdST9DEZj9lPQkQCRZHce8H31 - X4blgDnvWq+YnXu3O+xxkhsE3kpYz2DNwy4s/fH0bXg7Er8OB9+ML9fj8wfFZASW+wpGFgFFFiVT - ET4/P/8DAAD//wMApZ0t//cYAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:55 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-balance_sheet_statement-2019-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGM7fWYAA6yZXXOrNhCG/wrDTdupnYIAA5npRb5O2iTHcZycxDltxyODgmmwwCBygjP57135 - C2GDsZnmytbKYh9p990V+ZAThqmLY9efEXf44lNMHR8HiXz814fsYoaHDHvy8Yfsu/KxDJ+H3UHn - 8nImt2SKJwTGznAylv5OFQV1pItp6r/hgFCWwIT5L2UH7PAIUjBFOIZPfMWQ4cBJY/4VJwmZWxOY - TKgDq6st+QU7LIxh6q9gGeEAzw2yS0Y+g5GU+nydNHHlz5YMT0jBqluWrivzvyPls1VBogxurs6z - nOR+HMas/UDiifQnfSMJmxRAEm5mYPULxn1RtGYohmqqWi3K4+Dp9mqQo3RDRlaHckNwQqQ+cQgc - wCggayAKk2JxeF8UvRkKQpZp1aJ0vWd6KaCcOE6YwlaXEeClrRGF0ZTCRp09KHp3bwIFDygKz/JJ - 0pIoYfkhEOYvbdkBzncaJoaq1PvuDm7jay/3/ZaNSSydLXyRTlbOLPwPuXHTz30p7GYUKtIMVItB - Z1ejriBUD9yXKoxSR4sYZfLUUJ/UDrJUu5ZgNJv2I0GgerA4a0m9OIxIzDJRdSMuRy3Ji8Mkh5p/ - i6JCUkC8LUYECtSMQjO1PfK5l0X974NKiFYJxUZ+bBBUHkZDWdoP4917f34SMG5C6lXXigCsdaWC - hnRH4WuoTqpiaJDkdTSvWfDDnW2meHftkXQLh4NBmbzSfC9x/QA21DBrNGTvcVD/Zv23INtMewGt - LPNrgcowGlZ0VbO0PZJf8brWdEu+ypzfcpmmQVDwVAym3w/YcM0y1Pp6YWTu9ZXgqdBHnZNRnsrr - BspdjJZWicDHIz/wGRTK4m5XVzwnJu5OrV22grsYTrPr1zchatZdRw9npS1HtB4/DMNsiKF3kFZ/ - FPYA/wgFjFW1OycvBD650ERBr5HmOEt33aU9XpsPotKqM3o3lWGg+kJ+N7Os0ZZYrdBuCj5tNyVF - nw/Dqhbh3ViaaaL6mIPDCjreZobv4qp2ushVCdQ0+qCsmGq99vZnk+mJcFJ5kSwIwao6lupALsWV - FFZDChsQzPrWfUCDx2wz3EprY2XsVUEciqpX9zQ1iaUYSv21Ec1sI9iqMQJqZRDuB1iJ1VjMdaSp - 9Zl17iGDbPUAlTB7IizfYrCsyNI0p5BuKag+py68E2wIKnEWTib+oqVctc5nIeXhCP6IaE4+ETx3 - NuYcStk053Y2DgPzujsoooVUumeh81rACOnapQ0BLxqFy33TiqQbqln/6mjqkVC8W/YJwz6F+nqB - YwrbnJ9CvLSQ3LAvQvW1rA7BsuvjSslGT6YQV9DxpJM0wAwolhU2nEQxGROa+G8ErjngKZF+k36+ - gVvlL3lDFDr+AVBNBa1tWPXH8u7dWfZW3i/D6mLljVhLdwVXmftNhctWdKv+TGJP0SZb/vfiVfe2 - zvdKoJ0okNpct0EJ4hBSnno+5W8Ak80XY00VbT/IyHs83W57FjArwm7BTYi93M8t2J1UB8qcUf1G - 6v9A7w46d5db6EJdWvHfj8HvcRi4JE5+Kj3oCpSqK2BHqbwC1rSyxTvgP7BMSl3MywoO1nAwNpxM - n++ervh2MhARPmHohC5/wvJZw2RMCBuuzTD1xU8cHAwzUEcoiIpqr4egx/JDvvSXZw6eRWQupvMf - u4uHxGwIu0xWsIS6y+8yX6mt2G1kzZ/BgyI3IaWtKm1kPyB0rHTgcnwEaN9hop8MufwlsAksTgls - SMR/JKyK9LbSaavoQdWPdfVYNY8s0+Y/BR2JMM3W+wHf5/8omd1y533nlfB9Pznp3QiCG0XBXFaP - YCwgPgz98fStd91XvvZuv1lfLgenD5qt89X9VzDyE9A4mSZ/fn7+BwAA//8DAK72yG+6GQAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:55 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-balance_sheet_statement-2020-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGM7fWYAA6yZa3OjNhSG/4qHL22ndgriYvBMP+S2aROv4zjZxLttxyODgmmwICCyizP57z3y - DWHA2EzzydYR4n0knfdIzrsUM0wdHDnegjiTZ49ianvYj6XeX++SgxmeMOxKvXfJc6SeBJ8ng7Fx - dbWQ2hLFcwJt5zietf5OZBkZrcvXxHvDPqEshg7LJyUb4vAKkguFOIJPfMSAYd9OIv4VxzFZRmPo - TKgNoytt6RnbLIig668QmWIfLwOSQ6Yeg5aEenycJHakj7YEb0ggqpqyYsjLvxP5o11BIo/71xdp - RnI/CyLWeSDRvPUnfSMxm+dAYh5mEPVywUNR1GYoOrJQtxblcfx0ez3OUAYBI5tF6RMck9aI2AQW - YOqTLRCFTpHYfCiK1gwFKSrSa1EG7ld6JaCc2naQwFSXEeB1rBGF3oxCMRQkH0AxvHsTKPiGovAu - j8TtFiUsWwTCvHUsPUK80Uy8JhtKrXZnfBvduJn2WzYjUet8paV1uhGz0h/w4K7OQymshkugIEOr - xaCL6+lAMKoHrqUKo1RoHqPMnhr6k6KpXUWtJRim4eibsImGMDhrt4ZREJKIpW3RdkPuR4WtFYbF - jCjjaJjRqtE16n32h/vj65OA0Q+oW22zPkTrXJYGdE/NaJrYsmya9Vb7kvrfncVudgy2ilq3sDgY - ktotTZUS6UewoYYbTkM6QrVo/6ajNz/dzRgBrSxpaoHKMBoWQ8gbTbbqC7s7MF8LmV8mviCZJr6f - Uypupt+PyAykmqZZq1RPnZtrQalwBLkg0yyVt2cPZ9VaarC+h6ee7zGoMfnZri4WdkScPdOtdo36 - 2T5Lb17ehF2zLdhDnJZW63DbfhxGtyGGhpBV71LWGH8PBIxNobggzwQ+OXD+gDKdZDhruc46Hm3D - R1Gp1Rm9n8owtPoKcrcwzWnBrDZo/ZymYj3Paz4Oq9qE6xbLMOtrOyyWb7i7Gb6Pq1p0nqsSqOnu - U2Rdteq9d7SYv54KK5UVyZwRbKpjqQ9kVlxJYTaksEzDqK+NgzH1H9Pd7VZaGyv3XhXEsaha9Zlm - P6quaVb9AR8tLN0v1BgBtXITHgZYidXYzHVV0euX8MJFOimcASphDkRY/wDA0jxL05xCuqlr9ZXp - 0j3FuuAS58F87q2OlJuj83lA+XYEPSKanXUE5fZOn2Mpm+bc3oPDuHszGOfRAtq6Z4H9ksMI6FbS - joHng8K9uGlF0uVut35RXl0SiNeyEWHYo1BfL3FEYZqzVYjWEZIFDkVATZNEsw640Mjp9Kkr7Cs4 - 8STzxMcMKNYVNpiHEZkRGntvBK45oJS0fmv93A/i+JfsQBTY3hFQTQ2tA7f+Ay5pd6ZVyPv1trrc - qBFr6b7NVSa/qXEZuqrWb6vIldV5Qf8w2pzetvleCbQXBVKb+zY4QRRAylPXo/zHs3j3N6WmjnYY - ZOg+nhWPPSuYDeEgJxP2XqazALuX6kib06t/zPk/0Adj4+6qgC7UpQ3//Qx0zwLfIVH8U+lCV6BU - XQENufIKuB9s5w74DwyTUAfzsoL9LRy0TfrXyuezCz6dDEyEd5jYgcPfsH7XJJ4RwibbMHR99mIb - +5MU3BEKoozkbROcsbyAD/3pKwdPQ7I00+XDzuolEZvALJMNLKHO+rvER+rIVgcZy3fwTSGElI4i - d5D5gFBP1nrIPAG0b9DRiyfc/mKYBBYlBCYk5A+Jo2od2ego6EHReprSU+BRxeSPgo+EmKbb+YDv - y/8xLG65eM9+IXzeT0+HfcFww9Bf2uoJtPnEg6Y/nr4Mb0by5+HtF/PT1fjsQbU0Prr3AkG+AiqS - FUuVPj4+/gMAAP//AwCX2hTa9RgAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:55 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-balance_sheet_statement-2023-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGM7fWYAA6yZa3OqRhjHv4rDm7ZTTbkLzvSFuZy0iUeNyUnMaTvOChvcBhcCiyeYyXfvs94A - AVGmeaX7LMv/t/vc1nwIIUPURoFNltievBCKqEWQGwqdvz4EGzE0YcgROh8CsYWOAJ8n/bF+fb0U - mgJFcwxjFyicNf6ORFHWG1dvEVkgF1MWwoTVk4IFdngFzph8FMAnvqLHkGtFAf+KwhCvrCFMxtSC - 1aWm8IIs5gUw9VewTJGLVgbBxlPCYCSihK8Thbbw2RTgDRFYZdPUNXH1dyZ+NktIxHHv5jJOSO5n - XsBaDziYN/6kCxyyeQYk5GYGVpIxHoui1ENRJM0UK1Eex0+Dm3GC0vcY3h5KD6MQN0bYwnAAUxfv - gChMCtLDx6KodVHUdrsSpe880+sUSteyvAi2uogAbWy1KLS6vqWJxhEUw7tFioI7FIV3ERw2GxSz - 5BAwIxtbfIJ4vZ54XVGkSu32eBDcOon2AZvhoHGx1tLobsWs9XvcuK/zWAqzHoWk6mZ1eNPlzbSf - SlQPXEsZRqHQLEZReqqZnyRV0XS9kmAY+6PvKScawuKs2RgGno8DFjfTadfn+SjnWr6fj4gijpoR - rSptqfog3p3356cURs+jTnmadcFalWWpRw/UjJqBDYGhqWolzWvs/rCX+9HR3ylqDOBwEAS1Uxgq - BdJPYJNrOpyutrXqpPVvPFq48X7EpNCKgqYSqAijZjGUdE0R5erC7vSNt1zkF4nPSaaR62aUpp3p - 9xNqnSZrhlKpVIvt25uU0lQLcomnSSjveg97PVqYYF2CpsQlDGpMdrfLi4UVYPvAdoPPVBfs8/j2 - dZHyml3BHqK4sFr7u/HTMNo1MXRZl6qrnjlGP7wUxrZQXOIXDJ9s6D+gTEcJzkauvbEHO/NJVEp5 - RB+mMkS9GupuaRjTXLLaovUymvL1PKv5NKzyJHwYSzMM2TzmsFzd2Y/wQ1zlorNcpUB1vU9SIWdV - 597Rcv7WTZ1UUiQziWBbHQvzQJKKSymMmhSmJhvV7tYfU/cx3ne3wtpY6ntlEKeiquU9zWFU1TTU - 6vOSl6bm5mpMCrXUCY8DLMWqncxVTToisi4dWcO5HqAU5kiEzQ8ALM6y1I0p4IDWs5LlyukiLZUl - Lrz5nKxbym3rfOFR7o6gJ41mJRNBubU351TKujF3sHEYt2/74yyaRxv3zLNeMxge3UnaS+BZY+pe - XLcitRVDqm7O3hzspa9lI8wQoVBfr1BAYZuTUwg2FpwYjkWQayK0ZKn6BiDG06d2yq2g4YnmkYsY - QGwKrDf3AzzDNCQLDLccEIobvzV+7nlh+EvSD3kWOYGpbj5rSRD61efy7twZZi7wN351tdWTLqaH - vKsIoG7m0uFQqi/LgSMq85z+YbBt33YBXwp0EAVimyduSAWBBzFPHUL5r2fh/o9K9ZvUYyB95/E8 - 3/esYbaE/YxM8L5EZw72INWJeU4r/zXn/0Dvj/W76xx6qjBt+e9noHvmuTYOwp8KD7oEpewOqIul - d8DDYHuXwH9gmYjaiNcV5O7gYGzyTMXzJ8q3k0Ea4RMmlmfzN2zeNQlnGLPJzgxTX0hoIXcSQ3qE - iiiu7tTrIWiyiMeX/vLMwWMfr7Lp6mF7/ZKATWCX8RYWU3vzXeArtUSzpYird3CnSJnUlqi1RPlB - ljuiCrfjM0D7DhNJOOEJMIRNYEGEYUN8/pCdfVRvSfKDpHZUqaPIZ22zzR+FPOIjGu/2A76v/smw - HHDxxHrFfN+73WEvlXJ9310l1jMYczGBoT+evg1vR+LX4eCb8eV6fP6gmCpfnbyCkZ+AIouSqQif - n5//AQAA//8DAPrFqvz2GAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:55 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-balance_sheet_statement-2021-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGM7fWYAA6yZ23KrNhSGX8XDTdupnXI+eKYXzmGnTbwdx8lOnN12PDIomAYLAiI7OJN375JP - CAPGZpormyWL/5PW+pcgH0JMEXFQ5HgL7EyePYKI7SE/Frp/fQgOomhCkSt0PwTPEboCfJ4Mxvrl - 5UJoCwTNMVw7Q/Gs9XciirLeunhNvDfkY0JjGLD8pWBDHG6Bc6EQRfCJzRhQ5NtJxL6iOMbLaAyD - MbFhdqktPCObBhEM/RUiU+SjZUBw8NSjcCUhHpsniR3hsy3AHRKIKqqliqu/E/GzXUEijvtX52lG - cjcLItq5x9G89Sd5wzGd50BiFqYQ9XLBQ1GUZiiyoVtWLcrD+PHmapyhDAKKN5vSxyjGrRG2MWzA - 1MdbIAKDIv7yoShqQxRNls1alIH7RC45lJ5tBwksdRkBWscaUWgNKXTZOIRiePvGUbCEInAvD8ft - FsE02wRMvXUsPUK83ky8rpn1deGMb6JrN9N+Q2c4ap2ttLR6GzEr/QEL7uo8lMJqRiGpkiTVYpDF - 1XTAGdU901KFUSo0j1FmTw39SVJUU9FrCYZpOPrOJdEQJqft1jAKQhzRtM3bbsj8qJBaYVisiDKO - hhWtWOoBPvvuvj89chj9gLjVNutDtM5lSUD29IyGhS1BXRtGLc1L6v9wFrvVMdgqat3A5iAoare0 - VEqkH8EmN0w41TTV+i7ybzp689PdiuHQyoqmFqgMo2EzlAzdkOvrRnQH5muh8svEFySTxPdzSvlk - +v2IytDAoORapVrqXF9xSrkjyDmeZqW8PXs4q6ulBut7aOr5HoUek1/t6mZhR9jZs9yaLim1DKfp - 9csblzXbhj1EaWm3DrfXj8MwGmJoqqHXY1hj9CPgMDaN4hw/Y/jkwPkD2nSS4azlOut4tA0fRaVU - V/R+KkOX6vPrdmGa04JZbdD6OU3Ffp7XfBxWtQnvx1IN1Tpos3zd3a3wfVzVovNclUBNs0+SNdWs - P62MFvPXHrdTWZPMGcGmO5b6QGbFlRRmUwrRksR65x2Mif+Q7uZbaXOsTL4qimNZ1epDTY1fKIqs - 1aLKC0vzC02GQ63MwsMAK7Eau7kuq0p9Ip67soYLh4BKmAMR1m8AaJpnaVpUsmlYB9jfhdtDGmcT - Z8F87q3OlJuz81lAWDqCHh7NzgaCcntnzLGUTYtu78lhbFwPxnm0gLTuaGC/5DACspW04+D5IPdg - 3LQlaYai1xfOq4sD/rlshCnyCDTYCxQRWOZsF6J1BGeBQxHkpgiaXp9WYjp9NLi0ghNPMk98RAFi - 3WGDeRjhGSax94bhMQeE4tZvrZ/7QRz/kh2IAts7gqmpn0kHnH7e3VvTKlT9OqkuNmL4VrovtcrU - N7UtEG/VP2NGrqjMC/qH0ebwtq32SqC9KFDYzLXBB6IACp64HmHvzuLdV0pN/ewwyNB9OC2eelYw - G8JBTiakXqazALuX6kiT06rf5fwf6IOxfntZQOe60ob/bga6Z4Hv4Cj+qXSjK1CqngB1sfIJcD/Y - ziPgPzBNQhzEmgryt3BwbaJZF8NXkS0nBQ9hAyZ24LA7rO81iWcY08k2DEOfvdhG/iQFb4R2KC5f - DKwuwQnLC9jUX54YeBripZUuf+ysbhLRCawy3sBi4qy/C2ymjmh1ZG15D5YUXEjuSGJHNu5luStK - XUk9AbTvMNCLJ8z9YlgEGiUYFiRkP+JnVTui3pHke0ntqlJXVU5ERWc/BR8JEUm36wHfl/9iWNww - 8Z79gtm693rDPue3YegvXfUErvnYg0t/PH4bXo/Er8Obb+aXy/HpvWKpbHbvBYJsBxRZlCxF+Pz8 - /A8AAP//AwB4qViN9BgAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:55 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_calendar_ipo_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_calendar_ipo_fetcher_urllib3_v2.yaml deleted file mode 100644 index 1d50ce86025..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_calendar_ipo_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,72 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/ipos?api_key=MOCK_API_KEY&page_size=100&status=upcoming - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:00 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_cash_flow_statement_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_cash_flow_statement_fetcher_urllib3_v2.yaml deleted file mode 100644 index 2afc0577763..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_cash_flow_statement_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,315 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/fundamentals?api_key=MOCK_API_KEY&statement_code=cash_flow_statement&type=FY - response: - body: - string: !!binary | - H4sIAGQ7fWYAA7TXWU/bQBAA4L9S+TmxZi8f+xaEoE1pCCgcaVVZJjGti+MYJyQc4r931rgp+BDS - WDx6d73JfpqdGT9Z13fpPFxE6TpMVpb+8WTFc0ub0eD8arOXpFbPWq3DdWSWBLPlPMLZWbj6HVwn - y22wm8Jl1/FqFibBQxTmlubAxW4oi/J4abY9mOK69UNmNsmjbJmvo/nLD+TrYI5b4Ti+yfvg97nC - mSidvxoXZlxA8VtJnP56M8VYH/iEcw2e5q4NAN9xYbwKEly0Wlt6nd9FPesuMy+93lX2wekzPmFS - S6Yl2I7AV597ryicw9HJOKNT8PcoipebKFhB4dQoXojkx1IoG1SVYnO/HMmQTsHIFFAc2a1RsF20 - fBwF82zwWY3ixk2ndAqgUjC/OLJfo4BdtNQoeJ8B6hUUeB5Jjwpp+16VYnyyPRptyBTMJ1N4u5zw - hqIk8pooWEHhFRRSc48eFa7t13KFPLkF/4pO4ZEpXHMuYDUKbxctNQooKPyCwtFcdaFgUlYoHpVk - 4YhO4ZIpnOYKgkRtFQQDBikEGArGtXDoF0TYXLi1XCE9twOFQ6ZQzWmzJGqqIBgwJm2qCRMmV2BF - 7BIVICoUyp9uhh0oFJlC7nLCWwrVmjbNnUIKMWFF2hT0CoIBpdzqBcmH+xvnlE4hyRSiuYKURG4T - hVPkCmfCQUu8I50uiMOrUXFxLE7Gf+gU73abrRS8pYKI1gqCAVNWENCCafA7RYXwKxSD0N38GdIp - yN0mYy1pk7dWEAyYsq/A2860olcQIWzJqhdkmURDdk+nIHebDJob75KoMW2KsoIARoXXpa9ACu5W - K8j2Qu5POZ2C3G2C31JBoLXxZkW3KZiJCnA1o18Q7DZ5rYKkyWh0dE6mAHK3CV5zBSmJGisI+582 - herYYoFbpVjc5n62oFOQu01wm9NmSdRYQeBfrkAK7DZZl490BapCkWzFrUf/MgVytwlOc+P9QtSc - Ns16vDvmgnClVadvEJAmKn72rNlykYXpg6VLFXwORpfO4eOxOUY8u4nwpNZgMD7C5zRcmA0HWZZE - n76kMxvHkijGoc8XZ+Ovp/BtfHzmHRxe7k2Eb/LdLL7BSfyfIEy7LKzn578AAAD//wMAcJ/knD8S - AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:56 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-cash_flow_statement-2019-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGU7fWYAA7SY21LjOBCGX8Xlq51awvgUx6ZqLwinZQkksAyT2UOlhK0YDY5sLBlwKN59W05w - lMGOvQ7DDYm6rfTX3dIv+UVlHFEfJT6ZY38yJRRRj6CQqXt/v6g+4mjCUaDuvajEV/dU+Dy5CL5F - J3N1R6VohmHsIKIsCgn4Yl+5wFw5pV40w8pn5ZdBxNgn8MynUCnmJDfBSIwSTLk86EUUPqWEBmBm - +CHF1IPp9R11ijweJeD7K1huUYhyg+ol2CcchlJKxEwp89XXHfURhSmYu12ja2v53672ulPB8jA/ - Ou9LLCXhKwdFYMowxgniBIDfQ63FL+N5iN1Nk2i2cogW09AAwMgj4QSzNWbzpzL74yE+y1bMhzhO - MNRccClHzzGmDBd4vmTEhW07PKsSz8e31XS60bV6tXS38wcUyxWNaOcAQlT2/e8p4zOImynXkXIl - CuaREEstuyoqmOAZtHqER1Xd+//57Xb8XUuvL24c3PSNQFqcd4gGmCmEvjUvtPE+YxiyAOteGRB0 - S8I8xh0FaIoUAGuCEcM+XvwntMDyUEw4CrfOQ69dHjqmYzi1ibgY25coWF/ZeR8cQ4wla1qkRQ6z - WN1NucpyUZcBp10GbNd09doMaOPBlZ9VZaApdgPYvMVIvmLWt27tZ+LdjL+e2xLeKE0gEoaVaKqM - EhE2z3aUEfwiV/5JNc2wlaOHlMRiOReg8fKhaBoLx3j5HKwMLPlubnNCHzHbUGS9WsI297muWW63 - vtFBjm+kDW/fg8gZWVcptD64JZDREsg2rAY4oxs0Ly/raR5Yvh+XVJCsWbdErJbgzYiWZpv1vXs4 - Bx2RNqc/EegQNN3nKFHOEU8TwrMqYAa+HwzbUpBcp9egoHT+R9+WCjrkdzhZkq1vP+sCFAm/ktAX - PlsSt5UeXevVS484gvx4qCyVnrIkbJaecrCyZNSmoKX2WF3HrT+GjLJ4OKhMQVPuBrRV2mO01J5m - eM/B87kzXuFd4RhlYjGKRXuIb1ddnLxZoqm/GN/cucsLWGXZjNZiYjlO/ekZBd/D3nwNTNp/D6LZ - TNwRQEt4JiMWe7CXe+A3hy1Z227Ctu249az3WXhvyUojlRDC8TH1JZkpqiiZtsRreQ+CUuq6W4v3 - lJmXN1KPnjKWiunftShZGj6qQ7ttT322WX+mDS4uH7NyqPLuXNF9bG+2VJCeU3866Ga+O5BOBwvF - PH6LaLNilgTeRDFreVvKRcdw9Pql2M/OoufKq4qkmGVJ2KyY5WBlyahNgdsyBa7m9uo15XLu9P3K - C2tT8Aa4VZJptpWWZnxX81k4HP/Al8ciXk7kpNI1DeZeO/W+D/yNiaZhuIYhb6u/NccwLFOvX5tG - 0L99kt+viLhPKccJnFSUEQLHt5BFnGRpiReGypi7VTEvPEsDNi2jfsM8Cqxzd/wu3vwN5zV6xqws - ZmHlwlgXdq9F2HrXkDb6f2GGlPpIiCsKi9BhbDK6fBpcPIoW5Yhj4TDxIh8vo5xMw+hpUpjAbUqY - h8JJhlEizn+6WwzBnZ5EYtrjb4I0i3F+bMkf9hc/kPCJeIEN4/Ck09HcjqmBBYReGnfFuOHkvxXC - GluZDB2uBmC6Now9zYLdchfw/gJHwiYhODHIA09SDDmJ8xfl0qNWR7M7unGtW3uWDleTXdfMH4Uq - xIhmRU7gu3irdTIfCgji3WOR9v390UC6/Mcx3CShvrswFmICQ79//TI6u9LOR8MvzvHJuH9tupaY - ndyDUVTBFGSm+vr6+h8AAAD//wMA7P1b5g0YAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:57 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-cash_flow_statement-2020-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGU7fWYAA7RY23LiOBD9FZefdmsh4xsGU7UPIbfNBgLJZjLMXopSbOHRxMiOJSeYVP59WwaM - mNiYMTN5CXS3xTndrT6SX1XGEfVQ7JEF9iZTQhF1CQqY2v3nVfUQRxOOfLX7qhJP7arweXLtfw4v - FmpDpWiGwXYSUhYGBGKxp1xjrlxSN5xh5YPySz9k7FeIzJZQKeYkc4ElQjGmXDa6IYVPCaE+uBl+ - SjB1YXm9oU6Ry8MYYn8DzwMKUOZQ3Rh7hIMpoUSslDBPfWuozyhIwN1qW7quZX9H2lujhMvT4mzQ - k7gUwFdOcmDKMMIx4gQIvye1hV+m5yL2ZRqHs01AuFyG+kCMPBNOMNvibP5Uzt54iK/SDedTHMUY - ai54KWfzCFOGc3qe5MS57zB6Vik9Dz+UswNqLbuS3cPiCUVyRUPaPAGIyrH3NWF8BriZchcqt6Jg - Lgmw1LKbooILnkGbR3hY1r3fz9+ux99um0Yl/ci/7xm+tDm/IOpjphC6bl5o42PGMGQB9r3SJ+iB - BBnGhgJs8hQA1xgjhj28/E9oTstFEeEoODgP7Xp5aFntVmUersf2DfK3N3bWBucAsWBLi6zIKPPN - vS+tolRUJaBTLwEdzW5blRnQxv1bLy3LwL609yCbdRjJNsz25NZ+Jr378aeBLdEbJTEgYVgJp8oo - FrB52lBG8Itc+TfRNMNWzp4SEondnBONVg+F00gERqvnYGNgKXZ3lxP6jNmOIuvlCrYzDc22qTnV - fQ5ifC+Nu2MXgDOyrVFo23ggH6MmH71lVJf12h/do0VxWS8zZNk4Lqgg2fIeyLFcgSs46pZjdipZ - ni5AR6Tp9BcCHYKu+xDGygDxJCY8LWPMIPYHs60pSLqhmU71eYMu/uzZUkmH/AuOV9S2B9C2AoUi - rgD7MuZAyjW1p+nssSfFEeTbQ2Wh9hTlYLf2FPMqykVlBmqKT9MyOtUpGKXRsF+agn1578G2THyM - muKzH725Px90xht6tzhCqdiMYtOe4odNE8drTzj1lvbdjbu6gJWWzairJrre2ePYhPyvQXuxRUwa - wCfhbCbuCKAmPJUp5kPYzSLwOuBArnWncNswW9VD+DENHi1ZaqQSAhwPU0/SmbyKkutAejXvQU3d - 0jrVY/clNW/upR69ZCwRy79rUbJy/KgObdVUk5ZuVBetlXpOX1LOpZicrzHtFpMC6PuISSXjuqPU - tM3qE1EvvQrnped4SU2KkrBbTYqJFSWjMgVOzRR07M7qUrsrBzeLTs8rvc3tS3wPumVyYtYdu/vx - u13MguH4G34ZFnFxz5hKdxhYe+tE+B74mhNNgmCLhjxyfv+ekaNZZrV6GH7v4UV++SCAX1KOY5Bx - ZYQgcI1ZACUrT7R0lIJulYFeRhYiNiFblXjPfGvgjN/hzV7/3aE5ZkWYhZcLZxXsdg3YTkvbTPb/ - YIGEekgIDwpy5GCbPM8f2/SzaFGOOBYBEzf08ArkZBqEL5PcBWFTwlwUTFKMYnE2yk5HSxNceEko - lj0Xy/E0wpmkZw97yx+I+US83AW7oelOU3OahgMeEMGN3dAyu539VgB7THIZ0D5No31nGF1N7+rW - EdD7GwIJmwQQxCANPE4wpCTKXiJLj1pNzW7qxp1udS29a1lHTkcXj0IRIkTTPCfwXbzyuVgMBQni - PmKR9ePjUV+6GkcR3LKgvEdgCzAB0x+fPo6ubrXBaPixc34x7t2ZjiVWJ4/gFFUwBWNTfXt7+x8A - AP//AwCsDHxCKRcAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:57 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-cash_flow_statement-2021-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGU7fWYAA7SYW3OiSBSA/wrF026tZgABxap9iLltNhpNNpNx9lJWCy3TE2wI3SRiKv99T6Ni - OwFxyExeon0O7fnOtZsXlXFEPRR7ZIm9yYxQRF2CAqZ2/3lRPcTRhCNf7b6oxFO7KnyeXPufw4ul - 2lApmmNYOwkpCwMCuthTrjFXLqkbzrHyQfmlHzL2K2hmW6gUc5KJYCVCMaZcXnRDCp8SQn0QM/yY - YOrC9npDnSGXhzHo/gaSKQpQJlDdGHuEw1JCidgpYZ762lCfUJCA2DHtjrb6O9JeGyUsj8uzQU9i - KTBfOckNU4YRjhEnAPwWasd+Gc9F7MssDudbhXC1DfUBjDwRTjDbYW79VGZvPMRX6Zb5FEcxhpgL - LuVsEWHKcI7nSUKcy96HZ5bieXhaTqfrRsespJsuH1EkRzSkzRMwUTn2viaMz8FuptyFyq0ImEsC - LKXsNqgggmfQ9hEelmXv9/Pb9fgNp2NV4kf+fc/wpeL8gqiPmULoJnkhjY8Zw+AFqHulT9CUBJmN - DQVochcAa4wRwx5e/Sc0x3JRRDgK3u2Hdj0/NE1H1ysdcT22b5C/W9lZHpyDjQU1Ldwim5lX96Fc - Rb6o8kCnZiVoptbqVLpAG/dvvbTMBYdyH0Cb5RjJSma3d2s/le9+/GlgS3yjJAZTGFbCmTKKhd08 - bSgj+Emu/JtommErZ48JiURB56TR+qFwFgnFaP0c1AaWdPcnOqFPmO0Js14+xPZnOuT5ATV/7Y/u - 0bLYD5eZaVkLK0AmO9J3QpZPrQpIzbGs6mifLqH3SgX9F4LeDWH6EMbKAPEkJjwtI2ag+4NpazZx - XbPNTqsSli7/7NlSSIf8C47XaLslu9u1Q6FXYPtK553Idft164AcFmP724NYYbsu8sH+dl3MVeSL - Sg/U7NdN3bTMah+M0mjYL/XBoeAH4Jb1a6Nmvz6Qb+EvBp3xlu8WRygV5SjK9hRPt2kcbyThzFut - 70/d9bWlNHBG3Qbcbrerj5zI/xq0lztcUgc+CedzcbCGacJTmTDvwm6mgTcK70St24Y7ltOuPlY9 - pMGDKc8aKYJgjoepJw2aPIiS6J14NS8PkKKm3a7Ee05bN/dSil4ylojt32QoWQt+VIJaNe8EuqlX - F56Vek5fGp2raXK+sWn/NCkw/ZBpUklct5falmVXEvfSq3BRevSVxkmRE/aPk2KwImdUusCp6QKn - 1bKqzxA3y07PK70BHQp+AG7ZOGnV7bqH8d0u58Fw/A1fZou47Wak0qkf9t45Er41fMNEkyDYwZBb - zu/fde6xq9/GGH5v+ixf2IXdl5TjGKa4MkKguDFZ2EnWkmglKLXZKrN5pVncTOxOdYc8882BM35j - b/bK7A4tMCuyWUi5EFaZ3a5jtiUfMP+DHRLqITF4UJCbDmuTp0V4bSKRohxxLBQmbujhtZWTWRA+ - T3IRqM0Ic1EwSTGKxdkoO0SsluCKSEKx7flnQZpGOBvp2cPe6gdiPhFvRGEdntSamtM02iCBISit - 69m6lf1WADUmiVpw+Wtqxp1hdLVO12gfAd7foEjYJAAlBn7gcYLBJ1H25lV61GxqdlM37nSza+pw - aD3SHF08ClGIEE1zn8B38ZrkYjkUEMR9wMLtx8ej/ja8x1EE1yyI7xGsBZjA0h+fPo6ubrXBaPix - c34x7t21HFPsTh5AKKLQMjTdaamvr6//AwAA//8DACRf6+xeFgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:57 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-cash_flow_statement-2022-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGU7fWYAA7SYbXOiSBDHvwrFq7s6zQIiilX3IubpctFoctmsew9ljTCys8GBMEMSTOW7Xw8q - jhsQFnfzJjrdM/5/PT3dA68q44i6KHLJErvTOaGIOgT5TO3986q6iKMpR57ae1WJq/ZU+Dy99j4H - F0u1oVK0wDB2ElAW+AR8satcY65cUidYYOWD8ssgYOxX8EyXUCnmJDXBSIgiTLk86AQUPsWEemBm - +DHG1IHl9YY6Rw4PIvD9DSwz5KPUoDoRdgmHoZgSsVLMXPWtoT4hPwazbXe1lpb+HWlvjQKWx+XZ - sC+x5MhXTjJhyijEEeIEgN9D7eiX8RzEvsyjYLF1CFbLUA/AyBPhBLMd5tZPZXYnI3yVbJlPcRhh - 2HPBpZy9hJgynOG5khFntsPwzEI8F8+K6XRd18xSutnyEYXyjga0eQISlWP3a8z4AnQz5S5QbsWG - OcTHUspuNxVMMAdtp/CgKHu/n9+qya9pZjl/6N33DU86nV8Q9TBTCN1kL+TxMWMYwgAHXxkQNCN+ - KrKhAE4WA4CNMGLYxav/hGZcDgoJR/7BgejUDIShaaVxuJ5YN8jbPdlpHpyDxJwzLaIiq8xOd1Ws - vFCUBaBbNwCG3tZLQ6BNBrduUhSCqtwVaNMUI+mR2a3d2k/lu598GloS3ziOQArDSjBXxpHQzZOG - Moaf5Mq/saYZlnL2GJNQHOiMNFxPCuahcAzX8+BoYMl3f54T+oTZnm3Wi5vY3jg0da2jdctT3Rvf - o2V+HC5TaWkJy0EmO9YDIYu71n7IjmUb5V3rdAmlVzrPfyEo3bBLH4JIGSIeR4QnRcAMfH8wbM0a - bnVaVjkrXf7Zt6QNHfEvOFqT7R7Y3ZIdCL8c6SufA4lrFuumoXWtSl3723tYbrXOC8L+ap0PlheM - 0hDULNdNw2i1yzv3OAlHg8IYVAWvgFtUro2a5boi34v3MuxOtny3OESJOI7i2J7i2TaPo40lmLur - 8f25u35qKdw4o279bXfM8vKLvK9+Z7nDJRXgk2CxEPdqaCY8kQmzIuykHnjjcCBq3SrctU3NKGV9 - SPwHU2410g6CHBdTV+oz2SZKpgPxaj47NHWza5bfKJ6T1s29lKKXjMVi+XcZStaGH5Wg7XpYbdNq - l0K1E9ceSJ1z1U3ON5L2d5Mc5VW6SSlw3VJqGRXuCv3kKngpvPhK3SQvCPu7ST5YXjBKQ2DXTWW4 - FZp2aRBult2+W/gAVJW8Am9RO2nVvvVWA7xdLvzR5BvAVIx42E1RpVs/LL5zJ3yvfANFY9/f4ZBr - zu/fdXu32+Ul1fD6s2f5gV0Iv6QcR9DHlTECx41mIZSsLeHKUCi6XSR65Zmr2OhWKCdnnjm0J+/0 - pu/M7tALZnmahZULY5nsTg3Zut3ubIvCf7BCTF0kWg/yM+kwNrUurm/GoUhSjjgWDlMncPFa5XTu - B8/TzARuc8Ic5E8TjCJxOzKMbAieEUkglj3/LEiTEKdNPZ3srn4g4lPxShTGYabe1OymYYEF2qA0 - bqTjZvpbPpwyydSCc9DUjDvD6GndntE5Ary/wZGwqQ9ODOLAoxhDTML01as01WxqVlM37nSzZ+o9 - s32ktdOpsAshokkWE/gu3pNcLEcCgjgPWIT9+Hg82G7vcRjCgxbs7xGM+ZjA0B+fPo6vbrXhePSx - e34x6d+1bEHgkAcwil1oGZput9S3t7f/AQAA//8DAFGvr5tfFgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:57 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-cash_flow_statement-2023-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGU7fWYAA7SYW3OiSBSA/wrF026tZrgIilX7EHPbbDSabCbj7KWsFlqmJ9gQukmCqfz3PY2K - 7QTEwZm8RPsc2vOdazevKuOIeij2yAJ7kxmhiLoEBUzt/vOqeoijCUe+2n1Viad2Vfg8ufY/hxcL - taFSNMewdhJSFgYEdLGnXGOuXFI3nGPlg/JLP2TsV9DMtlAp5iQTwUqEYky5vOiGFD4lhPogZvgx - wdSF7fWGOkMuD2PQ/Q0kUxSgTKC6MfYIh6WEErFTwjz1raE+oSABsWM7jqVlf0faW6OE5XFxNuhJ - LAXmKye5YcowwjHiBIDfQ23ZL+O5iH2ZxeF8oxAut6E+gJEnwglmW8zmT2X2xkN8lW6YT3EUY4i5 - 4FLOXiJMGc7xPEmIc9lheK1SPA9Py+l03dKdSrrp4hFFckRD2jwBE5Vj72vC+BzsZspdqNyKgLkk - wFLKboIKIngGbR7hYVn2fj+/XY+/Y2t2JX7k3/cMXyrOL4j6mCmErpMX0viYMQxegLpX+gRNSZDZ - 2FCAJncBsMYYMezh5X9CcywXRYSj4GA/tOv5oWlb7XalI67H9g3ytys7y4NzsLGgpoVbZDPz6t6X - q8gXVR7o1K0EzWqZlS7Qxv1bLy1zwb7ce9BmOUayktnu3dpP5bsffxrYEt8oicEUhpVwpoxiYTdP - G8oIfpIr/yaaZtjK2WNCIlHQOWm0eiicRUIxWj0HtYEl3d2JTugTZjvCrJcPsd2ZrmuOVd3yrv3R - PVoU++EyMy1rYQXIZEt6IGT51NoNaTiWXh3s0wW0Xqme/0LQuiFKH8JYGSCexISnZcAMdH8wbM0e - 3rIsvVXJShd/9mwpoEP+Bccrsu2C3e7ZodArMH2pcyBx3W6tm2Z1txZT+9tzWGG3LnLC7m5dDFbk - jEoX1GzXwF99Khul0bBf6oF9sfeALWvWRs1mvRfdi/8y6Iw3dLc4QqkoRVGyp3i6yeF4LQln3nJ9 - d96ubiylQTNq916rrWuVYMj/GrQXW2BS9z0J53NxqIZJwlMZMe/AbqaB1woHstZtwe22ZVWzPqTB - Q0ueM1IIwRwPU08aMnkUJdGBeDUvDhBKzajO0efUvLmXcvSSsURs/y5FyUrwozLUqodlGUanEspK - Pacvjc3lKDlfm7R7lBRYvs8oqQSu2UebcCjUK4l76VX4UnrqlUZJkRN2j5JisCJnVLrAqX0i7LQ6 - 1WG/WXR6XuntZ1/yPXjLpolZ/8i7F+DtYh4Mx98AZsaIq26GKh35YfOtA+F7y9dQNAmCLQ655/z+ - HcXZtqsbquH3ps/yZV2YfUk5jmGIKyMEimuLhZlkJYmWglKTrTKTl5rFU7yjVZ/Bz/zWwBm/szd7 - XXaHXjArsllIuRBWmd2uYbbesdubC9J/sENCPSQGDwpy02Ftcj996gVUpChHHAuFiRt6eGXlZBaE - z5NcBGozwlwUTFKMYnE0yibrcgmuhyQU255/FqRphJcjPYw59pY/EPOJeBsK6/Ck0dScpmGBBIag - tG6KdVPLfiuAGtsS6XpTM+4Mo6t1ukb7CPD+BkXCJgEoMfADjxMMPomyt67So62mZjd1405vdVt6 - t6Ud2Wb2KEQhQjTNfQLfxSuSi8VQQBD3AQu3Hx+P+pvwHkcR3LEgvkewFmACS398+ji6utUGo+HH - zvnFuHdnOi2xO3kAoYiCaWi6Y6pvb2//AwAA//8DAK8OJlJaFgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:57 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_company_filings_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_company_filings_fetcher_urllib3_v2.yaml deleted file mode 100644 index 795d53db94f..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_company_filings_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,84 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/filings?api_key=MOCK_API_KEY&end_date=2023-06-06&page_size=100&start_date=2023-01-01 - response: - body: - string: !!binary | - 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 - sf+04OXH/wEAAP//AwAHdYEtlnIAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:05 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_company_news_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_company_news_fetcher_urllib3_v2.yaml deleted file mode 100644 index d5ad2f65e2e..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_company_news_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,183 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/news?api_key=MOCK_API_KEY&end_date=2024-01-03&page_size=50&specific_source=yahoo&start_date=2024-01-02 - response: - body: - string: !!binary | - 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 - 5X/7PwAAAP//AwB3UIfgooQAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:48 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_currency_pairs_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_currency_pairs_fetcher_urllib3_v2.yaml deleted file mode 100644 index 0638adc6696..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_currency_pairs_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,39 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/forex/pairs?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAFs7fWYAA5SUwU7CQBCG32XPPAG3KmAjsZJiE60xBmsPXEQLHAzh3f3HvTDDP9nuse33bXf+ - nZ1T+N5sh32Yvp5Ct/vswzQUzey2mIVJ+Njs+/fuOAz9V/cbP+Dtz3F3UK8FPk+UXi4ydMBav1+9 - jNcF1nrVZmxeYK036wxd4AsdUfDaY6Cp2kHx2h3d1I7VHP1/Tyl93tSxSqvjA9MF1jpvG0c3bSM6 - jc7TdXSg7m5W43WBtc6jc/Tr6KrH5XhdYKPTpvX01ka3nmf8XWCtP9UZtQusdX5lHN1cGRwE77p4 - nKmuA8W7ztFN14lOu87TddeB4m3j6KZtQPFzd3Rz7qB48o5uksdqPLq4p1R0otPoPF1HB4pH5+gm - OlC8dkc3taOH+d/jTUj9Havx6OKeUtGJTqPzdB2d6FWZoQPWernM2LzAWufROfp1dA/P1XhdYK3z - SevoZtKC4qPS0c2oBMVHpaObUQmqLerxusAXOh558nFRnvzb+Q8AAP//AwC8qfa84wkAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:47 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_historical_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_historical_fetcher_urllib3_v2.yaml deleted file mode 100644 index 34e6d0eecff..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_historical_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,46 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/securities/AAPL/prices?api_key=MOCK_API_KEY&end_date=2023-01-10&end_time=23%3A59%3A59&frequency=daily&source=realtime&start_date=2023-01-01&start_time=00%3A00%3A00&timezone=America%2FNew_York - response: - body: - string: !!binary | - H4sIAFs7fWYAA6yWXU/bMBSG/8rk69TyR2I7vQNtQpM29oGYQNMURanbGkKSOSlQEP99x03axmmH - RMTlOT5+bT9+c5xnVDdldptU1mS6RtPfz2iWNhpNESOMTwidUIICZIrGppW2ppyh6TzNax2gudV/ - V7rI1lA8S02+hrqy0gWaUk4wEwFamsXSRXQT5eUDBExhygKU5WWt20rJA3Rf5qs7iAVXsaBRhEmA - 0tlN0umxGLM2sZUkmMZtppOVmMg2sZWGSUK0qWPy8zRrSgt1Lqir3DSJTRtTdpmZuTczXcBxiQuz - ZVostAsiFSAgkemiSfZZQsIINM28WSfNQ5k8aH273ayUmIcHg92+OabiJTigTuJR1EO5p85xSHfU - Y6xijzqN9tQlkTFRlB9SD33qDHPmUVdY8QPqJPap9+VHU+f/oU7flbp4O3UmMKF76uD8eEc99Kg7 - Q7I9dSVlFEp64PUQx8rD7tzPPewcq6HZFY4GZu/rj8MebjSPYOdCvSv2aAR2iSnfYYdIyh52KXrY - gUAfO4kFk0QNsYudb7eaYtOaPOwyHGAPtzLH5MdRn1DMj7h9AkWUiHflHo6yu/P0lpHa9NhuGQCt - etwF5qLHPaaUC37QZCKsIp+7xMLDDozFAHu0QeRx78mP4w6v1PHWTgl/hbqQb6XOxz2oqt9k+j2G - St/scg+dUkaphC5w5EFlwyajhm6nQ+xwE5GP3VtgpN+hS7Ljfufy0NLdfhXBr9v9D2xBZytrGuD5 - jAws6xJJurixixtAm5V3VVqsk80IBMn5lTh7+gYj7S+Rfmy30hbUj4ukfPpqY3crRerOjk6qKtcf - PhfZRm3mUp9+XLhgZW13kZcXHyHRmOxWWzfl5PuXbu2yNo1OvJHppZs9NwsDidPTM0LIaXwdXTFv - ymD86ue1+47rZWo1XFVa114FvYjO1S8FFfCPd5fadZKbujHFAk0bu9IvcBr92CRV6qAXqzx/+QcA - AP//AwBIRwI2FAoAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:47 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_info_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_info_fetcher_urllib3_v2.yaml deleted file mode 100644 index f8ebdcbe816..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_info_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,57 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGs7fWYAA8RW224bNxD9FUJPLSIZK9mxI+tJUZTESGwJrpykQIEFTVJawhS55sWyUvTfe2ZX - q0uiokHRooZtLDnk8MyZmUP+3tKyddkSbpnffDl/93XSareiFg/KY3Y4nH7E2PKlolFZGsWurDjB - nFEaU+8/300/3GbX08ndq7fvvryenfbPKuOCm/zYthCdeMjVsyi4XZD1hgfJH8miRevy9OVFF5+F - 8zGXKgivy6idPfDCYNALG9psyW2acxGTVxhxKzHjH1QMLOAjloWzZCiVD85ywxBkmSJGbRb5vcHC - Nlsp7ul744ALoUJwXqtwwq4i4yY4FpQxgT1xr10KzCvDo5KY9U9a0MaQRMF4YDXGoRdcKrhjCxAA - 4/02jmbPYLP0OiHq9mYw4l4231O+rvHsTCdsVqgqBG7XlSMVMLQhLauIELIxNQladoL+Coj38A8K - ggqDyhLhQckkOIFpM2VBRul1UPVhC/ekvF1iuiGyyrSzi/89GWzlvJErLdWPpgXrLONS6jrWuEee - m89xLtNTwkSJMmAJs/tIB+yai33b98AH8MDl/pplMlF3yuRLF1QTFpKt/dTJAI/PFBgjmjsIla00 - UCNEViguq3PrPO3xULil+p4NwoC8abtonDeVM/vUfH3mURRt9lpx5KD0Dnknjt/DITbUPjW+WHSo - 3xP2NnmQ5NtMR1r+BK43JY3yozouS7Tllt8BE8alHd8MrU3Ltmby78AasrLLUokkzZ1fAoi2wiRJ - IVBucBD7pfIQC04JNm7FRIJTKm9gZFIHQcxVjqVbWeM4WAFAXRd0qC16oWOVJlS3jbvuvHfugeq0 - 7jkKz7WrFt1UW+mk4AE1z4abqgGI9dHKaaL59yRgVWg42LhPgf5zhO+rkjY6IBRiSj2DUK2sUKid - iA22I9WS0HsuNVoi1kw03m/UKrwgHAcQLGY3HbrgX6l2vwE1+/TiG0hQbAOkTyhzD4LtjuDBgXwB - tOvcezgHbuEViGQClsGemtXihulQVMVf8nWlORsQbeJxpUjMAkIXykK/UJT4w4HGKGgMjkeJgou4 - /jtdpHP/G20kIUJRRq/vE9V4LLSXnRISsj4sSxR8hb9pQqz0Li2Kw8I/DGRP4Y5upUmvItd1XM5W - GlT14CZoCXERYJWDZIIgVBPoDqbAAclAiayKUNgHyhXqi3hbFQ4bsZkG9UlbPnEGJcJTr+yughWn - FAkH9avrVlvW7V9c1EpTi9xjwrnK18ZRogxqiz4ccaOB0WpOV45QDrfMTC9dLNbszQkboXdpviYn - T97AThyrE8zB0mQzh+IDXYB5cjNmw+n045hNh7cf2Ofhrzjmbjq+nV3dTPA5bLP+y6xL75UlgkN7 - /bPN26MrAc8tQf/pLHv1M+v3zzvdrJthUfHYOO/C3AVhc211VOyjc+WBvde6tMmY/alc6LjGti1f - BxtyXDYQvFw4SQ+qBhYqFbvy+ilGkgvb1c1ocjud3A5n4zdEp37AZIaf017W7Z/SZU9qHfN5zYfE - CCt6We+sk73sZL36YFIZmt8lrZ4XLtnoCekdxSZR15X442YcohnRD1iHCjnugAw/5EEtS+PWSiFP - 3fMzoN8GS34TpW84ml19GtOrEi3g6Cl7vX2eILDqNInLxa9zNKlauOrM0eZmZ++hWCtcevvrFui7 - cn/RbynLeudsMp9Do9j4MemS5IHez4SwjpC2V89e9ACckvLkQAEhbV1Gn1S7NdeeCE+w03Yka8t6 - dtHJ+p1ev8rLXy2i1Jx2TqnIalf1ExvSJVSzqtt/lXW6Pfw2ro4sql2dd3rnFAKaNVeWHiGyQUql - JEByQ+lMicI64xbr1tZ4jNYxSbZ3VotwZGHD6xtw4oOea2R9f8cffwIAAP//AwDKz3HRogwAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:03 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_quote_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_quote_fetcher_urllib3_v2.yaml deleted file mode 100644 index 8212d621c5a..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_quote_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,40 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/securities/AAPL/prices/realtime?api_key=MOCK_API_KEY&source=iex - response: - body: - string: !!binary | - H4sIAF07fWYAA1xRTU/CQBD9K5s512YpBaQ3uRgTD8ZoRI1p1u5QRra7tbtFkPDfnQaQj81e5r15 - 8+ZjAxV6r0r0kL1DpZoFhrxAG7CJhCEfyJb5Em2LkfDKoM8LZzUFctZHQlktvlsX8AQVqkHhrFkL - tVRk1KdB8UNhLlzbCI1GrVELT7WYIeoYPiIwyoe8bqhAyJJeP+4N9ligiiFIZJJeyeFVMnzqjbMB - /+t4NJRvsE/z9MtpI1Z9kj4UkrHcxTuWA+UXZ2QX/5OuRnvsQcajfgSFcR4vG5tTOT9iaXzdNet+ - TrX9NAJcFXNlS8yXzrTVzmO/3QNiW2MiaGutAurc2fNJE5nJNEvGcZL2u0k9r68zAMJVN/jpaQ61 - Lg/E2YLfkzg+ll4e7KA+Oz7zunO7YwH5XDNXO2cgmynjka2waBsKa8g2QJoTGchV+dWUX6wIVCyw - YfTm5uEeTrZxRmTPL8zNqCQGJpNbKeVk/DqYJowWrqqdJ270gp8+vqaw3f4BAAD//wMACXw+obgC - AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:49 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_search_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_search_fetcher_urllib3_v2.yaml deleted file mode 100644 index 0a7cbe84e9e..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_search_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,53 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/search?active=True&api_key=MOCK_API_KEY&page_size=100&query=gold - response: - body: - string: !!binary | - H4sIAHA7fWYAA4xWa3OiSBT9KxafZ7NNd9M0842XhIig4AOztTWFSjlsFAyah5ma/77tmBnoNh3N - NyCevn3uueeeH8qi2myzssh3ytd/fijFUvl6fPVt/vbYm6+UL8q+WDzkNXvrRYHDnstsk7Mny4xj - 3+51jm87dhQP2Kd1XrAvIMI9a2jf3acUjnuebU10xD4uiofjR/ana4QaWPn5pXXcmztxt4f2cb45 - Tpvjir8o6HjVetmxq3p78/uw8mm9bkGrVEMGgQL0o6XNOehw4gXdBjucNMgyYAJ0CnQeeJXTaMoB - jxNz3OCOb5Kbhh9ZzQBAHRhIgJ79R8K0BX360TtwD14uWKMfMNHPH+kbx4TXammYv5xw/XJx0/m7 - 6/9pqYYNBIDmAS+0bwfglgQG4VpKjxQR/rR0+rqevcnuMArjc+2Il8BIUw1DoMbMektOmKO4JRT2 - 8I77CTmqjggWKD+o5F5fycodhN4VnENdVwXOD2un4tTHwSZZ+Q77GQsAU1U9g72Xwwbj0DmxEIwc - GSybQzaJArkOyZ+lPUuqTXbFEOqsbQAI9c6d2mwLWpmYY7s1hJPi+SpsiAAW5vCAnrMhJ+sk9u4b - 6GSf1VdAY2YfSBO9o3YeuRGPZ27SQMfFLr8GGmJKRMfb1GUp7WBqBv5l71CxbmAKxJqdTJN6R5zt - 8/Wp5GC/lOIahgaEAUn1u2kuHZDkNordU8V+aMtwIUWqLmruBRMkrdfK6qfLk4cw1pAwefUK9GNO - crHX3mBxNDODSxUza9M0URWpF9ApJ7g7htwS8122/TPYn+mCUALESVm99mcPUjr6rNTosnECCCgU - tVzVOsez4sVmvyn6V7nddVVnF3asTgwsMpJt1oDD7o7jWYN9fDpVzS7gJp/ZkqZizRA37WC4dnn3 - aA/4xE9G5gdJ5LS24NTujoLexPKpgymfRChCUJjLNCKxfA/0zdTsX8E/Zo2lwiVw4BBucVkjrxWo - 4OV1CA0DCdSkZICIfL8UqzJbN1tdbqsQqli01WDoyInIXnZVedFICIQEGmfBoCbc+ARR2N4FQVUu - qvpy1ViHRDXEjDPtu9Kq7WxeX8MHAQbVkYhczh/4HNn1bD4+dauncnlNTsWAqKIPTuYlrw/T8xt4 - MzD7UXLmV+8iHzlRqqOZN0tdQzMUPuxQKrK0AsFA3luvesl3+z+9ld5CgxQiIm6feDDkWHLilumy - BzGXKBqTNQD3YIC8OA4h6nsIK7ybsRx4lmWnS4Nja+w5fktE47JYvbdZ5u0GZilQ3J40tCq+C2Y7 - 1B9J2TBzT7LF911n8P2wKxa/FeWOutIBAywACFQdtvEc84bcbTX8F09d3w2c5AO6UC/1rbvhzLYs - R4dCw6EuutpbBaelPBSYjj9utCVtuKoiSETC7gbEkkrJ3GXl/pqIpLFgJ0KvhtvHntTbzNDrRfEV - IUmHAGARGs5yV56fnzZFeU0cJQaCYu5Y5cu1wU2AeRvGrUEe3brhB+vqLNMAjAGb23/ZL/PX/bdt - tspP//XzfwAAAP//AwDM4r++tg8AAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:08 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_holdings_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_holdings_fetcher_urllib3_v2.yaml deleted file mode 100644 index 028f740f433..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_holdings_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,67 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs/DJIA:US/holdings?api_key=MOCK_API_KEY&page_size=10000 - response: - body: - string: !!binary | - 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 - IeD3uWc4AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:13 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_info_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_info_fetcher_urllib3_v2.yaml deleted file mode 100644 index af555fff8e7..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_info_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,184 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs/GOVT:US?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - AP//AwC4brl6ixIAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:12 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs/DJIA:US?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:12 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs/SPY:US?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:12 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_price_performance_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_price_performance_fetcher_urllib3_v2.yaml deleted file mode 100644 index 8ffb1b86ada..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_price_performance_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,82 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs/SPY:US/stats?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHY7fWYAA5RV227aQBD9FeRngmZnd/bCW9U2z2lIpFRtZbmwIas6JrUNKon67z0mDSE3HAQy - 7HrPmTlz27vsOjZNMY9NNv72Y5jNijZm44yJzRHZI5ZsmFWxzYumwXNVlEu8FmNGzmkvfpj9jG2R - r5q8uVlnYzWiYdbWRSpTNc8XVcyvF1V7ldexXdYVzpQJVNUsn6VVmsVqlo1pRDqwCgp0QVlnWfop - FlW5voeKd45FE2syWuxz7DoW9X7r7IRN8MEY8cFpq3sZHoyzOCsuGO+JvGL7GnC1KIsWe+0ahqtl - UabbuDGrFHvlReM3aGNt2EG3V3X8j38E7VehyJCHfKXIgjC4w+i28fQO3oBClEVWjH2d5m1VTqNy - 2GgSi+oQ3sFfptWhokxgZ1QXY4f8Bn8Q24MmpfFhH/DtvDLuVZY3JTEFIW08MZ6MmOyGJFYHKmLn - AgUrxlun9BNFvWRbQeR013yIMFntkaNUTeNNmxbVAfWiJaDiRdA7cMa/h+SxSrQo8aSMqICAAjwt - SjDD+Y0C2W8c6eDOfPCOBPUvPfhtw3mHkkLHYErQptefwkyPZq+1EmFG5LTj0APfhtsqi+qzEpB9 - FPULtbpnwHjH3qtgkXUyjnQPfqsWR8UoNJNywb5A8T6rR51ahcnGBoVPaGblegjuzXZATDRlDQkE - E3LEz4GqR69VSA8kS5ctRy8Mqzf0GkZTBCdee4c82ee4dpF3t1NPkkWL1mygwsL7d7Jsc20sW0Q8 - sBBmWdcWsb3MxndZAnv3P7/9TfrLRXcrFtfdTTk5+XQ6mHxfErE9GQjR4PPZ8eCsXjYtDrVp+ivW - m2NfsbxM85Tv7o3PJ9iu0/R+OTrBKjWpwvJ84jzcOUarEnabOFuU2bhaliWc+jO9Kqo57sYN8sPp - x4vs799/AAAA//8DAKcBTmvMBwAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:14 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs/SPY:US/analytics?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHY7fWYAA3RQyW7DIBT8leidHeuBMcbcqrY5p1mkVG2FUExiFC+twVka5d9L3UWVqogLM29m - 4M0ZauOc3hoH8uklgkJ7AxIoUjZGPqYpRLCxG39S/tCqgzE7VdptCTJNMSb037BqDyAZijgnEezb - qq+N8p0uTAEyETRLEsZjjEDvTRdeVYW21Ul9C9vGqLptfIhnAolISMhJ2XCuWHzZmV9TmiNDTpM4 - 5yK75nD2+KPnGUkpCXrGMGdMiAhq3e2MV2v9GuISJlgueEY5xjQMXak741Tbe+d1U9hmCzIXhAtK - yLCV8RuQZ7Bh2c+7en/D5GEVKmx0/VnrfHo3G82fe0TKp6MUcXS/mIwWXe98EHm73plukD0OtW+t - +svJ5TzQnV1/wXgakHW2CXA5zwTjdEIwwcA6U7QVyKavqvCp47rUTaihHpw3s9sVXC4fAAAA//8D - AFM/0IH5AQAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:14 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_search_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_search_fetcher_urllib3_v2.yaml deleted file mode 100644 index cf99d2efc71..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_etf_search_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,603 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/etfs?api_key=MOCK_API_KEY&exchange=BATS&page_size=10000 - response: - body: - string: !!binary | - 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 - GJ0CAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:12 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_financial_ratios_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_financial_ratios_fetcher_urllib3_v2.yaml deleted file mode 100644 index ba28427a941..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_financial_ratios_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,241 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/fundamentals?api_key=MOCK_API_KEY&statement_code=calculations&type=FY - response: - body: - string: !!binary | - H4sIAHE7fWYAA6zXXW+iQBQG4L+ymWudzJmBYeCuTa370arbtNF2szGI1NAioOL60fS/72CJaQEv - PBnvmIGBJ8d5ObyR53Uy9edhkvvxinh/3kg0JV4xOr50OpP+FWmRVe7nYXHKOEinoZ4N/DhYx34e - pclKzz9HKz0y3oX+kniccXEcysJllBbrXT/q8/Jdpq9O1nF8WHOZj6d6YT2rr+Ft5ra5rc8Kk+mn - cVGMC3a4Sxwls3LqY5FoNdZPEa5y4uXLddgi66yY/ny91WayDfweLM8CDxgVUj2R99YnZxr3l5sY - 4eQIJxycsub88FuGnNymjm1XnIu7rDe5RDgB4WQHj1NzwrHORpyKOkJUnD8n/GYiEU52vhPcg8et - OdmxzobqqSSrOHcT58J5Ot8JLsKpjvvwi7P0K1NOSYVVdc629pb1EE6FcDpt0KWDmlMd62zEKSgD - WXHuFzfZELE/wUE4ZXPear/JvNX1lLyaQ7Pewh9i6ikRTrs5h0q/sbx1qSusinMkX+Rig3DaCKd1 - 3IdfnbbRHAJBbe5W/7f/hHuLyFuwEE7RnLel3zHl5NSu1XMWdjuHnXGuE9EPAT+Rt8J03tadI78/ - 3N4gnIh+COBEDnGjeQuuziGo1vNF9B5vEU5EPwSsue8r/cZySFJLVJ37znbTAYQT0Q8x90TeMqN9 - HwBlvPr+nP1O4S4938kQ/RBTzXlb+o3lraLcrfa3s6tsM5ginIh+iDnNOVT6jeWtopZT6xN4dzlH - vFcYoh8qHqap7/vwm8shRYUqvj//tkiQzjM/2RGvJOvjcW8ku/t+8ahR8BpqDbm4GBRRnOhP9OIo - y+Lw248koHosDiM99H34MPh1x24H/Qd13R1d3gu3SJMgetWTTP9E0aUL8v7+HwAA//8DAKrctbLs - DwAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/fun_olOrwl/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - AAD//wMAU737rnReAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/fun_B7EbOD/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_ebitda_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_ebitda_fetcher_urllib3_v2.yaml deleted file mode 100644 index 93395ccead6..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_ebitda_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,109 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/ebitda_consensus?api_key=MOCK_API_KEY&identifier=MSFT&page_size=10000 - response: - body: - string: !!binary | - H4sIAHw7fWYAA+RbTU8bSRD9K6s5G6mruqo/uEaKtIcVUZLbamXNwgSs4LFjm2xQlP++Ndhjuts2 - HsbjDBgSRU4DNu/Vq6pX1eZnVvw7Wlzlw8tJOS/K+d08O//7Z7YYXX4tZtl59ten95+zQXY5GU/z - 8n5Y5uOiOv3z3ceLTxfvP//x7uLjB/l8MV+MxvmiGN4XuXwbKtTB4XhSLm6yc8BBNi1mo8mVPMWX - bw9Pu3rR4eJ+Wj1xUS6K2XQ2mhfD7/ntXRE+9eXkrlxk52qQ3U2v5OBqWP2bnZd3t7eD7GZ0fVM/ - vp38Vz8cF3lZP54v5FuK78v//hr0h/Iyn98Mv8hPOZQvHM5v8tlrBGpCnPfbcE5nxSL/MRyV8nov - HiFvItQnp1d6E1m5BaV/CyDNWwB5eknZqra+DZDiTU4WmJiucT67HpUnjPClQ2vV9F+hfWvX908D - 6P7Wfxo493f/08B5kgnaqsa+QpytdLtvjgSdQsyqlzpTRv5mNVQ0Flg9fKwQI3tNvDpZAkej2erV - 0Ro/KkOMcna0rnP4MN2MBEAi9hELAEaRURENAN5b3uSB0YOCzojYp4ZjEqEsPoQ0IEKiXEtkTYQy - ztNWQRD9Nh62jznbzXHDZLBsYhlIejhiiJLBorKON7Gj7zkZdmGnpjmgmeIc8EjexKFHYHaYhh7Y - GNK+3xw4DL/yytpU+h68S6Tv2FmT4mfwGl+A9J8an7gJDWxsSAF5jOAzOI2J8h3b/nX/FHDTCLhT - MfC45EmNF4nbGPhDbvQs+K6Bi5Jj4NrptNZBhxE/QOpbENsmiLV12mIIWoPBddtb4tZSzXDJTQhd - Ay0zpHe9b0HvGhU6q6RWQVTotCXmGD8wCAW1Fh4LPVhLBN11ugOE35qBKoQQCQDE9YKLa53gFxJs - yoAFJ8XAHVMC+4e5vXYPdhDBZxAkAlhQzKHf8ZXxjc2/l4+l5gMWnNIE3eVBu1VMVyygc8qHLLgV - uJAFK1FPK6Ew40x3Umi1p+mIBAXCA4QkWGO0NhEJ4n1IpVKwIOWk53zYZf2apgHbqCBKtL2PBaAV - IdkUu9GrWaDXm8jDwJNMbRip36Tq1wqFkrQZivS1PSr4BheUB2FX8sdF9c9pT8rFmQ+k0KeGn7D6 - yt5F/5T92zXzRhzw2uSsfG8ceVbOpBbAdgi8veI7QB5NuxvIZfxLHD84eAFy7wC4D4GzikdcRrAp - cHhofb1r/RlTbYSYtHbr+rV0/JLTlBQ566UFpmrXVqN2R+3xjQXfGj4S6yjmmtClNV6CbjhtcMKI - 99xd8A9QfWv0iqSEU4he3E4afK4EkgYfPUlZ6G6t1Wrca3ahgTuooDP0wezn2XiznnqMNWSDiceK - 35NxP+zxdNTY/170VUknt0YvxqeyL2v05KwR2xeqH7ur9+1G/f1vaNnldAR6sNn2KG5+rfmVyY3O - arcTHfZw2XVkHsTsgk54iM5qHqLDl3KJu2/Y27XxExLokQRDBnQ08Ep7SAdeNo7rm4/HhPDIx13+ - tZ71dq3+Eujo0utOa3V63alIbYx6IO2hw81fa+ht7F/EAcfLP1bJil+5dNMNSzZ6B/4MBxAh1qaK - aCh4GWi1iqOuEcibVPDIXqHprgu0e2/8vrTftfaEM3SB9sF55yLtazQQa5+ZvdlYe1unsbudb8tf - g9ie902xU3zPUdU3X8/+NXavidIdn6jCdij/9tifpX8Iu57UN6vIRj3PyQnE+kdvNrbdCFVWdOcB - D4H//LoHUd0jFwpAjH203GSst2CB/V+Ovf8MsrL4sRhO8+vVO4V+/Q8AAP//AwDBQQXuIzQAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:20 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/ebitda_consensus?api_key=MOCK_API_KEY&identifier=AAPL&page_size=10000 - response: - body: - string: !!binary | - H4sIAHw7fWYAA9ybXW/iRhSG/0rlayLN+Ziv3K2qvVhpVeW+qpCbeBPUYCiQ7Uar/PceB9t4BijU - 2MGQi4iZAMkz58x73jlDfibZn5PVQzq+n+XLLF++LJPb338mq8n9X9kiuU0+fbr7moyS+9l0nuav - 4zydZsXs3d3Xz798+e1X+VG2XE2m6Sobv2apvAIVUmNyOstXT8kt4CiZZ4vJ7EFe/e3v93csf994 - 9Tov3jPLV9livpgss/H39Pkla771/ewlXyW3apS8zB9k4mFcfE9u85fn51HyNHl8qh4/z/6pHk6z - NK8eL1fykuz7evg2Og/geqGn6eJxkl8d3X26fBp/kz9wLE8cL5/SxYVF0DcRX3chzhfZKv0xnuTy - q4YMp7fh6Jq2H1+7vuwA9FfOZ66c76o2YCv1vHo+Ke/XyHShluVYuAFTtarjl+XD2pXyi2c8XM0v - HvFwQb94xGvbjK1U9LIQd0jq6ec+G8MlRb7cKHMDLqkggdGiQ1V8lbCASB6onFpDA3rPXpdzNbwx - GsgW073LUY9LgOCN0sESgCyA99ESKC6f1VwC7zy9z57pfLzb3h0FTkgS/CY3OkukAmwSamYTUQMD - aw89Bf7IrlVbbnZKe+sa3GTIoscmNyNoJoy4iYmMoY9I+M6x0YNhZ5vhtmj0Os0rbLSOvI2xDaOC - TpK83Rn7FGr2TqkgyYnBoAmoGQi9i6i1liTgnrZ265PbsbKut2Ud0NhQ00ih5WpuE24tJUB9SJZ3 - T45gNUZq7rzWGJIXL9Vb5KBkkei8cr7z8EdHCbqWbCXTFDYodI0CQSfnGH0M7sGCcecV9PbkkrDo - g6CTdxyZGKliDDYuZQY8g/JnlfQTQi6uBAia8uYdGQ7kjZQjQBuHXPaFepf686n6TnA+StetVZGu - a6/IQ6DrxonUx7ouHoe5E+7Wut6eG7R2ELo2EE/C5EJ9Y/JszJZb1dbQu+CfT9lPYCepaTrUdvTG - W46qGhhttw4r4li1pk42eittP3RYMXuWQN8gbfY7WE9h2jsXe3Y5rDlSWxKPEnvVV+yPkPhOFoDR - 6dq9leadxesE+14E3VjiaAGwsPnvyngepe+EX9QMfJgARYlfF7+NixfVc7GLF4HUcD697wafq/Rv - 2Hk5xLjYzmsfF3pt5bzbSfRPsHb7Ly3gqO3Pob2rh2Whr8dD6Id3Qyz7vUlcD0viejyA7ng3wBLE - JnA9rOx7NR5Ar7wbYLDNpsRmWALX4wH0XDuKcNCF2QzrA1ovwCcYtpNVSwUpXQ8r1VK9pHS7CB/+ - PMB+ZmU2hUrMN6MLS1U4V51RgskhxLyrJbDGl/LcMCvBXG1XmpMDyILjro/+YxU2ye8Qi7ZMyV+P - 1uT1cABh75DZKl+4z5K5Hq2Z6+EAbkIPedJ9x1KhxUaee1TsgywnB9pGOW7sVg9GnKqyfXXdWt8e - 6eOopUwxB9RMCBBRs1jxmBoATV+3hv05cb4h1SjiJnDi9bAq4uajnHgPXeWQVHmPttliJAWIHJoW - qWFAcaC5uDTu5MjV7tPfh7b3vkjDDfKG37MBaG7vYKbkb04N4YPve7Y2HkfsRJgwIJZ0dqFr85aR - 494qgF63Hc/63wz/I9UDcC6saHAzzIpV3W+ob4blGVs34tradRfq7Y9Rkmc/VuN5+lh+pOTtXwAA - AP//AwBueTOU0DIAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:20 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_eps_estimates_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_eps_estimates_fetcher_urllib3_v2.yaml deleted file mode 100644 index 3f98c5be4d9..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_eps_estimates_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,48 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/eps_estimates?api_key=MOCK_API_KEY&identifier=AAPL&page_size=10000 - response: - body: - string: !!binary | - H4sIAHk7fWYAA+yYW0/bQBCF/0rl52S197XzRh+gVS9AVVSqqrIsxwWLxImIaUtR/juzcWyv8Wwd - nkoDPHnGy06SL+fsce6CbFXm86TMVsHk212QLubLpLgNJndBPg0mto4/nuujP8fBKCjz9Cq7hu7B - wcl7qItkntlquZxlr94WKYHeLMuh9ebL2cm7T/TDyfFZeHh0/vqziCTcTPMruEnhT3DKIhGsR8EU - ZkOTU27GNBoLCut+5Ks0mcW3WQLT7J2mtcyu84V9YYdf7X7JLCumyXVnZdNs1p4Ku3ZxU5TBhI2C - eZYUwcSQKLTX07ytLvOLy/p6tvhVX67KxG44jafZzzwp8wX8Q3Ezm40CGJFmRRmnl0lxAW9jTAmL - qgmxiafJ7SpOLhb16k1bULyvPf3oYX89+reYtBeT7mM6lSgmPYSJ15g4YVK1nLZlBYoTybagGAk9 - oCgRRoZ9VM5H/ELKL6hBUqImFRJptGlRhYTXoCKio0ZRSuKgGGGUyT4opki4/6D07pISjwDFEUmB - VpQjqW1ZkWKt9zFihE9SzOhnKykxFmxHUvwRpBhqfpR1zG9T1ubHRWt+Xu+j1iKfISg1Znx3UAwF - pVBQEgWlaQfUpqxACUJrScHp5ZWUNux5Skp5Tym1c57ASTmnlG7Nz0hmXPcz2jG/Nk9YT/SYH7yJ - F1JDpDx5YpAUa0RliOBuQudRo6mQ1KD0X7xPywiJE5AzsDwB0xQGCuZyDJQhDOMEbfYEOHniBKYo - PE7gnDiqKMVdPTlZwsbBrZyk9mGim9TYwySJlPuvJ0+YwDjhYQLnxHDno13n08ZhFbZpQjMvq8ge - YIikGo3sKyvpzRMYKzxPyKE8Ydo8ITpxQsg29jWPUjYO+kDBNN4HZfb+SUp6jyi5c5jAMQkEE5id - kKJjfsJxP966X+RVlORI7FOgNIRUtX+fVG3BD0lBHz2k7Pr/ipQnTAySasOEJiqUzjkFdVSj0q2m - NJHGi0orjWlKMgRVtX8fFfQNhkpvfhfpo4K+egKoPHkCExWeJ3BUTp5grFWV4GEnUghHVUI3quLe - 6Ed5iKBSOKpqf0xVwqMq4VGVeAqq8kQKDBUeKXBUeKSo/KVxP+oECvt9HrY/vvujlONmD93vkeYn - 19/hk89+l/EyqQeu7wEAAP//AwBFKFSBCxkAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:17 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_pe_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_pe_fetcher_urllib3_v2.yaml deleted file mode 100644 index 34613acb729..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_pe_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,70 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/forward_pe/AAPL?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHs7fWYAA2TOvQqDMBSG4VspZ9agJybUbFI6FKTkDg5B0yL1J8RIkdJ7bxw6ZfmG91m+D4Sh - e1kPCppGt5BBt0zOzDvNZrJH1bq9nm73S6TN9SbYno6NhAVWeSFzlNEei38b35OztFvjS1AcGT8n - gKCwZgVPgEcQrJQJVKDmbRyTLtL+JG/CsPwfIBN1BmN8uwYKYSLrVlCSVfz7AwAA//8DAJhm1Wb4 - AAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:19 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/forward_pe/MSFT?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHs7fWYAA2TOsQqDMBgE4Fcp/6xB/yS2ZhWEDsWi7iFoKtKqIaYUKX33xqFDyXLDfXDcG9zY - 3bUFAZembCGCbpmMmjc5q0nv7bmoq6Yq20NR1VfvT9Mrp3u5p3dMkMVJFmPm7bbYl7K9NFpuWtkU - BD0RhgGgB0Zo0FMQmBN6DIB5YASzALiHhPC/qUFa5cbldwEJzSN4+Lurk85NUpsVRJoSzj9fAAAA - //8DANw+WDX/AAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:19 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_sales_estimates_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_sales_estimates_fetcher_urllib3_v2.yaml deleted file mode 100644 index 28f30fc5a30..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_forward_sales_estimates_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,54 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/sales_estimates?api_key=MOCK_API_KEY&identifier=AAPL&page_size=10000 - response: - body: - string: !!binary | - H4sIAHo7fWYAA9yaXW/iRhSG/0rl62DNmXPmi7vtxW6rfmy26qpbVRWywE2sBYMCaZpG+e89Jhsn - DDMDXpkEyp3PTHgt8vCe8465y8rlqpoVq3KZDf+4y8bz2aKob7PhXVZNsmFzPfr5k3737/vsLFtV - 48/lFVffvDn/ka/rYlY2V4vFtPzm+3qcc21aVlz67reP5z/8In46f//Rvn336dtf0REvjqvPvCj4 - hVKAw+z+LJuwNhelkGYg3AAF7/urWo6L6ei2LFitWWlLi/Kqmjc39vb35v2KaVlPiquNnW2x3fsB - m73z63qVDeEsm5VFnQ1JGL4FsX7loqlOqlD9srq43K5O5zfbxeWqaIQno0n5d1Wsqjm/3XqhqIvp - 7XI1uuL6ksvL5t7GZb0ajS+L+qIcwU105/XiYTW0Npnf1PFVX2OW1JglNWKrngYmNTCpsV69P3td - BnWUQb3N4AcKMqh3MYiPDAKA1GQQPQZBWOek9hgEiYjKbTIIAkgrk2SQZUAYhC9b9qKRcjw4jQmN - 2fqb2gONALlxKgFkXGa9elJARkxxJ5DUmiJJIr4tH0hCq4nvTW+aokOrfCDRWY06bYoktUKpqAuQ - MgehD45kUqU3KClX2nw1k/IImNT7myR2YFIGTNI5rSS06D0i6RqHXCP03CIFswewSSTv09aYFJDa - KiGt7cajki+AY1ykNxpdDoZO2iFxgLAnjbIDjRBq2dxIEWRL01PLZk63xkYAkkjS49EYJzSkeLQK - UX5BvnkF/wXBGdKaw/ftpEp/nVvk/LU/XS7VAOT+XEKQSxXkkkJcojXOkvZtEkjwdKh8Londk8wm - lyCbXv4Ea3CUlAy6tZ1GScz5rw4OZVKlTyjFKZulio6Tau98E4by2Thp2tZtnSZu337r5mFy2yoF - e572rRKdUTtmSY5Fpp0O9nRJEx2/+nTJhEpvQIpcqdjAuptHdVI8RuLNTh5tG29AcJKx1geShDFa - gfLOfEg6rT2TRCecgTSSoNE5JVTbvoMzXABMyIEO75RJlf6cMkeV6t7Bz+SowIxknJBRhjNOGEwZ - MErrLI+UAB6X1joFvlE6Nkkg2qDSajBS2hSUKLV0qLr4JORaxI5O+sQxodKjT2r39cPkMeAYCTkh - HMMhJ4wjhPq2UWBJWg9Hp9EqH0cQkh7LzyI3kraY5FGhUga78Qh4+MydVOnRHpNtO+2O9No4UjTb - hHAMZxvalW3atg1S82zPAcfPNlIFHtXwRsf52s82XDHptq20VVqabkSSPPyhZFKlz4YNsbGgWQ+6 - Z4skvj6SsUmS9k42YSRDk6STQmlwW4eSwINfM/ttNGzFgfmpOT80bI7fIo0jK0iATmeSHAboJY5/ - Eiq94ThgmSj1u3k8AovswGMk2ezPI3dgsBKEP0Fy3T4H7YHIxiEf7fAp2RgeNjHNJBLwqNqRSZDu - BZhMqPTJpLCpBzfBk6Gj8shIqAl5ZDjUhJmUASZ5/tMGnfRDDSKSwk0iLY+LVmwCaYV0O1o2sEVI - 6nj4EzlO7/uHFnGVPnnEVMs+fhwjoSaEYzjUhHGEEI7NE0PcOozk8vb5uAOlhfNatlW7cHRstdjR - Hf8fP/phEilqwLvzNd3/yXSV/6xGi+KC6aivp9P7/wAAAP//AwBj51stnCYAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:18 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_fred_series_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_fred_series_fetcher_urllib3_v2.yaml deleted file mode 100644 index 31ce61a09be..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_fred_series_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,39 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/indices/economic/$GDP/historical_data/level?api_key=MOCK_API_KEY&end_date=2023-09-20&page_size=100000&start_date=2022-09-20 - response: - body: - string: !!binary | - H4sIAGc7fWYAA2SRy27CMBREfyWyuiSR7TxIsqNCYodQ201bVZFJDHXl2OAHIkL5995AQZDufMfH - o7njE/oW1mkjaiarhjmGys8TggNHJaKYxiGehpigCTow6UGk04zgiNC8n4y4ZMThLI4wof848shl - OYmjDJNHjoYEj7gE51GC0zE3zpcWRRJlcdF/TZBQDT+i8oREAzhM1XL7TpZbwG3XrrUE9WkxX8Gs - WDtYLoy2Npjrllsn6mBldONrB/e1Vk4orhwqlZdyELxypruOfjeEqjaG7z1XNeho75lx3MgOnktm - XXVhmnNykoaEhpS+kbhMSUnyCGP8AaReW24OzAmtKuvAAXBSJNNbcfcAVze3aw+WM6sV/CZrfrx1 - 7Tkyev1TZRfMzjpvgplSnsngZSgTFlDCWSCfhZRgbQO9gR6kZMaiHvrhR1ft2JZfFu5/AQAA//8D - AF1gUZ85AgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:59 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_attributes_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_attributes_urllib3_v2.yaml deleted file mode 100644 index 027c3a0ad6d..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_attributes_urllib3_v2.yaml +++ /dev/null @@ -1,138 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/historical_data/AAPL/ebit?api_key=MOCK_API_KEY&end_date=2023-01-01&frequency=yearly&page_size=1000&provider=intrinio&sort_order=desc&start_date=2013-01-01 - response: - body: - string: !!binary | - H4sIAGk7fWYAA3TQ2wrCMAwG4Hfp9ZQkPaTdq4iMokMHZYpuIoy9u7U3LaPrVWg+/qZZxH14T4/X - cPGhu/rJi/a0iFj0ohUERAdwB1KiER8f5niJ6BAkpHOEtSkxJqwLDI6A6xgSNhkbhhhds+iStYXV - LOu5aJN12TK5nYGR/1ZCkavAuro1200YlEx1q7d/Y9Ko61Yly9lqqezOvHK7Bx3fyrnnRoz9d+qe - /hZ74xzC+gMAAP//AwAceBCU4AEAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:01 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/historical_data/MSFT/ebit?api_key=MOCK_API_KEY&end_date=2023-01-01&frequency=yearly&page_size=1000&provider=intrinio&sort_order=desc&start_date=2013-01-01 - response: - body: - string: !!binary | - H4sIAGk7fWYAA2zQ3QrCMAwF4HfJ9SZJ09+9isgoOnRQpmgnwti7O0RQ2uQqJB/n4ixwGR/5eh+P - MfWnmCN0+wW2ZYAOFCrVom0ZoYFnTPN29OzI4md2uDb/lkrriFDJFktrGFnOpVBazdZ72frSstVO - y9aVVoWAJFtbWWM5yNaUlrxBJ1td5Tr/rayyXFs0v34PDUzDK/e3eN5+05zS+gYAAP//AwAidEj3 - 3gEAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:01 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/historical_data/MSFT/marketcap?api_key=MOCK_API_KEY&end_date=2023-01-01&frequency=yearly&page_size=1000&provider=intrinio&sort_order=desc&start_date=2013-01-01 - response: - body: - string: !!binary | - H4sIAGk7fWYAA2TQ22oCQQwG4HeZ61Um54mvIkWGVlRYbGl3pSC+u8EryeQqJB8/Ifdyvvwt37+X - zz4fvvrSy25/L9Ecy65gRdwAbgjKVG59XmMIpu6ClZFct/UxvWvIGrlpdYlChqzrkK1MSg1ixzkb - fNDBBaqQVLSsW9bGyt6sERhlbBkrEBmSOdmQrBkzoxLiKz5jyZhc2Kk5Cw+YB0wIrnE4s2RMw6uV - 4gJgl9YCf0zlevxfDj/9FMvrOs+PJwAAAP//AwCqcps57AEAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:01 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/historical_data/AAPL/marketcap?api_key=MOCK_API_KEY&end_date=2023-01-01&frequency=yearly&page_size=1000&provider=intrinio&sort_order=desc&start_date=2013-01-01 - response: - body: - string: !!binary | - H4sIAGk7fWYAA2TQW0pDQQwG4L3M82lJ/kwu062IlEGLFg5V9FSE0r13fJPMSwjJR0hyK+/n7+3j - 6/zS1+Nr33o5PN3KSE7lUEDAjrETLkv56et1FEFqHBYGIPZ0X/5rnnQ0qFcRVZKsadKAaq3s7FaT - 5pY1w5mkqSi3lnVk7SD3WhFBnLFnHBCwkMFkwpaxOjxEndmmNXTCUs20Sh2XZlznyc0Q3iQ0P48l - 43EbyEZs9Df5eSmX0+92/Oxvo3m5ruv9AQAA//8DAPeSJDvsAQAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:01 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_dividends_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_dividends_fetcher_urllib3_v2.yaml deleted file mode 100644 index a36c9161a50..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_dividends_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,38 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/securities/AAPL/prices/adjustments?api_key=MOCK_API_KEY&end_date=2023-06-06&page_size=100&start_date=2023-01-01 - response: - body: - string: !!binary | - H4sIAG07fWYAA5RRW2vCMBT+KyPPKklr7OVN2ZDB5i7icIwRQhpjtE1Lkg6r+N934gbDvu3xfNdz - khNyvhZ71lgtJOPFrnW+ksY7lH+cUMG9RDmKcBQPMR2SCA3QhgtfW5TjUZalE5ImmOKYZgkZoEJ/ - 6UKaIpDR+G9morVWGtFB1mp5CyGuKbVnlntdo5yM8HnQK4uGBPfLxgmlOE3IhJC4Vxb/q+wTMAky - 7UF0QhoyAsC42lm1A4eoq4abjl0YGNhiPZkfn0LW5bXkQWy5UfJH4A6K1cdHm3UgMLwKV0ybppQ3 - 90Zc0ooA3b0sw9DfzmuxlzZYps8Pv921016yKyZfBfdGKw3AbDbHGM+yd7qOriw9fv36Pg5Lb7mV - TJTcuSsFWdJF+paCAr6/4rZjpXZeG4Vyb1t5hmvkwbOGK9jftGV5/gYAAP//AwCKhFgOLwIAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:05 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_market_cap_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_market_cap_urllib3_v2.yaml deleted file mode 100644 index c01a2c12e9f..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_historical_market_cap_urllib3_v2.yaml +++ /dev/null @@ -1,86 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/historical_data/AAPL/marketcap?api_key=MOCK_API_KEY&end_date=2020-12-31&frequency=weekly&page_size=10000&start_date=2020-01-01 - response: - body: - string: !!binary | - H4sIANRaKmcAA3SW22pUURBE/2Wec6TvF39FJAwaNBCiaCJCyL9bx6e9SQfyEDIrTe3q6u55uXy/ - //3049f9l+vD7dfr0/Xy8dPLBb/cXT5ehIQOlkP8cnP5c314xh9FwsySs7vkA73evKG5FppTxbJK - 3GimeaWJjFqrJXSkyRaaOgNiktqn2nxIrjSRm1d7GM80rTSrsTOTeo8060pbgNMqz8kTPihWWsOz - wpxj0k2HLkoYYFR3pPakmw5ZlHAnXtkVSjIpwc+upFLgeLnbSFNvDmqAlTSrmZZVCRyx5iiveEtT - b6niZlYKEWYfaoNeU8XFlSTOFlNOTprX2hRInxrqz/SeKgcv5kqWA12HbPkG6WUpVO/QW745+cw4 - l84026rbg1S1pGrSXQfl6kmzqSTVmFjKQ1dPitxTA93sqXYesioBionPppoyCJpXJaFRxOLJNGTw - pNd8h3RlQruODuZBa77dIk2smmii45BYaW5DWTxz7GUc3CtNWDvpjGGYPAG95ht9T8TQTKdpAE1r - vqFZHdlK4qk7fsiqRCMIywRTPG3Nk16VKIqefX+nO37wqkQxZIqndrePNK2Tpiqu2EHnf830mirR - iqbEEsrJE9tTheFxuN3niRjpLVUYnhJtE9XJE9tTxVYaWCYQM/lte6qwHCzkvFI1vVK3S8KEweEy - OfMy04uSbtQ280yd7NbtkPB5SXAvE4+c6fWQwD4YiE0lMhoo26qCfYZr2YXuT/GWbVUBwm1N2G09 - PVL2VWVUgp1C1jkNmuyrCimpDqvkMYK8ryosBlYmzI9NreQ9VJrBGHhJlymCvIdKsdTwZUNMZAoV - 76HCV4JAbSpYPtJbqKRwSRwrRf+f4s83l8e7v0+3P6/f8Onj88PD6z8AAAD//wMAyLTn230JAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 05 Nov 2024 17:50:12 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/historical_data/MSFT/marketcap?api_key=MOCK_API_KEY&end_date=2020-12-31&frequency=weekly&page_size=10000&start_date=2020-01-01 - response: - body: - string: !!binary | - H4sIANlaKmcAA3SW3YpTQRCE3yXXe6T/f3wVEQm6qBBUdFeExXe3zt1M7L0JIakMdWq+rs7L5cvX - X0/ff379eL19+HR9ul7evnu54M3j5e1FSOhgOcQvD5ff19szPuRQZiNzE8o39PfhPzXXqiaKzHL1 - olnNi9qDwzIsXGpUk23qTpIIZp6c8CG5qjMo1cy1ZFbTqjbCg2ox96xmXdXFSjDSmjqqKbYEtcOT - LWpS06GrE8vK0CKjtlEtuxNKx+FRr5zNmxPyUk5y6+l26KDeEsSxwS6dUyZQy6pG2l4lpjaoqXeq - HDmndasqj+qNKgtruFERHW7+VK9UWQMV5CJFw1NCfUdVSHEKbnRIkOqQjW8g5caKYHxWb3w7THSG - e8xn8+ZE1HD3CNGGm4eaNr4RSYe4a08J5qF7Js5cEkJjgnmIbQwyi3FbTdMANa9ODOcmkzCsz2ra - Z94FL+cvRjXpHVUphpmfpoHikJVvsFckZWk0OYmDV75N4KLhvWU+m1e+YQPlg1xoah+oaeVbTwAx - N8UVg9oPWZ2gIITPZpNp0k715sTQgJLwQxODfvDmBJmgphShTww6wNrO9j4vVJ1fUa9UwS6YbUdV - TU5sp0oSaKNjqXnKxHaqFC1VjsUD0mf1ShWWE3W5heg087ZTBbgNblIyJie6bxI8nWDIzHJqzVO9 - OiFC24fgfJ3uUvdNgkrudCwT7Slv3TcJ13k82tBkmnnZu4oLMnixnnbxqea7vM8p66iJb9m7CnyA - FXL0yTRpsncVlChlLlWZOOG9qwSrDxV01uyUIN9RhUUMqpLwt2NUb1SJcJo0/p9Ez+r1LlEPIU2Y - ofEp+Y4q7zSuRGueVL1/uHx7/PP04cf1M7799ny7/f0HAAD//wMAPTPfo34JAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 05 Nov 2024 17:50:17 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_income_statement_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_income_statement_fetcher_urllib3_v2.yaml deleted file mode 100644 index 04a8bfaec17..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_income_statement_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,798 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/fundamentals?api_key=MOCK_API_KEY&statement_code=income_statement&type=FY - response: - body: - string: !!binary | - H4sIAGU7fWYAA7SWW0/iUBSF/8qkz9Dsc+3pedOozKiAGLwxmRCEOqlAYQoyXuJ/n31qZbS0MW7i - Y/e5wP6yz1rrybu5S0aDaZQsB5OFZ38+efHIs67a378+bJ7fejVvsRwsI7elP5yNIlyNk+FsGvXX - ddxzEy+Gg0n/IRqknuXAxbo0j9J45u48uMJ9y4e5uyGN5rN0GY1ebk+X/RFehXU8yesQ1rnClSgZ - vakLVxeQ/dYkTn6/W2KsDrzLuQVjeeADQA83xov+BDctlp5dpndRzbubu0Nvb5V10HXGu0xayawE - XwPrec+1NxzaaSs6PCdy4B9xyA6XcWAZB73B4YWP/FIOgvma6wKH2WQ1jRSRAyNzgKzfYIMDW8/J - 13Fggc9NUODQMbf3exMiB6ByYGHWb7jBAdZzssGB1xkguowDNiO3eRdKqwIH3Rib6waNAwvJHMxa - B95xyPmYMg4s42AyDtJy82kOoovnILCM+yEv6kPvqrk37RA5GDKHwDUFbIODWc/JBgfIOIQZB225 - onMQPigocHhMVXSqiRwCMgdd7hfIp8ovcFSQgwDHgXErNF0ntS9N8V1cJS29or4LTeagynUy51Pm - FzgqTidVlwmnD/jIyTqp/EDyAofVvdyftogcFJmDXOvAew6qUifdU0IOossynRRb+AWOUlDk0DFt - fkLMD0ySOYhyv8j5BGUcdKYPusvBSp41s4VfiGJ++HPKVpyYH9iHebKSA6/wC1HpFzgquV8AJiEL - 4VbzALLAYTeQqrND5EDOk4xV6CSv9AsclTw/YCfMqs/7xZs8qYwpcLhoi94pEDmQ8ySD8lyd8ynV - SZH7BeA8GEp+WM+D8bko5kmRHu81JZEDOU9CWOEXUJmrWZYnBXPz4EIA/V0431RF3zSm3R5d0zgA - OU+CKfeLnE+pX7D/OikUJUe9csCjXIsCh6PxSkxnRA7kPAlBuU7mfEr9Al71ATlgnmRbzQMvzsP9 - lfz754jIgZwnQZfn6hc+5Trp9uOTce+CK6vo+sBDX2Q56lfNwxbng+TBszkS/O63LnXjse3aiIfj - CDv1dnZOjvE7GUzdhTvz+ST69iMZ+libRDGWvl+cnRydQvOkfWYOGpe7XRE6rRnGY1zE/wnCBWLh - PT//AwAA//8DAGe6v00MEgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:57 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-income_statement-2021-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGY7fWYAA7SYXXPaRhSG/4pGV80UiCSEPpjpBa4dt7YD2HFqJW2HWaRFqBG7sj6IwcN/z1kJ - oRVIQJXEFx6z52h5n33Pnl35VYxiRBwUOt4aO5OZRxCxPeRHYv/vV9FBMZrEyBX7r6LniH0R/p4M - Le16PRJbIkELDGOjAIco9ogrPOAlJgmGUPqMSPNIuAsEKMQkZjPRGPnFeISfE0xsmE9uiTNkxzSE - pF8hMkU+SgOiHWLHi2EoIR6bIokccdMSl8iHKfpdrWfIupT+dKRNq0a9ZN1dWi+F+kem40D5nrqy - ajekURSEdJaKKZR3f67yv6ynG3dZte6/0ygW6Kx+/W1IoLM6nv1oQaTWEjl4Wg+kyIppyCeBhu54 - uXb2raiDqZR6njEah9H+4RjP66uL1c0+xjXTIoxzMRxDWWWZYOeYR2y6KJuhNywvuacYXe0khmON - bi1aYHzAvg9CWsI1JiDKF/5JJEnRhIGz8Ihw9RJgEhXuRC7Cu6Eapm1CVKIympaYqXdPMpH1zXB9 - UTA94Aij0J7nLJdQSKBvAWoPiEKnGZAsNSaS1ZNE/60efOv9frEVreCqkMSVXJXi8wtPNpvtH7Vr - GGc0ZHf4fLh9CqI/c0FVPDu1ZZogxDF6qUBRmp4usmSYqnkSZuF+/bS+53p0PMfhFkF4K/yytedN - SyC4aAuUZdWglGMcSX1vPk6i9IyTGPdrY+pODzw5C6ZC9bnm9H4i0tT6PF4dbJxxiNuP6CWHKkPs - Cd1RAG02aFMCfyVQh2UOrXGRmYp0eseYFtL4rrYVzzj2m1imEygqetlJDL3ZtpfVnnIaQnEvpDVX - YkMcc6V1B0fkG7gK5MLyfkBJ0dmq9R/ilaHMht6YqrYtsmNUl66CV1pBBQQR9T3IxY5QgXgIU4kQ - U/i9oKR83Wx63zwPpWfpQ1c6btAgjkNvmsRo6mMhpmAYUyl8mAPBnPoODivs4mByUpL4fgmNL73f - fjjas4uH/FXnCXvunDk0WEKVuVi4QJFnZxiRMEri9B0pq68M5uv2CbTEU5Ybpam0dK6mARyUbwdd - /r7zlifL1mBLlc3HbypNl2RFV46Dqeuw1BkyjisUEhAfCbCHMqgdB6ex1guzzouSYvABpk91c7J7 - HU2vP/lXU919OGLDpecn7PN5RjhZdpUV29C+GarU1AxDU03ZPG7G00oe82bkNEfsKOmsM0SVv88Q - uVbxi3tv8sd+zb7IL8//y5200o5YxMcPfFKa+qRKWtfUj/t0u+4NVyHXs1E0B7il52DiRFxbO/TL - hlQnz9yt9hHr1O+wTuoYvc2/MEFCHMReWZC/44CxCfWXC9xjCxfDccMSJjZ18O4WMNmNQ87Mi2zk - T1bwOgSHopTei7Mh+GaPsjnffWKcq4DNAOvKHnay2cN4wk40GIcnpbZkthUdIrAI3LicjvfS72Iv - klyo25YhqjwqSl8y4J7RAYM+Q6IXTXxIimAN4jDBsB5BenJyj6ptSWvLyqOswj7oy3pHMXT2KAAG - iKx2CwKfi39UxZ79BbMlHwzGd4XRgyCAYwvOtA6M+diDoT+ePo5vH6T349FH4921dfHYNVU2u/cF - guxU6SqSbHbFzWbzDQAA//8DADYUKoI6EwAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-income_statement-2020-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGY7fWYAA7SYa3PaRhSG/4pGn5opkJXQlZl+wLXj1nYwdpyapO0wi7QIJWKFdSGAh//esxKS - ViABVRJ/8Jhzjpb32ffsRX4VwwhTGwe2uyH2eOpSTC0Xe6HY+/tVtHGExxF2xN6r6NpiT4S/x4OR - dr25F1sixXMCsfsFCXDkUkd4JEtCYwKp5BnRzzJBnljggNCIjeRH2CviIXmJCbVgPKklTrEV+QEU - /QqZCfZwkhCtgNhuBKGYumyIOLTFbUtcYg+G6Mm6okoqSn46aNuqUY9Gd5ejVaH+iek4UL6nrqza - CfwwXAT+NBFTKO/+XOV/jZ5vnGXVvP/uh5HgT+vn34ICf1rHs58tiJRaIptM6oEkzVRV8yTQwBku - N/a+FXUwlVLPM0bjMNo/HONlc3WxvtnHuGZahGEmhmMoqywT5I651PLnZTP0hu0lIcVUtZMY9uj+ - duQXGB+I54GQlnBNKIjyhH9ihGRN6NtzlwpXqwWhYeFO6GCSh2qYdgVhicpo2GKmKZ1mopubweai - YHokIcGBNctYLqGRQN8c1B4QBXYzIAk1JDJ0VT5J9GX96I3e7zdbsRVcFZK4lqtSfH7jSWaz9dM1 - NM04vSE7g5fD5VMQ/ZkJquLJ1ZZpFgGJ8KoCRW56umiabJxmmTvfPm0euC06mpFgRyC8FX7ZufOm - JVBS7Ao+q6ohKec4kPqt+TiIgbonMR42xsSZHFhyFkyF6nO9UX8i0mT0ebg+WDfDgLSf8CqDKkPs - Cc0pgDYNWj6Fv2JowzKH1rTHdGRKJ0nMEdb4PW2nnWHsb2GpTICo2MlOUujNFr2ZLfljDLJzgTZc - gw1IxDXWHZyPb+AekOnKNgOfFttatfxDujKT2dAZVVek085cOjJZawUVEIS+50ItsYUKxEOYSoTI - h99zn5bvmk0vm+ehqCN94KDjBvWjKHAncYQnHhEiHwxjKoUPMyCY+Z5Nggq7OJiMlMaeV0LjO++3 - H4724pABf895Jq4zYw71l9BlDhEucOhaKUYo3MdR8oKU9lcK8233BF6SCasNk1K/dKgmCbIoXw26 - /GXnLU+WzsGOKh2PvxroXVWWJPM4mLIJShtDynGFAwriQwHWUAqVc3Aaa70w67woKQYfYPhEN3/+ - d7pS/bG/nujO4xEbLl0vZp/PM8JOq6us2KX2zVBQUzNU2ZAl5bgZz2tpyJuR0Ryxo6SzzhBF+i5D - ZKNW8cp5MPlDv2ZdZDfn/+VO0mlHLOLzBz7JTX1CSDKQfNyn2406WAfcno3DGcAtXZtQO+S2tUO/ - LCi1s8p8to9Yp3yHdaijm+r2XxghpjZmLyzYy0EgNn4wvqwuPTZzEZw3rGBs+TbJbwHjPA41Uze0 - sDdew8sQnIowR3kIvtr12ZjvPjHQ9YKNABPLHrbT0YNozI40iMtIMtvIbMsmZGAWiriMkriWfBd7 - jeRScltCbVl/kuUeknqS0gGHPkOhG449KAphEqIgJjAhi+To5B5V2khrS/KTpMBCgBXcUTWVPQqA - C0zX+YTA5+LfVJFrfSVszvv94V3hdH+xgHMLDrUOxDziQuiP54/D20f0fnj/0Xh3Pbp46poKG939 - Ckl2rHQZcVfcbrf/AQAA//8DAMWee3U4EwAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-income_statement-2022-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGY7fWYAA7SYXXPaOBSG/4rHV9tZoJa/wMzsBdmk2U1SIGnauN3dYYQtjLdGJv6ggQz/fY9s - bMtgA+u2XDAgHYn30Xt0JPMqhhGmNg5sd0PsycylmFou9kKx/9eraOMITyLsiP1X0bXFvgifJ0NT - v96MxJZI8YJA22hJAhy51BEeyIrQmEBXMkb0s54g71jigNCIzeRH2CvaQ/IcE2rBfKglzrAV+QEE - /Qo9U+zhpEO0AmK7ETTF1GVTxKEtblviCnswRV8xVEXuScmrI21bNeol8+7SfCnUPzIdB8r31JVV - O4EfhsvAnyViCuXKz1X+yXy6cVZV6/67H0aCP6tffwsC/Fkdz35vQaTWEtlkWg8ky4qm6ieBhs54 - tbH3raiDqZR6njE6h9H+4RjPm6uL9c0+xjXTIowzMRxDWWWZIHfMpZa/KJvRbZheqCt1e/JJDNsc - 3Zp+gfGBeB4IaQnXhIIoT/g7liRZFwb2wqXC1cuS0LBwJ3QwyZtqmHYBYYmq1zDFNMlQTzLRzc1w - c1EwPZCQ4MCaZyyXkEigbwFqD4gCuxkQkhoS6bKGThL9u37wzPf7yVaUgqtCEpdyVYrPTzxkNNs/ - GlJU7XRBdobPh9unIPozE1TFk6st0ywDEuGXChS56emCEBTp7kmYhfPt8+aeq9HRnAQ7BOGt8MvO - njctgZKiLPgsqgal3MeR1Nfm4yRtRTm9ce43vakzPTDlLJoK2ee6o/1Mpqn5Zbw+2DrjgLQf8UtG - VabYU5pjAG7aaPkUPsWQiWUQvXmaIUk5iWKYWOfr2k4849gvY6lOoKioZicxus02PjJ2CEchZOdC - 2nA5NiQRl1t3cEi+gctAJiyrCD4talu1/kO8MpTR0BvD6J1hzaUjk7VeUAFB6HsuxBJbqEA8hKlE - iHx4X/i0fOFseuM8D0Uzu0NHOm7QIIoCdxpHeOoRIfLBMKZS+DAHgrnv2SSosIuDyUhp7HklND71 - fvvhaM8OGfKXnSfiOnPm0GAFWeYQ4QKHrpVihMIojpKnpDS/UphvuxF4RaYsNkxC/dLJmnSQZfl+ - oPA3nrc8WboGO6p0Pn5T6TLSDF05DqZuglJlSDmucEBBfCjAHkqhcg5OY60XRp0XJcXgA0yf6OZk - 6x2k1Z/962nXeThiw6Xrxez7eUbYaXSVFbuufTNUqakZiqz1kHHcjKc1GvNmZDRH7CjprDNERd9n - CKpV/OLcG/y5X7Mvsuvz/3InybQjFvH9Bz7JDX3SDKmHUO+4T7cbbbgOuJqNwznArVybUDvkytqh - XxaE2llkvtpHrFO/wzqpY2z/gfExtTF7ZsFejgFtk1EwJDef2LpFcNqwgInl2yS/BEzydoiZuaGF - vckanofgTJRkOW+CH3Z9Nue7zwxzvWQzwLKywXY6exBN2IEG7TAStSWjLbMjD9aAa5eTdjX5LfYk - yXUpbQSj5EdZ7ks9uGZ0wJ8vEOiGEw+CQliCKIgJLMcyOTi5oWpb0ttIfkQqbIO+gjq6rLOhALjE - dJ0vCHwv/qmKXOsrYSs+GIzvCp8HyyWcWnCkdaDNIy40/fH0cXz7IL0fjz723l2bF4+KwQgs9yt0 - skNFkSW43ojb7fY/AAAA//8DANuT9sg7EwAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-income_statement-2019-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGY7fWYAA7SYa3ObRhSG/wrDp2YqOdwvmukHuXbUxo4sO05N0nY0K1gharRgLoqFx/89Z0Hc - JBAqSfzBY51zdvU++x52F7+wYYSIhQLLSbA1XzoEEdNBbsiO/n5hLRSheYRsdvTCOhY7YuHv+dRQ - JskNO2AJWmOI3fg4QJFDbOYObzCJMaTSMayXZ4Ii4aMAk4jO5EXILeMhfooxMWE+fsAukRl5ART9 - CpkFclGaYM0AW04EoZg4dIo4tNjXAbtBLkwxEhSOVyUu/TnjXgct6jnj+sJ4LtXfUx0HyvfU1VXb - gReGfuAtUzGlcvHnKv/LeHhvb5rW/XcvjBhv2b7+JhR4yzae/WxJJLUSWXjRDsQrvKoJnUBTe7ZJ - rH0r2mAapZ5mjFLBGP5wjKfk8nz7fh9jQrUws1xMhaGusk5QOOYQ01vXzVB7tpeuiXo3hWXcXBle - SfERuy7oGDATTECTy/wTc5ygMGNr7RDm8tnHJCzNCW2Ei1AL0q4grEFpPTtMEyS5k4kk76fJecl0 - h0OMAnOVs1xAH4G+Nag9IAqsfkA81/eZEXi1k+i/7Z1rfNjvtXInuCwlVTquSfHpfcfr/R4fUZKU - 7r7j7OnT4dNTEv2ZC2riKdTWafwAR+i5AUXoe7gooi5ynSxr++vn5LayQ0crHOwImLfMLzt33gwY - gstNwaNVLST1XAWkfWc+DsJrXHeX3Sbawl4ceHISTYPsU82RfybTwvgy2x48ObMAD+/Rc05Vp9hT - WmAAbhY0PQJ/xdCIdRClb5fJqthNohtIqe5qO+0UY38Ty2QCRMNe1kmh9jw1OUnjOyEE+5xLKi02 - xVGlta7hhHwDN4FcWL4feKTc2Zr1H+LVofSe1siyICudVBe2gLdKSQUEoec6UIstpgHxEKYRIfLg - 99oj9dtm3+vmaSiyoU5t7rhB4ygKnEUcoYWLmcgDw6hK5uMKCFaea+Ggwa4KTE5KYtetoVVb77cf - jvZk42n1qvOAHXtFHRpvoMtszJyj0DEzjJC5iaP0FSnrrwzm624E2uAFrQ3TUq92rqYJ7NdvB2L1 - vvO2SpatwY4qm6+2xUkqL4rKcTApCWo7Q8ZxiQIC4kMGnqEMquCoaGz1Qm/zoqYYfIDpU93VN5sz - XW8/+bcL1b47YsOF48b082lGWFl1kxW71L4ZEtfXDFmXFZk/bsbDlp9VzchpjthR09lmiMR/nyFq - q+Jn+1avHvstz0V+ef5f7qSddsSiav7AJ6GfT5IkiYIiH7fpKpGn26CyZaNwBWwbx8LECiu72qFd - JpRaeWWx2Eeck77DOREY/oXxMbEQfWFBboEBsbkyedQWE7psERw2tGBuehYu7gDzIg41Syc0kTvf - wssQtASXXvCzEHyx49E5332mmFufzgCrSgdb2exBNKfnGcRhpDbk9KFIjwlYg0pcp3FBS7+LvkaW - KYEf8hyk7gVhxEkjQTsDf75AoRPOXSgKYQmiIMawHH56blaGSkNOGfLiPYzj1BEPzSzwdCgA+ohs - iwWBz+V/qSLHfMR0xcfj2XXp89j34dCCE+0MYi52IPTHw6fZ1R33YXbzSXs3Mc7vRV2iszuPkKRn - ikjJRPb19fUbAAAA//8DAIUwYXE3EwAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-income_statement-2023-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGY7fWYAA7SYa3PaOBSG/4rHn7azQC3fwJnZD2STZjcXIGna0O7uMMIWxq2RHV9ocIb/3iMD - tgw2Zt02HzJB51i8j96jIzmvYhhhauHAchJiTWYOxdR0sBuKZ/+8ihaO8CTCtnj2KjqWeCbC35PB - WL9KhmJLpHhBYGzokwBHDrWFB7IkNCYQSp8RvV0kyAI+DgiN2ExehN18PCTPMaEmzIda4gybkRdA - 0u8QmWIXpwHRDIjlRDAUU4dNEYeWuG6JS+zCFGdKT5F7mpT+dKR1q0K9NL69GL/k6h+ZjgPle+qK - qu3AC0M/8GapmFy58muVfxw/XdvLsnX/0wsjwZtVr78JCd6simc/mhOplUQWmVYDyUhFSrcWaGCP - lom1b0UVTKnU04zROYz2T8d4Ti7PV9f7GFdMizDaieEYiiqLBJljDjW9RdGMbsPyQrqB1F4thjUe - 3oy9HOM9cV0Q0hKuCAVRrvBvLEmyLvSthUOFyxef0DB3J7QxyYYqmLYJYYGq17DEVEORa5locj1I - znOmBxISHJjzHcsFFBLoW4DaA6LAagaEpIZEhoHqm8CX1YM7vtsvtrwVXOaSuJIrU3x64SGj2f7R - 1J5av30ke/B8uH1yor93gsp4MrVFGj8gEX4pQZGbni4IqYqEamEW9rdPyT3Xo6M5CbYIwlvht609 - b1oCJXlb8FhWBUoxxpFU9+bjJG1Nry+z+6Q3tacHppxEUyL7VHe0X8k0HX8erQ62zigg7Uf8sqMq - UuwpzTAAdzNoehT+iqESiyB64zJTuopei2KMsc73ta14xrHfxjY6gaKkm9VidJttfKR31fq9Itvn - UsLV2IBEXG3dwiH5Bi4DO2G7juDRvLeV6z/EK0IZDb0xdMOor7ILWyYrPacCgtBzHcglllCCeAhT - ihB58Hvh0eKFs+mN8zQUbdwd2NJxg/pRFDjTOMJTlwiRB4YxlcL7ORDMPdciQYldHMyOlMauW0Dj - S++Pn472bJMBf9l5Io49Zw71l1BlNhHOceiYG4xQGMZR+pa0qa8NzLftE3hJpiw3TFO9wsmaBohf - vB8o/I3nLU+2WYMt1WY+flNpXVWVFXQcTE2CQmfYcFzigIL4UIA9tIHKODiNlV4YVV4UFIMPMH2q - m5Otd5Beffavpl374YgNF44bs8+nGWFtssus2Ib2zVClpmb0kKylt5sjZjyt0Ig3Y0dzxI6CzipD - VPRjhiiVil/se4M/9yv2xe76/L/cSSvtiEV8/MAnualPmiZ3Nfm4TzeJNlgFXM/G4Rzglo5FqBVy - be3QLxNSrV1mttpHrFN/wDqpY6jr/2CCmFqYvbRgN+OAscnl9Pru4xe2cBEcNyxhYnoWyW4Bk2wc - cmZOaGJ3soIXIjgUJVnJhuCbHY/N+e4T41z5bIaA+F4AzmxmD6IJO9FgHJ6U25LRljWIwCJw4wob - V6T0u9irZCGEUFuSH2X5TOrBPaMDBn2GRCecuJAUwhpEQUxgPfz05OQeVduS3kbyI1JhH8AG7ugS - Yo8CoI/pKlsQ+Jz/qypyzK+ELXm/P7rNje77PhxbcKZ1YMwlDgz99fRhdPMg3Y2GH3rvrsbnj4qh - stmdrxBkpwq8diJDEdfr9XcAAAD//wMAbNgp7jwTAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-calculations-2021-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - 9ScAAAD//wMABgIfnmxeAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-calculations-2022-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - AAD//wMAU737rnReAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-calculations-2019-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - AAD//wMA4TwnAndeAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-calculations-2023-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/AAPL-calculations-2020-FY/standardized_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - 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 - AAD//wMAj6c9f2heAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:58 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_index_historical_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_index_historical_fetcher_urllib3_v2.yaml deleted file mode 100644 index 9a3c076b42b..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_index_historical_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,41 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/indices/stock_market/$DJI/historical_data/level?api_key=MOCK_API_KEY&end_date=2024-02-05&page_size=10000&start_date=2024-01-01 - response: - body: - string: !!binary | - H4sIAFmCoWYAA3TUPW/bMBAG4L8iEB1t4vgteTOQJRmytF1aFAJjMY0AmUolyo1j5L/3lBQFmVw3 - S3xA8l7d+cIe+jmNU3/wQ9v55Nnu+4Xhj8B2TILUW5BbMGzDTn5Y8KWqVQ1cyJfNRyZzZo3mmmQi - Z0Y0vNYfmNiqggkDXFEKcqWt40oQTDZFBUpxbShmizOh4Zo6VBZ5gG64IJnOmKvBctVQTOWsAfOf - uxXpAgheU5WKpjjUKl5Tqs6VtjW35GYuZ9Jabh3F8ticsoLqD2RZbHEZBorkRTrTSN6Q1897wzkh - OJAH5s3hbGO4o74TFJEZabiwFCsys7XiQGVWDAtGa7kgWdEcWmN7U1MARXNohaNH9VAxehiI4UDu - Jt59gR8b1scuPLHdhfUdSnxq5fPp9nmPcj4f78YB3366urnG5+iP625X4+/qZoxhrq5jt8xp6v1Q - 7U9h8j8DqsMYUx9DTEhvxyk9VPtjWP9gXteWmKYzrnyNfQpd9TnhDedqvM/Q8rheu72fwq8lxMOq - O98PZ1wa/Jzat/XuX10OJ+0LwE4IHAwOAN9QjndzmE4+9WNs5+Sn9MrFX/4OhFjsptgLFhueUvu4 - lvQW1R8AAAD//wMAP3H/JioFAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 24 Jul 2024 22:38:17 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_insider_trading_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_insider_trading_fetcher_urllib3_v2.yaml deleted file mode 100644 index 2d0d76cc8db..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_insider_trading_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,85 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/insider_transaction_filings?api_key=MOCK_API_KEY&end_date=2023-06-06&page_size=500&sort_by=updated_on&start_date=2023-01-01 - response: - body: - string: !!binary | - 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 - WVIGYwLVAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:06 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher_urllib3_v2.yaml deleted file mode 100644 index 7f3588f6676..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,1213 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetobook?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzIx0TMxsQQAAAD//wMA4BQo/QYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/beta?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLUMzKyMAUAAAD//wMAwp30PAYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/short_interest?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzIzNrQ0NTUx1DMAAAAA//8DAEWtD68KAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/earningsyield?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzA2MDExBAAAAP//AwAOTSukCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetotangiblebook?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzIx0TMxsQQAAAD//wMA4BQo/QYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/days_to_cover?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLSM7GwAAAAAP//AwDfjdFBBQAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebit?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI0tDA0NDIAAz0DAAAAAP//AwBuUNEwDgAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetorevenue?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAA7LQMzMxNAMAAAD//wMAHM3f2AYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/last_price?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzIyNNazMAACYwNTQ3NTcwsAAAAA//8DAOLwARsRAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/debt?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI0MDG1NIAAPQMAAAAA//8DAJrftWUOAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitmargin?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzawNLG0BAAAAP//AwCF/GKjCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/grossmargin?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzE1tTC1AAAAAP//AwALevnuCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/quickratio?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQszA3MQMAAAD//wMAXnJiqwYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetoearnings?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI20rMwNTAHAAAA//8DALszYEMHAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/dividendyield?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzAwMTWxBAAAAP//AwCMQvBjCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/average_daily_volume?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzIyNTEwMDKw1DMAAAAA//8DAE60GmsKAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ltdebtandcapleases?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAA7I0tDA2NAADPQMAAAAA//8DAGjxWFkNAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/basicdilutedeps?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAxzKQQoDMQgAwK+I55IH7Kn9QOkXxNhdIVFQwx5K/96l55kPSoQHbvh0mEKmtr/X - gE5FeMMpmbTLxQ+D/wRnXhHSG7yGUAqwWxEX5GK++l2tQk29sU84tQ6oQ6BLkY5s+P0BAAD//wMA - Zk0c2HMAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/roe?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLUMzE3MrG0AAAAAP//AwAkp+tgCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/52_week_high?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzIyMtAzAgAAAP//AwDtkVqgBQAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/netincomegrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzAzMTY2BgAAAP//AwBHtKlHCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/investedcapitalgrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLSMzAyNjYxAwAAAP//AwALT/BSCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/totalcapital?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI0tzC3MDEAAz0DAAAAAP//AwCwF473DgAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/adjweightedavebasicsharesos?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI0NTEwtTA1MzAw0DMAAAAA//8DAL22GOsNAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/52_week_low?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI0M9azMAUAAAD//wMA8HzkwQYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/freecashflow?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAA7KwNLE0MLc0NrIw1DMAAAAA//8DAIJn/i8NAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/roa?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQM7K0tDAzBAAAAP//AwDIIHflCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/enterprisevalue?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI2MjEwNDAytDQxMjXQMwAAAAD//wMA585e7A8AAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/revenuegrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAA9I10DMwsDQwNAMAAAD//wMAXR8MigkAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/epsgrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzC3MDcyBwAAAP//AwDLf2ApCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/basiceps?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLTMzEDAAAA//8DAOV1R7IEAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitda?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI0sjQ1MDQAAz0DAAAAAP//AwC2VChwDgAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/roic?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAA7LUM7QwNjY2AgAAAP//AwCHylrGCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/altmanzscore?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAA7LQMzY1NwYAAAD//wMAEATzyAYAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/marketcap?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzI2sjS3MLE0tDQxMjXQMwAAAAD//wMANEcZLw8AAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/fcffgrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzAzNTSxAAAAAP//AwADSAIkCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitgrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzA1NzS2BAAAAP//AwAJXO3xCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitdagrowth?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzA1NDAxAgAAAP//AwCtJtcNCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/profitmargin?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAG87fWYAAzLQMzIzNjC1AAAAAP//AwCi7XhUCAAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:07 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_latest_attributes_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_latest_attributes_urllib3_v2.yaml deleted file mode 100644 index b1d3d79df68..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_latest_attributes_urllib3_v2.yaml +++ /dev/null @@ -1,126 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/MSFT/data_point/ceo?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGo7fWYAA1IKTiypTFTwS0xJzclJVAIAAAD//wMAZxmyKw8AAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:02 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/marketcap?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGo7fWYAAzI2sjS3MLE0tDQxMjXQMwAAAAD//wMANEcZLw8AAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:02 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ceo?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGo7fWYAA1IKyczNL8moVHDRU3DOz89WAgAAAP//AwBIpQsVEQAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:02 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/MSFT/data_point/marketcap?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAGo7fWYAAzI2NrcwNbY0NTIAAj0DAAAAAP//AwC52O5DDwAAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:02 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_snapshots_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_snapshots_fetcher_urllib3_v2.yaml deleted file mode 100644 index 6c5d9210b53..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_snapshots_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,4380 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/securities/snapshots?api_key=MOCK_API_KEY&at_datetime=2022-06-30T20%3A00%3A00.000000 - response: - body: - string: !!binary | - H4sIAHc7fWYAA1RRaUsDMRD9KxLwW9POZrNHFxZJ61EVD9h6K5JsZ9tA9zDJolT870akUplhePDe - vJlhPoltZGdXrbMke/okTtdIMsKAMQoxDWGPQQY/SQak0mv8lfVm7VUr5zqbjUa6cUY3uqX41mun - 0dI/06ENh7KWm7aR73ZYtvWouBTXxexqTrcTKAMKMFxudHdwT0W9oWK9bI12qzoXdwWnswsxpcVM - sCh+7gFY/KuaGlxg47Rc5+L8VJye3V0+3BYxP5ncXE/mYp8d+ys4xCzxsLcUpXU08NiGvvh1+Kvx - C6N1u66H0mG+bZwHEPAgetwVHH102qDN05gD7BKFXja4mKFcoLH5qv3v+8NK1xvMx5UE4AmwMU8T - 4CqsMEySsiplWioeBRjFSkUphoqpsUogTaqYpYu0DCqVykD5R3TSOJLBgFi98e9iPArD6OvFxzcA - AAD//wMA4/KPAdABAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:15 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://intrinio-equities-snapshots.s3.amazonaws.com/SNAPSHOT-22-06-30-20-00.gzip?X-Amz-Algorithm=MOCK_X-Amz-Algorithm&X-Amz-Credential=MOCK_X-Amz-Credential&X-Amz-Date=MOCK_X-Amz-Date&X-Amz-Expires=MOCK_X-Amz-Expires&X-Amz-Signature=MOCK_X-Amz-Signature&X-Amz-SignedHeaders=MOCK_X-Amz-SignedHeaders - response: - body: - string: !!binary | - H4sIAMoAvmIA/6T9yXrjyM4Fis7zKeoB+PmLvhlSVMe0OpN0l7M7vJMzPo9/sBCUxJCd+6+Ca9dm - ZplhUSQjEAvAwsL4eVydD800tOvNP5eh7zbz38f+D/31PLWHf8oP3s6H1+OmObTjNP9k6o+bcWqP - l/lX9v1uX33G4fw+/3c7Pi/+xp/NH4T/un/Mql/Po/C3+yj8123Ur0t7OjT+SaUm+yYmkxodfAg6 - 5ZSessrOGkPndcAg1xz/f/9vo+Yh2Sj1pJRWyerm+P//f7498ev3cbNpnH/yqgn0Px6hVPb5KWaT - ncrzyXIUfH43DU3557//8nF4Hhr1ZF2jjWsC/X8epKN5ytFpEy3Oexys4AL9uZu++3Y626cYbNJ0 - /03zazced+KbGC9vr+Jf/r2ZRvr5k9dNVDTCJWfi/VvSHPBZBaN5DCbHkzJfLxM1fZrxXy8T6Qaz - d7+m6f1Mz9g8edvgw0zM9DmLyygbTUz8Hp4CfQGjMSf/+/089+uxcfbJ0HXofrIL4X4ZmnNOqah9 - 49wTZp7BqxdMm8OlbWx4SvQRrrHe3y9B3z54Q3c0n6djlEzr82l7fm8W//wa31fP/7yP1c+649A2 - 5inYxjdZ2+vapbukh2hiTJrORochWvAlVrvDutHpydEbw+RQ11FJe/OUtA6W1uw8gI///RrTrm2b - /JQdf3zUuYzyOZqAlUeWiCYkD6CD5ArH/rSm9UsfbJrrnHPZxacYlTc5lnN8kLynzQvmG+YAfX9/ - e0Sa1tFTJoOqTeABPN2S6DVM3WejnyIuERsTlyuHTLOPIdCD0U+JJsBTkKya08d6os2ibXR+Cu7h - ZTtjcX+JNgN1HcDHMgdX76vVpZqVh65f13P3+bhtImwMfyoZhetHp6ieUsgZayhiHvOo/34Dbb+X - bwLrz8ZpfkM0m3NSd4uR3JPR0WtaQk5HLCKnaJ5nwVU2++6f9178Jfeb9e8m+CcbyzN0Js/DIq2Q - J1ryMdLmTSM8bWSO5rZkoq3Hvnpvu1V/bgImN63tHHI18UzOZMc1neeDNZL98e3QffNMUlD6iR51 - hCGl77Gd2EikRztEb8g+JUV2yIVyPsuW2G5oV+/il9Puepq4tCyxERgT7jAiR4JOtHDoCcUnsmPh - KUsmz2Hf/V9fjp5SO350ACqZtz6ybD7dvoin96W8CzRtFAw1D/vvX+Rlvelg6qMp5nr5JsKTNtZb - 2hFpQIo8TPIuLqv2gz4dzxPXMOq+IyTayIz3mb77dcC3eOT/vMb7wmZb7ZRdbOGJZ1TyZLbp7SmM - tJL7eF9NjbFslZPBbRhsk/erBKusIiyCMeWo+Ei2Ri0+kNayciHFhJMxfz1pbdY0B9dvRzL/OvM9 - Oa8WizXSYnLWabqAfiI8T8MkYHbszquywHA790+He2BUyj9bgu3wNtxNz9+faj9s6BbpOaWGgI3W - 8T7JMw0L3nvaA7UK5f0aDBQYps3Uie1Bv6EJnGjHDo1lHLrYUvDiFf0NazMxLqM7eNISGLodL4sn - Rgbg2A2rxj65snBocjl7vy5hbx+iTQEjCLXSzibxFy5HAgpdY2ijiTNku/mMsNqB5qMiVE0DCLBg - mJc8QXJbCUurGYuQfTfV2vGEbS0mnAdeIGfKSq6yWfdv+IrA6bSpE26/uz60qdKCheHECFpMuBXJ - TNpOH+vqLe23w5nBVoXu29Uo34A2464V//LxdcXLZYYWLiZznzZs1V02cKOwpFwZKpmuh/7to7rn - c3ciNPtkE+2bBCYWzrEji5uUo1cLEE37WZDN1u2w2dCeS0YR00d77ZaTiDATvWBdBnh4GIKb2m3/ - ATSxii+R7OLZ0eQMGW4tOWdP3tBBSybQYbt79PuGzaGvEfZlbGlODdh0ddnWjL27a2VhZqvhQySE - Msq4//5lhvfz+hWeWKo256AJXSR6VeQjYEHipfGg8u1+t6c/38E88u2eAkEGDxu9vKQO9NvYUlL+ - 1b31/eMDGPs1ObW54EGCof6+cAMZ2OyyJwRiAQ6MzLE7bLuGPqmYUo1z11EEDgjYkElyCSMcHQgr - CNbdaWBTuryvtxNMw3O9TC7DRNcwfv4qxlQw3MGJpSk2fxUtgUOrbi23H9vTbg3HIxVjbVzQi6VM - 0CMRBA6+oVeqbBOE72PYdWfxV+zex6mJBs4xzVtyLBZfkL5V9DnTDCoDyCMNome4OshjePvz2+ki - /u1d25/IlDp4puSqxtnKKWWxVaoI73A+XY6C5dBtP8lp8KH2wFRyTj2RZxgSOxV0XslWwwYBiA0w - ri/zyObrmk7WK4KthMrpJRnG7XR0kqu8Tf1LbTh30wX2m4A1nAqbbxODwH8ygRZXLKf5IFgdh+FE - UOxJz76rycsdgj7UkPmi/dTiFnEUhT2Pr7/pyz8Rfgk4f5/eGmH1SDtfmM/TUUme3Ot4PNQm+LQa - 8H1p26T3QZPs/ujI6w0hpUQvymqsJpNlAYl2f5Hbpc2wGV/vX/jvIeND+/Ja39rnZ5Mc3jfvb9p5 - 45fvLJhkA82LxIkTQvEip371OrD/Gkqkmqbafe7Br1P0HAHJ4INmWRS5HQ4XbPWGjAJdxpvFNQg0 - A0V72EIeoYWxt9f91HgLl5K+qDVm4Y+Rz0FOe6Z54B2MvxdGQNt3mAaEmMg5ngdY5GhCdNoaXc4Z - WQxq2G1O9HPzZPPsN4VcLdFAz8h7/MjiTZMVIssguYvLpqefsymghaEWDwrJtZxhB3Cejh7hSEEg - 9/2Ed0GvGR/lVV44NIRwEStGlNoCiXphVmDofoAVVt0b0HwKM3y8Qxl6uN4qzzmL+ISTPEyw7o/d - iszgU7xC1HybMQZ22NCWleYBSDFIXuXp9e1cmYz1dAAABxZ0D8g4BUsri7AuGXo6n1MZJHCKV8d7 - CLlcdnv8aEJ8csCGQPz+7iXT6nAE/CPiwbDHDNEk99pNq1Vjbmj7vvdjyiLDp6Iz84BylPiGh+M7 - QQcyqqZc4zqMPAAFQO9tNGUAHwTT4qN7e6se3vNq3FY/uGx2Q40Ouv2abAOBWLINHNytvVSHpQtj - QX/HFpGCLJIz/j4SMkjYC8jABR8Xfio5G4meMAJ7ZbfVtDycKH53oEnrkMvXTYyLTL+mJ4rpmeks - gRAe4q6hxNsHafIYbbRk510x9t9e5Py2kgfO9n3fz3F+8iZMitelG6IhE6mcDi7fooySHXFE9JDg - pKXbRyhD2SquRLYf9oGGaMa6LiGIJ7Bz+8Mkfgrv+8NQZ9Teuw65PyAB+uI2q1x9a+20g3HRChlu - jo6KQlWH9/ZT/K27w/hMHneeLYSzdrGJIiFPMy1qmjsKjnmSBB/Gy278R8516He0OXI8CTi47Iw+ - x0zm0QcwXfx8uhwFj+DPdhR/u+H8Rnga082w96NyFazyyTtPyIFHWJmL+nv7StYzxYawBdmt6xBy - hwnHZvIW4cJlX8YI8M1h+iS0jMAwtvXr1yfUmZ9ytNEjwqiZRqJlZJ/L2Mlf/3ga5Eni1frjce89 - bEcCvrgdGxj3VluDNfhVcKcCTSthdnTX1nagO4/HkrrjNZYW0TdlyLvzhCpdGUAHEXg6beR0qnZ4 - mRqjcbPIexjjFu4G2W+t8BeABA0aEECewEgNu21DiIohZKjYNwmhfOcV7cFlgI0yv3N3+d02MxMJ - fu3Nt6WNCEFFWok5zgPKUTKXN90iDSCYz/3v734XHktyIYNlsfxdwoKJAKDNBGJ+Xbodxx41mFcN - YYErHFD00tST59y+n0+X44xzL923eQqaio4uSw/IgBjy62O/gs8XCgaPTi3dQnrz1gRLlsZ75BLI - HxGZg+Mkj5m1byuGbZZcJeRLQwzLuRpsUlnRLpsj59PoO2cJ5tq9DyNHXnJD09HdH0KiLZEsesC2 - bbFiEJiRXOF13x4aFzm5QNtrslUcJiZLexxhOgJ5QJdBuPW26w7xUVXeJ7kVanEZeoo5gifY0OrQ - volaGBE5TnU4/DhOL7XNXU2fK/E7/z2uCT3DOy5+/nUQgV96Oi7aBIZTGWBkxILxre/rYNLzeysH - xLuhPzQFrcKnTFfYFxK8uZSM97qc54OEbNEXNGFsE+ifuHyriRB4UMAcwdJBFB3a7dvu30ThVmO3 - +fqYVIhk1F0EV4KZQO2hrafIdNyAmkyeNdgoUedqFRtPdkxhQGxgnyQExct54HhzZI9hfgMqmkC+ - vPXkqTqcJge7DBJcYXP6aDgQURI86bqjkWtJK4m2dVcYO+AiGxGw76cJWTuy8vQi5zuw8C0t/QXZ - Nz7Hh8eXpGk/UJbQu02/uv4ZhFI1k39uOXlmnBI69fCPDdhBBtkoSZqhlW+I/Wn1AWiJ0Bfwp654 - WNmThw1SjEa+n45a5NgdrpsmZx7d/RK0lSkfY0Z2rsRTk8yg98y6ZbKrCfj3un8nsvE0yMH55tNa - yIjtPuFPsjFHYiiDVnrblxCztZrdA44rEWwTrZrDN8tZY66RK0hzmlAxsi/tONZBme1EENdnZgWo - Ekdb7MzR0f7irfXuOiYD585/96oK01tHWAflCxm7PNk2+9033Q3MNotITTYxmGrOKE//MM2shOJF - Qdn1REa8+D0c2wphiYsVgWFN3xyPGj6TLD837UrSHWDKLbAgJiVBZAbLACEZ/p1k2h9XbOUeyMGK - TJR7or0/ptkMXo8CNDd0n6CuWnxX+terGpKlaJz1HMckRBa0LI81Df1UTbhu7HtaBwwELeoP8n0L - wWTVOirsKo65Wg7Re8G9PXf/vH2zHpKNoLZYTfgMX+Y8bboH2v9l888wPbie5Bh236HwaAmFG0sL - zPHy6t4OE2fcMywiTYOKnIIHnAIBU35hNExkEdv9WR40ej0d2dHSD3llsnY0jWywkdyWeUA5Cqzd - ZjsiucWGOZT/89wlQxrhMNLqs9cBfBQs8X5s5fStfQ9vTM4eOEzD57dOGcEUUJBSTuyU7de7TWMN - LLpnhpBeUN0D4Uly/8g80AhENLSMunfZf8pDn7v1uYZ36/f+JP604f3wjIiWnRMK+Yaf6U6Rb6fN - 2ugyQoHjJ7gEdg9dSAupMYQ/q7KmkKzK4M6R4QBlimCHiP3SPjA9x7HvANdgsAiOIRlz9QzIEj8B - tRkfygg+SNJ8+13tybSH6bU2Tu2GtgUEWZBSuCJj8qOQJ81RIw7EJ8uxnprOE05UgRxWfNJ7u0Ii - XRUOYnBfo5+0SeamMGaT0NkZJ0JWIbAxaSJ5FWp5DUV7cKRPDxHoLQiJMuOl3IhpitNWX0PbkOim - MYIsNDntogzndG67K3Wgydc1bCLtJS4nxjzlbDlKmN77q98toSVv6jW8PaKMpJo33QWVPhywULeE - frAEcAl7gs3HZyNYk4LNtj3tecUBJWLZW52qyeRUcvC2tEcSCYsySF716+ZSsxI3L6ehAR7Cgg/g - JS5LtUAopmtFVAwCe9NA2ctpt8fGaF94ULS2gltcBTxenx0HWAm9gPnqZJV5u9PrSGYx0jwlDE3O - U1peJRqftEWwOYLzJTIx04XeU0CywTWE1RfJa1wgJ5OxeiJnGwPuReBMvbWnf2ozBigr3mn36w9U - 2s1wRfsqx2UNTV/Qu3iAjLKzGg7yKrF2XBGQ2Ip/fzU8H+ZwJO0bKVTzytAtZwR07RM8DIsKWsET - rMnwl/5wYPcKwIw8tfsUQC7dx+SwghW77EL369CvB+YWZA753bZK5Vw0iHERWOakiSqDBKzClpxd - OAiwu2S2rNa+isK6FC2HIxyir7BMkqlxunRTU4wV15pqfxumAgiRKYHGqkupqDDF9nmefoBk+xZ8 - eyaH0wy58YBTALkMcQay9hFlHUEGt/r3Ldu1mYtiQlUXAg8mZgsqmOFCJ1hJUQ3atHv7AYuh3XZI - cjku/7HBVKS7pFRCJpQGxIgsmOhBrIZz4xPHNTKi/8uaQ7iAEfkVjMAeGOH5Czaa9803llIF+mwy - yTE62jzhZJ6mj8aAeE6/TMhmsYRp5udMkz80JeUHfCcht65HhjJI3GvaPRcPlDx02svpXvN1hJIx - aLvxrSH8wfVY5BHXNZyEZQ1kAzAAwE52H+3UPosn1dj9QULNz9WBOS6FDcgWkzWDJ+A5TOEtss5f - LqLpg1BN/3fM3243YN8FrpW/RQWT9/T+Esg3kU8bHEXpgMs4vYEi7uEu3AQL6EB7So5Kp3JSyXzP - 59P4XpWK/HXkeTqeUQdJ+0GkJXqdUOQpB2BQsqW6nJbqUOyGU+M0kFfy90epLGhe3mlsPvN5p0Da - EcQcXuUFEeN0hIPvEs8m4/UdhvOEt+S7ec30bbhvQk7/etsOTAkEA7yZK9Y9qCC0ByQVU4jX00Zm - BsehY+eSNl2C+rqOb0GDwYEykyA7AhKm6CbIVzH5Fr2Nd52NErxVkYxQZIo/KGuyNPGpvbTMiCjA - 0umKaIh6x0wbm8cQbBpKFsVdDevxvjwEj6L9ATa9HNtPNhuFG3vPvtqEbQrlAs5eB0TQKQU3ePhB - tOjSb7hyfX4Fi9L2DLtLICab6wBUb4s2mf4Fawo5crpXeqsLn4qcXxptaKumEQAIWRZH32zBK5H7 - ON1+dbOf/yOX/vltWjtl7DPGBySQ6jxiQhW6c96oX+sTTSS6PziumhZN8ndPg3b0EOn3FZeNeF5T - opj7tOlGMgpPes6rervwkxN4iMpB7IP2NmgBJVTHCGYN7Zj0CfOs1gRO45K9i+CbslEx3T4hpwV6 - nOCljoeJrCSzPPhCKVW5LvLMjLLIQfPsMsYRaBFc5+XlhR44x9d4BWia9mFh8MBfdynQ+zKp6BZE - z4oA4BA+KBdkRJSj5kGZvfz6LHktBKrcr37af8hpfdtpuICxWDJTd0qcz4ocWTpEZsMlDlWIWCnP - px3ZfZogQD/Yr7OvJLKUD86DQAWuAuAv4Rg4rAKke96f6WsCgcLK39gYmuYUssvOelvOK9ls3X/2 - oLYYqH3R+QVFF4JntHYTAmIG8lkIVYuCrPuulb/N7nCcgOGtvyaD7tPcgiOhQmKiBEfuhKUA7TvB - H+k3PHWntmHI5u8qGCkBKYEAoXM5KQR12/EIXhrrpzDjZ2E/wfhxPsP7yRwQyV94uopj6KiVqMXY - wOvDYnBeeXrGKwT2fJFIS4tIO/02LWuUVJXzSgjyt/v1/B09+aBm4akQtHS0n7I82xPz655ELNBu - dRjxy+5L4pB2GDA0FTKq84AsLBbd/WlQe1IM7t14GVqQNPEsiqnwnlUZJYhmdENR3Up3csDVy7Zk - VZ44WWDDdQAfS9ys695QAkGPEdTj61s2wYEvRCjCl7N8+O9f7GP9+1CF6dq2O9dR1Eu7PT+mh3Yn - 2n8Cs2YRaDM6VOFvelzkXtFeQX4PK94Y2fR6b9++45b82410mBCCsog5O7/c2wIkeSIoZBGgIQir - /I6XPScB5iidqpilECfIifUBPdJM1sqQ5J/d577Oxb2uyFHR/imHJtCn37lZheWqMyROdIBvX0ZJ - jPPAVVrwqRiDLJgm2P8Nvf2yQSGpSj5v+WbjZXVmNGsfKuOiBw0rJpWBanhAOQqW0uW8/ltpCF3D - IUKaHn8dUCk7HTJ9xXaFgkNmA6P6wlXvDHDFwk0NcNiNUAClaHTIHZTNaWqhSWWuhY3R1uKWiNBE - hrK0sZMZFJV37qYPmv+o1LFNyLViChlVXKkBbaLhokJJIOsyzipliF/7ZYIU8cLkDJeglBoGCQLZ - HellFuOCGq5cxYhpAfiQomWaQzZMh5Dcxmn9u4c7nsoyz3d31kLEC0JL0c4DcBSZkmEFWldKhb9g - 7isHWP8JJHJXjHwqB8GzOrx+pRedzm8nVFOX9RrjQkkMT9V4rXw5b2R++rbffGfBg0Wc0ZvoMpMC - uvdn2CoykxmRTVUT22iu0x/gNfE3dbBsAnQ/1kJMv7txAwRMDjhswX2Bge5Lf0IXrpzWWpa9b8lj - +UEVW7tru58Uwb3K4z/d8YJti2snDcQ/KttAIFjTtmo5qU4boIip3B1XR36XXNFMECsuX7nxtK7g - fDks3ZLh/+/X+P28/0Tx1CxZEKLzlfwfIS7DEytxNQPhKeEsH44bPA4yk8jHBVVlRsDLdAUHkEWl - o0gcarVZ/6nmb/u2OwMHaIviG6s4I3n1DlAInqznp0qX5zD8PFLgrO5OfcPhMAIT0XtXQamoIZ0C - 0V5anEkGQ7vNEdGfK+k0LQMrClJ/Gm/OcE09HUWb8tvlxGlZlKxF/v+MTRyrWIL+aecB5SjAatP5 - UkPloZX7n+MIMWC1VDMOqA0m26kdCH04J6ytO+5BPX9iKXjUOqSqyCdHgrJAQazLJwt0o3gvXOVD - tb3xJ+jdeug/0L1AKhXug4w/sT0SfglchgyVQ/DhlvdgIi1tjyQ0Cl6Eggj9tAiwljf6fFwTNuMi - EQ4D3rY06CNZTXsoYow472TF++vtuG4c3xj2XXtDAoYWtaJ7NbT9lfN0FNV4TXs5kfeyPoMSMkfh - HJm261pNOfinSG4Vfl87Lq6yMr7Qdur28M3SLBCl3LLGnKy0TRmlMoCRmAMiKYZu/wF5+Lly0ZIz - XZPHkqfLRgwB3d7JWDCbdrsWP+tDO8jzyN3htGmY2zjLUVXUgbnOnICWQ5zayWzqB0ix7joZkDp3 - efmeErRwy2zITIoRJXs3xw/xUxjWKHsDkjC0dd2/XCRMRwjPZAikBhz8l4lqnpyxNMPN/9hUtsc3 - 8Xd7f39HcEwzI8rYWIvHqgiNRY0RluuARCyfTT8cfjCFRjnD+7DrGbHHhxpMcpxY6diDoEADUCrL - wyTJ7eGrd+FzCvT4oM5twEWuU1MoQw4+evsLfVHAoqBVzz0J7hokJd2bbIzI43ike72VqWiu2mPP - xMbHStSkoEtkESBS1wFRpul4Wl+QR9WsdmHvyrYKhRXknxpCbci2esQzsix82ckFFda7YQSfBiQp - 1Vy3M2XA7qL3QFDVX08Lw7dDx4qCYpx1IfSJOUkoGujQm7pjiQ6012QUdSP/ZZ1QfGxzun7FAiRW - zz3r/LOPZU2qyAYmWqg6YkDkuh3RFrcZNyv6OcDIoiNGRMLHYHGE+WQ5ClDk4QdSln3/g1zgemxf - QHBgzTy/JHvqZDwyXD5nZct59cTNd/DQp81bW9jmls4a58ODcnaOLmcAC1qWQubT9vCnjjSs9uPm - QW2qWyNWNOt3m7T4EhHiuslmxzElZJu1TBJ5ve22kLQncO2gd3krL7V0n1Zlbxm/lQCgjH/f7i89 - ihkfW6KYCOElCHQwPTr4chCYttfVNzwUlUyG2mRWKnwx8FBbIJBsw6+pvywoyIthCP2TDxJcMDRs - 9wouf74qANNEWpaWgxVmi54RvhbbKJGR/vNtOCaBmWxRvO7qX6aLWvK+LNke9WtarZ4ZAUCcnGau - q5FqngEyEm2lJ4NI+GHa1gW6h13bFfWtuxYjmsSQRcrkvKVyTijPtZqG8WFNYD/mNJbmxXwLtCq8 - KPJJjfZKf5/tmoeEyPUQ9Ywga+oA5JNBdfwGtThQsUMhgqsJD9iVTYxNYmGbmGTiSN1+84x0onpM - WGoO3ascsPD4PB/K3ZNbJYdam9P2xDnyWbjPP0D9RD/JnGjHrQsTL5eXQ13t83E5bxEhhTGFaJmu - OXkgx4P1ZFif0cjYlauO90jIGZM3nPQivo/lECA5jUIvWj1BqIU2Th+1h3+cNs8P1W+X9gdyVNth - c2CANsdC3K2+hswQqi0ioUAm2mINB1ml/+s4fUcES4YVZnNGAxeWOfyB7EJ7JHdAASqUHfe2ozA1 - yCgfDegQLpdBgnm8OdblY9MePtLyJ+P+c8v58dmtpS2m7rXiFdkof6XvRVlsaXw7P0yB/nT6Ecgc - Nh9QGnYQtjU5LswTsmshQ4k2BeDfZGUde9rD9qFVwHHVn0C4ZWNAf7ELWIt0LP3azMtlPU8jome8 - 1VhnffgJKWj3+pCkgULiQT5hu+f+BwylicCHmxlKNCDXGmeGnh+aBjElxCmZ77b7HOTc7j/98Q3Y - vYSIs17Qb5J6IsfSlJAWLDTqYyS+1W63glborNbqU1VhGVgxGdVJjnmEMqB66btnzp7MUitpsSuj - WJ1wXgJD/Zo+Eblf3evmtFgdf3d1p5fh36gYtavTqoFOC7bcxiX30HJE2WwR+SKsTXaIbkNEEjvs - u4eaxom+XYTKYoOIuoLxrXzViLZkXDgN6nGUpWO22w7TBgaUtt20iOmhsSdZeiYPBq63D7KcUjt2 - P+jDhmLP6rGsppU8zNqizdGtAwj6k143tmxpdRG2dIaFjlDdJKpMfL90rB5vEdInc79oqjXjTg99 - eS4XRMW4rB59DfTg7VwzeK3SDxbMB0terbLzAPBaJPNi9TnJc8rH/lRv7tvhsDD2f2eybphGMr8e - 2jsXNEbsXU4pwzTGAEAtogb0m22LEjrC+yHzalaximPn7MlTUzwmocwuOf67nn2V60eC45i4xyWd - 5XxUfda7RNdMIGNsgMPRcgrlk7rut5jI0eHcB/y5LKOttMM7Wsgg9MGS4NFXFD18D25NVsp76Xdk - IabnUV4o8jx9W4FK7rlDC04baFVgoozdea4bcmCxLgCfQ4kpvTLHmmyY30YmxXXYjAfskVcpbKPc - crsHMIMRsBywBoaX5bXep7b/y5RnhyYo44IisNm+PNj9zeH44C/v2uNPNHLX3fWbzK0L72Q9S3A+ - Q7wKFDh7ZaHNJjFFsvj0cmj6/Nq+kkvobt2Zsq76I9MQE4GNkLV3MuJs+7beoJRivkRyizoaVLsm - JnKStcMi8d+xxEFxzyp/TeIYpIjJF3O/9of2gLhutg8eO3gHT84pHwrRBfbbydLhtAPIC3U2my24 - 8mzdgMMMWYmq9ISwqTWckmZBEsSEJHbw7fQ9XaH0UCMrG1lsajse5aC1HXav9dQ+X9ovbc+2Fw4c - zPxi5WqBMBfRyRMC+YxRtEzvsbsMIECqMrVo3enqhn1OGenM+MSd40QxtX792XK2XDcRBdw1r02D - nojsqGXSCastSEIkG4jOzU0wvF3aeYc+6BlS+nPT6CjrCNRNte3Z9x9fyYSH/m2D5onINiCofTUn - Bn6tQw1KvJ52skTP5Y0WqnTinbZDC0NxxXm38GJRrYeCYIjzgHIUvIvhwuplrLJqnMlVrW2AqKMv - +mbc30rUQuL1MMmFuzeX/Seip6ZmrxAmcXATYzLelfNZRpk573swtMz8gFG+XsfssGnTojXcb8EI - lTPHz+21izn2HHhgNxoKzXiu7DZe5esAYSh36HdYWvSaGMcZ53IV4/TI2/HiAlp7kjGxNmumKBrW - kAgxVNQ3SBaDBFDyGtxBVrSEWxBsHSNWT5M85TrFqbw2gXkamZu3g+0iceWP5/Ubh7mgBNZwo4Xb - VaDDmkxAZz6W+ElGxmjYnj9akLlvSoLOpwqsR9QAkJtGYyKr24mq2/Y9uR2a1bschAmvg1QMkJGL - zmJ68XmwhCV3sjsdmF52x1j2xhwlXEJvn/wFyKyXAYar9SQcbLLLwPluxjc65FjxYOkyhLYz62Sx - XJaSmaY95L9YZNr6pujK3y+StKflwy0tcBCV6B+2P5DYHnc7Vkjx6IpxowKB5QUnMmJmzqf5WDa1 - h9zA7gI5Fk7E4W35hSwwYoIqGEAGLsjwshj47/cTUr7XvjvW3TskzS3pQtSKSw24g4hMIKA7nL7b - RJLnPvaJc8Ms+/cHvrcpDeDjHRkrqK7RJ2WaNw0nnpQsfrxe7fp/E5d7H37w5o+n8Qfg+/A5ztWB - V0VtlH9Coyon6KT8pDBwf34/NK544Kj7MHXqGS0uPLdoQisdEXdntycPnaOBvCebBQR1ID+hyBtf - X+M9ilb9brvbcuklW8rb5yfakgk1K053ltPlKAAV3VJWcDksetoYnYY3aKEyt2YpAYhp0/KcC47o - PTnL2eFE0OM6IMss0Ha47NFMTrG8uq3ggHHegzYdeDf3WVazfNm0z9yJfGbYRm1TRQxEhzkoMkGc - STGiFtFDPg9r1q5yNTNNKZ/QTAWcfo6ngILCw4oFPE7czDI/lviFqGiXChCEcLcBMl2L1duHnFR5 - WO9/kIAaz9MzeXwgqoGWdqOURxVRo2YsTedyPsr2/G7YfCvoPFNNnLMl5nXYvMJPgJvf0Kyqi2MM - GQXkit3cjEAmnvn741D0HMFtuUaLoVD9BEECFATyWSUL8I8TPUnuBaqRiTBL5xrkm2jhls5NwkSY - tt+8Nc7cyrZpadRBguw02iQ6JiA4I+NvX9ru44GncuzkNR2Xdndh1QPNXzpms3y1YKbk5Ln3ylOR - QzSSJ7Ma/ryyrm0JbViziJohFYV+0Yr11elEsLK03er4EyzWntomYDewjSdDvfBGwLS1DrHHAG4w - Z/3Crfz/+lFIknjuAvLXa0xd1ZAEcGZAO4TItqlwZbKqVpajPz27WzMhV6Qj0r5/ygnr/eX5fRbm - rhnDmf6g/doEp27K3UYmY7m7XJiRY5n5nEMlYanQDDuxb6O5fYYoc9md4aH/xpZPvgA+zt5ClimA - Th2T5mqBzAzwLDOn50u3B3MmhjnrZVNVKBIyeejoRMYRACjaidKwr+BrYi0WTL5YTjHQQrUJtYo8 - gOUPBW9kQmdi7tjXWBSjVd45SlOSvyrXBxnjbnPpEL1GeBCPKOSKQ0hjwKtkHjQq5GTZoPZ8HDBx - UFVhm7SM2kID2QemVpunwgtzouYR4/oHDCY4qOZaE3OXXnM5aEjhZfTPKJBHloRtdzVHrr1MH7MK - IvmVN/2OSJ4DOfPKBRZQ8KGosPz3602fa8K58+fP6RfCuwRMnyJAC/IWfLocBY97QgMKxS3Fao5v - DiAAQEERyVfas9SdzTh25x9k99td/4P+jR0Ux1gYF9/35lClACacA1U0lvNGphj7cVk/NP7a7eTU - TdpEH9Ih3enMHYVoZ24c2bBKmtkj8TY3HioblKgu+vi6ahx3iHElFH7z62lzebKOnlPWPCLO48p3 - e7uc6z6Vp6F9aGOy250Q3ckcNTNp0W8oPAUTs4VgPhJZVqaP1p2HPw0LWiKE49HUqsLGtKdr0OsY - P8kyKr8v44ZVJNXslV+3FOMjpEJtRFPIMsBGWQR7d+nO8hWyOj9vm+hvYkLOPNRHQpKHcAx6zqAB - ggzhTWtorK5KQ7JlzsRnlJHQPDGBtvVrwzLLrSP/Hup4Pc212wWuJ+sq9nUKAflvrgNXnBkQ9c/o - j6t6PY2rAR45fH5w52+l1CpaJq1ChCQwuyAI1U836+GTIWPBB8HW1esqekAQSElCOk6WVzn202OS - 9IIW2vkmEuOirkRiENRVrCCumUaSZAG6Ybws6paq2Au0vskoRW/IKk6tvBbo1LVNumZ7480YOYXy - XNqTLW1jfD7JlGjeurr9+3n8KwsDuUqEdaP5tenOHIpFhRZ21tlD9hhDZix5pPn4NEp0RD7yx8uu - +mIv7aqFwUVzEvqNu3OYEuC4Q9PWYpHBUpJpO02vn22hu7EEwsKrwgajNPiWvgwwMLP//QqfY9s9 - TtZpmE7fN8FVDoFI71QAvR9Ul/Xq8Mi/P3+pw3+dxgNQjb7WHi+qdhLaQObIusaB79TJdoLxY+pK - fwdcZV7WdDJxl0HCixGJdSVtAXHZDe8PHurl/uC4WMMv9uaIxCaoYQGCW79W67pVUPuy466Isx7Z - PcFN7j5tW1C2wo5WBmiZa/t2HlaAg1/awxG8Itue0bLPlvPC4N9mGj/n7rIGMsgo5lpu8InsGiql - IzsqUcmCX8P58IPaxc3hE5kXV4I4yYda3Ze+Ia1TpIgYmGcZKfHQPiyhzYU7OUu/9KE9rc8sbKYe - 3p2zCg1Nya1FRokHlKPAkr++rQjZmaI4ab0Pj6HrlCIifg4AUCSEc9ns5PyHqTs/1Gb2wxqpFdYn - jl7FCk1C4yvAH2bquWzzOX5Cf54lwmhG3zxAa5Hdz9lie+EorLCNzPMe/Zrh7zTZ2Mqpj0oHV5o1 - 46iR/hdMnK7d/4CqvVrJO0x12zPimHB4TAQvd2niPfp62YABZBDpKMperXaPLatK1aO9l0yTSwGW - tiGnnfm4crnNQ/vxURvt3z8pyPqYbuqdAlPey5m7e87zzzkgu9C7wk7jCKNAO59jSFamVneYuh/M - ueGzxgpD/8bYwxQ5FHR/vG5bEUTtkG1MTEvzah4kmUisZzyn7bS9bVvBQWUCPWpTyYxx7xLR/Dme - juvF7kvrQFccC8vEcXcjw0uusZ/O5xKaxzu8s6oQk3AZIKKcDbK849vxWL2b/edOHuw5PG9PKP+k - r5mblENFoyevWCGeFzhgGrzMofzdQiExzPulvvmPPpv8hC1TKVMGCNFyD16ivXEA7opSzjqY8MI6 - s8wqtEIVouPmLLcy6+1vTmY/wEptUeVvlMkuhXlAOQrm3OcROFujcIn2Kb1UsoP8JG1irESGyPX/ - fAIz0eEvi2c6oS1y0dV36hp9UGhLAQFmDqIoJlBjVPPFNwTJwzkX7K92eH5vilA8nIBgFizHBMBH - 2zp9Gj0gZzFO9Nba0w8ybOfXcWpubFeDhsG3bxgIelkPfW6MAP4QIdT98Qtxez1226uyBSDVdbUk - 57iKRkHm3XC/8TJqeVWjEgv16vilpQQhGEcON33nX+vz8rKSDDx3sSJMgeqXsKxaB5E8B/BGr7kc - iW+BNgWesRYCkQkEs6WNNpr2A7p/GpJL5YIkLv8KIhqKEfwcNImualXgsqHthkUnIVpjv3nD2MCz - Tf9L3mo8/iASf3np6yK9NbralcZ43G9iWbntuQc0os6aDTXoiiI4d34/PE7K37s9d8nD06bfCRVp - J2ToiJh5gNYyI344Ds91ZHz3UcecxtOw/1KeDfUUBJZoMURjlobGBU8WJM3nZTHm08frl/XZDWs5 - OwbJivoeLq/Pi6hO+dnQ7+Srczyc5O2x9xAkyqXbADlF99QP+s2S6TFkV/h0knHpViMKYznzwtyn - 67r2ATFW8my5GpcjsjKq7qVv+x9I/k7DG+e+5gYsNLHzoiTcoL6MNi/AFUKpRlYDOva7lntTFigA - kfuqItyoGCKo5KV9pcZ2KqDZHXu0PUALrEXMnk20p20gs94sneWD4EH1u3Pth21fD8zbK4wZci1V - ZU5jpp/YyCmCCJgj2hm6fbtGBgD4He7s7ITEgFZIOQWImSCnF+dBohmwm3NfmAHRXU0si5VH42xg - SSYYQmENzjCCc6ixtYBZdAVRATrlhKQSrYpyHkcRLf6MqosbdCEcFSpiV1bRR3hX10imyA9ZbYZP - bqLoG5pMDm98OY2VQ9dVD/k/8MKdrBHkabwgRYMFSXDDLtm9kFwL1kePAZBW9jIQ1q0PtfklGyiP - j53eyHbrm4mzceFfIuIayH5YfuiWGweJXKrTeiSfChQuyygxJVtVo6CW0WTQ+iyvBYYzklfcnpbK - gOXxdG8fXN+CToLQ9KNbqvprkX30ASbNRdbjd1Y2vy49vQZUXRCQJMdIuyoyR/6BKXPYFTMpbPN0 - 7lAZCiIDFiS9ogWIgFq+QRfGhnsJamHu7DBwT1Y0VcZ5V9X4gv/PagaKG6oqwGrBin+mn16TzAuN - TG9Q3x1ZfmEeEGQdbj/WLy/VNFhtNkcu5vaE0BsblvX+BjIaXodS7R0Zi4oybdvDVM+9V6T3viiD - gRiF+phgkkrlvLBj/H76Wku76i9ojDlX5GV1z04rR26Oi96yygf2PhtlTIH96lh3+x6714Zz/SDd - PRTJOChzQyoexECZ99OuyLnl1owoAjYVzUyjZooTxrSDCi3HetrI4yXvq80bttjHanKblEd+lfyy - MJ+Xkb7W3bZ7B8R8pIiiFh4tbJKPdxwqqnJYH89oWjvLt9ubb5kU7eqWkKVG+xnOWzh2USSJvnd6 - PSYXrErwZOEN0oPJIXl6dwm8UCF1YTXsfpQx69AGA9seTVTuLlbpz0EN1tjA0WRWaUWQQhTneUFZ - s8mchCq4/ea4cNWkT9py31kV5mH//RrPh9pva4f2AjFLrx/mkEdfT4K7yYANmsExKMMEW+C4ouf/ - oN/WH94adBXnpnppibItITutjEXPeJTCyhQDT+1071GO3HdlHIxzSHRiBDgOIiO76bawK6lJUE5d - xP38U0LtaQJPBUI+sgLA1XRmVhlEvWxaqkpBHjlGtBgtrDPrhep2p2nXsCOjOd9xvYRD6xtDU4E8 - knJe2J17dVgPkMyOswlECKyuN87Iphnuc84xMFGyuT92b/DFwkNLPVqWHq0novc2zQPKUcJFPXUM - dOc2jVBrrEVDyRfRmlUoDLerFHVj3W966ADBbQLvIYcFyiJomME3cjwC0TOTZFm1zWZkvbr4yOYD - /ZkwjzJF5zbE+ShYfpct6tlRnZAR461lrWl5+5iYvmq5zaGo3+/4foRzSbYWxknZVCkMRMTzEhfG - gfjvZFXmu/OAtD2aGNJCN7oqE0nOWC6hBqTWsu5r6983QZgiXVSVt6AeE6q+LP+c8/Ikq1XYCBj1 - 623ccFt0P89OV5f1W0tWHF5Ogr6+FRYO7A6HB2HJtlv9gIMPDSQLv5s2spR0Rbiw5LKYwhDmInHJ - k+3aC09BOPSeWxJfF1NCtWgmx17HMDckLaxMyV1shnkXcY33d45w1shHKkjwYocB6UMWBtl2oEUG - z/NLN3Epw5fpErQRINwYkMyhnc5ZKd+KxbWAbAjL3YAeAQGLHgo0xLDygBc3txvORV2poNUU7KLV - LXe8R8P7iN1McZ5TFgY5dfKox74/oMQ7qUdSG5o0wGOyvBcmVQ7uqdptMkIZtNCsd+F/7Inj7wsv - ZsfM+FtHTdoZQR/N2QUUc/IAPGmRfR9ZQxAasxk77NIsJnL0sBISv4lkZNBhd1iv4Q/TdME+FFVF - fLMWajqWB1iu8xHFNF7HI2Q7AooDKynQaIFR8vWkUFT+48I1gInRD23nIVehXkLzTCvS7DvSSCsx - QoBYlkWv0UP1RvtKxqFCjIx3KeKDrLW0wdZnewI0N9D7aqzVqoKKmSPW3FrDs3uvJNbhz/uIqjkz - +4HQLr9fhN4vLd5QCuvmdqkihtxIbsJ2UfNu7iGgHMHuUh6pVBPYA/LCZhjvDZNCZiE5Z6upG5Cv - p/lAlpUMXrYyfs5AF4GxpPfR5NvOlrjay9OrL7X0kW2pl8nx7uSl8avzaY1nAHYmebT3hjf0N3q0 - lvZF8Nu4yyYCNSKhoa/U7/V2f40PolJlmS4CnSUpxwAepUylH7wEpZ8RqUcHF4t2YXU8ORrk/kKD - PtsZ40RL4bg+tbPSU7VJRIeyUh3pBdurEpSI2NruL+17aYXLi8AvVgF2dyA+nxrmHfOo8nh3fdvJ - qXLb9eHMXdAUDLqqJK5DiAkdNsppJ0TSh9eP9v/8ftxVfDg2gbX8gLYVmcrqJWpsxwmlOgQT4M6J - tEp2P6Bb9oQsYYRoEsWFJqYiLwfVKVYnpebzOEqWD+RgQEGyDVKfOuZFS14OXxjeOTTrtWQZn3dH - 2FX8DDYfSGswc4WAjE6umjFkpzPaGxhGSLJOBqdTYd+4IsroFxtOpK0zlAwjtFWEG+dpc96xBp+e - XXq/RNbIzZDXGlheg3Y7I90KDp+r0mkIGWxfUV1ojNcEtbkWLP6XNpEgGvqcdEC7lCOAFuL6mtsZ - LdvWkOsErWFnZ1nJIqYp8aXGL2Vn6ByK/PS1Obm3dQ91r9BVF7mtWZ1P2N1tO23eyhxn/vd1tVkD - 9qyCtOxdqlAy0X5PD60LVusyrxAMjSE+pBUCIR0uDMekkIW828NhIu8h5YYwU/RL3ImEj1E2slyu - wyCRQHeLhOeR1ZIVuJT3juhRM9WMoKeO83kjnBS033yg6/xcD25dtJWpDk6Tdxp5iMG+8Z0OkiZX - P5EZ/XqViLhw/nXZrgc5FeZwpCeNkDlSuA1Ugmt0jAQsZCMtW1KH7KLIlvY7uS1tx6lWUL3sBw5s - kVGgFa29qdZVCiFrw+wKx9ZJxFTbf77KC5+Op+HAskPccYLWyMKsYU14D3rJLfImSga/fR65ZrXk - noC0sq7kMHxSBIgyix0Xx0Qmxn15GeuGV+TcHpkwWaJpLi9k2dFQW8EvzIijKW5HkUpTCvMYurte - uQypQncQQCPfI+Vfw3p7QmIrNChesX4pAQ+1YTTvDiXPEGVstfVxLJxqWM+biUb/bgJTULRnuOrL - GIF5XvV/4LyyUA75sotUDsRKnY+GXovlNKTVMm9iR+A0siQliyXdymFpoiHakNHLsOE6/ChrC7Lf - vrc8X0twKselhhS9Buez9UxlQjTPyWRkn8+0ZaKRjCsdMP1CvBvqVLSjK7RP4QZW9KhETjQM/wm4 - cy7/9IsuFh7F9CYimWS4a0cZJiGAwiyxAwtV3WyXFioSFiFfSENzFbFnutMMl0zC47yLI5Slubo8 - 6kys2hUL/8xzw9/se/JoapiC1dBMjVx5F79B48jFQ4Psi4JUOUFL8tf6rf0AdIL3g1JinavUj4ra - sI6UKVkZmb2DYB0gjCMHbAbTKpO/+uSCcQSAy7ks0zhfrdq+9MnEdEBEPN4sgUbg0ZIRTzmUAXwo - j7cb33u2sMWnDlVTRCjG0ibNjZFs8duVkGhxrovv+n3LvYBmD/uuBeBpF0DXShNMmgegH6so/Tm9 - n+uq6xWX1sodw/HwuUMpspk7GN3UdRNYlwYq2DphAEQmpA0kj/QVvyHjK3DlaHqbBHOLXax7XCpv - q5O8Oc5uMyIIqiBfT+55VlXBGWFWbUEyjU+69JEVicB+ok8SeYt0ibRkypFfnRNN0KARkkMmLsuE - 2d+6fkJTpGvkJnq31OLPhLno77TEEhPxolD9/PR5nOoygMulJkY9ny/ckk3NZTm+ioZp48E/5Iwg - pwGyLM37gRxFaVsGouH9eZJjTriCLFlT6slkEfrnw8emtIxnCrhWVZIXDAJLdpnVK51MGaM7rZ5r - 72zTd6DjzZlOfQ8REzRDxWYoCTLPdEov0xbqyXVyJXHImSpTt3xzitYx3Y7L3O0sykI8tKUAGDrW - 43XaL5zAiPvQDsp+aJmAcTII3e+uxNXEsz0uvR+4gdDeKzrvmr+FTAprdTrLhQ7b/sQ9VhF4zMZU - cS4XFTaYhpshQ8VIJBt82U7fSMH6THCLILXTDr0J/m741sMH1Cdt4yFZr5YCpoQMM1kQMupoNdB4 - YWK0O3MsrY4oo389eFcqpwTfgs/LDMH7uufmIsUJQbPr676kGJrRQoUhYitARxGPYbcep0Upxf9A - 2ttd43mXIGchPliM6JxnyXSIp4sUFLfcBZ4FJ+e22u4WQKaVbFD8ELnoMzPvXCg4+bbr+8eI2Pb0 - xtQckFrBiqx6iqOTuI6ZI3GBkyBWmB849t1UxALp/vIdjkXoBWV6gsgNcIJAlFo6H/oJ6YeZOnc3 - sOhOTQ8rZHRa4vNfml2iSwXdvrcmQQLw13EzlYJ7LtFYZnEDYDPNPMvaSUnNQwSkSagzWdZhsBn/ - zq9a889sYv3m+fRjMC05FsK0hAGQRfn1u93tYM/poXrIgD2I+gO+ea7iVfMoydYyQQ+mYGVCiHpZ - d4psLe1eilu+KxaOEWHEoT981vBjuzmyRpV5zKtaDdYQ2RjkbXmA0UL590v3AKfJ7P5AgvvztP6o - Pq7bci1YehAqB6uQC3ZtKev7gZPUojkK16/TxnvPaJB/R2/DJa7qK9IRDuEOwU50nEqnj8IYSvfu - SDQP0FtLabRfmU8b4UXautJl1Z5/UCV92Dcpcr8YrpldthkFxgK3gMxdwpxJXsZJJpPNEAQcWkIq - IaQqRkv22rLCvgtssZ0wZ77+/XoAezoWw2ZvtwKfiTxeqLqYeYAVimZchg3vPuYmznEX1E+oY3Jo - 5IHIi4JHbYTiWJfXT7loS9shnGbMtftTuiWlkkPPHrLwKLWE78HNZkRm+dROezS/hB5yY0Ll3SBZ - ropKhFPzIIF3s5Y/gvdNtXf/3aG//EAdbNWN8lDC6/m0aTjaCJksE+uEvIPaLveXMXQQtQnvLlNb - iw6O7QqBYktub2OvwSFlFTRoE+i15aSW1QufT6j6vyZbCSjcRJd5TtAtKvZOZm0PUUnq4fzODcUS - d+WJdTqX8BHEilkCHGxQWdJ4M+5ewZ27AnUEwJb+ANdqkMuWuCdDsjKOyaa9DNztyV5VHeZRkTwk - 8rfpCmWFgsJjZSWDm/c3oF9E/z2zTGYzpYwCjyW7FP11gFTm6rj++IFi2GXsmlQE8BvyCyqCMBlR - 5yMq+LmETFR/egE5T3NoEyUccUk0IV8I/oLifoxw+YQy5acNNoQXxArmyjt7cyCTRucFtFixJZgQ - 5mH//TLT0F9YU1Y3LOZplkQD9E5nb5f59iwX7URZ5fH4bzy8YbM7kW3njlQa8R9CtA890W22cJe5 - bKIBGVuU6mif++4vPdq5bRou5qL6tTmtDjUiGo/Tv7iRdnf+wBY9sx5vQWjlIs0Peo8hBjsPMEpW - kLoZ2rGZw1koE05+OQeT4SYJMPT0nIQhtOPl/F6aU9XhhRwiTQQXE7pnzM2rRGTgoZNLdUDgrbRW - BIUgQiXn9gDAN/MBwPuaoBRpSIxrun/LvdxQ/qyXVCIoxJI1RX2QZSl1BNxEeGc1Tt/6OohrkMEm - nJwbJpd8sHM3vwjaP0K1SyWyakhmwhfTrBwqEhQ+tT8wvLTHrcGvm3nw5F5V6S6fY8hKzyPC92qS - 3gQog329iEcpulW/2vEiR0fb6Q01Y3OAJ5vkq6r6kE3IiCMxxwYFDCKH9rylHzNzBOLpaUHDTOiJ - 4kKph+WpGWRzc72euH9XeFibMfv4FH2waAJUBpSjYHWeu4P8QR++bVcdTEDZKwSFDWb1Zdidkdn2 - eZbqyKFiVUMJNyauKSPURUcR02A9nb9luCYfMQjdLHmN7Q+rP6VdlS6Onr1vhjQyGRegssQjlKx2 - YGh/0MZ7N7U/6Nh+PPYnJtXMrW7uuVGujfCIeEGzu7AWQTiX4AlE1e4VZ/epbxCEx8bHclQ4L4uD - je/tTv4MVrMrP2veO31THnUWxHZtM1qZ2aLNnB+j5mQuIPRvCapzk7VxtT02XNsJjke1ByPCT/9h - 9M0zkTzO5/MFj1NfC7v9rSNOirTjRDRSwI/mXU70QLvz34Jt+FgE/b/8Nk54laP59Xo8li7Kj5rh - 6ExOkBT1KuY6IMugTk/z/t/gx7Hbd8wX8qXdclwKPyWQcUDB1PMQeseiGqn2uT02WV/VRjKi1ss9 - xFqXE6pXudsu+jdIrjJsxlr7buzePh7zBvvNQZ4+2+9u4FbwEFhQv06wTsdzA+oMhHeaaKoqPfJR - jE+Ef2kEtxTx6J8p0mTYYM+E4wmVLfdFFWf291jP2stCUJfDO/PSypS2y15aCMAjG8STyPJRVqpB - S674B03lb6nonGYBfN5nRMnby2W3f+hgcuTUGfdkI1SWTEUVzApsa26UhwyaKAI+Tf2NMUCrri46 - SFllyDGxwLaV9Rvuj28TtKAznpfxtuZRWR3AUnAImliIYQnycvv25Z+hltvZnEdMpdn/9uFexK0i - Su+sK/E1xpNBZuFfCJt8D/8zfaAh9IPeSb+6ww90SC7DywAfDTWy+L63yjX87ykHByWxhgPLSsbo - 3p+Hx55Ww4N85eV94BVZ1HM1e0/LWYKcnubqQLxF7WTz5HKnRAtsy/Pm0pQOd66If1wflI8WxKHo - QgAlhSx+KZPF38KSvEv3ocgTczxAf3NOpWx+HTood2quP0HOwuvlikH/Iu+4S5cu7DitZBpi4zB+ - v7cDzqqo4VHxRB9HchNY0I/jLssGhSjnI9yGuLtB2Akhvyh7Oef3A0sKl0WcFg4spOG8DR5RXr5j - WWj/8rxiaRPmxtziqzFCmNFHQix5Pl2Oggfa7uTO5/Defs7Kd4jB61BtLFqFgMokXYLlSsZNvKxW - z3I7sfoNEnHwDwko7dBxV5PdxbzmAeAai6qajoQ6NFZCA9W6B/UGcrCQ57qK/FpZWnDzdv4tD2Ls - N++/MT+c4woy2rxuw5Q1KIuiP1hBx3EPN5E2w3p3+ISt5Z7w4U73pJ2SfF6XlEdXtKSLURZElc5v - fyrz272ueqg4p2J+TahEzwhQQe1GMycWi8TKUvkTWt1HCOSCi5lqfyjSBEJMMj4x7UmURZk+juuG - +wnyXaSwBJlQAYKHhGR+hrTr/7oEf0hU6vvXcxhKNpbBBHMUb9YkmIwAQAavdHanjRBzPJ9vAteV - l1lmgXXoNImtdNp0cydsvum7/h7kzrMmhwPYBzoBso5e+2Od0Nuu9iOSrHkWs825LiQiLzhBxzFw - 8yQvbKr2gQbyXL5Q0upmOV0i+k25hN2I693pKNJy2bz3eEmgAuYm2AVuZNKBA7Waazkd3uJ3UWxv - QFz6RuOc1mkgN+fXdv061ott3HRnoHf0Xmdt59sLc9jII9pTl/NKJpc4tsMzGtbYW+lQLd5OsNGj - EoX2a49+gliRX65iyUdHRceX6oUQLeSLCcJNHxAAxDYNoeb760GS0lsFGjC7QVrWteF12sgJJpdh - +9GwWpZWi76yigwAvc4UHZMHEJsRSmod14c/XC0+hzbQ1rrqtR5dyg7Pl+dm0LIZ+r7qa6S8eR82 - sMCgpDUm3mcPR+k0KopYkB/FUcLW65fz+/CXBFgdxW2n1Q/ClfdNSOAhT+QxVM9l2F2Q10AeMjUp - LiFqIPur0cCSEx9mbhoucAAmliZHTRgK0m7LFhxDevmJU21MRdCysM7msEZ1uruSGW7Jc2YUOvKD - fGkEA9UnUW5z/fFbvqbOfdswcRwNn/UClqCnQtIBcj2BfR5hc4XpuJYjs/P0EHE6HP+rcoVGvWUI - xpn0a8XRm9JoTlu9FBgEn1KH5APHChVHjGV67bsdK4mxx6PJn6/z2SHSLsdKQSxaIYPU7fYHJcTb - y4bbwl8fg10Q/bFDkhfqATxYxUhHWbRr9Xv9USLgNQGTLZoK5JbB1vF5WRBl/HxmlW9CP9ywFuW2 - 1YM29OZxWQQi0dzBCTuzvHer2iitt5sTqzzDaSGbsSwKor3e0+/jnc8DZCni3dhO964RwSq7yPxC - KT8gkYURIFmJNoTT+ZkQ5LXXj1m4JCVECL1eD1VpuH4yTc9h8/bQWHl4Pjw8zbnJ6xpYzJKHmJsb - TZ0MPNl+jfqZPJ8uRwnnpfsicr0bTm1R22M14exyFViOtPcTzC5tf4xQWHZ1AksArAxyn2MlCOki - IUk6Uxj+VihdC8f3oTCx7eTxigNaBBVJdgeekanZONk7zeXOCjXmEJ0RTYtu++Vl9PTPw8R4P63/ - qW/tYzrIock71BcVQ6wqTQmfi3C5Bv+/nFcylmSLvr/5WuGmVcyL7QX8HPLAEeZhJivZf1Gg4+MI - ehkwRAMR/VohV0UyeVxbjJivlpU9dm3/Jc9z2e9Yfkwx+S0tOVoO9pv2VtYe4gbQSlZ4tOvbf/5e - eZVRmp3+/tv95vjdjpgCjUGXcxqHGzm2n9/iU+4XQRdw3jXMCpg4VutnZ8sBGlTeFrr1wnnVzKik - 7UfGvz9spy8Pe3PsBnBOuexp9gQIiIJpSfsm+uSUk+UoeMH9W994Vq2BWnRVRucJ9HqbySZ6jzvy - Wij3cpngDs+lK/EmTUzAAukGrpMoiQceJMk+TIfqqZ367rkpDQWXRSsQSqDt0ngUWPHpLGP4kFX9 - +FYtlOPq+MPw1FmTAwXWipop/Yt+djHkJ/S8QaTPsZGxWSZD8jaglQFLHKEfSbC+CtagMJmMDQ2J - aJcgmpndaQ3dITu7Lag6WU4T7132AQk+8FFlE3EajiuEksyV0WQXgdcSdPJk0DLGQDwsymRe27Fr - H4qNTvsOVn6+t3zreETOfSQEh9ZHoQxQMo2fbjwcv3FTlPbBkqHJ9iG8pOD0IxUMOuqv58O6lji4 - bFYNUuBzITMQemWOvA1kGAwX3eMTZZz44/5Higabi9wLPWx2iEPjrgzCgqaqPQ7khesSqY75+8aE - /+Yaq2F9YSlQ2M7mWuJOngOacjryEaH8XE57Wfxo1Z+5HlI9tLqHBAIcKeOQUObzSpaNuhzbASwl - W4L69xiY4n4wwaALzXVAlgncXFaXax96jlhcNwhlg1eQGdIoAUY9Eh9FIbCXzXfyEsn78JSiTbnu - 5qlCQs2XSSgG+nVqX9Gv4SrhT1aiAta0xBI6VBoWVZQ52O/TtiuC8b7o78yDaNdHBSrE4v18uhyF - 7INXli+FxA69yluf94A2ZcmrGMJ8vhyb/xG3O/YDMLXmToYVLQsCYE8OnXe5LAfnvw0O/98uN1Bg - KdNCxevCnaHdLEHwGgnjxOp7wva14+a0kUP88Xxpi8Lj3MnupqYbHSEbF0IuGpMIPYjSN5fXFbeA - SsWLcJialSGOKWUoEoenOQYgig+32zX3brm+SuerKkdvCEYhZ8cttkCrktzLy8sP+rQi/HL7p1qp - 1iHJCYFMiD1A8H5+WDEvCfsREU/ygBU0+yH9Jkt+QztYzg3d7Y5dDQ3eLx0rK9Ga583oRvRzCSVU - wMbOlQFZ9o3Xv19PiDH6Yr5siLdZSmbryaG5LPY6Jk1YYYbhNOwWDby0r0Vhi4C+8YD/qF21UdgP - cfWJfNPcANPQiKUUGiqrlTUW/QaAVYMTCjVv2x+IOrabt7aoWTmmqqV7SZWFBLkCbzWX08IS+ndC - /NbOvVzQ4rUufFaJHj46ahBw8Uh6GlkivFu3L/Vk7brfXCBir15q1ZmaK2JUiO5arC8Uyn55eTly - 08HorzUeN5EMAk0oPIoor9MzKw4EJlHxwWZd395marvSVj2zJ2XvkwuNFq0nx97NA2Qxh99n+Wbz - sr4sPNC/78vb/oTcCSvSQgz/fg/oU0ZAJyK3QmArfCN5awglmgTBn/8xwdsHG3YeDghsRlaHW0gT - gCJruR1nafhrhK73Ydo39l6imOsAgkbvxQhSJhxcWfVG2w8Pmljj5eOVZ3AqClXGLyjY8MDRulyX - 6BPH2ES3Nl6640Pbmo+pB0M2kBFDe+jKCTZZGVoN5bywsda0aWu1r66tBV7H07hpzK2dAjQfrl+B - tguaIgnacQaTx8gyAasVuZvmGqzxWlU0IXJdoNXSlB4EsngF7dIPXNHh3L895HrHTa1FMf6gn+Kl - 2xWbAGVmcBmXd5QiWg+zIrqC6RDpWA397g90uH3jmmIOfYbbgSJdgoWpnIsyFardYXWQJ02Pk5w3 - fO4Pz9y6GB3mb9KVKSJMQ7CEAPR81jMz27NgL1Nnbx/GXYpzhFyDfehDxVcik5e8+/X2uds9ZgG6 - 982JNRo963dH7SvTEqJVaE9uWe/aWlk5UTudtmDaXTU3qiQwLSdaUrqcVzJm/PD7D+dQ0jKbpdC8 - juCGTVytMNcjzUcbl3VTCQ2rbSKTpniI/noyZnqGv94Oclz0Oh47zj3NbOZ7aRjs6BO2diwbNAAz - nMMSwdBxWv3zb1gn7a5bAVBfEcbdT0ByJmaHZll8Xijc3l3G4YsG16H/FD+/4fnwWXCltdC7uQuj - JI2AHNkYFcpZJVPB6E/PR/HXW79vXsS/3P75gwA1YGyTzEI2DJRORV4ccqZce2azzHPoX3qe2gW5 - 3hpbaThaTzZ4AhBMiDalb4UkFjfsJvkD6JGgY1FN05AVWrrfyOsThMKqTIx347da9f831hi45S8Y - xQ7kYrfIMCUUChNgw8dzN2lZW9D3idxAd1MUDzbHiiORaKlD2t8FwLSizi9JQe9WXbWw6M7koYX1 - pRsftcFuad/yg/Z1+EFRbLfv5W3f+mP78iAq/fuZqXnhlq3zORgEZaAUHfV8shzn77897FjR1aMN - 1412EJGsJBdaAVGX0+X4YDm5JSGtRfr88OvYtZv6cU0DASnHLUgQt0zG1ZVTEZtH5nkRMU60up5f - h4d8/ftUK+N3/bHwOhR3vGQpuVsREspK6A4IP7OwVVTzMMEW88G6UyDiNHBIl7YKbT7Rl9awUHBp - siWY31skg2+q4SlVSo3ZOWdBxWFlQi2sYum224dJf3r7nuiWFJTByAjPdTz9qrvA35mTaNHEykWJ - yivWwGftSuxMEkSz3ryO3NjZVFU26IgGIbqgop1PW2Gv6RYd9hCNyvNUySou3iWBdBSuMV8tM0Hf - CqNJu34FqebAHaPcMiyW0HOGHh+6J7BTEJMsVXzspyLdp/PVbdPXOkJ6VvD7DShd6jogYa2W1z5e - yN8k40H2HrDMQTbh/hjQtUKxtLXh/tqGhUtLXa2uMbinPQo1XRjil43B6Cy4J/SErfu13v8LOiVM - 8PDxbaSEFUtolUXww/7qjK03tWlo18P0QO05rvs3xMtZy5BeTLq7HhmNXZEZZZFmw0W+olKV87qu - 9ezfP0DhjvGBo0j4BvK2UUNytgwIWsYGHbZt92/w7++jHOptXvbc5nD2tAz5GDVpywDSc6tFx51g - RFCe/NGoeSo1tK3pWvaAthQwFCP3OIpK5lH3b8jTwymHsnBqfLwDIgtJLZOsuXrtOMqEWt4msAjn - DiwJks53XwMt0kMMRU09lyqfPA/3vqocIlcxJlRx8mn1eJqgoQ02kpM27b44HruPMzZeuDQWdCqz - 1IVDq0o8T40uSJqBthNtjJdzkzQX0jQpLNptOTBC0IfVoKWrgd63LHS1wtYTkKWCnqepQ2O4B/Ke - mdbohbILx/NPGlcWNgOIdo8ZUQObEqHdj0VTBiRZ57nNaTPUlqw9TAcWr6FdDP2Ll0kvcJ+1yhkN - Epn3DC9L1FTl0HbsGfm5tPp2b/Q/etw6Jr64KnJBMgrQ++cn4ooJsPbWwiHZgF2IZhR6uM5VC6KG - Ld3HZ/Xg+pG8FYxIM4GLnP5cYQAyO6AgNBBHBY8zR1kw4M9p2tTgdXxvTyDUXYkb2l7vN3hPF7Ne - OdCPI0tdByHD8YN7CCJWTCv/lgmI0UeC/ZDKKGwCbtQlwmn9/rMuLNoODw3rzqcV1+JmfsQueV15 - hJ5wpYVx5wib5op3gWsLuVDLUxtQLRprKwcafQYN15twxwIhBbCd9m1jsYrAfnNmQbelnYr8aQ/S - JisyGtkqG4dDPUNf1vKyi27b1Sho3HfDD2qWL4fp//SB4Z6Sw4qgGcBTo6/FkIrAoeIaiahsOZ1l - z2jVHyCN42j3p+WhF110of1DvoEB55IH4Jiug5fbJdo9kptCW2/k0x6n0/evpDtsSgdHje5Ht7II - ZgmTWUIt4K3Do0hger3pMCV9KCKO96/pIP1MYxI0Ioros5Xq5r8dxC9+PdL+YtOtZ9eVm0TPD52r - aHtB6L0MoKOVaQK+FlMFOQv8W8ZYDz5CBMQ08+lyrBzUDJ8Awn/xodAUHlZ0+NP+Ok5HLnABLNHN - VRcBfSzAAMvWOybp4DwOEjYi+xNzd3ALubf5+6XESYiUOVjAG8l3Ejj6CWLfUAv7H6zFt54/Akrj - hH6XUxoqwo42Ks6hsLsZhMTj9ceDBNRzX/sx6/2+K9OdUN4N6SnI0pN99fzxP2l6uu1beUJpezgU - tbDU4H/lq7kI+KtZh28+WY5N7SNBFpJ2/UiYA1PmD1wQSNpAZjgsNbgyue5eA86BV4S+UzKOxXCZ - OGj19W5n4UATCPrzQ4ddFa/h9gCKXJ53YbyiWjYTCpLwP1jil0aKFCcu/eWCdx4XKcqMsgZDVzEh - lnNZ1qBw1b19qVxYwXZKn8lh017++asqHXl/Gm7Sw6+XE4RYfo3HPRL1SGJzMMQscpc014yzngXQ - EyvkioziiiM6/qGZO6Jg0G+BBFa+DsgyLdbVxJnDOTXp4r35TgiGNhzjTCGDsksjo9msTuuOI6K4 - D93c5BCVowdEsAl97808oBzrRakCon420VcJ9tfp/fKBaZp8g26UdfBRO3KvwT9ibFEm/H//wh+X - zRugYiwRTjThXUQGaOlz5h3yfsivspCjSF719SxPGG2PI7ZCei0Jsb5FRa1DuJJgiWVWuQoYJgqP - rD+6YxOLVBXO61qZQEPSFNEXrjuNVnaR127Vn+VP4fx6+ssKNk+EBxPoA8DRm3MT47WJlTW3ptZo - toQKWqvIL4gZ8XoaJ4rzrscPjsFWOyeWF5N1dID4BxZUvWF7QpJFS1CxcpnkGV7GiQlI5kFSKSnc - s7KOS2nKACH5ZDeBog+mU0pNiOruJXu6C1qF5Pw0pR+gULbrNG1pZyCgzj3ZF13HU3oKtHlYz3ZI - gz8jEi0Y+x34Ia5kgL25C6/NjmggKOhAMAkB1WoySmH7OcKIsb5rc8syk5eLZvf0HzBOhlelkXHi - V/ScYhF1bwBAbvcQIBphIUmCPsOuDIoIX9cKRNAQT6xgVEZUJz0922xszHCpB6hjxRLLIk/J1o57 - hvpmYgEtZEdkZefPw2bLkv94uehs41xFwLGQg4hFt4C1AURB8d2m674Ld88QK3MPRaa3duOXOuHV - JO9L+naYFoXHkgj15lv1es5P+Wjx/muPB0l2SzPN5F/dJ5dEIptvm1srL0VwEuW6ZBqZcORiOQji - C4fVl0AzPIN/k37YH8813XKz6+WPCS3F5Fvpn01Xf5f24/TRkFdIwN83RqeHdhWQ+KMpD4FCROGh - Ky7YuQjzRwBhkMuu/jQIswr6IQptQ7ByZVC5Ow4bFGXrghoBRattB0E3brZu2BHST0FyldN5dUBb - rVloxtqbilByKDwFo4t+P7FCLno3Sczde396+zf5whE0Qhu4LwE6F0S1fGco6gueBfUsBEplmr3b - qW8CAD+AIVpLp+qpkiFJHuog3CRY1jvriHoiwx0YOSl9i555aIN63givA4ysKnHz/gdh5VmWgCaC - fdgI8bC4XJGbkSFDJfLCpwHIc66Zi/cmUclB2NrT1Egc00Fk2Mlm4Hjq+8e07nk6PaRHTrsD38Ys - PBLjLXGERNiTd6h/4S7sCNwGWero8iqXhD2c1xto/c9f0N98mgRRUfImjXKhDFCy/qfT+HcB4Axu - DLdU/zWcT3ieHLUpcmS3VFIySIIHR0ta/Si2M72fvqTi762/yw/GfcutLn2q2B8Z7YLJXwQNZj5d - jstvEQJKNZJhnd/lt6BnCAfWE6xwv479aS1vnjYdP5BIC7NYontoPEjWB/J2nJPjjJtIx+qwHrfI - EoYv7r+FMgM56FyfUgYkWYShvyChkR6vQMYGCrkQJM7lvBUmVC/j7uFlrw6P1SPd+h0FY9xuvEH3 - pYpS5aKnbTGg6paxKNqmiCot/iwogw9RYsTuXEw+/Brp2xWSLRKd3JTqLvGrAllHZVxkzVQdyqhy - E2/T21SkJTx6B149MOsRMFJwwnDWS9UnLmfIJHpudbmgtUVvEPRIWbHmNk8FLxPQGPabL+G13b7/ - eDCm/XM/q7w7EFVvc5KOKGnPFt8QQXAvs1TdeTtyvyrwPu65wuQTxCTR14ZLbgx3fxOVhhyGU8MV - o3OlIrJ39wkHFiNZ3Iy+HdjHnZAM3E+9PDL5+7wV/+70ecRmYmaCvzL+ii5DTLSaMlS2Gq7jVTIe - 8Qs0VeGzpbkKU6l7LJlbJys0XmWfjY9WpPb+3l3+IIKFkIBvrlVl9NGQvtEQzPDz6XIUmITDjqb8 - D6Tchw49APW1GrXivYItqDiiwD0fo0w199itsb9w5Mo0iVNcS8jpmDxGQ0qVvPOyhhfjM/lPntvY - kxOu/d0Cc3N7sowqo4u8k/Zu2L8eGxewMeMKyZqlkcd9OKug/VbSLS5YWQyOnIU94D1hAia3K73s - 4Q5eugHLHY4ClPS8jKayGbhfNUSZwSO+XoJuAmllugYUx+cB3OJjhjmHn3RWOg3jCUoffoZm9yeY - CAg8GbK9gfelrBqhRAY5Hy13lCT3pTF2Kc8HshLSe34+L3U+xsv+E6Evd5XSuOsmuWTp3dsUvZlH - GCHR53nzyaEiNwN+rJLqVoCg0s1AcR8XgaEdzvLA9dvhkzXtVFM6txmnqiAD2WpaD1yRwpJgoO4J - NtPpzP0bM5eJQwh0udEBpCKx4TngKWvtOXQHLo6b5bWtMbkyUDSGkHjAUnMspCMq+Gh3uA20mYNK - 6JLfhkae0UfI3HmUnDtZFna33jwUh277acXCP0Ws0djSA+t+Z5bD6yij4WCvkfEyusPqGUYC1ImG - JupCOhzywlkFuMcaSUQjpGVe2v4BcL90h+/qUVJO0CVUAcQmFAS8QiMaDnLNySC4Sd8nJGf0fLoc - 75/ls09gRKngoBtVlZLQhkWmw5hg46+x+4RmaypYJd1gbXIe/PtsSq+OxOoponDKaXpr0pV8pk2O - y9JxOPyejBqoSGRokkxztN0d/6lhcz+uBwYliEWZO0b2SDARDHOGMYtn2p3IjH7gDRp3a1h9l94x - FmqI5JCCOM0DyvHB7feQnFf2f3FNLtNqPWsw8ttZMrDxkR67OA/wPDdFDatfh0NTKDGG9Qpm/zOg - OQQ58LY0PSqMGZHj9PvUbRrWpkdDlLBANnDUjYV8FSh7UG8SxVq3u1Vfh4+n9aOHO7733DEbeVLE - W1XdVhWcT8XWjQWktLDr4/mZtYe5sXjRtqtacCnyEwP2VsUcbbxEJbnht/4k3/de2nWdIeUmRSxK - XfDAQhAdfM6gXVS8UwcufJShQkgogTIx64s5E3RF80X7BCiM0RkWbbFZJsIHSVDyuFg70OFjcl0I - l1TOoGwozpbRd5GJVZBX/thF7HR+J/DMawQOnzbBVAoEBIKQFKIxXC4F+yoi2naXZ5hR7ESla8cy - N4IWBfQoEU5CW0sEyYXY6v0dVULqiXmPFUy0iAEqVn3SZYB60DFWETL3yINqz1m98/GFURA9F1Dm - rtZYc4vOQM+KCTo4iLqRrtaHSjrr+jVUQjdSmgMgZ5QB5SiYV+tJ3oPxtN1/UT04do9qJ+SfQW4K - 1Hvn0pLuQrjKu2CQWLEAOUhci3iu6FisruFMAlS33d6gBCVqPRfbcEWebF98PbbyAvv94Qt/o1+t - X5mTNL/Ye4jUeQObRL4eAhA8go4iAvDbsaffdQDgjiH0cuEiYE1gnQdkCCsJAwmvIIlA4ksziCYI - sihDyminRK+YgBZBOUgMZtyQ4BGiqO7/eP4shI6Os5oLRFkAxvuKxoVFzMrVmit5tbAj8/YhrbBb - HfpD9ZPV8yjn17fHHzADNqdxB9LUbEh1CKYmZKbITakjuzXRyiQfV92PBFbbHRphufkt3dwuYzyq - mXwiBFjOC/fLbn95UD9avY1N4PRTkyrtAALKmcwSWFoI3QRZBvftfHjovnnstnBOMROb6wugLYbm - Jv1qtmE+WY4CB6TtukfrO7anhyYF/W7DSeniB+UbCZPmBBohZBsjS6KYMA8T8KuawLrH7AehO2dN - aLT0bMm8BCjuN0HYevHwsu65MNQtW84qkDGxpcBb4JPlKMBxL+sdTBNng+hRLfuylapTCESXASbL - WPzv623HEBnOKNiVS/krsB4d+bSshWs5o5yFVOnT5mFL3v6gp+LYdvuG4bxu8oLqEdFVI3AnWz4r - bN02Ht44wwjCK7bunFVYOIPYkRS5GwEpGbz7xNUH6Uodu30iZAgdRGZ5SKxPwnGJ9LlIVm9QR4JC - LXZjqphIcoH+DRhAb8cmGTvh9+vhoXXhoT/OVT51rjUr5J2cxqL8SZXP/uMAUiEZTHTmLPmR+6wi - kEiAwjPtEHrysigWOmld4CVl/xgWSAE9FxUUMK4DhIu82xVdvICADciMd81ba1ER5ZSD1N9VY8OJ - NOrGH6Rl+hc0gFJXvUBzewrkSjqaVvRKoy3n+VBmwHrqSndphIN8vpuWFGnSZae5K41GKlwmAjbu - WONn1s68Ne1VxnPSkYBfZmUGrGLhtN4dt+x/ImHfoP/f/GI8OFgEryPjWFMS/lpGGWgP44O4/fB6 - 2LBS4qMHlDzU2hzBesgA8AAjlLcf38exRgrn00YehlitXq8lCaiDiXG5HYJjQ3MFIaFSy2lk1LVu - Rw8qXKsI4qKdAcELmoTeaghx0i4WwLQSvIphengVY78ZFo/p75biAkHNWZIg3+pYU4o02X2kV6fL - PBd2xx0+ekgZw590cekTo0F1cCFnl64D5j8EcIMMkbYoBEGFdrZLTQN43miFiTpdpkFK+ckAwDBn - SO8qW+VPQJzijJgCEhCy0vft2IOWmFAeQOgu2yrLoNAlAGJOPMIK+yxsT7sd+mpBkoPg5SJFQ4AP - ok4GLwpbspNRgderK5oBa9DVOzv5c8YRwkS69MlXJ4HrnUEeyv46DX/IWeGORr4sGbfYhlFSBXI7 - V+Ez8yrLkpwfl83AXdJm8paONYxUWhOUMVyzzkcRR2I4oA13uCoYRxVt5W4nZVJAF4HIeglBlt8j - A3AoDUMc1NSuXUVU1BDLdAQFPfY4a6RdRZ7HC1pJhriQGvMZ7inaIidTzhkZe7P9s2qRByEohFXk - r4goWtqbUGEFLlE5j6OoV/Tps0VwDwE4cqJDFf33IWbjYhHTFSYOL+2LnOYzbHa18u5m5GA4pN6b - ZHNNL9aEEByAW4EIQlrNNI0w/VBbBRK0uYr0EdiJCESwQL6VgZB3qDVLH8l7+/bFX56G5/ZBPOOE - BFtRCkFqyNn7Eia4Rl4Eul5ihFfieGV7nGjeMdcNGIEQganq33IO1pO1Nj4y1PVaVjJ0uUwgYfLe - AqmjpWB3eALhCVkrHiCMAg3b4x+W1ohgrpuF7qPy0P+LycGsFrK2sPNiO9wqbMo72u7BokzqVm01 - m4+ok3nS2Dk5dp9U6colmWdlEsww391i1jaATJp0dKXYyqR52PIa9EXAmQ3kunKS4LLuzojP27It - xIDi3cXqC/SFuXmiRq6QBsp612+e5V5++zGi6ASJBsID91LdmWjx/5H2ZcmNI0u2/1pFLYCWFvPw - CYITUiTIBCBKyv0vpP14gCSCqayu6zLrx1svEeIAxODDGXKk24sBdHp6luCU7EjgiQN7Y5knSben - 4gZQYGgiwE2YKkbW8z1NazrnD9wgv1mWLQ1h0SPJ8BbnEWycLvuc44gZmIGYvauoR0spNh01KDSU - i0qIbG631/8FzEVhhUb6n6PR/mXbnk+84BjdHqu5Brs4pxgMUdxSnazCtDsPT5pD280O9mmzk8yN - zUtpGnS/aC0448t1JzttL+MFshBRVXgRwOLohKVFyd4JUZWXv759Lnilqm5Eb0JJrHm5rI/NitXe - HgXGlAACUkheGGNtVkI5uMvQTwzYA9853isAiSKRHyY7+gR/Q/VJP+GynmaBKzyBO+7YQUvGU1oI - Y6mbxJVIIK3lFhaoLBk5y+0R+AzBXbpREHwqF/lV8AnnZizUj7y6RVPWRtYx9zhGyjUZN2Td/lW8 - kJ4ybeqefkRyLF765JpwbSBwB4knzqLuoJt7TO8sa8/SM3RGlm5fj5vvcDkvx5brmvdeol0Cymhf - TyZAzQjgg8xMNcnzOVO09MSs7Hdy9eG39QfQpHPP1pk7iSsBrQlJG6VuzCSRDm13ue6eGCKX/cQi - N8EU3ZVlrTQB+02ppLpz5oU2xqfP8xUoVjpaPJaiXzLO8Z7acK2U54o2Mt5xczxSrnlrc+qHe26E - q5sHqJDN0XwsxtqCxHt/6FbqJmyw6E9DHpMOaZvYbB1Bg9Alt9scr9gtKLZAJeeBp1bI5ilVhpY4 - rnN6L6r27in0gmrFXBrwuW6BK1q6Fsc4IwGdUMFg99Ge63l2+IQbqC79TVhKLMBhCkUIaEplHgHB - fVm+1W2GK3sawBvnzmYJHod6MkqzF5Zm2wORdWJzfRthdHWjs7gHY4/enn1iIW0b4PMlNsQaDheK - iJF88B1aWoE6cBBQzIRuRoAmlazHtIabrgl3A7H7RNYeqg8U3aeg5gHlVbCBX9r1VzFbdMAYGoCw - ORcYx7cqB/17E+99y1axvFGFuCxAMsmaQxIPqSgME0Vx62ML2bIZL+8W6tG+2JRmANn5Ol4EE/Ta - yi2p2u63+G/3x+1Wrkb42rRH8R/vYNVwN9t+6DAHgya5h/c1ZOCQicsw19vt6YokDEVGxmMqVTVM - YWgB4GkZ4p1MCnZ/mesGy34SpdeJViLlGc5x2SCVQYJVfzmckOnNNIp0r35TKAavQEqiwuzpZWTB - yv4yAE5Y6AOUpNVpUHSJ7lWYByB7EpF19mcYnc0RDIRYlpuXt4xjAV0fBCdRCf90alG9ZE7iKmdX - 66QY6DgikqAROKa9lZUO1sfX9j9sSet+s+HC103W/l53cRFnjou2ANaCnofJGqxvsyC2qTqsOcF5 - MSMRMPOAL3WzWerQQkbo6UPg8WID7Zv0ew/Par0bDsRmawdKCKuKuqE1qzNHbKjTGVmn5LAZzix3 - lmfQKTSb7rUDBSKeVkYxNE1x60fEQZ2mbwgctmfAbDTSRCw9V4mToXMM1XImoLk0uzUKEBKHdv31 - dKPQn+K8YJKL+eXYnfv/Is/RvH4DwTq9n3m6uTnGoURp2ULyNK3RlWDd6QBxWdFu2r+tN3es58rr - W3KWnIJPuMuO4Q5sSWFk8Mjd27jm2cWegm7x2CD/n5Iqv4Evg/Ij2FHX61f5oTqM3Yrlr1B1Cktr - VTj1eEcBEl2P6JaI2E7d8L5hx5Kb6LUxNboKivi2QD6Lw4nIzO5jkocGDZRzHE0pzgtDSLHi5Wn6 - r4T41wXmLDgjg7I1181HIdRScgg5noprCXEmw6cSRL5kxtFANBUtD/uMaYJfmEMI4nW5noWTbTh/ - Pjdrmuu0ZbKOguoUzoTlJk3/qRKa8pGFh4Rxz+XjF3RZAxQg9Z005gO4+sHHgI2RL0chlabp+w+K - mrCvQnrM53oOOO9tAUjAdFSk83PcPWxQyo2bhmsPJa6ZTG6Xob4DuMB6pXUZoWTh1um8/6eByiEw - BrSJ+RrEF+nWWVQ+S6NIJmpJ6cSFmRv5CQwUaUaj/m09s5RVLi/lx6/hWZs5XMbivwkKZxMzAzng - S5+xbWRZLwC4GDn1et1BdRmfTOFuvuv0G/hBKuOdZ9M0lFksg/eq1cb160j7GhjHfz98dv30vJR+ - 0bmHgqHn7juFN6mahYZCkciG2vSVbADpSDDTL/2zPkvT71aZKfRm5R4Vv2KyQX8WYUcOS8hVtjKN - j+4nZV+QGozYY/USuMPdW1pc3Df0xabSynTid90elWqFCg5NduWXzGQH1RTjYIuAJ5dkk32czj3t - AG5Owe79eueC+5GUo5+A7MvZMkhwIJ/Hb+TI290VJW83o0EjxdvVFMoZizJz4VyjLC5Cth67fkM3 - UBWSuQMo9P4ZKFH4ADVPBp9HoU9Pf66NDHabfgGcqILTHCBtopSK4WVcv+3FN2/dUt6oiqgqHQNx - ictiQLvxMGviEexVK1p9oCdndGJmp7H8JMudVEoQ3OIdPwUZaa+ZTkN1/8a3b6Qf3Xr6+T/9MQd2 - js7nGCkC7ls2hdMcZC8QLoGWOZ0Syfnb9SBDIoyXt2dzSChGW1bzWUH5/LHboDWUcyq2ArRMwXAT - hXN/ilp1+3/alblhLM2jyJRo1f2AqQMLXWDzNrII73Q4o1k0ex36qG01Q7OBaCAEjBQD5WWV3+0J - 5dZ4w8XfzR+gigk/zwgEBcvrlbqsCBu/W8sD9vbLDTIFi06RyYE1/l92220NT2nb69fNvJgVZGG0 - j6ZIR/f7njn0YQWXGlsLCERanyBD0ADLBEktEg9suqdo8HrurytaEkCcFDjKrahEuw43NCNE0QLr - sgUrg0I2HRyZYZ2FhI+m5WIChR80PxO8WsoAinVEIOj94XMNKa3EnVnt7zIn0YMOoWMKaMmyCAR6 - YqJe3tSsSgcEN+tOR8gJRxxt0/gANGCcLBvYtLt2xXZ3aUX70+P5hwRfzKQYwU2hSpCxe9/f9t/Q - jtxu2c4RgdIq3gGOKQVYEGXDlt7lepLpEO6moQN+2upbh+leGYk0NxRFVgzULSOsDMnaneU96vPb - 2GCbs2WtuGVtCEdoTtH5eYBTspO6nZpxZaO9W7thBj+d1CGgERQ9E6VCkNFEDtdGvhduTx877iSq - p5SfQjCPxWYDzdUyoLxKToRxgS94OuhpZzIWuFpKI06wE0R8Dz8uUxsoUITsFMXjjpetszIn3una - smbGjCJLrkaROZcDtjbLOrZGhjLcnXbcATbQ57lr0CWFTTHxn3ouMpQxf31/r+64j9tFEGcxafxL - d5qgUTL3vw1EfpcbsYXfCJioTFeRAbmHdfvPew02Hrv+WpABuvxfYLsWCpx/JDBgUYvkq7JdrTs1 - H4jh5p9toBe/nCgROouqaLorDvZEAj+ntmENGpjnrhaTjNNwSr2tmS+X1/LT6asNzEK9KRimpe0f - ULa0Y3g2MPV8tmeR4mh7eP/nMvwEXMxDUo3ikccXdHQLYoDFFV9ngpQweNh9w0Cjab+ghyuVYdrj - fYAof73GsY+qRLMDjYihB0gT+l6UCT0q5hleyfgktJoCfhZGYRIglEiq+ioaoWT28xs9XczReJr+ - L5d+dwG2wN60xrlDu8gvTDQUi4IobyIbworqfi1TbCykR+/NTlYeBT5IMyrL+3mMJDO5XPiE9E99 - 5xgtELXWxUJVMiyzB7SQvTWpFzEnBbWOzRjMHfdzu0inm6bbpRJNPsi5HpmGO+f/fqGCF1EqpUUe - ihm0nvm9gjR5gF4r2gEQN3LpbkhBxy46cSGGghdGriPK57qxvWL/tL5uNuL3AOdNeQh0KXlAeRU8 - mcMV4Cmeow68b78kBQU26c1cmuQxerYE1izgE2oj3sfH6WIt/LfrL/047VlJkWYsTW6jqs+08MvG - hxku4RtZYHV6BadElTY+PSNb78IKjTz8Ex1odEpmYSeg3e2uT0zEy+saQF8URNXqod+jkodyrDb4 - aXw9y6QctpsebDXzxPGFmSitkAwjt3LdyZLS8d5Ems+Mz2G/QsGAZjqFLLEGdCRazBZqjgmfBmN3 - UYG+aX4tKjX/Apps5N3U6/sZmRYY/IoiMBgQVRqpNEVY9IDGRH6lmT6PN8t5jI5BCrCZwlVo0Nak - P+0ARwwvu+u2upHrczPBmusWoD7IoVD2dRridWkeUF4F8/F0Wq8ekeEDTBa4sUpnlZlbNxZfXXDo - Tp9Ykgg7uLTqFs1cyCwHlyw6BTfoiswBfX/tS/sPmgH3xDMFlK+TA+FjxaASoW/UYfv+F0hJ0uwT - bTwF0PQ1UODNhXjifH3w+mhixsRnXQTwzEU0urGVS+ms289LXT35eTjJZX1253ZkVU/LJHqTKxUa - WhwRhhkQGQbsTxYaNuut3MuxP3YTI09mN7Ool9xSKJsHVFXYly7OAyVwdfkWczptEFDoUpl8ZMop - RyjZRgh7YoDhVy1ZgNN7/w3h7mYaXrkkjJpR9LEi9imTUqRHbJj7a7gIJ6lLdh8AK9tYFD+qpA5i - X9jnGFcM3a8o49lv198p5G+GVQRgBoyWx5dDAUNBIdmVq/wiYA5M31iDfd+jKqAQsazoLF8iaykE - N9AyZDoHtAyN7AueWySoisPsJ/B8AEvMw0KRLT6KdYyMRTqOzZNGw27YMmrC3KRAFhrYCYBBAM1y - LNeNLNO4bKdfyKkjO+BS6FoHfTRUFz1NbtbJpBH2zUlesztu93JZss3bNzTNun73yR0mtr5DY8Y9 - LX8KXDJoDol1CISNk/Xr+PkdttD2OnB/HZqAMKKt5YJcMpp2VURr7G8uSqzgsvzk7oFi/fIftv3x - WsBetIflB/vH0nEfHN0p6A6wRrasO3DatcxktwAL0W9aiqCzJmH2LPnN+N0gA92dx2l4Epl7/5gA - vdaKt+b0JA8fgLWgA4pG0Meyl69kCX5ejnCFBopuRTuWy1UFNESFqihKFUVxTdT5aMC4lE6x7/zt - ZUu/TrwEP3/PBaGZBqkftyZZGJAxphWiD+xeK0pJ++v0xBHcb/tfz3I5SI5ZhIY7GHOEDSAx7cOR - UlWUM/i6LPv+ediexLepOV7PcvDH2O0g48DYoTvvDKw2Oi0tnTBIfQwkBUTamrvdtK9uZTNd2/8C - BD5/HNvih43gT6W8aKdCjYt2FNgu/ii+BEq2Ji5Pvfj1hB4pl++BtPC54hl4QxGfc/OQIJa3fRvY - 4AD+uJQO5eVeRos8BItjGGYJkQXzRbf98wPIvFnfzdxrEIbBdYk2TMrOYkRIHb2M5dpdOkryODSH - Ea97/IoE8F2Ex9PKAeWP+EuU7R3a5htovP0JVlgMMAVM+56eMQ/ch5z4nxiyIER/7k//XAb47hT+ - wrJGwcTNBKqXy/OA8ioB/5z3wG+YuaO4+CmzD2PWyJPKEEjrSXpk56uc3bVBocbeuyT3MNWGCBvM - rKzW8wDD6vlluV2HGsfYf+x79osyrPCfra4whaitJ+ivcQ5UfFtEGAD5gXSBcGn1lUdKsVO4kU00 - 7RuVLBdCIHDME7Pok5dVqa6nLbhJtN3AgKWO0uEfmrIHaROPXwgCP37sBqCxwTYAo0UvdTtpuw0+ - B5PmEZB+ESUbw/jlco6J+xGWze/+BV5w7eSn3DSdECeAAwnLNhUW/uoJwNFgINtDQ3JgPRHJhnCd - uKILE2XKNtOy8U9PXnsDrWoaQXFKYqDQHx/hDXDp6ouPoCDQ+vDSnvu6Sjq8jYc1k50ZdwSm3XL+ - wb8Z0lVsDOSybAd6Y6S+ASzOxbDQUELsrZxRqJ9yKRtIfUl8egWuu4rB9vunRkG3Ph3ZDUU9E3+j - gaw0xWBBzwPMH/ZmOPIoSoSKP6O1mv1enpReT++QZcBUgY2ve2C9+ZY4+k/uimtfuj/iXvy6L1JO - PoI1XFuSgDTMek+QYRcymc7Xaw34PI7bZlXsIVGod4/JFEB1UWCDrNj5NshkHA7H2dCqIFkzTZ/a - QiAqClG4mMIHt0xg5tB3CKBYV5iyY1VV1GgdavDe4OrGVlOitOG0qdUz9sN2Kz9YuvVllWzJdOiw - WKqMAsQXYG6KPYPizphlddrp88xS+gj0H4yOmCMFZ2jYsB0IF4KFCgaHX0es/9k8xSR1D7hUgtiU - c86m2wgnc9T7eRonbGYA0lBK/GhIKXTA6SQxNHXn6+qPch/vV4Y2UleDFZJLELWExFd82QNYpdON - mGLu4TmAnvTGijZxfRsgbDsN29+rxC1oOiketqKeJj9tFUpZRj+AalxINoKg8bphgS7HCzkvExl6 - AHTE4FkYNsWUkb5P0zSsGI8Fv0kTllkMKM40Yx2oTxGuSSIS4PZy2M7uWDATWYrg0HcOFFjB58Jz - uOiFIkWf05e1Z66dWcfMXgiA/O7FK/v1OjZoXT9DObKG/TSdXZrWCUvHZhkWZX3s5eSF8XjCyQ3G - Cx3vgXaZil+oso+xWGvhgpeJvl4aiPyCKTlv+fciA90CleHfpniAYzq2aEFdrkhkaaNPFMXZJfgW - yiMU3MEGKDL3PjqZVkMzUjpa7fnbS/NEPf9oftW1pNN5rIe0xx5KqUDr0OrWS64RWuEqwZCJgf5G - Vm7v1pT2BpYBRrlMV/FaolMVXtAgIeGBhCC7313zdnMe9r4Y8SzGgc2TadP54w0scCTJOv/S737O - BF8gjn2stRC0dobZcpolZbWMzrJr3vYIA2bPsPhon1jo+tKub2kHLgOsk4GeuwvFAejeW66f3Rxe - 6QRHJAzgs7pdZlhTmQTv26Fnxl5BpVAAuYTUo84dofmDIYHBZCK5pHHdncG4yPYm+jR/u+QdkIZ0 - BBRJJtgGRZnEw9TByiyiQhhxWt1PVMf2glonO18ur4LiAtRLWCyaq+836WKndQbNMEFsu1wH6O5f - 7hPElXwFg8NPDykGb19ejxt5crnefHAKhnoefY5+iMrB08RkY+jbIiChk94J/UZOIwp6tGRRXnE0 - gevaJH1Q8jSPI8PJozBDHzf72qHytTn8IbN7aF8nRD6ZfgwlhMpUSxeVP0b+5x8swSA7Ms4wVwlc - laZ76qpUmkJHGz1PXdZrQVovCYjX43pYFV9wYH+zq6oqHmmCTsUPTlgP2G8+fkIIllJi7HLG2yV8 - GD+P8hB4MHBxHQNlvItGHgBsPp9ae9vrqRTz4nNF06GIFWGHl+cB91f95NESGLxhS70v2OVFKAkr - uhU0T16mAV5jrGCB5RHV8uZEC+3fIqQbMEoUB29OT0XGaTtt/5MQydu6uXAhAeoBcz6maE4gQodS - ppsvllfBY2u3O6ySzAnZLeHDyqbpbCkaMLerGeLHsrZtHYwM/WbN5DuwXCgrUJVwhyveIhjg2IFJ - pEM2tefmDyMrtgzMaBOssKiWTj0R8DHWegCMxvOcEq215vT0a/fd+/uT+Oflo5P3E9q3tbxNv5lG - KLrOFGu6CQt5xEwbmnEQEOEBUknXIzRZcp5x705VLE9FYUUEjBMj3P9Io4mo0AY66y+MJ0Pt5AkM - BfH9pJRh/AvOaPVFnx+m3sYh2P+XVubznL3SSeDYT8dx/uSMqSrsCXa12mMMzSFnUX6VIBxHhjZT - yIrCHUVGCxcWmITQJOWqDBJ0FnmXsbbG/XFd/76+Zc8O3FKnF/ohQEgmsPIcokDaH2yQNXbaQ7+v - t/jTjCYvuzudpLnK3Z2KFLVxLlZE1US4lldw7eCOB/mi7Jxf/jLa6iHaxkROJnWKZBqhjSJfzudD - IwcHTZtxzXbrN6WpR1Jr0Q6KDhJnGJH1PE6QcNIBRLnKTYibwlRdhQ9eZVoOiK89r7moZWXg6Xz8 - jVbubK9u7goGKWQ6fKFoTZtJGVBeBYfRx4UtQ2EpvPIP/YuUEAVRrJXmy1ZYAZiOwydACpyHJRzQ - y+2Ptj7UUAFlAD9OpAQME5Wn86RlG8PZjtFBSvFJnilTGMl898zRqvpqT0RDFxp0f93Yd133X7ya - OsiSWdbs4brl7SnSXKSf7Sges3kegFfJov41QQ7zDsh/VEZRU1EhKvji4bqShbK/jlc5vPvweUS7 - BP7waJnYvCDRZcPK7wpQbGapyyzN28uIc4KJ8FiRRi0WJA0LAC6zlKFnQLXM8fEKJVeWl0eZ/i5q - HaGPT88yWBPm6+VV8DuGE/6Z00la2Zb25xrpEugo582G9Zop3kW1W7JkrscVk/UzZcZ62beGhR7N - INS/WINSptc0tFW8UI1TPrBuQA7u5bLt2DPKcOy7uu8/mfNYYwqOFuGnzNt7uz73K3VzwNU04vFT - AWX3kOz3GGFXQqtDCFG8Fc1CrWqlkMDWMjTzYOXHI76SNtR04lMQCPzgX9srlxYwbs21yXCnNma6 - SBsniEse19NKWC0af74DN8VqTfQZvoogcQp4ijtogINOrcx2svtdyIxhLvXcZTig70CjUO/JtwHA - Qkmm9fbalLMGD1zn2lUIXVI4lPMAI7OLaja76qTZntt3ZFXcD32i7CcVf9DZZsGb5uv8Uv5uvTt+ - lr+DV0RFgKMADPA62lAoQJvV4tyN+NxOYOxyewd/QYHH0igB5B16TeE2RJizXY7fqFzs+usk/uPx - bdgV4WZPAf+i3cpBL9JgSDqj9ixTLrt+sJKQKuU6jZV5/wgHn7Hg4OUCyQGW1xUxG4f++CUwF8x0 - l22GFW31x1A7cMqBdo0Z1kHObOYG3eEwOtJmn2xA5FKupz/aJXzWUQQaaqQKNAooh7cw/g4v/WG3 - 8BQv02rYsUKIKXM4PczclcenKOihsUBI4GGSO79+fTJMHs/0LKzLNzBkMPnJyA+dABSa6LxAauuE - PjrNfuhKN7WoTCzyVI9iKMW6gbs6YDiLpJ1PBz7EPAsXV5uAozOMtptMs8qW617mEzH+7F9ZxUhD - 0hifYO6rI0W4foKvqBnTqNlz6U/eCVBuSID+iGnLBQpDX8Ydw7FsgTSGqH3N0leJ9bcM95agqyA6 - Cqb9ANx8gLMT/ZOpMG0UGMAQDmIB8InPMtLA2G9WnLHAXTQsjfhQ+ASYBY8cYaJMd3GzXwKj/h4z - jpM8cD5/jL9qkHZ73Hxw1jIvVG3TIj7E1EowWgLttig3iHxZ28PYHrnQeDMEXvQ0PCR0sKEELkj6 - eZwkINg2xbyrhE2P/jNtChCvgMsXMpaUpR5fw6XbwAuLvj0kf+kQqWtjzniPigob5zmZTEr/63Lr - kfOvuFWkabkA+WJNKjRiDNAyEN6p+Q7X6rD+T7j+t6YEj7OO4SLI1ExjitkD9gLAeJRpYX6cjle2 - YcmI89UicOHgDEk6y/AUpJCITnkZpoa17CgSpnMj1rwgSztdNGxzAw3w8CXS8/+Pb37Lw5vm9fzP - N4pbTTcB2kPnf1jdxb0T4E+Rtv7AbBBoV8lg87vt6XPFVUX4wpqFXiaHBrT3czIGvqlQpKN7cgQY - un6HPhI6fJT+3eSZtGNhRzDwwYLWP7h5K0tE38Hi/f/36c1nD/hknLu4rqrnOQrmAwAqwMYFWQe3 - 6feHol8Hb7BgK+Sjy0Yj2vfoxDsZk2w8nJFdIrCl9bvQeeRPSDk7zXsUAFlZRszZn9ZT9fyOzSsj - kO0c9tiF0VeEzrxXHKx47jV6BCaCgvURqj7FLbqcRrFStk+0qVqV6BNsAZ1ZbWWf1J7fS3IFUrmD - 9uQyLskwqIBPLIuSgFUuqreuTyOO57nIjx1p+VOiMxSZUOrBiHAc4yJA/9v0Dd7Z5WPE5giGF9A5 - qDY/viIaAz4nFNoii4Z4WcPl43T4BTurGc358IMwhoJyRylSBrKEBwQjq1r+3r6NHKqCwemiqkIl - rUOEu1MhHxiha+5+urBKTnrGvnN1SWWH6hJfF6KDm7Z755tcygQ09WsqfUalAKaTXMQ2Xpac7ZCx - mlziSrpV1bGZY3F6gWcuMKsytv5+O5Wk3VA8fhuRHChfOZc5xmapsgLWZThu5u0TdPwKvGdssj4D - LGIgtyKylbkemv9X7wM57bUt38KUTDM+8ZIpyInIAy22eVFP6Nj10DKFXRkYM4u+JPYUnwLgogzN - lfXuTkO/qfb4th8vFH+jZk87lbszfWnDBZjJKODJ+boSZraXVk6x3ay3b4gNbJGpekAJbxUE6HbM - AwBY+WpuwVYezem/L8Hm8A2241gkBN3t/MqL72jhX6kCOugYwCm1yATu8v5HTee0wxPxc53Qusdh - BnBpiBHifqCQlWGCX/b+vnIoLHHd3sFdd7HqFG1MGRofPiKDd4AUi/aNrgOFH+ksP+DbcQnPcwo8 - rEbYWAZ4K2P+Xob9yJTZfNPZq6G5PtHHQESL153zskSxPY1cJdJ8P/BgbvfLUrL4w0VHm6CfL5dX - Qb/juIbl22wmudTNQpvBszLCivXohLXNt/1whhjzPJcfihIRajyU7zoHxxvcLZle6+nXKs2FB+Bx - QlqYenIFCv4wXPyEvI2IVDlc9jAEwEqjeD493j9BD9pZAySJY10jdhKSLMh+KO1smrYJhinLXQlo - 8pRLH0I4ZV/PI9yHyqIwkaL9CohJv4K2NDDCHFzxRD3Vw+nhtyqpWbRPWg2nbV+bQOy3ffcdhZXx - MmzZJC2uKAS9Izi9RvCK5g8A+3y5vC4/gQbBGVIZaL9XpXJrmB2cklIvW9pDS9HmqbXjKZlJ9Oep - mFxhgLC2c9jSejLclqfJYJcGioFWKMqtDFdBcKcQkwvOyA+cBLT/3+GSrI+JMl6GyCJfUzLuxdAO - jDzwjLK/hyN0XxRINJ49b3BZ2DVs3oZn3NlUH3Njf2EV6oKuiHZR3QeX16LGF3jTDhhnRVv3WE/l - /gx9tIzMB5S5uPBhcsiHEFL4eQASV5Ery2nH5VGFeTEPcCzJ6lHsUeWakkFQ2/V5y/xXhw2Q7k5e - SG8DvOedYSVYXaqnWop9XG9WsxouCsUxLhFtYForg79nf1OhTM/bsO9hTkOHEW3nPtY0/2Ai3Ta6 - bnFayA6kDqAMdhmCxlFYulZayoU0RTtozDM5N8kK1e2leZI4aqbDiZ3kE0jGPuUnBJNJyeH4YCQy - zKNEXNn12K4Klpl1CBeRKYOb6XkpWwZkWZvk9X27BnQscjl2FXJUNaOIEjPaJwKP4RBdJCS/aZ+3 - ic1ue2U41dwpWZAIElJxsAjNPABAeVncCPNbxTMDYDJXwba1A7MWhG32xtAQ0JBpWq+bP6s5HoaZ - kKxPQLAs/vpxwXgbX07nJ52f9ab9qP5hOPfdVyUMFyEkjwpeMt8qYeyBAFx+4mH6XPmbo68O9p5S - 4lZBU17D8wtJrJcVmrs9qJ16bvg+dOtTAjArUL6VUZXRAOWIhBc2FBiwOB9rStzRnw7ayJ4OPZDn - cXyvhNjgCTw0gyOZi2M5VmEBAwYYw+K4iSki2azfV5oJBVyGNNkvSgkIIGGUifvGOjxCq4m3cU0p - z4F3z+LtYcKDfZ5RWodRD2oKmfUjsozzvOv6d/jA0RRFRfJRXGdSS6CDR2EKU3CVZFHafvwEQcwX - pELW1eOgWwd58XmAyzIjhPF9O8F3cZ61Dy3m5GAbBqm+HMp1JXvk0+n16ZDprzCfoadLKxw8KPPA - fUAel9JeyFFhAKtmaFkqNJ53HapiicszwSNVrIINZz34g0z58jL1oMu6+fgyWQG0xmjYYvwLvG7X - s6vvzEL01qeK0x7B/0coN0Ns0SAQTFJWSTHsQUlvt+wAoaekALdm5hzDK0QHEuXm7+h3zwoJdpF3 - RowKDvg3ZtQKI+FmM2BrRc6cuK50XwqJEnN6TzqMbC4jshBdf2UXZ74NK2alLA5VE6EsaDEATCkt - JOCee4qqkBazW19elhigvaajg3wknBpWXgiiGK87vlP+6ViNFr0kOikMR1XJlxdBSfpzD5rk3BgA - tGsRWFFkT4ec4X6lQtVb1BG+DBQ8xLu7oarbotHS9gpyMWKoIPsRm+kbGgnracU+xdibbG3AHJT3 - LmNPYTFCUVB5mtbtRfztpm1DaUOKt0NDGzqEqiTL0zA4TqG5iBZVzLI2V3s5X1b6zll/wGgS3DSQ - ylkzX5elopd2lIMWxmPTFhtr9/T9gme/QUqWy2bhyosg3Lu26/8CcRmP18u8JAHJWajYgSsawK5i - doAK0jX5dlyD7Icu8crM4Xh0lKRFNnTz5Rq/SKKpzWXF5UiudNw3LXic0yyjE8QyxhCzXtT/Xh/f - WQ0BRYuVN48IJCiQCymujQxlCkU0QVSfvu75AKUtiT7FLPA5ITAGKDFzCygjLWQWj5fjK2w8WN9x - hdZ9pdtrYzAO3scKsWYSwjmG6fJZx1K746cc6de07x1kpHBqg6GQ6U4/7RUuU8aPMQ6yPl9mYrSe - mDDy58dAZiW4l3Yaz8C4ZgahWL+gorLxA1pRAMEa5BaylHhsKdwvgg8G7ZoySEGzleLvHDV+V7mu - bZBtzPSE14xwLdxT7YsmySJBcppSMMPM5aLvKdKdHrp2xQ54ZuWSqT6BTtfkWTsbxUXgogUtgu34 - FI+37XArkUMO9om8HykVM3TT2K01qvoiPT76Ska7l9PPn9WbjtOuttOdzhcmLHA71wDke5NNhuHa - jxyjwbGEs6MMk6T8U/NkS77drEE5mlXIwj1ntlAJpJlBm1i6ubCLhDimfv+B52GYxpj0svcOC28H - 76IVC3AIHYWa83iEJoQtMDGKEnVFZoSBJDBythj9aWRNgtOsH2mPZFws2zot9shkoRFMGz2OcmyU - MsPv6+kbeNL1ccuJUDmFWP/udkowViTRg2TFOrbZEnounI9yEchf088jeiUqPBFrUvaIZSloTek+ - QAYHOa/PteLUdDqwleVc1PIx1VKB9A+5uBWwU6CR2UtNG5CN6v4H0AlPpc/uSQy3W59YMUPfSnx3 - Amb00C6kuZsLEmo2+vtjyXs+QrT7Qwa2XDA+0B1o6m1m3e/PT7L9x2P1/39HL/mLx1w6ENqaYP5l - 93w7XQFJCqUT/fDgSCjwBgNaGWOWQp6HSVL205ceOjgtKZpD07v+Y5TOKO1C7fWl+9wxe2Emb0MA - cf6C3qYfkUYHNCVYbTAkmcbcrmvl/dP+7Z31HstJUmEeaPVqr7lbUwZY4V62fh0gRDYbpQQVQ81n - hZEcTT0aAoCW0ITiuAWri8FreekCw8UbriqjVIEWkRBI2J1O+ACm6iENXixttJqDQ7tvJhCJCqWX - qfv4V7qsUyZr+7J5p0UGhg/sxKCPpJZcaiTDUDgrPp3smyrSBGiGgbVg0VVHWTBXnQ3s6QlqdSxI - GlgLVvLUPkZYkzh05gOLit+WByhT2QYbQRRwqD87KwN6NB+A3DBIAD5Dq5hvwxztL/SeFE1l3o51 - nAdJEHm/5ISAz1kLv2BtHyhYrZk3Brk5V65rmRvAe7ODEF5i6i7wNLe0IjooWNAtuFnlKDb0khV4 - e/4RN7O+pSgYrQ9FqQuwtzxABmFo+3ZborYAXZTHHgKZCijYwmbnBzN5jEyjZxrlWJd+A72Tewtt - cRRRTPsDYAgTly201erfntexPt93fQfTc2TM1Xvz/pkom00swYMB5VUQVoynVdKovRg6inxWwS0/ - JFDEaeHsa9gaU2H3EVQvpm7FvhaGZZD8olqZILTkM6zNIdK9irJ87f00IquHMA8FYGYZgEGnCI6i - EPXlNlCCdaTgTrUbFHVn9jXs8CpkF7JExdg1wNazDLw/rQvFD8IxCMdu4SstWBwxigG3hj1EyjBB - 2LDrtug13VSvln1/6BTS8zaqXFcy+c3DYd/WEfJ+f+nqjPD1dSi0WRZorKvktP0DEgm5UT0PKK+C - Ug0lO2i+Aw1Gt1TVip50O2PCPS6S0ZCGF8Ug6/azXaGT5tgjAwWX5cGcU8oMKyyVD2FPYd0WsQx/ - Y2ovbliMwBPynjMPMMJe2tT113/ku+Hu8vGldrOClGmEN97TH/P9ARVfuZfLoZlmbCcwdS5UHYdM - iwsAd9TDVkmWWzY9dzIjog4L7+TlAraKvgY4onoWqc8yMtal677hiXFqfsmNvfppO07/PJ0hw3Sb - OLMSykLvWlES5y2Fk8HPA+DY5ReD/6cpum4+4IYJ52GcV2nJusHkNznSo51HRFlDot0MKJBBLgBU - 90ohFCL5BvVTjAAcIH2xbRj6xYkCEzYojq7aAekIASSBMmLQrVlYrwB8clrq5FiaQii5FVWh4jIp - SeGmfQN1pDSLcRqta/HH4DXk58C6hmq7CFrQnJpvyCu2/ZZzDrqKdMDa6gsajfa4xohQaq2SEGQ/ - /lp/Bwv88/xZY4zGjuJ+zY4YfII8duOAo9OrGWvPVCQZaG+zPu2AWwOrCHHTXQ8qwZRF2WIXxlr/ - 1sigE+26+ZwzWwgxQIdjGfrS9MtMSfzBzNwo8zc9I8vyc/BOmezDj4tlSSJg0gDQwiXSfpEjUUxr - UdPw/3KrTp9j8YmvS3LQPKGJRaeut98yk1+P0+8ZRGRWcdkKhzMvRP8s1/wMCyCLvEt+vvW/qyl2 - 6dr/bZuGJ7eycMPIL/vj+vgEKh7HFl/RZ+awLU8+lMPoXnHYyRGGkLHzc2CZF1qhoAnXlrI5xwCo - V1EYFsojjSMLmN27E5qzk8UJTrsFCtgsOs7oMlH3bRrOfX3zDt2++UbM8nEc/rQ5enLgOV+3rMau - ZnCNrlFMPgFwwLVGxbLtsjDyuB3xFsY+qzwrHGeeokgKysuA8irYVIbmlWmcBuj1pUcSZXiWfouD - hDfjmY0QzNYOI6ssgHgLUeZaXTvDsyzh6NWOdRpFnWRafIjjaEvJkNh8bPAgJlM8HAIrbjD0VsZ3 - n67PorenPX2oZRqr5ibTgjvk2e5WMf3eMBjcCtH5m8PhP0l2bI+fJxCI5lzgEctCFxiIAJqjLHfG - J4QMWHmVN2I+xgsYDOGGRnMPGC50CyNsh9BhjG4lhNQ107E9ygMbUGk1h5Gm0P5qnlawtOniMTOy - VLpXXXYnmFjYZxwYxXWO28jowZYB5VUQPJ2um3qe/u7OfW2D1V/PI7SOIKzm76cv/P1Mig6/ku0o - ZNt+UXGsnaePH5eS3XPVqN7MsoUuonXGQhCUB5RXQaGhCL4gOKYlGbSr8jka6TQES1grjcaJ+qVo - 1BckN5sselNBzWi1e0gXsnxI+B93GqONSunl1DY16/q0rx/feP65ZeuGwueFHc1tMQUF3Tr638Qs - FJzeSdbmeD8ch/pr/GxQ2S3lcdihLIsaUFMG39wwJCjPLV/BbncccApxygkyVV7aDYA8laMGotWy - BKgGMELEIz5SQhAZzY77t/gQoKcUZcCwSpnljUQ8oX4ai4AcEBq0rh+zhBVdnS9dIhwQMjLc0DRj - YdOxoNU9sFIQ6rYpu/Qg24m208tG7qdVKgw0AWe0KCst3b4gBJ5yyAzuynwHssxn7m2/cNl8qiKB - YG7gjYh6x6f4h+yOdMizRx3NurhgXlhYMTg64IGNCXxoSXaTX1M/rdStghfqfBrQYO9icmWEMMKb - PvcI3Wb6iFtqhMJgKGWlImvM0Gw3WYb0ujYgkKgi7B3dEn4LNV1tSkNZAyAFtqmI/N9uaV+EFhx2 - 92VK5IGhxKbnbvbuoqYE6KXiidKdml91jjD2+4/6IP616a64xenBvvU5JroftFxdYLcP9hTLsg7n - ZoDsCQ4eys0fGZ2KFK1k6yLKnD+YTZVEcP+36QwM2AwAf/BeVIDmWKAAKZbrUqDYph+Y9QJqkK70 - +j3sxeBIU2gvuowqt/V8+WSrdli02LAkldIpTPOCMn5cp0lujawHfjoPRaJF01Zt7yQEBblm6IUA - fsvXhTIH4/l4/i/i8bvdU9fkst3D6H5WM6XzsnK2BuEfJreWx8CaS8bbHM/9N3y3rs3xGxp5cAbS - CAci6s8QUVpEHTAUS5RB+BW367WMX/ez20NpkGEpq3l3BBNVQWrZsG9yuVxe//iASCktVNP/+AC6 - kIyBD98wAc+CpUcHSaiIz2gqqORpUnkUCqFbIlqd3QYKukUrEXLxqNQtPyXQRoNyHqJt+hiKt2XN - vEvz2cI3lrdy7nsuBUFZ2Cgyy9Ik1hA20cpUbMb1+kmXeH/cYONnG07UXHRN76Z/iKn0aRh9EIS4 - urFhZX84aftViktNNgpXvHGsY6BZwkfLKtzr4/YbNfgnuOH549ieq3/5uDQf4ref9rQJg0yVHxr8 - iuIdOF3So7VhvlheBfvB+Ws71//25d62JxwvAVFvfkiHJWD36ct5b4p0v5Jlz81wemWEIN7e0NN3 - y3KVp3ga8s1cbkNTKcsQLNfxKH/8BfdZPe9ufxrZ5tiwUvpy4fsflnYX7ViOwHOXQ7Qad+1lQnkO - Zua0tkGiXO7DlAa7FOIMQgBxUdT+Go/NKtCGQW9Ob0A5jFt22fIPNBiw1YaUEAzTBdmW/7a9fiUz - Rqk72r7BwxAU6+ij6wr5gXe6rGp9fUsJO3yhDbRjhQDvc7upGfjjdbw+HfLjxJ7dQLA6HB+PDSl6 - ioqSZgw4uyvTMFHxbN30w8xuzKu01E1BEEVbK+WVuE7fgQ4yUSFz++vAHEj1bHFgoI2cdAD2k68/ - W+nVQxYfQImLgbCbVTT5Xl534BPlG/dtob8YKAIOGcwufxvwhxBLcgEdVeOVfZJER8ZO6bqlZfSy - /5j23G0OT/y1qGAAZhz9JwfwAJgkIVBx2MsDpms31s2LzTh9dRakbME/1mgaYth+eIPAgnsS4OTY - 3kKZEaEJznwe5Gu/SJ+AgUarnUlnN4pofS3SI2rP/cdsjxLwMbcvY2z8AVaQ1env1ij/JYNoxrG4 - CzkUqBZbFITwnYn0/jd3Kcky6en0KdAjnsPO2uXxQBc8XOo9Im2awj7LqlPrzcQIY7uCPmTFK4EN - cMqJa0ceVoSi7iVMsv9LT4EmE12xBagHle5FEQdCvzok7kEXxAL9aBHTsJn6j2JrUpIYtVAeYEVB - DuwK+EzJOmnb65G5bvOuQFtJvZFHmCyb+0Yuazo3v57P5cv41DLqt9t/LsOFbYgT2mF+AYH3ECXP - ymrWjQA1NMvy6On9eH0gUN09UYeR7Y/sYeGh7whUyTnddt2el7Fb3Z4ab8fOgYyYE2VPrlwWs5g7 - rAAVnnoFzmWA6hNYKuW6kQXgx2P/9GTerg1uuCqPxeenRacohgrsDk25VRJSxt66TclUsZpSvLfA - DCNVYcahSjlYywi1DcVojm0YEK0sCOZMLIGjOgs+iEmKb8OWWSwA+FAy7uZUOVnYc9BAD33msrtn - YSWkPXFSNQtB20X0B1lZo12xTpj5ZJKPuLyeD4iWoBQKP+PHg4aGrQNFBD+MP8LLzA1O7dCtPLtX - Ga65LtEB/gdAD8DceQafUFQlQji3ZwoTMioSmJg61KJt3tOZ5xFLAaYtg4Lvjj/lkgdDd/zsGQiW - nnDFIKfTMqLznpkrs3mMKJE698yYuNW/1D0pSR4SrnRiRWZGsuaBkWzrZ1pSYYGwvR1NFjz7GFSA - gSHHzV4WFp+BG4tMI7UwUV8mb9DRyNAKgLsszUcbcNAKpvwA5Ji+0eMWkTH4RJn+0xk1DyivZVO8 - Dv2IYJaWIQyJQ64F9TysR6NBMuw46BVtxd3pIi9WrJvTQfzHdIotREj/gCGDjmaQV3TdU9n1d/dw - 6xV0qduTnHGLcwvqyQWm6hV454sA1BvmY2GIRf1K1oXtGpCOA1TL6WNiWpTAkqLDkI5hAKIZFS1D - 04yXw4Ydox3nULWoGYujJ7jnuMLjEUJdd9d2jbIHvANoizFVJSfAl1exvWCOc3Hkf/+I17ehYYdC - C5EPq12VDmS09FMxMjQs4yzqu7wO7JpB77BKKDlUGwSFDSaq+UDTQiH5fho78ZRsO7nWxe793DcQ - VwIlDz7W2ejlU6JjwlKIgcMUdmnCcs/H4fOrjBplHhpDkVEqkjCXj34VuTIAY6B5rwPNAI1s5z3d - 53K5vJbNYHvuuOwyY3rSgjrrIc3hQvBMnY1cnhE5GjT75hskgDMKumwJ4VGtSndKXtTFLUgFbR6m - ESIEXn/kk1jpWQlgAQ6J2K4SHINWLAGghF2o/SCPRvZD/yV2jfdMCMUa+3wAlAvW+Jc1Ku463Vro - oNdUPQGaPyYWqE3kV1H7edM3xQTUs2OpU7fo2nHbwUGSqFzllzL5mku34qKsg+SgqmNA5U32dCZz - 1BBkGIvTuN8Cj0W7vF8BpfX4ANq9jTWQ1vDc6fFaFsjujs3Xrkw0LZkLTqNifrl+/JYvgRakzKLm - 9IS8Q3qXOBoN9wH/OZAJ8KcxtOa9y7D3awtkHcH9rXntMx1uoNC7BNHb7+Dah/V5+g4vohvoC9J/ - Isml3RQWuBWunNK36IH917YIdEUZZ+y9364BnFKz5OpCswQ6e5EmNNBV3pZBggiq6Y7iu/BzS2uG - 5tWsdmqdtgsKMUSW6ZmxrTeniE62W/16W08rNlH2sN6NVQIIP6MI0DO+hJEx5kFldzfv2nx3sgbE - EWhKWjyxEKCFgkfH82W7ojVuZnOHnOu5QnkJ/Li5J7aCpo5MXOAbOlnb9jrNCm4oOMRK2UtlDzOV - FTuGZtmZtj+uAT6I88keHkxo5YA/pE/gWk3kFxE2a+wKZoTCdNoeFgUhaGyExJ4p6CIIgSXN2H0A - ++JMwTaYpS0L4PCUg8NNl7XfrZEVxc+nZo3NH0UO4ApC/RxChvQoHSFQYNQym8XrtgGhnYK/hAg7 - U7qwAFRG4Fy080x6TxGvX35K9jliMf/1IELzwOM0pXkdFvZ1KBGD8EdLtlyHqJNkRg3jKzxIXVoh - GDR+yVWEokFyHoBU7r3LhK+O259v6A08cagVbWmAbCAoDeW6QTdHEBAM2zMQdpSA0pRddIo0VAMy - enT2VnERWcFuft/OeeYpPKmecUzGPyEsj/EUHTTrHPDYL8fr0NQJ++781v8FYGUURH0R3jtADOWd - tw1l9dwgdUXg8/ZoacqB36Qs3a0yIMj6gh8UIX7x7UKK9CiZUm7+jGE1O0rFl2nY1pD8cdq+s1GJ - QaiZ7zIaKaPtgJYcb6ycHGuZFOd5GHZMFmWWgVJV7EiJq0ab4CHLJwLSdJd2RZuxvTmkxwVgIKFH - Fli70rGjgBNqno7j7qv0mAIF+wMiO9DCQg/h/bifYRh1kAlLux8QJmFkbBkgZKzvx/VmBZIqFCHo - eAtL1hFMbOnRccOQ2whBJnW1aXcQ8qVzXa/uYDWKxqEJE0zAfs6Xoyx0+XU9PeFXusvwpw39FYwc - C5YGJKr1Mo4sFDsTwedybNVlZU/2rbmy1g+tgNV8I5XRNFuQ0eWCdcpqfq375/D7MIZuin9edZB5 - MTEHA/j4GopCynBOYO85QcxIHJynGErPA8qrILfpjtti3QaNTb3o+gSYHOrkoip2fEp2pPz8WRu9 - rtfdvog3Gljch6RqA1troylKRQAJyDR4rttzX2yIuG9wV7qBQAftpiY6xYlwMSsSIb1O43uDFTKb - ddOQpehZ/EFJirfsB8ZaeV4Ygf2+9CgKcZBH+1zWte4z5WDeY6elU8iheGCEskuvn9wxBTSN4iz3 - +Cmw0dBArbnicW+EjnXH5vNL55GkoC9mvLHL0OpxwYXkXvq+Xtz7z2NNLtrsgI1PN2Hoh3AbBZCU - iYVoEzub8gh69f/9N0Ad3iXaFV+G5nR6++o3ZIossg/WGvf3O3AZaVt06U98kaNVDDquzxCB5QHl - VZDZgjnz/6ZEmvm6bIp3vwr1ezpPTUBPZGAWP9urLsG5UFXGg3K4zPuqjO6xHS9ntBjc7HOvl3AK - kDxsjoF1PRy/ihwq3i/sjcxWC6hJxNv2HFygeU7hA6SPMm+d6Rmz4TPA4dGhT4fpdb12zNdGdz/4 - VNHQnVEUJLGQbmAZJVFbuX2vFS/b01QMRuo4nOWzIZVvKR7h60IXkvbQvXEgoB5Wbso4QDS9MnaW - sri91kg3h0DBaJCyIL3Uny8YRusXMFEVbxsUY8ToQabIfjCsBS4sI27+oMecmlZe0m6PaywCqMSv - cNCp5fOkgFgDvzGbMWWZCuOh6Ro56aF/O3ziC9jnemOkowyNUzq+9DygvErqph8F9Vuch4yrNM4o - LI2ISzULKKH3JGo8bJ5CtdP52K9YqhvSZnreQHMGqYtSKYp7ylWhmvfb/oKCGFDMkB+xVbnCwGCY - M1fH0DcRyeu8P4uf6uFzOD3uxXJYdMB12Ej7q3npxqMc4X4ZN+z2hAbvyty3DRhCOEVbV/bzVRl9 - Y/2+7UtkhrevM7KcFGyF9I8wB2+CMORt2KNYlZ5xpKjkg9AF8R12jJU6wraNvHnebtpVCHfpYx0r - 7jZF8xrqUTQC+pheVtK79NOp9HH0rUd/33i9wxFD22lhsbnyUu3NmoKmDEsg/S+FqnZ4Wwqq/33X - bd77m4cwTByW0PEERQ7DVTN0rHhrl/WOz1f+W3OTQnGL4BOYWAo9Q+QtiPcLIRvotTuu7M0221Hu - WzkH6hgZPAyYOL2IQKKXqf8FhB88M9AcqdDDlAtQnKBxPfCrlpkVvD5Vptaf/ZMw9q6Z6nzr7dxv - X0s9EF8tuUpRNSmY5rkC6RMqnl443wdzFnu6fUxXBbClhexiREUvynKT3bDfliUBdCWy9RuGgVJs - qIbRrIfsIl9Xsmjx8zwxu+DP0gtOplkEjq9nme7Dphu5VACaIIX2yS+sKxNKATQjkZroWUr+T08O - eKWkAMT4HwmKcdZRGPMyUAJ/Kx/B1LNqadDuqROdqpHhjyHJkDfva8gg79hAGAU+Xf4fPw2KSXD4 - RgBs5wHlVXCQr88H1uIoZsA3Uwl6gf492oyczBk1DxJUkba7bxgRnXvwyPyTcialFZCCplMK7Vu+ - rmSiR6dx+7FKkSF3K++XJy1sJmNGlS6xdUcSQi5O3en8hwPAdNmv2Hwdnjoxu+iWm0WErWtkvCXi - KCt0WDx/S1Lh9OuX+I+P1+kbzMYtn4ba34KTWLU0YTU6CwEy0UGGNWoPY3uZmYGY43mxW+METCED - 8HpX1BKBbd6PlM4qLkqCbVe5SyjIauLNFfPo+O8kx+G13bJJIZJvYF6W0A/7A/ZYgHsbrothPolc - KNntPK7sKnunQwWe0zZp3D3aUTXvQyKqQmFc9PieVs2qhv6WtVDEhx5oAGarDCivgrTicPmGquZh - +wFlhbnVnkx69DAihKRp6WZXBiiEaoJ10/5BGj29fgO2dzzNJ7qONZ0Pmsr0SJMJc5Aby0v5zHG8 - QCAIZV3KXnL01baYaf3F4G8SQkaWFnf9tMPWBooy2ER3BUuUPSgl1hbSiZbVIa3sbo4t5YHQQucE - jU7+e8UEvTg6OmIIvgzIslP6cj0A7TgH1XR+JLVc4z5mlkbyLGLlvWz1HS7dTfUUK/yua8E1Kq0p - G0KhrJxhUWhrtWl+IV4q90oBgKif2jgqojEKEReAB72WgRD253FcMQ5XQ+Nm8SHspBgwH6EljaaV - yIl0ve1ZJt04rpLdQzMKXA2SOgWp6JtOj3tOywLMtIKDIZJ5maYNWpHZzCxCpZe4PQoP6GYYAPrg - Ngs0g4gF1vU9B3rSNd6ti4uRMzdzp/v0MBDEhhe45gF2HlbW+OsafAao3VIqvVBjVolCWG0sSpOW - ZbVg+SaiL7aUxjNIYhaiSTV6HOqbBjI4rEIcnEwHYjytMe1pNkITuuqrQRafzg7l5gFaWOLejVs5 - pPVyfBuBvIRiIJ2fxtf4J4r8kmdopmdZPS1Tf/+YcCbOsN5wt0xJOVDOQwsXhooIEsLM5JHM0xN7 - /MIUXK/oKH4CmqUMwiKmmGF2ihCKsD+vmEIP7lpa7KYR9WEYc5oVQ/2crHDZDWN1wP79sW2nK/YR - a58rwwjYINJSyK7WlpcnuDI68AnqaX82nekCKvYvXVczwKfdU47QXQ4NFKKZOZZu56PNSM00FJNS - uWpkFbDNdIB6JUqMqxir1jBt7xaGa5ZXJr2aL7JkazSnh39myUHlGOzLT8h5u3Rjqz9uoYGWKMUe - CVzNMqC8Pj0QC73sGDVaSS+n8/6fGhpzGd6Aa4yIS0Fgr+ZjpqgX6lRoNFgAH6NILry7noEim49F - 1qiaV5ZxaCZSDOFRAsd0h8ugyGT8wgrPaT7f0zLaglebo9sEoUwWjbWy1Xs4HzcUyHGjY3VvB1DU - 9YOOXG1dni+W17mgdVrvYLaq53hX1XVYWowBwsaJO07JyTAs02nHoWYCTs0t8LfQ5jVQewCFlXU8 - jQy8eunknYRmt9/wqelqciTloAnCrzkBam8Yl1mGCfa845FZqDN+NdLaq46IbKJB2c1nSJeAYSPa - +IDCDfmGwNKPmD65pFjiHKU3GuGZHCxjTl+/wX95G2sHxEMLgSf2/oTWbE2hY3auZWCmZ+EXJ4OX - 7D9a2AtRjL5UV08Km6B1NMrPl7NUqWjbtA9L+cUEiujtOxzM+luW8s1l/xcXBjoiwH21HrQhNNe3 - R3aIm7/KHZGmU/Q/QEExmUnbvFfLFPiOvzYH3CqTn7f8mBF3WM/SITygvAr2ZABbo2NJVVD9w3Jb - gnhEtnBdxhA2GxEa6u3G4UNeKhj2rPoK5WYTKis+WCAzJH3FxHglQyhvWgqU2JorrWiLXJZk8Ojo - yWsYc9H0DbI6eree2EHkeefTcOKmYFo7zs95AF7/awSCI917uiMpvry9yrOe993xqz+mo5J+PrhI - 6ulzA/j7UJmML925H5HbgJNP2U3IVY8qRmXhbEgDaGZR8iN0+exP76VxCA/Z+KDVe9bGiHBV+kt3 - 8T9musP0sSp6mmWpPRpCgT2yFOgmrOpnZDXSz812AZZZDkuRAhGraT0n+zJdfrO3PNacXt09nBWC - VJa2jNxL4gFGWKa/rFmzDMi7VViQFvFLHYiRrBSuo9ia4DDNnLC0gsHuY0KAQhAp3gcdLGOXFgUh - u4891IbMvCc+eNQJppZgtVkbMYK+QhCCMU+f3WybAHdBV6uqA5vJBGRdQCEyYfwR3gI63xsyjxJo - Yl16SulDKMC3NFu74FUvO30wIKZNBKJxLNPvv7pI4cnL4e1JI2uctuyJTJknBcTePAWkdKaajHQm - 3ErEkkl/Gdan5xrsrt/XNjItZIpoNgR6WItgDaqeKtDb3Nx9kixUO/asCp8YlGDgOlA9y2w05Wes - jqZZMFDUqu/a8/ssBMgNkOp33LYPw8VNE2TFuO3+c8WrlrYfZ+IS/0VhLD1lx/rtFIoGmYnBsCvW - NTPc4H6bIiBxGiwdhgew0CgPkxSRvyEDse0viP7o3npKcdViujqcARTeq3I5y9CF/dvmdLMWXMUF - vBOlLvov77j1Y/ik/jPQMLQXWAOp8S+wuNZSXAg1b/GvX6+ffc+74776h5/N799Q10KOSfufza7G - wYInYREq+QIKhequCIXZtmPR2KGpHm1ePgmowlDAoO8iPKJKQf/xq/pl7XuHjHBGWGn7jOmhv4HF - ThlSHOb//NDso/fpXz506oDDQ1FiNW/EKlNA/AP+Pd6acs3I2LvjNHx+h8Z8OZ+PK0orUdi0lhmH - VYWGQiFUNmiIQ1XaljK6YI1dsQlwEhhBHoq6UikBalNFZ2eOg5LJNnMuGu9Jukna66opFlGtxOem - ok4Xo0xeYDo8NP/KTPo1THdOmKQHPSJFzmqGfdm6e0t7klfM2CmIGVkJ4ycl/uJvOLaHn+I/3k0j - kOvAREGWX+lqYXs28HAss0MhkfAEuK7P8qrGdaAgBmGqBRPTxUopN8ApxVhuK7GZgA5Olg9u3yeg - 3dysJUh7f3rWgHJ0KmIMQJ1Z5jvYrn/THo0yFDchYw3MoOOGcm/HIxKksERWG6cjoz9QCYzFvLLE - l4EWVoYAFk65yAXBKIR+NuN+VbiISMwrNzU+cwzqPzfWv6ja1ryN/2HrhCj4NLyWQgCmxdLWDXQg - LkEVgq5QwXx7oennEb3FVcpL5hQFyRa5GYDgOhdDCkHR7jhOeODIA4obxCPAAdIOSW65XF4FG+Ll - 2K6s5kZM+b85jUYOQ3k6auPlcnmVgJXOl9q5adhuNyvGjrKmgl0EVglkmaSCTWWAEGH6qx8+Ci/O - l97yfRRtYT+sARMcn+ByGSW4bzsYT5/RsotPxUdwnXGUUboE5BEPoNd/wzgZdseLqrpoPeKmhEot - /TPolHzQ40SpKioAD7CfTVQ/yqkp7O13xyP7BiTuYiDArc5gDUtBlIRhhcnWqzJhlOYIGzQ5+q3Z - t29P8OHXsZ19xCnaW1ILkYiHzBSx4lMZZTCw8dgDm8SYeYas3dBmQClQzp+DAk2DRyihsW17XLFY - JrpU2dn6hDG0XRnKuBMOmCQTtGt27R5BCFeHgZyrMCjagjzDEurgZ3uZn+r60B0LJsrVpB+fI2sM - xEwfou+kVdH2P32D/DBsRzmhabcb6wxr1+3lweOxbQ71RG6b/lzu3s0u9oHJ9RDhSWCyunJdyUpx - l7HhnWtmRCxEmhjzhDZbjuBwap5mZZgg0HjbjNzhVxXpm3begBqTybTLm3KdX1bP2pPQL8nBBOfB - KjxzDwrABRuX4niU4CnrGCPOaF5tZfyNX8NOLnrRHsYCm2AfvbBslVsoy2kEPIwhdWw3CXC7+2Oz - 187Yv3/G+9Bc4AGUUFT3dxUACjwhmUKzgkMZVpcTVaO3/a6uJhyOpx4b0g1e4KOt4tEUQEe2KzaT - T7Ka6u6y+wp+mYJh/LlSppYVQH+BEs5I8bd6aYbXHedUdC4q6JarvBD2Qd8cEIjIO1ou1hAiw7XN - 8IeT5/vx8xs54/YdZYVUZJGXLgMKDAra+Rl6knIZJClbrVgrlBI2Wi1q2YBJSC8c4Ho0BFYaMlhB - /wFQhUs32QBapck8li4SdpRIAApzjP3UzstUMnbdtIX0qUJjAv83nyX0I2giaAsCcblcXkXws29k - 13U94e8ohKZdP5e9fx0/x5U2nB8gras8oWlBJesCWE6mpGOQkJH8vqblWBjyMmUtq8U6BogvJrhi - 3cUxJCHdvh/aldHs1A4VMqsraciIVhZkNTUrQBgV/hflgsfHbHZvIytgGVS+VnZJK0jw80uUI0eg - SnmDlSWX+915xx16x1qsN0ChigasN+8SG2CqotHwXFhMGb66XgPIhme8vQzT7BGlyym4kNnL6GBE - NBQxhPGVsq88Hk/rCxvTKKAH7e1wUBokmAQrAjtf9kFowL1G6dbC/gcpSJ2KJtppo4634FRmrQQG - JbBw5slTRkd6nrBgQeuzDLBO5rHRnhr0dKEkDpB19Ha54GiFsWoQ751WFppemt2zL9l4qomM7bHr - F0P+fkOG/RYzjDIubNQ2LvVlgA+0dAxGnokAUWL1SsLhFsrulDbSTYHSy/KGZEqSPa2zwG7UMur8 - 53GzZaAz3VdK5YO5fQIFO4HucfYJ1YsIGbYy7AlwQG+VFDce0eFoWrlCc3Ppn7fgqbt8LFqoxqp7 - vzGGZClgoKgnFqMke3M9L31XX+mOGJqhAHWysxLDplQd39HP9S6kl3E9dqx0D6Ult2xbAIyY6akC - GMqyoHR/RN38cTOiEDnjQp2LtRZhCDTJDasQQmNXSL6C22jicLMqfZRKpUJ9JcwD6FUUkF6Om0H8 - rIftK2teeN7D77tVCICbRQhQ8OO0bL4s2kv66djgHuJopgzK5hpVGCJM8mYPd5dlOjjtsO7R3MLi - MBWJvlTKLKQm9G0E/48IpTcd4XDERfQAPRxXt5K1BicQ51ZinD+UiCTH9/Z0+MTeTbsM8NaLup+C - /h3lheAr0IBiVStykhvbt+afOqk+fh4nUOJpxZkV7TemIoOamLI32PCBxcZ3ExQD4RDhGQoNNOUi - /wPBJaVMkwHQUhSCvYznO3a7z+KupxFFVMcv8AoGzXm+LMt/211twNdsD/KouPtsQcpiMNHqTn5R - qJLhyyqFcISve+GxsjmNf+zlp8tJ/I3Hw7qboR56RbHGIjAAzI8SjciahZ4BISK+8LCfOnnladye - BuC7kPjDEs2HKohXMdgQuPxh5Tgw+IPBMZaybujHqoV9NmOCHfS7i7csFrDyMmjdOCFE5yiVfkkC - 0nGx26gcAtzenJ5VbGV72nH8Tned0k6KqIG81Mu+iKLvSoksHaBxBmbq+VVwvrWfEInhjOmBy0Dc - QWGRs9jrHfufybBkrw38WnLBP6zu1kuAqcG/NdJ+f3c/k+x52/ff37i97+f+FX7cs/w43dDl+elB - 3DJ0IIC2RptmEKr0NtMb41KAD9Lw7a0nGjBYGlIYllMXEWKvmVjbNddKP/TGCeUIjDfzgCIBW/aq - w3Vi2q1DXxJNqeV2rpnCxLxcnPtGBqmg5CGUKhB/sRiW4uss1BfQLMcYdmqUmYb/3Mt3tPdm+NqM - wKPUS9mCY3jPw4zgKVtajnvZvL3KK3Lrc9vLwegbzlyZp/1wrICNLkNmIVql58tWSOaGxsWKm26G - koaF9Q0MgL1n241yWSYn1cmf4mU/yreBbd/KmZ/rU0dx9y0FsU7XzM+UA4WTtLNgd45J5qx2aX61 - X53ZMdE7WoobVbFI3l4uOK9uPDYT/EKYPfxIyVCKGHgIH2xfgQ0gTBWy+fPL4IJXFsY8H2yBFEo3 - RYF1evsU5RiYbzH9IBTKhXHRXLg0LdIWRtWj+LjcmpTLkPydr3stPPnW7zDlQlucVkbwahGQwxbC - wmQIeCLo/jtZYeM6UobKCV4EdHMeAjwWpeK0v5pYrmYZqXBznA6rUhTAjYiqwlU6+gkp5JvNiYg6 - Nb5+yreky2cdGzftdmQ1VvtUXJulNWzWXs8DnLCX00+/V/HOl3A3W0ya04F2Je+gfB7BXuZB5Xu9 - H3ftXPbhrtYyu4Xyky/FkMR0EZHk5qU9lQjgjzoFKolWwQohI6DPMlWv43gZakDh9r2HP4Iq2pDw - UV/mEigU5MwOCqWQ+dUKohXP0fxXW4F1mbaCPbJBBrfS4a3gZnD/DPQIKUVHedqx2ovFdiCYgKfj - hTOOgki4F5EU7LJCotQWYQtbSJe8RAQv3IAAaJk0e4uC6BKCJ+hjpcCXwzyo3OCe4tp0Mz4wMWi3 - fKgh2JwZKEH5fJK1M667X3Jlp2l7rNkMu213wsxHoH/fTaEPA6dwSqKKgHyQ1QUOA5g5M/HFaDDH - qjDP0IeAPRs5EYgy4MhYi/rSSj9X/zBcYHtmube98nY540EfjYWMwkJM9Gq+CrSNjjH9S/v756a7 - uVQKihvHdxSUIPaFxlHlgKiRc2kuOCV+FW0D63EYuIkD1USfKuJMgs6Z4e5OYu0GUW7enLZ1Y+Ht - eqWlzzZ9qDdXzj/0s3w2KTtE9ijuK9nueZyGizysvkDDNTOvHpNzIQFqGJQObqmaHVPLuKfPQJeD - zlLzB0YfzArjgwEYbI+dgyMefn/aDhbZFNz8KFeH2JUqntL0PyKZoOZ4HUrPHBg7W0GhYbIboNu0 - YvkeK4vCr8M0MogPrZhVjLX1jvIoUwK263+UH4r/kXRBAOe3+SkQoGOaBRcAZJuvyxjZb2v2E2AV - r5XLrm5wwIaBE1GWSvCyGu/po4XDd6R5DYHGoBafUWTuQ2SzqFxMhATLub200OdE1sB2wale0pDs - 1Hy28tPiJr5o23i/Us6muaQLBtNtfUQIRXhKMiB/wBK6so17+7mt8WrtHrJ89hYQLXRXrMEGSMeF - NfOA8rp6knjmcRqGWY6OuvYVvsd+9p3xFMJVjX/tLc4kjIGWpjDYbkcgcP4kCbC7Aj1m643N3B/c - H76hkLDdd+fiQ1dc1/3CXStbmFBby3wfZv6IYuQWaoLihHf85PMJS5dmRIy1JIt2LMeEmJIuWyMr - G3aX66N/8ud2rJRCc+iP7ZgvGPeyeRuPrKjpVzY/3Duj95Ci8w7gRdS17DxIUtM7yGXFx6Z/X80S - DPALrHe/BFhRLtfVjyw5pT+aboDqezmNDLpNj0wLRveUB0GTi0m2Mjza63nYfqe0vd5SoqZZKJmn - ul44CkUIPyZlE0t+eH6VgeYG2njsTTHrnnfRiW/hZ6Y8O6aXw1JmxAJEKBJJl6FSXjmwQVDIKPbA - Yq1l2Scc9hRwGZZpRJv81gGAkyksX0O2DO53eZbtEhz4l7YOrLvTgSYerS+3ukXxeMHZH7Mz5ZoS - ailuL8c6Uf3dnfvzTfHTrm4qGioEiO/Q0ZOQONwEQUVh8bmj1Mf+iLMe9SP/ht/oj2RBaDc3wI0I - zTx0my094dnpLxi3bN2hg0SbYlHzx0QQtZKa4waooTyvabfMtsGaMjBpN8WG1ApVZt42LdtrsYsn - cI2PT0CVKcFVB/PMsAuXrJY5HA//W/8RrUA6BSmIMy/9ua1hTP0JK9Cw36Viy6373ylgxr0t5pFl - hJHxq8a+HYrNIssu3AuFbBBgfLJM7mMmkWyf6j/YXc2Hm4jiPEhF2P7S2weIf5YBQkjYqatDsA+4 - BkGrv9w3tgFehpYpAgeBIYFJlaLN63LZH6pPfZ8oLjcOsQtu5aIZBCF1QD5cETDmRpVMP//8Pnw1 - wZIC4Z1+J/0XvsqVjkjjiyYZhDkqxiy49TmyAZEumooiv+439jYuhfJkQG15fAjsMylcoSzcs8eF - F/KY9mPz663IltSxNCU5WABZsfBbkTX5t+IOtDf6PUC6FEjf9kqOm7J1lmWEIUHEl5Use12Peyi9 - F8OTxzfFYY+Cu3es8R5seREEJe9N+9+UH1+HLaAwEMzkyCC5JVYYZJOYgma4TIGriiqLI+2ns0CU - RT64TEJpmiX0ljU0rpRMGeK13wPVpQrBsIo+AjT/FLJcVnKah4lyt7E+sA/dEQcZ0OK3GpaKLqKv - 7OlHunJRy6Q7T91xW3/cz1PTcucVv2E1G4FQ+KNARMqgu6r5cnkVhAftrq2poc11lCdw/en3TYCH - E7gFvw1YTggZISAtmD1hGai/dteVu+n8PQIaT2EThdSBm3J83cnoCIfL61YOE7qOp2+USS9NTQFq - T8N24cQ3P6LXTv6I3pvrXzSvCmfaQLXavaxf0SXFY1IQL386IwAa1paVoQtOSFQbGY6nDcBcUI+h - t0/VLoFuavIMdoJwNo8TVcOmI3YymOWA/VAn7NYwgpuu57LTiZS1tk/PZ3/adf9v5xBtiWsjx8u9 - 9uP7E8zy9LGp/2Fc9/U3O2y27LhCITKYumahpQ1P66CcVexxAOqTkmFM39+fjISa7lJEkoqwyCI9 - iIrmm490BKElCbM2L2qYd9fuGygGOQ+6X08fJet4ws8gKwnKZoW2Ksvw4UVwJDQMJPczyNsG/4Qk - V85YtCBZZZHOOREaYNwf2u/UMyiL/RInDpp6Som5kvVG87jwcuovjJaEQO8q5fup6gPs25I2qOTw - dS3EoHXrlpUeTVxY2cF1A5IktN9ZFW6X+bXM2ulAB2Nmu1ymDT3CVxAgSwGlXM9CR96p/VixslVE - 2mwq7SxYMluIJ7B2NMiTkn7VhRGY3Lhlg4hHfphoe6UJyo4Rc6tBMnM2XT+t4MiZbuSq+34S7A+a - nIr57DfLzqfzniX1LNwKzfMEQZ/ehES530v/ChKOwZPRQKvQO5oKaKRNymw6qewcFcgIVud+ffmG - DP5nnZ3vR3YS10zONaX7Nv9dNJSdRMrFonXzgAJsFpwCu0+O5ePNerPWpaCMj9I7jHBMPxNx2zYj - ZUaBPZ0RzmW12ILsD35K8AHjOl1QMhhj8zZOhVutETbOm4BDjYoSoxAxg7mNKavubH9NM6shriJl - t7pK+EFzVoUD5TKroYsqSP3vty9OfcZ9wgWVtpD8L5HfaWQhbrTU6EEuTBQsBnllEneFcpxHCb7g - MMjD2s8z/bErTrYUui9FtiiFRyMYBUy+brOsTNNOr9UKOvdbeSR9GU5MzJu5jKZqJYFFGnKOnDeh - +C7Uvj69Dbsn+YiJkmudCqoaRJSlPSSo3trHwMIOgf0uRSrk40Abiy9N6CJ0XWueORUjpFDLEBat - eAyv3pGdcr2dxzxfpd3D2pBedhRF0vKePaRBH1n6bCeajTCE9YCKFySzrJ8AbXVApcLsNWTrT9Eu - OI2igUVbGTQL2Sa/ZSQKned5lbyumuMA4XmjuIHHiGFZWrP+Tgv0Z9MDJaSAk1nZ+14Lm2yKM6Al - wCgi4I15VHWgBtQBLGVmoThqrxsm/2U+mY31C1AsqnPwNAHdllnDVmgVP+7Zzo6BTUgqlHZ+ORtz - RiwD1k5Za9HLmgCvh881I62AhrvpIil6a2SfyXCjnq8WNNaqTm7h+PjDawtR3Zd103PimWZlDbr6 - JCZHSUlgfmLis1m0O4wtUvdX7ipY1HzjYz5H+FvaFErvion5QoHYw1TTxqbd7kJhI5otoMLefhco - cD/goJ4T5E+QM8jSu9eJNh/mOs8R333y5QB9MosePQaklZAR/X5p1//Ikbdjx3aBmWejTwvHy8TG - k4nuOorbgZtqIs7J2+UblvHXTk6gPq27Xm720fbnEpNmrFUgO2/KCsrgjllEcmm+rL+Cg/2HD9kd - 3+qaw8f0F649JXvAtqpAYf1L/3majqg5zGYsTlUhWs6KEoU81y7KMBH4YP1kcvwuj/ibaSvX9x9O - +y95DZQ4BRx1KIvUd+t2wcTwstt9QzG1OT1VhdpuQHaG26tXkOy533kO6tPMyec8UZqL0uH+X1Ra - Dm1TywyjRc6invAqhVKhrw4Xo62hZBxECKiFZNkmuj0e5atqGrcnpkooFgcMemmGAe6kyT5yH9EH - vIq47sdTc/4GP2rXXaDOM9fg4rJZQqex8hqlV8ddxzJMEHCfJjZ5KoFvduEJdkjLFwi+m8mTKIO5 - bocr6+IhTYTjSg24zbC7ZOE8PAInZGKdrw2bxNwcACwa/4utCEzJjN1JF+0lmSvidbt5Q6NIw9XP - 3sMZQIZ/JJVYy1Bz9UloOzW0rCMIXH9enIHIRRVLfzBLCVoCMsb9duroMKnW6vue++ozEsTZyqEB - bXQdLKrtCrwoGuhk2pXTfpW4I1DKyWH5GfT/p1yZTjY8mwRUiwSrPjIURN9pkffCjcbZ6DXFhoZH - 3FyBJR8ynN4WRvGP0hllOQYpVYrG/N0pHpq5Obr8x0fAtzTYlCxFGusdSppJ3U5U/RTl0mcgFvKc - TTiZino/soYWB8qr28lBGx7AE5nmc75dFLr4bT+PGzY9Wb4//RQ4PVMIgXOBL5ZXQUg1XoZrNY27 - t3GNjRrNbwo1/ILtCX1X6Ll5KFPhJHRBNsdeN/+8125gl1dGudDCgCdPWH4q9jY6gj24Y5aF9Iys - Zz7uMeVM4GLhwwueFQwT5TzJAChhwUg3kmfVtOdhxasbSoV2SYigT/CKchCrywCh8Oh1gBQvgnsY - bmhbEY8MsELchMdBh7RX8AF0wERzW/v0ExZIM5RQAm1i8AFiShfmg4jieTju++90XMZm3zxJrDQj - c7kBP6a/CKk6s1RyyTL1kL0U1HPh4D8e8cePEURe4HZWIfsKkI9CJTiHMWM3iUGGYhmh6QPHbaTx - K9oFF0dIglWxThHxqWFbHQNmzf/+Ib/oVnnm46DxnFOVaWjYatK88mxzTqeUKKLspvYbAXq/Pzyl - KdvjltYUni4sEt2SC4GNyjAxJXLxLGpZiPlWuhVw6eXE3ru8XFxK+WxVfJQuRdiK/Zqy88xlFcOY - xfsviSjkZNoyDG09GJH4Ncz/HZ/lvG4flVl2/W+X6UHQycY+7lwZqpyvIm2FIUC3h+4e0yOsl2H2 - j6wTF3BcrFgTapmjOJQcAMG8BYwiua/NNExPmtuf36gFDMOBgicmCUEPcdZE9DnQ/acpTxkB9C94 - QHktn7nf9r/qqXmk97Hskod2ZTJ1a4WCpQTRD2NZu9BYK6MD9S3yR3UjNz+ipayQmMICPAE6p1IZ - VH3Cckj1CXzBRwq01Mt6P348CxpddrsrN4VLTSLf4yfnET95SgMYj8xcHScLBDeU8nIgeIs0FyjG - xFiqSOezXfE0z7LO5glVH3Hy+Hmo4bPrw67pFyZpNizyCzDxaB4F428jkuwkQDvtzwIJ3fcEGS+K - /0x8epqsV51Ujt699Hu4wVr2h1zRtUp5JVDiiJScrtN6DVrm/j62I/s26IL+yEbXTRifcHxhhEEh - X9ZgH0/HHYeacQVohLJzVq0sC5sFryMUT3iACzKdg/UwXmBS5jlzj24pQQmz85gp1cYAvIgAJr82 - n714/u3XE25inrMxi3pUlcZkY6NjaZcM5VUZE+SymxogOdQiy2CoR4w+Zl5/MMmVUSSa4SQXUqRI - ooPcR2CZquCXhRWKspKDzckK7K44K0oKkiwUaTnU4Q3NeFfd4ojMneYfQ/WEQi7rfv8Va4zy9YCM - NWfkAzUGhFZqjEplypbP5yfqzNt42kGfk1E7FAkuJAVtQZ5kWwQ8DV6rUjZYiwFMDgoabL2JJIcK - J8T3s3/ZQbdZHMRNzQd3gjlv9TdIQ3YeUPyQYpGzcxxRKVkXgjLjosmPoteybgv5HRehM35jkQnF - HA/b9z0KBPEJYa+0hXyCpbWY3TygvP5Zp/A2Zv+1qo4HAmzXN6hCMXQFH5FyBRaH7q4qZb3EojpK - 1ozr4PqtOfelb13vISHTtgd1c5aKCUnoc38etk8ATPiGUfw0K2x5Z2qdVmQfKkYcD4oNXkW2Mf04 - rf8b9P/EWikKWHHDdOHl14EpQqCkGiGUVmWU4CZsJ9Z1netaC0BSiBTfw1MLimich2aZjuPUbOo4 - DZ3hwPIaBThwO4hTpPzNRopP6KFzQSfI4Enr4ygPoK79+A2+7LFZA4B9U+U2UPWvtkjaSRLIRBQP - YJehQFuW3DfNyL62gTUJLOS+H6k3os9gEWvcH50Ir3achs/Zy1AxVuCxa4OqQbEbUwVxXdbi2x27 - GkG/27zLQdbraVe3ysZze2T4CAPV7g19GGb9SM4Zj2o+5zgUjogqg1vUP5hCAQwYZRq2kkgHCIal - nSBeGHioCKTyc72uDTU2x1Y+xX/uV/eOiXt6qPQSccoV+J5IMeO33Bim2fTv2PFgwIlp/fClDhwq - Ar3I1UhfBgnmSAMfsn7uBMBJ4q7drIIpCSYArkbP3FFRmrgb3p8qftN2X++CyMvYLTjN0hIPbRHw - fH9QPBAUKxZwDTnI6vHHZy+5zfp4c6zi3uItEKOYHCgMH63nYxt3xctqH9v9Be6kd4mZB5md0kCK - eE0MqCOVAVEmttUM53dkDxTC4JcsKPmZQqwAVXg75yFWKMwybD8GqC7PcH5NkaqtYjZP8VI2WPkY - 44PQC/iDzhvUvDxKwcuCDKxb4Tgc43wdOaTkkD+Nm0aOJT2d3rgMZm8MrvtNUIiJsCQZUF5ulCyj - ObxtOj6ryrS826EobnYEijQj+6AwqjELqcvT8AwnOfZ7hHFunqRW1w5vMVs4fHKkV1zHRZz+Hcfk - tw/BqbmM4qAMYzTH44VRLFKvba6vTBqfaTvhLg1oaIn/ALsy+VKCZ0KfKLsYmvYbEovrEZqsDEhh - zOZtUIgccbuEvQjXwzxK0Kbrpy3zTmLhwQVbVbpiytEYBqMyVEAoEbQZMBF9caMy1pnqcSroNtI8 - MXx4GiFUudscfjFyHPhtf19xARJLOVoLWhbg5Woe9PQJBnKuHh3pp0+gNDrTFw75ZRo2u2oxfNLB - WB9Z5249/FMLbjQjaueOERt25XUt6qUz3Y3IznKAYzphEQ0tZO9gnsrks9qzSCnwFzIG0Jr0Qve6 - Q9O+QlI1hfkYfNYUMClnrtRR5knjtEyfbDvL99EzTEsJAfBllEqM7LFFMl2WvvVX+N1yjw+tEkMx - zKKsCUK3Tk6FG2Y4AnYlCCK6ru5+vzaHtoi1ghh8l15JgJQGQN9CqX1nWVe3adegOBmGPnno69wC - oxwwqUKRwGVJNBlo9XTebGAwmJ8iFIWekqX9OKFIV4yItUgQ7bNf5VsV9FFGoFkFFj2o1qlcz3/s - xUqhn08PUtVefqxeDQUPWtgvp66HPsF8qMR7MSlYyqHR1kEYd4uTJdtc99Fj4gNwQsFaXFJcuL2Y - ubPuuFbnnOxA2bfXlb+f+QtITYSBffCOzny+7mWl8u3u3GGGwGd8BZPE+08AYoyiF+gmaCbJyOR6 - 3jsKICKYjyWXCnHZW0F2Dk06tEOx0wCoIPKc6nbfoAK15/Y82xpkbrw+viAdTpaGZHsTXraiFPi0 - XiX/kAxGA6I6EW1SNOUxho6N5GS3Glz7Onrru922+ofLtu9Rm5s9EiwOwKqTpL2hOcVdB80KmiI0 - SLPff/4fadeV3TiyZP+1il4Ajk568wmCVqITAFFU7X8hEzcSJJGsqp7XoTf9+HoKWTRAmjDXYMqj - QcrE7NvShk6b8zQoTJfLq6CH156eSNnLYT8FLAY7va1oSjHQ+RWKdBAjt0QVpf1p/FV/6O6rmCnd - RMm8npXtIThNC5WBo3Su4IplQVv8Dfjkzmqn+BiKXKCt+29EgM2uSeEGFaR9Tj9nWxZW0om14Gga - iX7l6rA+cCHfVfbt0Xu0++lMZmkDvsyv08w6b+ssejx0Ow5wyt6F4kGVOIAlGxl/HfhVVARf7zf1 - BD8uur+JQVTTZ7U6sz4sZZSxmeaKz0w3cgzzs9Pl8io4Ppe7H1SfTm8nRv2a33ws4FvCj9neBvjn - Kg89IA8j0wQ2LkRXFnuoWwMFh4JycHM9Z2RsDvVQgEvhtCiy6N4dgTFmgDLkd2mWPAEzcShz6yaX - 2FcyMQ/thlc4AJKNLhWS2UGSss2OkxauJgrhPMtLXR99XwENirBwYoSnyloFp7BVnIzb4v1mwx96 - AFAkDCbaf1Gj3nWftF4oePOlXmNchbnJUA5jc4bIoBsY3YgOifYsr92Px9XYxPjKGrmIR6p7wZmT - RmkUbHCPU9+LYluAMYCGbWCIROfj7ITC7QkKdlWYbaxHLwo+Nz8R2BjAaHxN055PX2YGj4JnbLAR - ZRIDgIuREQOgk8QLEvcZZ4iv11PIGpZ3SPCEsPPPww6nPAM67vauCvkzhWAU5md3vyzjTR2vz+qQ - 50V7rf9ks15zN3Ha57LVVQydwUwwDNvCVIiyNb04j1vxs14dz9uGQUAwM8W/PWnkeoNzHPJZxUAg - GdmBsRtXH5xHA4tqH1UDyKlFT7sH7SpwvPY8SARA6ne/an4D1EKfKhqryx760UBENs44X0GAIK0X - UdbBdSPbgMZ+/EYlL9QNeDp8NaT5jKYPidOA8iqY27vLofpV3f4yMlPQRw5ImpsQuvKGoiWK8T1a - 9eWqZ0sRwbbw1W2nXln5Zc66aqrEbFkuzLL4o7V/wB7hoDDscv73KHSxWMjBN4fxCoAYMFamybE+ - y9DfogmOAeDQZ5lA1QHWlXBwbijiiHP17kjRr/UpI2fFviYD3gynfVM2fy4OmdmekVAnpQXJWu0J - nyDMiq+8kMEzx32o/D3ROU4K2rmQgAOLIwahF2sLxlHdtdwN5xPae1E9yRxHp+DsYq1mKEN0ZZDg - Uxcsp+0y+zOHMHewo4kBcU2QuO3rncotiQc7OZL3MIwLLnD/JoLp0QGgKA8NyTKgvArAAZv+B19w - 1fagZkb7jN1FWAY/9hj1NKC8CgKU9eZJ+2w98nSpq80f/UFOvl7079v/RdbtcDohp8Rm1oSKo4ji - L1SvQpNYLoGiHxEcZRhX498Y8vBAy1H73yTiywXaZV/Wq6W867LdjN8AG9l7a+i+a9OaQ5iN/cSW - 61YWC50P3QIC/34iCdx23YiA39EZlFFFZOyfTEGlWyBoZt6bhhWyV/OHFLz3UTM1UhciqcyuZHyy - ABtX788I82FFkSs3Oh1HrubOyAeeh75MgE/2pDouSg/ethvW+6cbRjuYrn+psjHmzIYAUKkyQmjn - ue3qxbcdF+/MiKCbS+lN7bFujE+O9SMKrFAG2D3sxvG39X0ZvzbwGS29b3PvwSQgqLwCuUQBjMlo - exdl3B6UgKEJ3NAkpAdkqnwrxqS15VljzUTXE9Tr+h1736JFD5yUzTXLNXibCuJSsUvI71ApwExM - 9n+WnKIvGdLLeb3ogHUEi5Ueg7fVU6K4KqP1FrioCSiHqIt86KHcjpiDpgJXsB4/wyX6IUBuo61n - ZaXs9fHrVoEQbAOfC5wRzJL1epJDvkUQUO56pUjXQbdrGsCvZaqd4AZl7sBYZ+eI0gjJaBUo5+So - yMg43Ivj+5Jhr5PBZrodJZbemZ4KNIcNAC/4Al6GHf06n1lhUje0BaWZQo3F2xoKHtAwY0eELOyM - oQzLKLUJv/+wtEZjKtFH6RSKxrwwdz4sr/C6oHlK8zWkqpimTDDARzK31sr2muXXsOWNqjxs/8D9 - qQCHg5iYrqsKI0YGI9vvRvRz/BTI2jxXnHS0giiQpZOWhmQ4agottMYOEjA/iIGG9uMpBW6Xffvc - 5z+f1uxbgUPH1kRmEyLseKerwn7GSEtjkqmlPTjPCNoeFCCKQ/JDxVYU9l8fbnflN32Ot59UfGXu - ZxpSNHomnjKpdPtZXjaPh8NeXm18+zz+w7iq0l1Rc+GCFBPgtZS/Gn8f8luugn3LeeiZ/0tXZf25 - H88sDpyfUi5IsVAYQYc7F+J44+NhggW32rJJ1u1uz3uMFLWYFFzK0wDDhkyCrPVj32TLxqP4oreU - lb4+FhctaBzvLFeSjawCv1nuf4tQjtexQzqO6j6sRtwcngdfLygV2pt1migcu55P7U/0sz4+PoBA - BBASiItM02aWw9COioPNsbGhYwcHulEeQN+5sAxFD69ZWbqfhuW13Z8uGmVexq9u87Sh8GZruTcJ - mY2cqwaMNpluEiaGm2j6svi861dyFa/F+woFVgTNYPeEpKo7RCcaOHMmsXVPlMGWetqBNGvY88Hp - 708BFXOaQZY+lnuB7HIrO/73q8u+bkTuDhQRlJa3cRQS3HUomKAd8bcCazg4KWB63S8PfPMs3zxj - Zu5XEF7MgIyzXyq/iiAEuwFCFFY3BZ7w2Ai5B6VBfPFlgJLpSNJv+BM3LFGODbEj2qESz+XtlvVP - bkKDaS7BAqsNl1nEwnCX2gjtkY6rBZSkwVx8cF9ShHiXixmYAlwUOrmcgWwL3IlEapVctRoD7ZPo - VaJ5D4qN5BM2+7FFYqzQCqjhUy5BUzbQ8BDKdX5p/qVZvfhc1oqIb9tDDTbbfh2epYvG5bBC/otK - KHgptxzAK/DNIIznp8tGqGPTv+8XjZ1QM+iLhApKGqxxBia4mCtWhnnerLruWP2srmvPE+reQAwx - Vf0iOustq5l47s7534jz/9s+ul019IRu4mKU41WAQRO1SbSbuOKa6kKQJUOf4wZQnKnKCfH4x6eg - DeA9Ez41ck0rdGjbf28ac5fzp8M5ViyAHDTAuDclahFyfncczqVYbiHlYVi9bn50UPzkATdOgVOm - GGUl5bevf2oeVH/dc9WxCG/M/efxpyZ6+i8PSNMwQdR27Zjo7vjtM0X6FXXJx6Rs4cJHJQZLHU4D - zaU7HY4i/TlShi0RNFB4MPhivT3Rp8CHhWW3OPQ0KtqKde0TrVYWS2LApaxkvbzQLlR7hG1Xqz9R - nZKn0JCNWSLr+nb95y+uTkKhys6VomhRR2NZOZl7o9rJtuT95tL9vwhBfOHzmUNczYpRIcyKFDSN - E6jU0aJIkV+LIoToCPqAbYnL2Mb4PL+BImHKCJcqC8ke9nny/Cp65Pv1hrdKFPUoWI26DnoN3X/F - RKZoxXtlu1yh14d2MXKOO7UveUVnP01fq20J+4Wgnx1UDDgW90WF8f4bkA67bANgmcy7RTdC5Hff - XXY1LGHsT3J5h7fNZl48rsYpaDRD8CGEl44OcTYBLuGBS8pXdR5I7Bi+sY4NepOQXPzr8/CL9YOn - tnTQtTZ0pPUG5L0JfKp6Gdtse1pfmruxy6THOH1IoMmFuqhxZYSSRYVgJ8F3JjbIkR+sPLqHbH6C - nnbp0Yiq4OtTL4eJrPc9WyG6sr86mJHON3EYlIQiqmM58EqykhojjwAOoTtwP8tT8ABcGcpu862L - JEKIbAbUgVjWFcqmST25S2V6jJkbnvwrgPgKogdJQVxgPHSCy2euEOHo4uMIDCzqjf6YJFzYL85P - Vnfd6fROE8RMQnjhN2uRSAGXbrgi7v4Mg4wONeq/f+h7VzOE6rWfWCFCWUWn8TAWFQpUZCirRqOx - WpOGclXa6wyj4tHkFikXHNq6VrNdDkfo3kzINZPmlAWcFNmAzBeRFkShmul4PDTurgIKYclZWIYq - fA4wts26IDQE3arr5/CEWQIydP4Hh37Tw7UDdbDmpkRrTYRJE8W8lIuUi+VV0oI8PPXmV59PbdCv - IyWPCKj4RmOSVz5XNBEyGiwBR2eQqf612x220ppAgwgiptfgtUOKdzP4lCzTN0h9oEWQIDBy2269 - RdrtFFocfNUIMTaHxXvDfRq6SId7DFUhIRlKGowv312oMDcM70e4cYY5xBFwTUcT3BpQ5/mq+gM3 - x8A7Ixj/L4Xj0/b8R84wtmGY/ETl4b310vaLH9gvLvZLuM1ZdvBOfg52Ah6SJhHiVBSuggzv375d - m8zmAQ3FUlXvF+rNzoL7gtKxrNW0PiCyyKUZqdV9x0k50T6nvAeU3TCD3wRZ7LE4dccnh77T5lSv - 0MvpuEFpl82Kgdr1T7u/AhiDi78a3jKiYLU/DU96Oet1SwNvjtYUFTxSO/D06MyOrH7CSH6hlHp7 - XOPv5hJHZrql1XlqKcnPKIfEV4bu/EHT6H8qLnegSE7YRl8T/el2QcLY8I5Kq8om2Y52gXl8ugWR - tPqeTDop3g/AnmcUXoAblrGTj/Iy+WV5ZBa+DXVdT1P+7MD0p90lTgPKq6AX+C1njoxfP5Bp3bQL - 9neZT+Dz9jKAqT3BAkycTa4QoexugZwtI4ySsRx3Wznk4XO4rjEjEuhzTeUIxHw2MNrUNMBkmZEx - 6pDMzA/66bFDmhyuq7Tm3DSgvD5Ff3Rq4u0UHZ/mZfg8gmhsyi11eobAhJcQnd+K6464pVZYutp2 - 3Y631dig7TWPPmjfCYZ2Cc2Ieu5ce1Fzd+wZqoOWtcvz+lt6RTs5xTxx7w0Lpgs+Yb85QtJj4pAZ - q2qpqERPO1C641heyDFnUZIqsE2XcvDSm8er9DOs9TCU0gzmwSBJLrLcjojx0DKxlO88F0izsRqI - pNJwEJVhxkP30CvSYSYADXQ7/SiLE2gyJxet0HN7rU+23WE8YEHhZPe1XmGEEo/m3XsakGU+uMP5 - mxZARPmD/b5gI+FrxDr05lAmT2zua6ORfdKxLXK8uoQHj/5aiDDdQ/sz23Jd/evZhuBj3TOBEh4E - yMXpLUKV3YGgnhKb5gF4E6XK8fgYz533JqBdUOXqOjlY2E0DvEwAcDhfO0h1JnbKVDo/lRCV1VAB - 4AFeCW0ml+CJhjv61jC1aX7s+5AT6j2Oq60UwMtaqMuulx8zm7c6wQMBWfxm37vmIUQTZ9wupB3J - UG4F9hhNMyH8vjss2UVVTx2su0Z4oJyKthmIOEApnpuoPAyGqml2rmUALgGX5Oeb7jIQt6cC5fZE - 2y/F9+N6LI3zYl9yH+V4A6WfUjrTzkrb6+fxJA/Y+mfH8Mu4+/hbiaZ64N1T8WR/eICCf/seOUAI - 6TdsKkCrlIbb+LJ4hwdHnPx853oaVhX5JkN3ugwor/PPwD9QCcgwv0WBA1xRXZwzDKWFdWmflouz - 4KKZV277yQ7f7WG8NBGJEDwQUtWTsWib07tGbGBCDeVxd/4FrhVtHeimunvrwCJsoTWvEjOy4A/A - o1DkdE+sedrXKKair8Tcrfx0FXgEejXxZbc4vHMRvCimWDc1/eF85GE76RR4+mVEeRUEEsf1T3BK - K9huwY8Fzso0wmftamNomgAJM4B1wZFroVTJ1nHGz383kjAdTQAIn6VRfX3PNB1r0emXX5vvul03 - 9JeefYXLxuFzrLJkmgYRdCsaEYqpqIgM8fa5R0hAUR1kuO1djyfZmNijFQeXYd+WMkxwnq++xl/i - J7Ho97snAOh1+PhV/cnytF81JSFmxIGbR45wXTDaORaXVlKKLuR3q89cH1YjUi1kn03FvNYwKS2a - jMg8tSzzXP8a/2LiAndV2qAyHLCQFfb7/4k5tDqeLuzFC+pQYWbMdpFMsTAQ+Z57TtCzElH2z/sS - k1GaFx9ymHSYJkpPnc4KbSdt/5/A7e9l0DPANXv0erk6Bnpkvh3ZKWCPpzmsStqv2GM1S+oSi+Px - Bxo2h9PyyJkcUE12nu8hA3AZ4v3c3JNrx51XKA9sxF/xeJD7A3XHDyiZxUIf0bRR6KqerhJU7T1P - Ig5IRR52+7ZS0Pk7xwAGwelW1IyoklbnL62WBF5OZmZ7EsogfF3Bs1DP+ljASoIHg+2drxsZNqg9 - n2qgZHs4/VFYWNOuTMvImMByIm23eBJuPYwruaz8oh3HSQUG6ev0VGEXGCmV04U2cBOJEcWPu+Un - iIkT9PqB2qUUDEw4UEJcU9BJGKZFe9Cph1EUomA6F4OvmEfeKzQFmsTA7piERl7t9Uo5PORBYHTr - qkq9pbwYmn9MoxB6JqyXfc/u2gUkZM3TpKY4ivK/MsAmWQ9/O57bvxM9ocet/L+IpHT9yHU4gLWh - taJd9R1RhYNkQRlh2AJJkPTurvtqfl/3a7bhuCVI2Xg1+1xkqFDbZ6kMEHOUDKLUf7ftdxOKUhTP - VBOqShEdlvQLE4ZkZrCJDvnjuVuh9wpISeP13dIuJRbPAwXINYy1EkKt1gPl2Yr1LWm6hzTTsvDw - t4gBODqFnpLQbQ6Q7nrvWpwPT5tZS5uUjjetLD3r9itQJ7WjR8YlGDxKJk7qeIN8/uG74KL6y8WX - HaWKkd0cLLxGVMVthKKaNWCNYllGJ+MdDsehZzjA5CZdO3LBv8mUAz6Vgq5IvXa1Gx+3cD4sRVbp - pAjQ+5f9L7aTnYjvkR5qJQmc0JlEvUBjLwUnVrIZdadHCP7bPkERt9Lpt9YsLtAa0Yqe/q5rLAAm - QKQ9JAdBgqR7Q2eAttN1mdbH5/kHodp2z01Bq56aCRQ0eGa5Whar5AFBhubfjrtFvSBW+473xd/q - D4EJFzEom6YB5VUwRze7p7RpGDnrBubGNfEu5JQc9DANHVzFa8W5ifkriGJWe9bQMEVZD6Dw2fID - GdgnF9BiZtczIwSHrQ7tsWxZuioPU0IOCVnAHUFoD75sfILi5HiqQf6rcy+nzsF8/sgNSHUTqXpk - cvCzBKg4TwOMkqHF3r8PPWJcyEWmxpk0VyMM6IoBUYW3N5wViWSRll8/0GVf9d8/UPn6HPYNLOpp - K4sAz1ciy9jVFQVcNCAqHibZRr7O3TPV9Nhd/nm425U/u6z6T95PMbsb51Ws+uI6ajrMHEYEtvFW - kt3/uhw+5Ddrdz3VX/nwLKHwttvUUjdtIcnM/6i/DFhmiQ2gHqm8Yic4o5IJ5aqShdCHtq0X2fZI - +awv8tKYozHX+mN0lgXoQqF6DSKu5M50lMehh2QY6hfmNA+ArmlBAmGuCy1Oxvw7LwcAJXGm0S+Z - Oz3A8zU6CA8G9tUKQlWC3eLUcTFxwj3QtJt9SqSvTbGe58ok/UCbZQq2h+X2B/XT42GP/qmagufb - KRBhUGYChZ10qAXsQh5xnuSoaVdNKQJVgDt4vMIdkU5QV65n2SHTLYYtwno/6QRbO58slFvQT0n0 - +AID3YNQ3GpYLrkhe2M7zypFULnMyZQcxoZpmKCOsnqGX7VLbGHSJ7v9XqL6k4qbn7Mp1/LJlLHQ - gTYNodd/O4H9RFmrLT4p7Uw0ZSjs3H4yUxMNT2PiHJYbwLOkc4B9zQpcTfQA9ttWDvBZ7D9XNY// - 7Yy+Qb67ZzwacNBypPTLRciQ84DyKgFiXFnJim5fQTGUMdZGxDwUddHSKtddlmHCh9PbEnVrCFo6 - 6PrcVq+yIJFm60D00shIYSYlWb+b46FlwfYJxPPQ7UoIijLlBjlEHhH4VUSjPQ112/B0bbsanLig - c1DrmyO78XedlaAMhJF98pqPcZQQhYf5YWz3P9hKz8v9omEGFMsr2Zl0RzaU1nljmSxG74HkU5JA - 7Tv4I0B9GeUm2kJrkROXI+RuJ+SpSOP1ffh8ZsV2pwNYuZopJOohEh6hTE7bSo4srlccA0XTeNVu - nwK6r+H0Tx34rD7avfjRbFY/KLYOi9WTRPxyedo02d9pEVBrqCrrkYJLtBMyly8yI7YF29Zi8d24 - m9uDVdrMkcZIyjzlvfCSsLaIOwrqTg9Pw+lpd+MTU2B3+YEn3Pn09QU6M8SnKcahiLtC9SjUkZEI - odJsZQSf7emwYKWRyV6TdtgaFa9dSizsNEnByKxzdhs5EKa9bHo4QsAFduZiEKGdEQM68Zo1f2SV - vVV32tfP8Lj8SU+9OyKJ4/4jyP66BhTnaDMCh8i22niygtN8Ny6KDWDgf0pMmJJGN8AGNtHmoPRV - hFY+rr/lXbP1cvvNosFoCiY3M/eg3Q7FcjCb+bLzsjpYu1t9MMhvLiPtGRxCOVPyofTwkfnwq+BA - PZxQJgaDtUkQvn8MQrhKMXGxO4xFwkOQgy+WbDFUgksNHLupMIZGWZ8dwz/BUTHQfBXM7OHwb731 - 6Axc59m0Y7+ic4ujITqNkE7YW6ahAC62lMw4P12W2mW227HkQYBFq8qDG9+GQkc0Goq9j6iYfEFT - kIX8PJuvmgqeqFyM0YYikmdklITr9vsHFbL1D/Ahn3Dgnihujn5OnFUNAONVAWZA6JQl9uoWdS2P - T+5jw+l7wYhtO31uePA/FRQP2FjlJuLD40y8QQDLQE+HB82fwPYoJr5W6QIryeTgMRFfThtwy/Lt - J94HRYe0kz4JIGaFFa1kYILhePpib99cnJsp6XR1t4vmugkIGFzBn8IbXTLTC6uhJggO7XgqtDv8 - wjv33mCJG2D1fbn6OzOvOJFn0Bj5eBogppz4CxZ6hK86ktEgkgUpQKHKRGGzjHHY7haLOpTptu9N - 0neBmWh13ZPMyGe0hfYFhdBJyXRlL6cTRToRIDLLKiXBPklgxGSheFmkCizcS0WKq++jXMNvPJwP - dVT7tj3IudzdZc/k3AmgqxFzzdMfMMWw5IGm4WaJaFpeLmeOo3BTm3A/mxPgiCEGg7/Ml7WsA7Tf - bPd/xrKo5NBrD9FQXv2yB41DOy5xIlZxujbfhNsxa2A4VjkH+lrULVhTIMdhBuxNnHEVEkxzzjsL - RkQ55WHdFu0OdH14Vwl3lBDTDXWkz3Xsj+q49ysChB3O7fcfb+xTXMGcjEnWZSbIrCD2oug5Y34x - CUi2NE+fY6PZDAo1rxirepa1ln4oa6kiswsyzch23HdnZu/MidQQpnjFjdRW3y7ya1l7AJXWW9Vy - 2LCjC9xLDW1I89SPYhAYEbN8IPN8rKxffKQ4HASOCTuRHjAfR3HTK5zMA0tPsPC0qaYXLQiHpZaT - hSDsvO8dYMmWbDJeTUDAN0ZXTgzFGcwOTvPR0+dkDHBcrBJVwpYwTM83TxS6z3MpPmB3lYH7NgRo - 2IJLBDZsl+vnvtOlPzWO5Z0j1BFCxe+MkSJ5xUsTgHAjO/ThQPKHbp6i1BYCw3SQWM9n235oCpEU - 8e/8XEM5LCZ4oUzumaJG9eL7eCrKop6PtQc8mp44PUfKjxybOZfj9bfOJbJdH9HxZIL3+rK74PuW - 8+KhRIWWOs0Eml8xFX/BLMsd2v3pJ9XzXyd22lRwz753FGjuovurGbjELC0hbnWz3z0FqoeTHCT6 - dXgHRgbHQ2NjbdWaFGXTdPhEZChir8hzux8bc19f4WaBokL2+RUe5hRxNsVJUBa6v7d75FZoIYTg - K+IE1GogFZ9Y6kpWjD8V5yZKAaFsYH0NNrRA30SUVZEBAIsm+YzDagfRTN4EKNB5uKeWLdsYCtZz - GaCEEd9me1OJ5Pj1noEmZAVwd02Js220ZI0MiXZY3nslghNlu2sCK2CDxxiet2EPYJuHZiwQ4UrG - 4dtt9gt0pEATbEyu1Qx1sBlefXTdm2mUIM6kn+FYKbOIrs6OLKAWkgUbDCPox9D2L4pl28uyzq9W - 1x3kuEycerG32WOihhsFELJqGgBLN9FZsvlgqnVu6Ch6aItb2ExQFoZAq2E41U2XyRXT89mbBbhY - W6ZNlB3nt4u0lNJLC783CqSAvMVdxJDHcwKF2hkFRgBjYnWUFWT2Y39sJjbn7XZZiicoKMrG0zHH - 18qAcOOO398Hgvzg3qV/uWGfQGVy7FXy/tkJD9wzV7k4n8fCFoEUu25gp2OarTi3K8+64DIdhRxB - 0Ftgpkme+mLsP+tU73Tur6yqC6Q9/SIdXbVXUWgc4KWI1hoXPbQM/zV+szEBxyTa3YNLCyMJpyB7 - ycG2m0YJztG3sfph+20H/T7EXg2qjyaaCl9lEs1OqIx5Bh9pL7XTOhwuMCO792ZuURmQlK8Iv3wM - 0wArhM9RjtnXcMTt/rgCkJlmLMo+uRKlw2dFn2giQmLCsFaYSOrjMu4bzlchAZHmqClFKWbIOaEE - aWJjZfitc0eTz7MoNiA2EYHp7BH5BMQGi4mDnySUXlm+QXzCw1Ic7gM8BJ5kCC41eE72ftULbRRO - 53bZcDylacOM0dW4emWjz+z7h41U1hntAbXSDFJCX9vcqwzwgoGrJ+2i7DJjzORGI9gdtnDNRFmZ - jzoLjONso6Y5FiC2kZDDJJly526xZNWLqeCXzT1V9JQVKUqNE9f5WG7EymBqy9UOGbWluII+JFWS - B4DJBhch5MomLJRligQdhvU3q1pMcGB336whG0BxKf4dBtBcPrAIJQXh1+UJkw89B2k4dh5OBZFg - io7UHKnHDpmg4jWcFGcZZmIF4xzNUhUAst3ByolrAMboIvuKgD4LY5bPxZHPKsjcPlgR0Jq2QB/k - 6WJ5laRiYw8Ok89TWntLbXLmTcoZRxOyDEi8p3I/oA4lUNWErENiNpRtnpjFNlH84OLLokMBn7ES - j9+iA4KtGDyCqnKxvEp+y7aV57yL8zig5RqfMFG0kVEgR1G1Q2Odr8sUV1b7w5MZ2mG1xLzkllnj - knXVaZ1VVtwLVlwI0Ez6l+SWGxAb6OEYnMZazQna8TWEFC1toKy6Y2WNu/PHUAfz3eoDmshYVq5J - FIw8vEUiw49hgZNRjNGhDJIAU/bvTEwNqGbGMBdMQQgA6ZH0iOedyB+lPb3/YUIlDxAbxW/a1H+Z - DiaExS6lbF52Nby57T5+QNYdPzdPmLDPJa0ml24u4xTLz0Xc6HD3OVvHMD74qAhFodqhAxhiAp4Z - FasiPEXJGk45EVM4yIpBx+9uwfB1tEVugi7qTvDPCtKLKjDvw03apqK0drXcjSxtYaFbCF2EKja2 - MXnLhQN0ALQMxtp1n3gHpvcD9TgjUXCJ3YUE7RbDKj5GpoLRdZddww/V3p2lKNZK6CkG2G7ocjXL - QonhsBvF0/Q8HEY4c91E/9ScRaJfDVxr4PbOQWcQajxddr0c4HL+tSnSMsjw5hJkEc7R0XqG8xXp - GZEgMmqFupBk6AY8alQq01PX0CUK5bqwiXOE5KFF4qYfuFoF0To6nXVwlvfyXIZIyvywyyjzE6sx - hAqF4WO2kP4u8n6Y6IKTdtj84Jy+rvfjb3SXj/O6rijvB8jdaJaSw3OIjwS8eHxRjqqYcljk1Cnm - EPH/3/vjk2X9cKLnA5LoVG+hW+hmJy7AQRTysOsqK/ECkiSpeo/9tkBOS7gyZRUU5FqFLcyiKloG - KFne0q0uCMUmAtvDdT1Hls3LjnOlaYBsJgzfB/zdSWc+6RloOLGYlGIdtKnmK6swrVfXJobb4zBz - 0UGECS6hbxPh4jMNE9yp/bIGDX+eBzY4oRUY0C9QtoKHgV4D3Di7nWU2OBFthJs1dGL8cw+JwsZX - lpKhzZevJ1nX4PjWozYH7WsLq9h6GitjkCVgRLDcBhQxv/fvcmf6Vdc98cOGbiHfWdpzf8S2qflm - grH/2PpA2nNJQXvGYh4KS+vfn4fv6hsv+t3lB/ylYVw+NWX3b+0Huto32tUsj0nYDWDrl8p1fmn+ - BY/QrrY9xN/pRIHem5o9fwsnbe2Duwl6WZkXyG7fMOkb69I9lOASeM3Wq4yekeZKrczhcBivHI+U - TSxbP0eM5dcU8f+wpajxCEhEDnLn09cOLUZsX7Rb+TnXCEzpwEdmZKHoaGWRZd8dWCy3RPt5ZoV3 - 09lyINihuMMEWlG+cxhYt8ioG2VtJn3i0UNAOK70NOD/cbYstqNmXgughwiJyeBfDqex5iTtht0G - cw1hzf3+JcqwaHa4QG/YMCotyqqV62uPXEkxS3QOLKWHYpyGti2uUypDiZIs8j9swA8K/AssvDZc - 1cxQlk4aoCMp2WaCMB1ushrZatj07Ax6kwh/kOSjT6/QXw/gmln8nDJMUks5/aUPSjFVCBG+IU9/ - GUsowpaZNvVxgduJIJJy//vXC6wbbD3K6uWyg+/A8x7kDCu5JUhkvwxHnN/AeoCA455s1KNlp7DI - cmkwvhV1iK7nBt6wtgGr1plcYXMhaYmKfGbmO7CRkihkv+hHzvsCr4gcVE19j/Sz2arIcqPOyAox - q3Y3S6NnbLUA1A9soZ2eBhgnU094HwaacegpUgKQPKo4s/3UG4hTummEdUK9mf5XU/yZIq+peWFD - gySAKLRhjysh0WvYb9DmySgQsRgxD6H/UkwO9Uely1VhV2ENz0ETbiX/h3QGzFJetXVOgZXIA8qr - 4DPG6/G2yH1J1qZznvHcYPxjG8KmWUaJ4PJ/kFFVIcPA0EarLCOah0P7Z20TNImVN5YG8hZ/6HpW - J2dooFEzab9Ex6SzFiJJNADqzE6WFm360zcMjcqND+Gx1Svs/8kjiENXypZRohLHG/OoWPMKafKj - 3F1YofBInKQy3DSynHEU/XHC6Us04pOdWz5BwjSajMqAZjchrYVuSWM/Xmeuy4J20rii3xXQRwaN - L82ELDKMJ2is5f4y9/+Ml7WvaRFuUExHvN3YMAMRQ5fHgHCdiwS5lokan3dL7q1P5PjwWOc0MSnC - pNmhbgPCf8xf6KyLPtJsOH5/NYzoMYy9fMSwWQERoim9RK2GEz2Z3PW53605LpvHS+d+kCdOu34H - pcDJCGg2fy3L1lsdEjg26BkIDyKK7sCQipTUN3beqadIO6aEUIDZUZaHiTpXxzPE7WxCf9vdj2yF - k5wCLujj81Utk/4euwvsL6N+3sETm7NoBzsYvp5lmnG78wZdOz/RQLTWpmJjUESvkMFDOYC7fKKm - 046dI3g/BJ5c3UHlMXiajjCRV/YGaJD1YbarIzrL0FGivSLXlJLgKOyFqj2rRElp+OfDvOT339/g - bYGK+Q2/mZSuErRsKW6OeJoIAWVl08N46Z4y8Q3MLlhxuwYMBzr+X6GGElyYBuBVMoc2i37z+8mL - ZoBCcEz/mwtB8DweJ9tOfBeKrWchVaIdnb6Ld+zpGdkAIIh8fXdt9yzP87Z9anpu9zeOH45CwLtm - wYIJlFqAOISKpdA6o+9+4MR5HQ5yjf59O27+F4ljyq3OfzuedaLUGhBrD3LES7vfs0EusB2F9RZr - NhU4XAGcojLACFEAm/OTn2nbjUvAuz2EuszdXUEF8DbogwEI5MtCju4RJxA6ZZNLAMMMZhuHgtwY - jn/DCu5ahkneDIfNk5LG93HJkm6lpmWMedx6kBbotM5FDrTEzVq4X1UfejkeOuzgEI19OKtrigsg - PhQhIjVdNr95KOJOv8IDyHKx7uXcXgdep2oq0Nw9PQM4ncqwbSriGfRQvdBFfd9+VL+gG9Gg9egr - TQ4UIVUbfTB0qONnhEkO38s4Jld8Z5NvRJaq9xQo5IqOvdoduxDLEH7tadY7qrr3joJbyvUpqrcv - v46busW06liTyzPeDboNNfU00GM03DiGYZuSxQTtoR0bMFY4p4N1qNLzT0nGOuSmmfHdSaiZdd4B - gMgrj59k9UOSA+QnNOwpDXFsUb3tbdvJW7RbiqgDL/uqYWMQnHo60kA3xIMqgwSh3XnXcfcdOyrd - 6DxvDYZXn20AIkZzAKy1TDFjszyNjD6xNzXZWvuDplkA3hlLxWC/EdHtxs35t17o6msJEsck7mT1 - zDsK6FmW/Y88wuFVFPR1B0CoGYpLj4H2zNkBBptzmqUuFkaMlpVQ+n5mjDuvPrisoHcWMsiKvCF+ - dIWZBc+2xlT8H0plLKSDy+Xy+ls9EybbyOSfvgsFq9YDNfvS9T8Q0Fn/APVzWl4azwkwSAS3GxC8 - By/VgrMDn+wyRDBFL52cQd2fgP8tjYJmsqS8H6MWZB9V3P0iC35K4slPdv1gRCFC5HtzOAFBT7uw - ZWE11rQuowS/AvKOD5e+x2YTk4MoTfRA4GF1xmnYf/+Mj8/DD3qS4+mAWijO8sZB72i2UxnaqWAB - zzgaoYraeXNu4LJcKgHxNsZ7G0qhEuxOZKBCnMLmcwBri+38SqRnZuxM+Cvb7IBT09aAv6kxZ/6w - FVJgpi3kdp4XqfYs/PUyfOzla/SyuzxnLqvjBa4QaNM30KWdiR7SwWC9VZmVA4HMNTLA6ukITYlc - sDxZzQpgCXVo+oCU0b1kTXTZ4z20HbZRZpFOJJ7bOIe7j8HW5TLgmWtKlzwUO0D8+bdFtNyxBFVi - rdlHqcTROUqHZ7KelxauGyG5cFyeOlBJaDFiIdL1SvuNjrRY3HK5kGH+sM3/L1XPYfXd4PwHPpAC - oyozoNSHonDYLdImEP7jw8gU6Wv3chp2z7PsuPktZe6/Tss6aTlTUgosU6L51gDkNd8E6CGhlsDm - XoqHSeZJu39nsdZSxkx0P+toBbJMYBWVqCHJlA4Pw4KhuGqSKvPzJZXpRLeTEwMjdkW9vO4CL3ku - rDQhzFqwFrLttKQgOImIy8nUq4avC9TBUMF3qOC7mRUf8ASUQsCtPkBUn62jJZDbBbBhTG1BDwOF - wCrVCoWACfyYYpcBUb96+36mzVbfUrpIN79y7lJaqwjckjFcBTVCPZgNoHjcn8Wdugs5QDnxFU1w - xMWcjQi1Nbpl+06RJh1O9NRdmKvf0SA8EIcCJ3SOZHJtm02LR84K08a42u+cbZzos+MrCwCJjshh - +yEvbbafC+bYQdPDBlfvDdHlDJohGrGK90/JDehWG3jlmQloDo22Kiv1EUK4ilNGDc6aKPdfb4// - THSawAy/dFtZzmkg2JhuOl3Gq8hMBo55SLniU+cjqwSonM7RqmmAvIhx6mo44O64BlEXUxNgOvg+ - zueQCuh46aIq7mWr7PttcvMF6vX+5iiw0fPPaI9MfTSR/d7+sCvqGU9W1o6dbun/nLupa4iO94/9 - kr2YEd1CWD3P8JLsWQhJEwcREagGC13ZNqv1Pwuw71G1xPZ53yoS1DkSCmcUpAYOQ4MQ23wa99+0 - 27gC8zDQ8aignzSNoVaAIVkKIuxPixNgl4AQoLVyd3xMBv1+kyPI30USCa0GEYO0h8fWLR7QM6A8 - 1JVh68RhCLdOZd3f1Xro8NDpPqQmaV2JEXl6Jqiw0XW6f044by9dWy/EYXzfA7BYdjLnwj3fKZ9K - 9w7GbBGHYpT1Dben8wo9zTThjX31GTB2S1lNhFX4UclogbthZG/YyUM3Up5221Lo7cGfCwplMgyJ - 7A4r0j3pTrxb4uHTlFUzXKMFwN0HNI3KADCx0u3fH0kGvR9KW5RABXcbU12FPE/2Hoarx/FXY2/9 - MvsANHsPbKVlXfJpgExMaLFEsh9QKtBAe88NOthZIRj8EZ3xXP2HwpnkPP84br4bdVd88vfmNJ48 - JQORbgAbWYFpIsPNbhZPoszr6xZskFeuKDamYrpmFRxLh5XrsIwW9Ti73ShXz7zuxnfxX75070+/ - d//Z1UDq3WK75P4XzsCZNTDdAdraIzMucNnzqyT0H0Hs0e62sh2U5ms0otKZtYHQngk8Fin99Ffs - fNZz/Tex9DFGhafLYFnTvNf+ZXUZxlod/rLb7AHLsA2Fu3d9h5QAJwWGEE0YxpXJWj/d1wI+Eb4U - hFABvW/8rGJmPKymAjPx6FVUdVtfT8ghITZnABE2sy0yAQvp6G4EeIIAh5dkvZT9eiU3p1ktf7Gu - XHnU3j/qbgqcWegEMCeC/cqsDNVw7C6NvQOHkr5DM1IEnMLSboGgnZv2MhTO5/lPGN7oIS5B723o - E1k67SRf1t12gNREfDUTUMbccelesedbMskzP92xuqyoZzd025ufYmSuC5RX56dq8CmhkWU5nrDq - zwoHWJ3/OmVO7zWfZL3a1rvMfjj3TyJ4/fL7LyrN/9NP+3rfDpNpa2af4CddZaMiCo0G+Y6RKem3 - h8X5tyLTbv+9YRHG0mazNyEp/CV8TmALhzLAGGF1/euAhrAqqBNt0hMRzvioDCNgXTEiFEmnLb6W - 9Oc3HtSDseCThoJBDJHjFka7Cf1XVpv+ilDalU6M01WlFnKnEcEWD3BCDMbqjL7nH6YRwLGe5gB6 - wXhy33tuvHgzyaDFmpYVks+4nTzCKBnH+ML4PfYmhWsiit3ziMLDWQvXLE9JbZWM+91TXqnjjS0c - 4iNVgtIgMElG3QYIBS7Wb2dkjKhy3f3BbrrNEMCOnFDSYQaLz3+Z5AW+24Gx4P3UKHJ5JpDPsl7R - wprLMbPTBZl049i3H78t19PhxOrBT03xm+JSiCm4aUB5FaR87fuIQhkuVshplj6Cm526F9KyTADj - AhlFuH1Be+oeFdN8fU20gCyLKALGJAP1U7YHEVAHKRY86zl2AqWvSE8ezTLHmhOiRzNcnmhLh+N4 - /OcuDJpvfHx6MIF78LAoiZUsaPl722HRoVERpl2LJmKef1tK6CKg4JYhUvQqKnnsP49tw/uq4brN - vKWB5B7NdDj3JtaKE63g9lsOM+9PR26IMLPGVt0pBSUmeLAZgM8U4iz1rxsAL5LFyPwCiMkZVWE8 - AYNAlcoyZL0MEoRsb+0R3BZXyoczU0+FQkvK3iJRZv8D62XmEt13K7daGSiJLsoF9BWnliUFrz7Q - bkeP2rD4plzcYKgn/2Ijxw+struG7QQecvoQ0fXhlRIjOu50uRpk3Y3rCVo+IA0CfhBi1TZPISXL - MukIemQYovO3HGTajezLHBhbqf0sV3W0FK3LkxBlAdKJqlCrr6JBEG7g8oqL6BRNU0DCE9fvoizw - Ol4HyIkbQEBQLk/WzFojkDcNLvKjDeyCEhiOLwhf+/Ep+T9d991BfPtbmN+xRmLKTfa+vjfeRP4h - LrKKovAsvaz6+gAfNuO14ea3g2PWLRXLYH+Z4EJCLSjZRtgf7w4DhA9v7XdnIFo3iwopmrcpWMAI - 6InQAxFx/7plf2oKJAJN4sful5nNCTAtFJDR55e1Z/rjSk5qOa5GyBBE1oGGwWDF9DY+s84n/AQS - KsqigHWxH1dIL2+iGOnOvYUW4SsFf06zpyre3iRhtguJ3/nkeTsVK7QiTADnbVOTv6GGj2I/lqKT - VSPazbEwzFETTfwPn8PwvH/1MSQN/wq+XF4FN6//GApVClK+9zpBxElPGUVIbAJWdGVEGIblsIL0 - gSsV5HRTBFMqBS6JM/GDrwvTom6/gwOHeaJ10gKgzY0iZO8g4cbXZeTCcRzRavWF0+njjAjvgLs3 - 0OuF3UdAn1WUy+4Oz+6Sx25Rb1aX1eY4xZw1Ks6j+UPv5wL9ujIAYBvJrTyjN5MMSztwcSDqObMB - IikZf9gki7JPEnqaLAc2xpr/us3y+lmWChc+7L1BFy2UDCnVzez4S0mn+4N2LWpayiX7B7woXfDG - m5f1Tq5mv24HtCARmUAG1s1UyhLEt+lMhXSWQ57kpeYA3bbDcRHKvfch1igW+rcE77fApVcaKEK3 - 9XsIIIcHAvqO5k9IWoG3V0z/Yc1HL5MJ7t9/twTfrPefLKBLeR7YqdPfsxBShEweBM3LZS8EMp2O - p7X4Cb8/4bW79VoeRu8WcIaNHEw20c8phECCOccMAl1kAnGTRVvGcsukGYg6U/gSHmeDgw4i/Mzc - dB2mqCKs77p+hoclqnq3Xot+ZFqZXYVQjEC1iAfI0MXt6txkf9sG6ExVc5mBgOokZSERmvN0c7OT - 1V6vq/tZLjgwP4fVrUYLOyWbZ8uU4lNjaEqDnsV5lJHxaJfXjbz8f1lBJAwITNjLwLNoXmKgE8pq - lwC2yWzOgsqGCHb3sfvaVfNj/3n9gYbcr+/DCoCcKY13Uc9oiBAEttHYUEY4mVpyN177J+pZ931+ - 8pYdnreCttugcBAm8SZ7BzCytEui4xciscUg0HoZfKRdf4PZnLFYgR6pJVVo4wf6nYtVjAgWgcqH - VdfczQLp4uNkT3SmeGUsRMOB6hB6qF6GlvlYRXLpdoBTmgMXuxgKB4sJvzJ0ymG4s0jLozme2hv/ - Cw/m7sBNMx5aq9GzHbVmbIECwkTwmzbIyIGTb3K0dTQEQrtlyTjesZKsWve17jgcwoFRJOMe7RK6 - dyCTKOtUngZooS7dr/70CzLk5emkuaofgKAGctAsa8w3qwyj/7G2VouiZNyiQYxbHlC19RVyBE1M - RfPIvgyfhyfT7p3cy2+xHus3W7zv6rPpa5QLpA7w10UsT6c1MGizcy1j3aOzyZr2mAYOe6bgzLlc - kHu6mxnhvSHrAToykMI0GODDNEwCsx4bpsNQGuCDqzhXsIdS7MkNXUBZHrSjn2BjvtmJRhdqk0xA - oFHVs5RBAN4bHYJZCex9kENvuwNkHhUQamjeJz2DxQYIz0dgqG8jlMwvYgGJTMMcJ7xVfhwIEY0f - w2RNkBn9NEwCdviB+9ZqOb4XCGAJ1MwsRIHnQXE415wFyLbij329/Jbb/jfO4/p83aH4Y0ur+Y4d - UxT+Ah0Amzg3DYAVnaiN3o/HFnLammG2FfIfrT4PiNp03cF4XZL9wcKXFqUtJQxHp3PVFgJ0MCLY - Tqwt9B85WaixJG0ouH7bosnmbiLNtw2C4p5XGkNLOpQmnJE5ExV3OxXADqVgKqeqTUppNpuccwqW - ZPX3voN0fryB7NwdMBwj2uW0mRoI7qhYFBOjDFX9taPtgat9vvF3KWvg3ymMpbkddbmqZLvPMF6H - ksOgZzwHfkQop1BkgZWTpzxHVNP7Tws7ZZhUQ98r2pd+eRzZnwjeFlBjUvOvl5zXUI5BoMCvIv+M - zfhci3pf9UcIFpepSbnlXO8CxDtDtz2ZomkMKbVG3QxT/9PWff7cAqyOenAzt4sM7GQCiFS5nGXr - +DoeucCC2NTe11d0EcA/C/jsdJleRZXI7eGMZj3P8QryzzhWihhNLpctIgnBsdNOig+s1GLzzAPO - ZzaU0TBx9UVJXaZg1x7e+6YIb5U1rGKFlc9oBLriSMt1IhGgcbdE4O45cmedkdkyo5MZeuasP832 - BTDZEJXUOgoF3E3IOj8BQ4MJdANtU3zMZMXtZeEActjexBqOA1n9oFkmBSU9LbtRhxMdChGauA0Q - P0FVlnVaaR8VIkZmRpgYZIRUulHsRQnCEmT+nliW2L9zoXBGDBMVk85niv/vDutuXjuiM8eGHBOf - ProMEmzc7SAv2bXHHSSQFEd0d/0ZhLPQ/nQWBo58WSrItfit5N31W1ZUZKPeOZmjSJdo+PihngCA - jxV2IE+HcxHPRrgXg5tPUQgEUqjKexJGyIiRw2rZ/gRqSTf+3JhSiGLwxuMbArJBWwMIBmWAibLK - 8PewOv/pCzI8THnnGQH0sj71PbeYy9ZnY41WUT5S+msBJEMrOsh6H2O/21fTYNiNHevtpeJHGLWf - e81SoKxhbM0qtCjyCvlJ3Xa34uT1N/XTaKCxhgpDug1wMvPu1WL3C0cC9PfmxpYhQRsnWG1Ka6F4 - Xz4DyFmqNoJnFv/+EcefeI91+35SJZmCk1mzEHBJmE5Gl6oqVfMkR2RgSULblff2ZT0cF4XHnyeU - 1KMWAlwbhUNWJXYy+4v1C4Xy0O2izeXvZ8wIzD3qBoBP2blgDcp0Xhv4vrKmByjgks2p3X//IOHu - xqEOF8fTu7x4vT+9H/75SxEZIF76D8Lu+q+bV5PpMM/qZfFrjRYFEACJDqwZlyjSCo7ovChcd3iR - xHhL9AKRSTKgccaSSAk5TqBzDBAVLpyB4iWpOe7bX33jb3UWWhBKVdxUCyHzDGqzcY0QoX1EKFng - cBwdwXmj3nVg8GQmVB7OKdGx977b/+R0WB5/PQk4Hi4D8KoTswHAjkoGl9YbxfKx6AgbGaB027Zd - k6cwPoUK1WGUZU8vvpxl1PJ2aHdMMkws9gX7inum42GZasCrBdMl8nYvqlCN7R4Klmna6WqjRXAU - Q/Dw4SnWBFIN0EO/+q3s0+0XI9SPIg4BWg+VGbZxlKMGMKo15B5Eedxq+ckKzhNA3VlT6Y4kmrm2 - IGJQ/c+yYuq42C9xEPqb1ux9njkbYyH0ooLIGmGFcyTp+bfymvju/NWjvEjBC7tWT5UvBd0nSt+U - Y4sjw3hDLRMP3ayv/8gbeqvL5v+X2ULbcLU5PRUcWGTK3h6xUfdJFNme1RctThoBjKOVRWLD+UlP - cXdmDzfaBx9OmJhcENvx0NDla1mWuw9HtgyFGwila1WGhcDDGQPmOGM/aZiMXNf+Qo5215iLc1UM - mOUm+ndO47LibO+33wF1Vx8Ayf6XGGpoueF1o2vfqojRUmREKS/IPVh1jMSTcRLe2nF82vaHtx5J - gMOTQRRWBY0BzuAG14PiUZLgdfnVys+pw5KJA3Y6lWiLqIwvnXNwwp6GgJgjwq+eEBWowpPOdjaD - kB5G+PI0zI4WdscPQ7ejE9VgUXmcrdnUKNzkoKdJFyLPoJxlfaRhuVpz/cg/IfYM/PIiTvCYbwPY - i73MgXZzkO+Wh45tbqHdRdFMCtXSYJI5tDf1ZHUrAsq+LX5TktpRykGnK+tXlUUZnsKsjNI+bWUa - nVMI6slm7+Lz1y/2ZJsAdHcgJy1m1BiSMpljCsVumqLT/jSM7zflAUbngM5TTfNM2XRg7iAQME7m - k7793lyQ0DAOv7kDwRObKVL8To9qulxeBSfndpTnO5cVi55NcbOeqdUApYJEEnUDC80PvIq6a4vN - wNAtdOqxDKucLzgoIuhJMNkYGXxsHM4fheZzq9Q/AKUGbjQ5x0yRKV/nl6dMuJ76X21Xb9iLa70S - Fi1QDisWCcJbNPfiNUXYgMpB3lXdLmeZys+5vywa1vDABpKDn7Up0HTKCj5rDiU8K0ubVhC/dKzT - i+Qg5jTbIhFLw/QRMkWsTWWcMCMf9u3hTxryMMeACYGJnnVW28XiAv0i9CtKzSqoWToB2Gg2WJug - tHBRwwtZocfVuKOEk3tA4DLMPwW/G07zrmSkQWahtdlRxB04ZQFdIEU3P+IALzAaXaFgsOqD1Hvu - u8ekx+yz9PzmSwvwXQolAuZ7BiZd1JFeDZsVH/So18MASEf3XM/zmqsT3BnXwmo3a4Tm4qXapHt2 - khTws5TtgXuaWJUpCtu54/vx1HAhA9C3qp+lAMezkO9gr7CExy5BpB3kzBKI/jGxoHTbbmNUAoQp - O624D0xXhbZ73ekiPyRWx2uTS4NsxkhUCjtritpgZ+XrWao29f4JoL4uP57e0VSEc89K/aFJrIqY - lDD960+H5iFabWZHnc2oEEUad+duiIjg/Qi8LxJp+h0Q1K8M2Kz3Hs5vmUX8aIGK2rL97nJknfyJ - eOcpJKp2lgSTW0r0J80DJ2vsL/oOFT/2/WpS8hVU0IaQPbQQeYDzMgjn+LUDKF9PDyT4J5n4oKHp - hCE2iosSA5RNvUYOiqjV38zMs8f9sV6DEj5dF5KCzut135SIFzP4tj3GRFPa0BoxgMxPl2Vgl3b/ - PrLiFx33qJ06U5Wh6ACzlo0fucwnjKHWR6R9pRIFu498V3WPTG7y9IQSK58woEFmDLD9RFMFG2zV - N1U5s1VyZsWYcl1WKlx+tzu0NVmM4dZfVgpQNo44wC6YrF9kZq+0Lu6cejo2ankGiv4seJGckwi1 - VIbT9rNBkhUZj6fN3MQOBqK05XIthL+Fl/nufQ0HNi+fFp+x0fuqNExhbHTl80tMHWRI0dWJUtWM - Dhw23Gin36IoAUrYRyj9zuV6lrXptt9trV51GvsnMm/BJO+hRZuwl3jf3NWWWJgxOPoanjFIrP9I - A4WMpPa4OQKKeMunzAxyhUjbB3huYXKztKHIHbD9PhV5OgoZXXAz3AzyqRw1jFM4PrayPsf6a7FD - loRzjO4GUsH7R0Q0WZRTHIpYVYZJCtLD00Ma+90C98U8oe0ouqAE3FrDSmR8XaYxe9x0Tx95GC/9 - 03e4Fr08duee+Z37CEwhnaoxlgFKhoNtu76g4/PNLV7fIQJ0oHra+Ci+Rrkts4RkltkutKsD+oZA - n1A0bWozYg+Ze4S/eHxa9gHbbvfk5rS6rr9R35rCkjgXJUUp1cKkMLDqtJr0dgSYt21/62KAAh1s - rnolODw8JGS5v6eFEo7dYn2ZbK5ApJ/2q2iSfUV3C94C5SpcliU37/T+LXcAGzbLAwuYmyctKjoV - oLdiKVewN3MpJ6sonfZnFoe4gSvuTUOKA0BaVT7CmpTTY0SiIlj8OJzHagZ9DhRGUUJ/42jQ1jnj - TAE6hL0gq2nM4xV6lBVt4/HxnsOUv11+OS/WkPNh3N69Cm8itKwzLB/QGc2xjBDscdsvTEXA5kG1 - ndELPBza6cRFdM20Au1kGcfw/v0Djtrx3C7qVfy22+95jQLkTk+4ViLXNjrH3TkOPaIQ5H6FBRd7 - soJ0bcz8I+j0gnNnORuFxZ0W2HDHrI2SWFTxE4PFoJ3FA6DSINnId2MrV2c57Mbxt0bzB+Wn4nfc - tN2H3ANo10PV6O6H5V00FRUmKRDWAxA5sNEVhpztakBrXk0+OF5VdlWgAaoM6KzhqNQoGTTxSM9F - 65upap4VKyBUbMHQtjyAsawyQarLYTl14tEEU/PCHpy2TXTRTD8ADgqSk+7St3L45+dS/ncPy428 - cTieN3Wd/LTpztUf/Prq3+Ub1scnau5chQZRXFmb57c+W29iYO5i4l1KSR7v7nAauDE05XiptnLV - sECwrEPtiia1yDZy/V/svmj2JvBLEhDSL8v2sqq37W5/hSZXaUHSrDf2TiTJHl4lNlra8niEkrU5 - L+OxRy+RTjGIQ3jn6xIdnRWmYDM4ZJCFx5vd5slMc7+53BGJMzkgZ4EXj2ATmTseUURCWP9uKHte - jJx/a6g3AVj/OD6g7AMBHmYMuKL2KWrPLykJZRsgBm7qKvlGGRwMacirIQv1QubhZ3uQo0sPv341 - xbqFckkeQBFLpOPS+Jh1MNNFI5RGWLYHxvHoGbeawkrMHkvXw+0ivzb/0qtbtadZDleBW21C8KVQ - VKJ5NIx1S68/XZ7Y89vL+E99Jg+n6wdv5BN28V7bSzlCBzzGCAZb6e5mWdlteN9PFTHohueoZ1sa - HITQ62axnyRNfIfF8FUCWfoQeGXP5hqU6rNz3P9lNRNhTLfeY0Jbz/lsSOkJ9E05KOorHoBAdvyU - /I6+YwcqzTjDYFR1o5xHKYRBD+VVVMrtrqWywvm/cnHulwYfLO3DwyBA1IX4bM89Tg2fbrimu+eg - g8hFjPS5DDeYjKokP2N7GrelkzGJK9013Cnqek2JDgh/l6mS8V+2O64EAxVAQXyq8oSkHNRTGBrE - BWNRb/O4WjWR3evxNJwvdMvZkUMBZKR3jpyuRKFUxdfulzxuPrQd5PToCIJzzCNNhlgdDdEwLWX/ - SiXDhp4vezBZpmJicHc7GUpR6QbkQHOG9dvZ6EVEcriczsBeYMrh3Ha2FvUzYAMzOgNIGCOzEhkW - BaAAeeQ0hxhAelK7qPEbEhxrRH2k7ff+In6G3e7K+jeFRnkLm7xGAAhXC6eny8XZQVBM/Ry/0SJj - oUxuDN5+PixHos+Jdnw46fhplOCs7t9h6WyLI1Bwys8BmTRRHLweLMWF3HhUspT3ciyGvKbASe87 - SoKgnvEGYFCmnMlQQsfDofuBiely+OdJv2e9ui7lb7hvx82fMCtJFWAoLTwz+9uzCxQbv1zOnVyT - ab+61r9ke/iLnThHpM7QAe7ty+7cXuuAZrP59VuZ4XJ4apccP0cceuwXxJWyWl2BJihNnrILCc3d - gJyexV5VjKZAg8k++mQoInsyNWv7zWf9i2jIk98SEkoU6NwT7Iu+NX1d8JQZnJBceRHMrH5c/S+4 - 78uq/mLrze7rKb48HFFCgZsrmG9hlkGhtuy9MylMZiQ2ylCbHah8qkg7REoscpWlpZwTDH4d+kSs - Uyp5novFEowSywZn8DAyFQiUbjoNxP12SooI2e3pXsGVwIZJ3ynOSUP0S4ymzRnfgBt1WireuG33 - zAGeojGaLLaKXMFVhHQhXAgcRoo26Ov2+w9iflBBAJYCxzhTNrerdYvPiJNomPb3uC0D+xLQHr+B - rOBD8p/ms9XaKrq1x+4b0VJOCN1oEoaqg007uYKfY2RrgSjkqh92+yP7clDSDuGlaUxQgNHCdQaq - HYG934KsSjNsDqfGcaMV8Xrwtm4F0QRx0F7AlmVlCt/DOAKYF282ayBzzj/DU5wLNGswKAUGro0I - VtPuvJ1K7gamCLef4ent6bi2lg03E2fDSeZa0ParAbWEfCuKVq5kjBhiE27PbTkvVJXfr/eQEIbT - c0OrtZInYCd1ekKsHOxkNZNxPJ4bdtBg4f2Zt2KwEKrVaBFDJwUxtyhOvexWT1v25rAYn4TB9zXv - fQuBJs8Lkp6fekwQOHRZuJZi3+KqtxeupfP+OGnF0jTmjaOa6RRSojXuwaf2MnrYcb14Zzi9Rq1H - +fj0CcFC7EMXWI3Q47bbQ5OA13zB2992wZjB94WZIGA5PMB6WeNyMXRnNqSxjP6xqYKaR9pmA+fD - bP+shG2MnkK7yAVO1KfCHOMHuHdELIgB8GiOsur/0L5Xk2xx2FMg98aVpgka7e1MT1KhNwrzcP5V - ihHnIh2sVi47d+w3V54ciYWlk3nUypJhfSwuGRd/QCODCR/6fS2Z+NXBqYgL/aaJ9gF0UBRA2RAz - zHcmHTqhQNNm0zcR2xaWV9SxqjrR0vAI2iI6SVGmlr3ftD9IfNarltXb2FAHmim2EnClScEGWGDJ - cDlVBEnbfI7/9ONzfrXcDSxyjGBhJqvoDPx0jQvwf6DrlDiUUf/9c9/Yzp1Dr+Le5J/6kt6zRpBh - RRmuFQs2jW5o69Jwuzqf5VWhz35HQTErwGlNs8aqKmqgrMoq4NwRqEPTWEh5/zoe+6mqqx6obJ9R - R6fwhyJ9pnfm6UUwL3fXp7Pv+xt8RDj5UMQF+bMqIgcE1QZGkDJ7UQTX/aLwlKtNaS666qB66lKM - Jk0Xy2vzL42B/QK8dIdwwHtauXNxMQpIIoziWRwksFCI7CxA5QVmxaHAfm0taBQtNFXZYQnZs5KV - t7phXEFKCExbCtnnxAXQCdGCQIarwV4QzaTF/nPVsIkzxbfJJlVH0nRsUuLRMOzKyUyNDgDWcXEL - bXdfKTiC3e1jpHzUQ2vNy7T+cY+MCoxnpTsd3JM6ltXYGCH4mvE/Tma7izX3Gynyc5A3zLvtjnvN - 6cl0TZvEerQhKpunAeVVAkmFVTCyV5onFcGPYhSrwS4p14UJzPl0rEPi1WfX/78HGsBGn8OIZpDJ - U0R4S0Sth2QbxQuZcq8ywFsZYvBrsZNjIdYHiodg3ff8dFIOHqGeSk5NA5yShTTwo5Gf/ofV2Daw - PaIdyLgGZ42vCvjAerrEf5dLfD4JuYinbpwI/TO5Qco9oC5ImytKBhPfP8lgzZ+oxPjCLaD3yiHH - OtuG7CbUw/zERRWhxRdDu6om63oYdiBe6dL0m6slo0Mfo8qMRNOuDKo+kgsmlH/SKI4bDivWnAYq - tfFa1a1cCs+ZY6Z18YpUQmeI1XGDphIwi24GbYvgaEKz15SrSsgC2S97KMz6RKngrEIJtL7NnrHZ - aD1NYwRb3um0l++Xp88zyhR6wojCO6iq13l0OFHESKDCeCc7cj8Pyx8Y5J0+j38sGCuwVU2kuMz8 - y37w9UY/ayZ1o2fuLBTPuxgCu2OZ0m1Xskb3ZTUyuhxCjNHM5UlZoJ/mKPp0kDBD1UlUr1mDqMYe - kBApAGFs/hku0glH0zdbrIKUZYAh2v+Yh23uYBrzEAuICYQoSCEUHVHKDgxzyfDvzACcv6WmDNr9 - m1ZIS4kgxeyIw5g/OOdjs/ReQBsMQ8CM87LMf/zqFvLjYFgNx9JrxhapwgyDT7fcezRa9M0FLsqa - 8mO9f15W+ye5m/PXuch4QRtC5ez1fIECPkfJCQTBFBxBJRHHAY5L70xthPxFw5ZY00fAfi4pGMZM - 2DzDe0D5d6DjZu8ILVNPsZb6l52ApS4HBgFN8j1zIcUEPVE6YgveszD+RZ3+w3E4NeCPNciuwsyS - CQ8uY/eI5XqUrZTtuNhNchdgDrlZHSNZekuodPHKMMwZFXWIh3GzrqbCab2qQ8P3rmWJQVqKKBNP - BYME0SPkrV5P1/4/1NfX109qJrtuD+1w8LwQddqqGA43b0QCXLJIMjjUedxc8bQAnrN+LjwDMwGT - LagFiXdGYU14+b1Bb2ICpvk78R+5GsUqcKIy04CgZB6Bm/030C3YV5uH1yPFOhqFl0gB2r3YLtlJ - 3odyBMU0E6hKzoZXNNwiqlU3DlR5nZSPy0Bk75SuhABhANj4+j9ezPHlunjbP5b/zFBXJXgaUIKu - c3jsFV5Elm57OBQgT4GneTLVUUcfBGP6hhEaWsabHdvuSZeu//6TCmwKSHGx67rEC67ddj8QPRvO - +wv6W1zCwqlHO11VX/TGZTQk7jIWorr9uR3vPTD6B6CYqgahFaQuYe7EtzDJagSbPbwV7/+pcAjZ - QsOPAtyg2PjnT7csefitB5d9tg1X5Vct4w1jg2DJqzkkGkhW42Ni0TrDlANRs301bGq8xuo4PsE8 - Fl9olpubuN/Mllo5lMloW1Vs4OG5eyNCMb2dD0wFDrYBcMBUrNMMxB+FtR58Ua7va6Eo2MfH6ovi - hqKfrGbViugBuFXaRQquUsJ6T0G2r53HC+ppbHPSUDSu5jMtKO+AY58Kp6IuSnccv2ljp+PDwoIn - VhAM2jexy+EYN7CnEgULb6dqAmzH01MMtlod/sQvoN0B6sgaSW3FLwgeFwwMFyjQ/WqZyumncpEx - rupxGQVUUDFmYG9n0WMYPz4+bqpPHFbRlKrjVeU0LcciYZFQ5Bflcl+r/Z5dQOMkDWvrjNFRJgKM - f+IKU9I4tQXPfGx/g1odTuOxfiwfKHKAdh8K3iTZOXeI3s27zFjaW7tGWJJrx935uU75NR7WUL7N - E1LqUUhOIUMpjk9OlFdArXX/yp217sbzvV8E2ge26tCm256Rf6tbQkZ5R226oF22xSBTscmsCA3+ - +X46PJnMHnp51r5enLktiS9NG1yubS5dcMag727ZhtDIiGPLfc86BNLvCNE/2BbQRUf3bY6kxRlJ - i5uBZYbLS0ZoPPC12G0ma3hd/ikbsAI6xFM2zTDByTleRLDenZ4tWfo32AVOOGf6jBlhM9JGTVGH - RkDuIBJh8eIqP5aycWdwnwE4y8/XKH+iwzm8dPvlMPEcQ3OTBqFDOlDOBiS1nS6WV8GWtvxihmOc - VMVSTW3V3qhCnEElQpiAv20PB0p40e/lHeTOTkrBw8yMMjv6HY4bHDj9RfoP/bDlqT5BNRxFyXq+ - HKJyzmZGhKCobGRR37o/Hf8XZOWwoI0VbP7p61iXbNV6xCnB26bjOST0ozmuxj3T2YHlb+66LgkV - 3eRhnpGny0ZYtzh/FsXJaetUcZaEM6Iku1TWlWEKvwjLs/v+gpIaakBcpsp5vpg0/QodAotoJYwT - dWm77llzpd899dCPJ+hHpdcJGpBMrmsaGdsVwGCw4HPYcWUF/X7VrxoWpoSPtEuzbRuKW8mnBK4O - Ni0ZU/P9rT2yGVqom0AoM3NNzVmXpwH0auJ0A9a7qeJi/U32+VbvMExh9QwexIDAr6IdZzxz6vqE - foZqIwXRziqv7TSgvDZV3qOig7oprZ4cE8yS2PaTXVtpQs604hPsQSHGqJhcy6+iPHZ9qEPXxQmx - OFRKaFuvBFgpgKCg1DFwOzPJUySO+rVHcXnyCXH5TujCr4d4XfDQv2fUVEoyX5rF+tdky8qTI94t - pkKMiC+TS6EYtzLnXFaMOW2OzxHdtls+ibDsrncRcEkIe2k0CztgD7UzTeEEFLAyBsEAp2ZCGdDN - tgOCYNKgx4k1Px9dDBk36gbZFcG5x/bj+TaVEm4/8cb5o++LWKNlRkGfcybH24gkw3G9bTbdH48z - RPaUg2fYaKJLeL5vnoL1c9ld/vkLmaLOEbfvsCLjM5zCATdH/FLiHGlOciRbIBNGiJiFBTU6jeAE - 0V7yeJ7w7qIxqClzKUAoP7rc/1fVSsOBsDf5Zfu9lEtifK3l4tzj1/H9Sduq3QwA7N/U1u6aJ07z - bFOM4bHs9FKGAd1vZ3Es5ah0fkUK91ia5eamMu1lUBqkGRaCCy+L4dJwRHvrH+qZ6XygZCtF6+nR - R1ahBMxfJg+5mVmACR5se2WrA9bduQfKdFxBjY3yRdyich2/W2TfuVxcvwpevAh5zXFNBqrJik2i - 1CtLq4r87MbTZ188Z6FbkuZ32qOgDHveVDS2lAy80y+PrCLNVnZgndXoL6UC+yYWfxdhE7XULuR8 - tW7ffv9AhOgC90TPiizTgwq2VoahXDYbnEe++NZDh1rkBrkH15MdDrH1PcDCiiVNKSzDdGMLRSjY - iyKy9XI/1VB4+eU5LyVCjYpOHEjpsIiO9TL5tcNuPN31PmYaYLBWeoWQnOUOb1H7kHzA6utNTqld - HYeuzHf0VdhhdrrPXCukG2C5CZ2kPI31eneEjZgJU4XJzHj6AOHDpwykLfbZs8LZclhefivprY6/ - Gu6G+OaGMKSzxtIhGijTULZc5BKN4Gd9DpRpIHEPkP64xejw9KN3haqQKpeNDL3YduMfT0RKp2nO - G0+7oi8Bypc8QFkOs71kilO3m6d6z+f3hp2yJ7cu/2j/hfxKW6YrEpCIGSDQJbmZp3P7g75XfxwY - 7oYsmoJhlar5ZRyYmpDI5UQ9yUQaDp8rtujQUyn4tkxUBMEPuP0U7gNkJY3DYlE/im55bFGAcqxT - nKKriWBBWQ/H6UnfUMscxy5fpwVagfpe5J4FIEh3vQI1oDQLQZsTCfd07TiJ5zkOYO+Zf7SAMDnK - zFH6YNsOLVQcOfanQh7EgTBr4vtXUFwTA6KVlvIL2w4mSiyZyUKAlO9WHFdakXSrUFVQxQ/Xyziu - 74ddo8ONVeoi6kzzpw7VzGKoxiW2IHsgSGue6vG/fqBoN37TPlIH0f24f/JRuvQ0nR3jbkpp5pFz - WZR9PajIDVcFnYyBsv9eoB8J0RfonPhYSZDQegmW3jwlHDRJWA/vT4PcYXI7LjlEtpMgdXzUgxWt - 8wT0fgmimSdjZGiTSbjPOca9zQp59I7JZFPoN6CzKNlmeLys5VpVx9V1BKvUNcBh6TgnplAolnIo - 04DXq2gJ/fqEdwQtG3oLnMSzKBwTCzQk37BYb5KRkC7t/rMJtvAX7mJgKTlKTwxUhzSuBkbziPRW - 3841c+48rj55n38uHVIYgNZvUJm9ozGgvD4+E/0UKKvmgKB59pm4AKdHD13v/HJc7K4NnJQmdn0w - oarbB9jUQ5ckAW+Wg4yEszh/n0+cJPkJFPyo7iSLrZNnwDRCZykls+du9fRTHlgjSA/QaZNYCYwH - 0Kuo83YZxkPR+NJQ4/E129xAWAQ7HdtkIMEQbBafFA/oyPKt0Nk3sfbvcknBmaoBNUSzx7bw3Fyd - IR0waXkbY93subP2bYY+NA3xQEjIIrz96d5KLVN6+DxfJpAVt4nSI6xEWSgpbwHZZbEHWXK3HNeI - yBBqwO3kblIZA5r3dNiwE2IZoGWFlfZ735aKgam6DZrWI6qwjsnZDLKR5Y677Tf7ULC7gL21uRX8 - PCgszJCAmq4DH+5ER9J+jbgd+oh09GRbNX4gPgB8q2MpN6dksdNqc2YTKCTxrojJzieyQrvaMNeM - eZjeyMxtN/164AcKkGKg/KjWnIsuTaKXmZ+7KM/8OrJj+uSpZ6y1lWsMRYW0j2l20FXccRWhbc4b - +fm6X1IAyfUKxI+qQidD/x+rGfMRD1y2sC7rLbTetL81nGdbH2XTOCawU0SQl6Qly/VxwVwB6V0Y - zrQ90yJhqz58ST0jKMEbD3dGsbhOTHgV0c0/twOzOiKcrmCG5mpfDoNGAsvVGKzRzN6l/+vHoE+a - kzGJhcPFd6LdtQB8RjVJEcyl/sHvzwpN18CAraCFvfINoFIKkbd5GLlog45FzM7xJOSyrf7dNxEw - a2Wjjc9W9LcLTruXj/OfIHKAHr8G1rdlTtf70NUQ9mH3q7C8kJLhMdzem9J1uNLGXHgPXKkswwTL - FZQDhtcBkjY3nQ4oDRjWyY6ImkyQIci3264BV8JAhV3bXFuIap9Qg8eIALVfGShuM56fHDfOHcxS - 0w2M7fW844sllCipVpPVLnrRInOKrwXjLPDD6H/vvRZ0SWKmobpQgBjOoUVtqUsL7ATz/EK2tZ+9 - 1uD5ZUAsQNfIMsr05fzJxxZ919BYPXP2Q2zmGJbCXoloynoti9N2h/NfLbERiFLIhGyu/uu4QHll - iC/diZYQ5D2nHCL6uxNZyqA3ak+LIWEIWARCg/n+OnClhzHoALSE+a2gBWeCZgcF7IpCVdb+c73+ - 8234X7bDvntHp0mlJw26UCx/KPxVplznl7IUdt8j5aqGBRwoqdRzsijYC1A1wiXO+kBclzVo+wVE - k8wEXnF3O6KkObzLkYKxMkDYKmj3fbF3hcJB4+fgWv/KKm2RISiIaFm0QXDydm/ih9Ntj+hQh+dn - 45OjfCfiNDXlupJ9uU1/+YbPSEAHvLGzhCpgg84+UargmfbhhdrrfXupk/fPxZlCmS1uqIEFu74h - JhXF8Z4iahMx5aDriohStgMt2gXoDfYGxne0mn0lqKQsLEzZJYp7alpI/+iR93rPKWdjZkcCmL4e - rG/H1xHje6Ft4mFdJ4vdaSs38Pha7R/SK7McLUO0wemAZuVPpFdoYwVqCaIPXLGNtjaPpQMmwhYu - M5IcpnCSWzLut4z8QKoHVmxFhKOpCq8jnJ40BNvGRMEyrPDv5rVWFNngmYvdXzOxrr4MZwaXlLEv - 6/0P7Gr6Ja00x/RWtFddmt0UWsyw20x0u6FRb9lNWxJ5fa27NUJKqO8zYmzW+qGfbr2nJR055fMc - eooEkbvDD+7DaT0Mm2oyHzZNAWxD9GxWnITPkKMg2LGNMfi2Mum27rpjHu1NJTPNkc04mQy8hjmc - YhKdTKb+fdWwIil4J3fFyGgzBXK08+g8XZXxqM7rJYtgTeeAvYvg0yyCfFQOschkRaZKiRjvZwoD - KEdVmdFQj1AI5RQUoWh/i6xVhhRDMjlXlzUk/nRdg4QPb36FzFfk++NsGSRI9If2j2EQs6q1Yj0W - 3jvXTMDWXBJHd++GbYUzGDgrlAqHOF2XWuAcV5/4jdO8rlwLEE2YDLa9VaxaaHKQAczW/U92pHa5 - gdmoKZaSaJ/PVgVN3gBfDwsEsFA6+dINbWOKmw00FGZgbrBSFKC7kN0GvldYdP56aF7+b39b5QKe - Siq/rD7XRxa2BPYVUsAzsn+AsTxNSURELH35F6/SqG0yoN0+f8UIv7FAs7LbLUEz05MLB/25nu0/ - 9OuTT0GzIxnLp8pIvIe+m2iBqO7OG+NA6UTLlGT1ysrGokJfd1gMjUvF5hqx6CM19SBMqpAy9IR4 - hItCDv62/Y36tdnfNP7x0+bsGuTZEa1Cblqwzr9Mm3U5sGybsk+8zZQhvxVp6/Acj6KdbWUCQZdf - uxMdY5MwiuFa23wSBPiGJxpBj1C4vy7HVQdpoRub/L7DOsudTgv3lGlAeZUkJFfG6wUOYmgS1HJr - IQMHkFhOggvxon7lZXdcNfom+PvQW4s5AVCigHgGTAmdENG28fEDy4XV8BMA9OK4RHF18k8Jd7n6 - RCEC7bQK/qkscM5SLCKxq/3m0tVAg+7QnZjjgVAZJfBqp4d4svIOAxinIZNub8fnT/14csh878/Y - RHmPa9B8eCxk/+pp98gsr8eFWWGY1F5PR2jymAk+DDGF+SqD+hCSEQ75wZsQNaOH8WuJGQ7Qqm4S - 7a2z+4nyqzNMXGEAklEyIlS3a+useXN80lBoN7+bfw27qxz5fTmdLkzAZAshaGTW8wRZEE4Ry0Ud - DZC32LTsaYLuD0/k49WSJgvFhShz0p6rfZWQRR8pT1VcOmSyYpDp1py27VOJdzHsUYajv4S+n7/3 - ilJUGVto0ilOA7SVGegeN5BD7qaW2EwXxOcM45ZM56nJXBPkWP+VS/nl6S6O/LHYPWxDyUWVyNAe - Qjuj5a/HaUCWoXOPY5MnxU7Ex+beNoR7MLoLBs5SGOKmgZnlZswMLAsqA2RcLW3iuAoFej+7iian - Bf4bjan3P1JC6NClrJv2QKOVNjQl+qKb5G+a9pXvXACH2FBwxaS0GCdRLUlMfdrcebC0RdPxX4lF - UOiooUNlTOGIy5LS4+dpltDdjT5pymvAr2GVaG8DjKy0112ezEbG5TiyHIFuEOvnubQD4rWk4bxY - dKnwyslw0QZR1ZPLPkSWbCxxsfrjx4+70xOpcrcY61X+fjrOKgG/tboCzQ+6FS/nYf0Dx+lu+41n - 5Qqffz5lgHhzFF34yCrN/EhFPsb7boQnMAorTZ7bPrMlEsWOgLUxOUsGTrwsu4bdG6c6+Nw4nIJg - 6xScFhqYvCE8Tk6IfBjo9ASN5xbh30Nt5QDZodQFeRwLBpdhgs1/3CClLK7WgPDkVJXcHQUGnn6L - xfOwsoLsZtgzivvBXn0Uzi1QQfRglC1Kemy/LROVOR82hz/lntDRoxxBWVcA6Zt1IWZPwB7auW3V - EwdWLSi2ZE3lO4nw/psncfnLYdP+hdAXXq3JyG2e1tx0IQXz0rWHc+EyUjzqMQPmX9nTjaTJAPAq - GI+ihKjdHS9cqgwNKzCZit9Ej4n2I26PJ65UinCJp+s3tDymfm3Eo6n28qwsZf2s8E6boo+ygHv4 - Wj25cx7bHat2Oa712jBrCiSY8Dj2U2eTtgn+KjhB3jd8XzLYW/etHPycV0h5R7bDxuXyKvhZq93l - 8ZvqIgpQIs5ZWkcvX23f/4SrsPzqWVQicv3X6Yo7RSGN9UCYa0wDo2UN70W/+lWHecP57lEhmVWf - Q/12VzYvYwtSW+ErIwua0aamsi7X+eX5fs7f/f20homNYc6cBsixjvF0BFzp7q0rk3LZ7LgkbiCf - WlMcAD+zLijNkYBl20SRLvuR7vC9deviY+EpyPNQgqSKp7O4dXsed0deZPZpj88azDTQyQIHMs5N - wyR7/KX7G2E5BcCpbKJ14F+Wq+5PlViFUBG6JvRlbP23MxT14bvn/Mtpf75yvD85UUD09VGKTGiz - KwA1MUYX4RJRAf6jv8pJxdvvZX8zqFXMcKrzXooerbNsj4JqppbZPo/7oWhLFgJinmHpEjIwQ7eD - 1SdT8TUR3IV1ewEc3U2fUZfisFwNoz7LEODA/su9phMm+GRf9pfTvtojDu8dVLrsNFMpPkjVyvbJ - hAQFVZZngeSXZMIOx/PAbYU4mY5o7eLTx9CUBKol4txBi0J0Fw/tecCWF276IPcIC9VgS68puXJd - CStKy25s+EuW4vwcbAUpvxjo/MEAD+8ayTbYnQ7DuXpI7+0eju2o0lIo712ttQYNBJeKy3SWsRjH - 7eGp4rBZ3y3A6zANhwBlWkk/CfxiP/A5QtaIHjejN6CZxCJ0VlXRNPuw0Zf1LHXqhOq+y3Ynz7/a - cXt9nAPWVm0mWi4KhyS0WE0U030/lr/ZWuzYVgj2wpQPzZvgEGLyEcZK5bpUDe08tMXUyvyOnIoU - Vr4CRKDh3MQDyqtg0+0ZPQatR9TDZpZgAWo9kPvND/SYyB5ptW+h96iZiWgfylGZ2ykUHnssMI0m - vOhOrfdbOXj7PBSNIOhGRBw5j9waKvMwJfB8nU3HteRUPNIaSswppSV099mhJAidLDQ4TLksJMqu - juNaHh5f5xTY2SgVskPjUqdo1Uu7KYqd08mS01PhNiv4x7AbeZR5gI5nUIoxS6yayxAHzweIojMP - zG46+CFhIjm4cF6C4kchKerqDwACgCsO7og5TQOMltEujiOwmAmpBOgAyeaqAkbHr0O9kgEPLKcj - 6g5s2kOdDZ6Oteh8d+m+2bSJHoltkqp6tRTeO694TTuO90Rx6/HSXgHbc5POnnkSp6L5wzuH5z3Q - CYXU/o+0K8tu3Ei2/1qFF8Cjk/PwCYITSuAggKKo2v9CXtxIkESyVH7ukN1N24WUSAI5xHCHVXdc - LYJD1ox6eA5zWV2aaMka2HgFD7FA0AMlD+3UfB1ZCWWmtE3BPe5MhgqTK9eUzM+DDl+5DMxwHMcp - WqhCoBSApKNQFUaxfD3Lcqi3jx8wPjbH5laUhMfLfJJBM1XD0WIqSorqN+sRTVokV4s7EiAG7JJR - B4CqcU0L3Vi7rns+09frXfXfy4/NcvK1N9WeRIcCUCspQUfEsHZuGVZ+rj+2/eN3C+5rd14euVZc - Fle0t9qYN1AZVdmiigHFXyMuKa8/P777hCBEv0afFSgU1XHgUfzNDm5zL9t++9BXecAAIOcCp1nu - 4v1EX2XTHFg4GT6l6b6xwJ/0FR+ECT7lchTWBscihKZwWEFDhM6Ex+PVDkgMZYAw5xH8Mj3c5oOT - VAq80IF1cy9Yio9i8oAT6jLxNcCjgq/f0p5hS8Qw91yiD4QjObPHBvdIhbZfxxWXjMMtRY0+1DYk - 9LCjZqvSDP0nAOhEhbG2Ox7A+Qbkz4SZaDDK+4lmE/JRbN5JmO2U2JKeDnRflKkQuh46KYZjSyXV - Eh8+j6u6ydVcm/YfCpoVN4bxcOyjv5o8bp52INOWEfxSfnLYbwGhmuzS9B0kEXzMyP18dqFczzI1 - rNNm5ADGscAu5NPmCW1G8lbqwY7VS0TvsR42XB6Cxg9dyhUZ0+sIn92JZ6KFrNLTRz8iZIAOFCAC - ITxUG2jrhURbhO+TY4OmMtAxrtrkWTFTYasMDj+Mq7Ras0nfvd9+d5ADbk67Vk6N+XUaF/HOD1LJ - zcIbDR0dRCAYgUksIrbuls3hCeYxXhZ3n+Rw57XRYkz0p4aRJYzbVrKY7bw7grkOyOMC3KO6hEcn - i0c9BYVNOtiERdO13H529fHcSxlAKaWNFQgQ6HfccmzokbFLCu4VlAF593q1Iv37djhwK788asu5 - xuy+KDDC4MWsmbGiZLW5tj+u5Zlgu90e2cgpMEDRzBunCYgyBVLQYmJEZJnk0qZdtqC6QbBjkWJ1 - 6AQFzA3rRjkWCxYxY9dn1M/Sgu2adJjvgSjlueAZ3cLYEtl3WI/b7Xd3mWu7ENNgd6aX8/59wUQJ - M4d8qgwvFUsPXBmssZjKIEly0Pfci0/guCxggVX5xia4HAFMVIZA10K047dfuwVES8p3UE7FqsVJ - txg8f6g8OQQlolpvtwL9wN9cKGyKdelf0c7ksU8CdIPKmpHlesuPFbxSKY2k/cnTblSZj2Q6u+Bg - DuEEh3Eifa/z+iw/TtafW0YAK0AXAPZw81LLxM72LKWizJQj/PEu3tCx579xUTSGzkAVX1ZDe0bK - O93uWWIJY3gdLepeuJ7LoKmssOv28i92OLUl4p5Qt27WToO7ioK4mi7X+WXxLz3MS7d7qnKvf2+h - +RjNU07iHX2jREsDNHy+LgRlrtdn8Zc/jeuT+Ie349iijjKJdGt/M0xXSDZeKawOES7eBkAxr2VY - rmPTrbmJSQ9mcRc9CYCV0Enog5sullfBCr+c6mT7fB12CABA7s2UgNhg5kvRo7pBW3hkgFjUMqLg - uDt9LvTNqME8WOKKTWa11qwWg+uy/OZX28nX+rheD5NsFm3Sc2IaKBXKhpAhmAX/LBmP7rhdQ94T - hS1mXNXkY6BtQU+1rOtuhYSKduz3dYLUjnv4e+Igv9dtdIrwvEzaQW+YL5ZXwZdCJMUIVVuK0bfc - K4OMa9AbhWMARvDL//4O3XLFLQEceZEOA1+FEMpYbnmWAXiVTJxt181tymrwSwJoKWFhvzTnn+h0 - fnYn3Od7gnFb2Al2YRRreQT7ZYDzMvL17jB8o5SikgEBy1lYJ2BSbM7vHXsVZg4jHshvCsdgxuI0 - eAm6EIyysGN2HM/c1w5AtrgiC3QLYGHABOgcO1nBHk24pRzWl2q2N+P2sGCZnwU6SMpUPDxtkw7w - blD4ShRFi7KH0/o88r2ZHIBc/NPgJXCgid+P2yeJ87af27r+ebhc1k/6JFAWZvzgDSHNKy/Sc6bc - H3oWtlwWYgzHz/MisDEowOG3Yw5tcgpdkrMUj6ErqaZBgrLvF81WX5z+FnaWm1K2AfkzMHc96GvC - 1dAswa9GvXaRK/gFBOMiRXRF2CuCfy2a45/N5Qkatm+X7L9r0LzIQT3eE/oS1rP1PMtOYmJItvjl - 0F3kqJ7NiEMOfWpHCyC52oHGuJTY7BUu17LG3nDuUR1hCVKbK3wfRS/GheINbJO0hjJ+nVlzbmp/ - PvTEszK8U2tXIggWnZOcOJcnHeL3loIjz2qJYRGMrmitkS1FLbIUOoZolGipNefd4Ykks92yUcsN - GvXQcMwQCKb1F7G7lAFC7ePD6Q3dOuehG23m3CnUHbRCwxQ1boNunkwOp1kt2J/McFHfmirDg240 - mogRXd4gw/x2q05O7mv75v3J3O18+qr+4HPdoIQxcUUpXctzpyFwu22Eq0EumIEMvJB2s+dVfRII - hv/l2sty/FUH5avzUR7OUqjyVkeCb+e69LiBESvr4LJa8MNgMSjacz06KHw9TKMkKILtV9XW+/um - th2+Fkwwg86jDvN5ghJzRrEcrUu8iKqU7bg9QY8WDUzY3OYYZylOoA07AgeIIUFPjpCCzeljXLJ+ - UGIU29x9HVI33jju47CvEIaJtKv3u39OQ+1dPqzXzbcBLLOq4OgTFaX4L7/XjOsIahJluBPHodMG - dGtKltn5EO8XoePXl/OP2q3n0/lK8czNGDGGai6AzJFzTg5DOPCRkfKadteXb0hr1T7g9EiMMmSJ - QADHZSOT+T30A0oANj28G7UNrA4S6E3UdNELzQjH9z0CZ1AZKGs3upLDMyZa2sGBLKVpCAq1ZO12 - l/YkT3U2H4cVAEjFLlffm6Yq0Ah8QtpvdBkQZbTS3e8jTkwOw3PFqaMTBUXxGB3DMbIrL4IqyfaL - m8tIXBbmruIA0T/APSy3a3RBj8qglsOlaRf3TOLRWo7JxFfsgoBZ3b6CqNDzfmYvt0mudSYCqjyY - ykD78ZcoUsBWxqBcHurQZb1rlv98drfSKX+tWWsyQDtbKVd8/pC2G1n+cDz0hwUnO2A4hpnCKVQ/ - Au182eB6ghKfDJmyvuygCDixuTykDOcRDADr2rIDlmarK9Gp0X6uD/80+CWTMn50qQYAUJBpYatU - IHlaaIR5XdVGmKt+iWKeKzQWeL6p6l1tMiZApx4HFQ0U6fEfu55jQErl3IRQf8RPgb4Pk0OglYEX - ETapG9fronNCizTy5j37GpTVUJaQyhLKMqWBI7Q2oKdyE3J43Cho59Kdi0nfB8jSjtWI7exmOBjv - YPQUuRlCh1JMZQDq8xJ42bAFRAeUBPAS41ymDQ9IQ8YdI/BVoizkGz+Wv6s5dl72EAXyZmKReDdH - 2VMOHOlzWD5tI05bkYts87EHgFPd9O7vNH4g8+i41cwmKAPur3EeiNNm+xqic54Ztbdw/7ZXBvR3 - LB0t6eXcb5tiAlp3NhBLvYJdTE+uXM9/GHQir7KRdt7o//5lLuthWbymYAoVZ4V4j0YtxSg5lOtK - Bjd6G7iBMZ0Jvk5osUgSLP64g2FBJRBZmR6Ol0udWa3Og7xl8/m2X3ObWMPMyvtawzbRac99rLI4 - ZKWcw2qW+P09cNycWZGe9nm7uJXErAuOjoLIxcVysbxKdksIZd7WCwDqYRb+0sZPj8bA990yrplS - Fpm807U/YV8vyikslxlDRcUMlC8YmsCR/bto87eizR8IbPCBmCepwyzQBpzDJrA9NcOTZPDr7fH8 - Ae0giBsbax9vkBX4jiopbKhMYpP127s9dzhQ/qRvEWYceUr2LaWlkBJkZy0Z0v4XkPaecWkBaoUP - /Wy6RzQPnIdVwzTC89FS/h2dR/fdW5VBYFTb797wfey+J4oriCDTSB8LYGL1ZJu97HCvGaWhp6TG - 52QcvCMpXrG+XBPCOJr9aYt7OFWy50AlRCgeoWoRgTIyK4nr7qsuqI/b/gtm3G7KUWbGbgnHbEYt - EQPwljJ5s+Pu+AT3OvaTHoKBR45+zCdNDzvQ7aTnBjUEiPCJKokUjNeP7XI+MK2+cE3zbbOH+wcU - CHzmVckDtJKlMYeG5SpdKqAUOs8fe1aCKJi1vnCvWKFVllKfv1brYlZID8WpmXRx4px9elpludcn - QIrQP6eZHVJFrlPOAP2D6pJOL6ftnzg2lE8g0UrHO9ApdV1lumBSfFkdfoCBg2e7LS0D/t+UKVO4 - AcpTyLCF5MtWCOC+LNkdZzL01fSl3Xx1aeVTAKwuJr590crIFc3qvAjMCWLhQ5eqAhtFsVlF0Mp0 - gMCrZDNutnvWUoKbQPky5tYOhokmorQAGsY0wDCPbVoGAxzDFTwpFlC3DrGC/DnjUwQZrqjkauVk - EuY9tJbBisavt0ZVlRlMFasRxAfEKaL2R7fc1ao6y/Edtr4T4zLdl16kZ8o3PSIv5usyGvluMxwZ - PJ8hkmUeageUwmNDhs5gngZoLUtN2v4yPBXi9wObVSJAWcxFdsBwM+hNaAYlZrwaUYjaj3IYUNPW - bYLx9CWv1UNhgtNGxV2zW1gJuPxrSIYeYpoul1fBrNlsWO16crn0Xs3Q/xlCKBRIsxFULk5IXnbi - HdawntOTcBGFlE+c98Q08YTZGGV6Zcu3hu1Y2alhjlujhBlldQqOWayAbW2sLHlZnj8P8trn7vPt - 93coEcr7sKuECHL7v5xz3X7JogqOzU6QAVQJAG1UCSd2ccPTMj2yj/HQcPyP3YIC81j1tLTDXh0w - gILyqGVO3U1z/bUI+e4jH4x5BHUaNqQUe9Ab0xAEQ0nIVN0NLKVR8iWY7cwjKjq2Yw5Mr2Th+P/F - f2iWZJx3tHniGEZC/vgSgKkbC5WAcllIrWsP1wMbCMM9iG7SrF6AEr7zUFOhMNvzjBbl/O9fPSNZ - J+7iQxYtWg9LeGttZlldfAYrE3C4gv1TUnQEmoFGzGI0xEr0vFn/RbsyTrC/bOUEycumf6/27P2+ - 34p/27gf0OZigrI2FRJB2ZBwJtEdwE1lCrNQyWhcDiikVydNd7wCBzwVbemu3n4UJsKvyRuoDZcR - SiZ19s7HUWDkz0JP8S6kl+kZ5uy4NlGuln8Ist7jDyxs9ufjQKEI8qOp3FfT/tC8zqj88xD4nUsS - 0q/3qa5QnTImwCUL4TLLEeO67A7sx9Pwu7DnzWKGfFfcozZ4gwWLwggJ9u3qd7d4OKbSX49oXNOB - nxPrBhTLVBl8/wBVfX2HRjw6cMl6mvX06xUClztERbI3Htu2Q9H75rWnbn0RimohoA6FdwTUxhTc - haB99Yfv1/54aOUIq+F4AlGOhf5p11aqooHQnhg8xeiW4VagVsh2hs257QrptCwBq2bJFiSosoH9 - M3sYSeWjGLuD0B4PMdTCZBQyGMPa5TQgCPV41hs5Gf/cDCNbpaMMa3WNM1POYaU+DNVFxcvlYYRU - 4DT3oo/zW2B5CcHVwXPC55Nsm7n0K1g+gYXH26oLlQiRovusb/6pShYyD+s3ZIjQDUR7Rz8AFSpy - 88onbOkcHAhtpcb1DzCJ4+XQPQkqDr8pz2cj72B5973vwLByQPUgKajblwFGaGa62aOpF3FrMy1V - p6uciG4KVzUxgnUVvSwu2qxXffXtthCdDlwLY7WiWkUDJyyH/NxjCsK1u9/WRpDNO2U0jhmeiBzu - TrraQyg+x0wxyyNrEiGs9suZ0LdgtR0/r0+qjd0Vj/ZGIqJA3lVct0QJsvEsvQD2lVASZLeBX5C6 - d/TMrbJI2behg8VnZjyXEeY7+TTKkoK12NWf3gSHa7C0F7+8X9qW+4qq5h9qTzvrK0X41kZuPCKa - TLIcvxl6WE5QhI39OpkKQaCsMXTPcD1JnZXe98f9wpmi3enVDM6PT+yjT5x4az8NEpwIbS8vyZxW - 4xIH3gSmmX3/GCmQokw6TJRIKzPc6C8jjDSCLkZnARTA+XzMdApDEdGyio8VqhZtd80Poo/lJxCt - 6tZHMY/ySA6IycBEjOU6v5SVduoOW8w78E+ACqydABTdPI8iYmIHW2Hh5rJ8W7BfAqb/gq7eRyks - gaQolQHnpHjRZicsJHb7IgZdYC124e0jMogK1NXkNAsuQAFcy0S+mrYIlsx3q+HQXxcsPE4TTKUH - 9F8F/aoNneOMcoBNngyD8olKh2e5dhBqwkO8rDB/TYILJ7uIs4q7VLK7gcV3xGbKIuMxzd4GyY6l - de4YJsKTQWQVtV0u5YK83dcWFltsNUqr7Z7/poR4DwQDdDFcEXlzXrYV/TrXB+hwOe3q46ndD+ub - 8DidPxCJvOfKlL29GnCxYVPEl8vrFADs2gW9IYpRupaop1Ay0n9QruZpstJy9EGYOG26kR0XJ+Qf - PbJ5kgxWTfHLzWxwlIV15eXhCzXpnG5i549zDXafnjJBLgaXETIY5gpO5vlW4aOD1lS7LkUBCigC - xzIGxY9KMushb8WMMEg+WDevXHM+5SLDhIuvpwyN2Z762gpxoDDtWUq8efLV+YB0c+LqIy38UDuj - ABWYoDvluQRqnJd1cDfNeVf44Deo6AwaRVEpOln0KO8kdFGgNQ61QxCyho+7oJqaXjj0siaz/TWT - 0H8iqbbk5ipX02naOPMA8cKLXMGwJEzXrZYdbKv9UFfoLuvDD2z62tX6AoPMRNkaevbazXF6GXIC - MdOjCOzkJ4vkxna3Y9MTz6BjerKz6Y6cMFhjPeuwowLFovyCG/OxRWzOHkILSsfvDBMQ5YPzKgIB - bNiGSsse7whQmeUtjDtnt+Y5pALZcRAVWIgUqWmU4C2GA+MOpizE6GppAAIM/k8o+B8to0mNbb/+ - eIhRPVqs9PEzO0xlOstR3P1TjAqET2gjJuPqrpLPrH2p6G/w/vr6PDv1++7/naRIHEEynf/g+fMu - D1z+YHk4t+DbhRun5I6+TBC4ROXRTs1nLYsWVjs5n+TUnrviWVEKufdJaNj6zFLWYhfMxHEyTbLl - vhnEn261RzSI7ZYCuiqdoNnqUcqHYSZOJKHHy9fzcbJu2zqMac4Uy9Zjvo6USXrGQSB4vmfdFEQ4 - +rQB3p4361YRIOXj9Pk25dIU/WTv54k9iKf0DoqVl+JNn1VQnh7b7zUVLcqwcJqolbYT5SCvHnJm - Pr+cmuskrIbKchU70aOAkBHfnZvzlpXtXav6Uez6ZvcQGNWzbSB6SLzjb/Oj43D9eUWIxCqh7i6u - lTK4QoaOFfoidDnwq6jt0Jzq3WLZ9Ge2upmaBNo+FiDwKZDFC24agddbjNxdhgL1UZx0VrtiyshK - fTZJ8xnFkCPQWCW10ct/4SfuTm+Twxj4F2Gmyw2xAYN4JdERhz2OhomAPcuu2dTTgemTP/D7vTJ7 - iaZwXMRbYhIUDvOgmTPGF8uroAB/Wj71Tfqv8wh414Sdt6bi40D/KgRAv5jsK2r2f8KT1txRLMnY - KhUA4we7lWO8ptOoJIiQqF+FiYKWmbNzpAwtk0h/B31zbhXxFdbDeP3usXI4oWl7NQn387N/W0Al - LS0cym01JUh7r4HUzdx9yF6GbFjSI6sfYndoh8V9vc60NLNBoZwBFeW6l5mxno+fhwmZB81BXTF9 - QUDVIeE6/Q4jdMY9NB2ahjmirD+zSEj00FxiMybk566MkRSZDtsnKY7TFiLmNyFH2Pi4empa6OWC - dxMKo9rKVsB2112BH3TV40E+k4A+SaE4VgRXXiR1A3lj/tQ/xYqXr32HzlgsmFA/swViEUMb4YGL - EVD6ECKAfrWnJc4riKkmyuLumi8sZuN9hNn8NACv9bmZIHemrQ0BcfXsPaafBhIXKgP9UnxbVm2x - VYdxtXczfxY4/VgLsc8FS7Sy/pYokPhauJvqgAd9fn48JUrmYMPBECgrUzccD5u2gfBVvgX5jy9h - 2aYH+nh8PclMoE/N0IAOisXPuF5bKT3RSqXNXisupxWzKpNF8ckPHHOXRwQzyJpRWPYzkzwokGvt - FUN9uF0rk8s496cTq5dbzOXbTFYGqRwgJwq5gpl8umSiPm1bJ4L743nmV1AFxJ4BuA5CTZhk6x8E - I6fudPrBj1/O28NCofQNPxkKJGZOsBQgauvQ3IIt/ULo0Lp+X75B6xSJIsSJ52KosI9Gju8wwDDu - WGTs+XuLItN0tEKgvSLegbAMxSDLqEsrVCs/DaefdGHHCzJSN/nU6nmLgXZDbUI2D66mqNRx3B3r - +sFhux+RStGB6WAzbf38PdkKDSQxy8BkIVN8ODVPKDoo08Spl0JfqiLZwZXd05nBPNCIjpUgzDm3 - UKe45T20iGoXUANgfoT0cmZdRdG2fNjvmWQPV9MFxWh39ptBNICOb2I8py5WKpJ1sR8Pk+3XItxp - I86CDW6Q9dgfmX6duv2Cn7xhCYe7DJ2jhFQbZxRId7huZRjk43qzAA7YTbHS4y0S6E/OJmswuaLl - akdUsgJVv+3/aAf2i8StTFrkMfkZ+i5DzzZmi0BNIRxJwlx789Wv8HQhdofi513/ICRQeKKx0Lih - AbZMgj9iC5ReQ8jhj/cAZdMiWXzZD80eVR463MGANFWvKkabfUIVmkEFouhtPFwoz19zf+w5qGXX - K5u0TSZOA8qr4OjeoRDGxdPATMvpTmUFdBytFJNmYv/lEW6OA1uDO80tXRhHz1aw9eAkcv0hJrEx - +O64lzPHzsP/rrWjHV3wTsVEN+X3ZjX5mD6R2T1KbxmUCjPzMRVkSh/L7vZ4w5OSmfLBRTpTKI4C - TJoHlNdy+8/7VQeiu37+MRDvbHT0X75cVzIntNPIVmCp4Dmy9/aRnVgHgVRMEPC52BZDFd2FSr0L - CGDKwo39lwl+2r2jIsGYroJjmjcQoKtu4G6IMfA8E7btd+1pUnLHZ9bQTqw9nCGDAcRcvnGmJPXD - Tf9V9/BWBxwPCGRQhKODZ5Ztx1cIPccSmGUperHb71GQAJA5Iy6rqf+wNKCZyde9TGD2tEX2ZKei - K509s6gMa4X2OJhWMFxXhiXY/W7aPywLD6vlIvLcQn8szoxPM+DMNigEBiz+E5Ms2RmP/YE9v0oQ - kh9IQ1pE0JKwID17y0ADI2vyXfrm/FRBuqyaHwhU7psvRlDpp6KviyCmwKwV0H4eYIXA3rem78Uf - cFj/ocPafzXQr5m4AhTrzUI9uM0HCicTRuBFlDk01x6il5NQlLmbMEUa8ApXtIjdla8LpZTaj1P5 - 2bK/PXBjdFa8ZshDGH4HBgqLmnjNZb1gb3K0tUOec8Tjq6O/Ip3BCrUiJUQh9yMoWMVvx995WjbA - O5IiYQ2CKl+XlW3fVps6iWj700D5QQSFg3aiGbuNIiKsXw+Ns6zKGEmb7PwtQJ6bDpHCFpzJfy+o - HGZE4Sqvz44WjreRfp4Owc0G0cvEdDF3DAbdNxQdjKYoP0xgASMUCOgvuxU0zWNZ1P5OVkiOreVV - VLTBYUDCq+jp7/bjGTsC0IMqL1C+eNwvdJpCRPfMeiQD0p3jelotP/76SIDVoK2UPSD7Z97W8ty8 - 123WDlYCD8OhO4Uh0LFJ2xvAL7Fcj9ihBQtis139RdYc3c9XmDxQVPDS7j5Y1CaxT4tWPlahg6LH - xP0tZu7pLOuTb/pm+4PCxKY77CfxEe4j3g9pheOSMnib8k3iS7Q/HT6XHdcXpoMH1cYqTEu2dCtM - UcSWhWn90F7RecVTReXB+nldAGg2SkhRCbFMEKCQTbYaulOtYTy0+zMrklOGA+xh1ZywFOJwbMjI - Lp1lQJnD7twCFeDupMGgKJHHsZdo8zXlmpfp8G27nun+FCajT6xr4+vs4A3sMAL+4VHmKbLcnejW - 3Pg+tPFlXWV8Ckh3g9uHZ+KF0qNXNNgMK2BrlpU01Veh/3sTuQMWuaUse/xfb4yhhui5YeelOqZF - SIJyiGdlQ9bQkoRCbSMXPVjCeopFme7TRVsLSAVkoUKaLv7pjJcyVwUSeIz/clgfRui0wS4xLiiA - N9VNhg674f3CFDUOQfK97RghkheosXmjnuYKnWyevfcQyRqZmsivj7EW+2iObzi7QHpD1vDAUnjW - oqHsKN6uu+/J6MY7C/jmH29JF+i2vEBOW7PbPUfgNy0Kk4BrsJTtAoDK13WW5ZDAftcH4XL9nEOc - 4cWS8Q1MORrNXEwGRxLNFIcKNTs5JJk05Qg5JigiTiewecBDHQweKEZlKkTkLI1b0tO/q2/fCC6o - +S8XX9o1yiCB90dakinUbtQUzjnInJSdwQTZiX/Zt80Hq4RQ0ICiyj17MqBqq1S6VqrwQ557of+x - U3I9HXHjaSOmWCvpOT8Ahe1ECZBl7LnFM7SS7f66Wy9glMZmPHVDgMJWhdopQ5YwSCTxMVxXVxwX - GjbTdd0CD4Oml/eeyySON2GR+O7HAMkm9jtaRKgsVWmho6DKMOwYness6wBc9oDExFvUoqFAeX+X - mEuLHaQ+zkPoVWRG8nnsN/AA8GniVnlVMfFCsBps8uAROgRh9/P0KT9NuvZ0xmYLEdkF50aPz4c1 - 5z3nA44VD4UEx/5rUzu7b4/f015DQknf2QhhU2Aur8hMXeQSEnazGsqjKDdhWIDjEByUFRmKeLs7 - Tw4DNAmgZV4tzEznpodRgWGjApEG21hry3187oFt8FNZQs/jSu7gWMXqyAXcIKJafa5pgoPL5Cd9 - Kz2DHoQCeclsv0HbBN1AL2vWHY+POng0Dx/WAHEkKIOx3qpO0kL4ftyOzMlC6kv7is/z+ZkTTQCE - tDQATBmXZJDX5veyx3Zl2YGZrs3I5KCu0MyL2fOIzK+SAPbwsd7jmILxj17k+yNnaXdg+m0BcBkG - cIlqvuOv5eSPw6lYmGdilBBRNOCYJMjLReijsz4cxbvNdvznNLwx4FMt2NTzwRmGOLzFuAII1dMo - waTcb74zeERTAr3drFzgzI7pIpwVIVgyto5DKbeDiytvKU7WJ1ktf1DP/fWx3S7YA4tlJB4P0huA - 4ijQN+Wy1CdrHPZPQsPjqWZZnXY0mwopsjA4VDWdrKOQmLE8XMIN3yCrYQAYDSp8T5+jXKDU84UC - rycq12VdF4D64xIklDuyMs8Z2nC/sbBy4BKWBwhEFNfsloW9iYY3Vk9Kj4M6QGskelVIvJ7jVVEK - u+v7r594fCz352thm7lclIEfSHeXoG7v6LRy5Tq/lDu4a5vhc7J6V3O/hBA8kCKOtmt1M3pXtz7i - 8vPBgRCcPzt2WJ/spuZGuAHaGZT2sdIjix8aGS3w8/PXCoC2PE3QdMcFRfpCtLQNpSGZR7B3zJ/l - LVYgoBg/P79JueBzoODq41TPz82h7SErpuruLw22FqYcOURAj3lAeRWs/l8se1B8fe5dCwPjYK6l - YBLy5fIq2CR3I1qm6SGXXTFJglU52TQNcUKz2dPu6/zcv9seznQG1Nn5cTleIKEyubmbu7pvSlC6 - V6j2qQWnrMIu72rcDgvO9bnJMVeHz6gZU/wPLRrD3Bwl0w7ZH95WFK2lkv4jH6pSb+CxYHhm2VZD - JryyPH9M3EJM6+zqVrWyFEqgSc1GRUZoyL05b/55IpyOp3Zfr4G2O5xZN97z/XRqrnxA9482ZcdN - C9zQLMPYUyrrGJnI08JUSSBUt9EycOjiYZjMaZ6iV1TO2P0CJOAZXYkzcECCPfTX8Q3ATRe1sder - 9Q3eXQUkHn6KABLp+oc5UsmeAhANy6ID1PImEIhTqUKCa5yiCqBCxI4yLNn6Y/WtnB8901fIXGOW - Meu4W2E/m7iW5o4roWkIV4SolGMDVsqjyrDqyyYYKmWFbgB+W3P9s7X/67RfwsfXqFlp0xn0nBAt - gHDMF8urIDoGOQ28KCi93CDCkY7MVwClbPbTxfIqyCL6C0Q/4Q0MG4hUE2AMzS7AVSI/zCAkorXr - 7aW2bgVwFb0bC0+rB0xPoWYRrXdBlatZRjv59Tnu2S8qTQDzGceWJmCkwyh7U67nb/JvODxZl7J6 - fotyIST1slq3YIkVA1806efumtDYC565LYHXH0j9MsTcSo5gb4cjEwBpgUVKXDgUnG28Bu6SLKUA - S+gg4/k3F9pTgTJDzRRCL6aCtiDujSHzZkd7ktAnYzvQKo4RqR89tDkyD0hU49DGhpy5AcJW1EJp - +ysOBCCXYDRn0xwLndgux6CH4wwDk2kxi46pthl32AnCZJUWjK1Ka5RNs3KMzSxmGWV7Y9OeOFrB - kcqAo1v9jjZHBUYejS9k/MQEg3BTBtru13LXlnM3AsEXJ2JKnneh7Gukc4mOqgWf7/QiIpNtT9Um - sjydJyqohpT+7A1TkZ/mb8leI1poqdYe3iAAooBWT9nN023Ky/EOmBW+iM/I2j6H9RWAIkRfKBfO - akUwHHXg81jwKPEi6sV3q728+NEe+xVbnYFYqlHqqBQutaZPqdisgI4P+NOIxNm/2iUUPdl2hY7O - kKuCmaWNKmSoIZi4SDLkGmXszVMf6u2AVM5PEii23la0zRStgaKAuYpxohLq8I6KEKy8ImR55oV0 - T4sTVEs7Fc5MkOXnQ7NqitMZxJitz2l+7yKU0Fgv1WWpldimf69jng1CkhvQkHbGB5xRoZ9CuaRi - FQO052XrbjP0gJqyGeNdZ4niMEr0LSNl+JrUwWTzNf6B4D82e2wm0NVZTCmQMhS+QZ+g6GWrSXjw - mVOYM8qjKQbHaKBfn01be/G25xGFnskM2Ke5pzDUSmhfjjeUkrUygvZ+O8jlVdeH4Y/0dlw3fTlF - 3K00OyOgUvhPP51CsHkaUF4FfZaGaf9Y+BFSlXPZVRi1055TpBgd7+Ii08q39s+4/Xd3OS5YI52S - pWm/8ZnWCj2GrIKDoByuWlnIO1yHp/2mOz+rc4ztucdZOO1A9/J9gvi2DUYhRmAlSgZKCjbvJYvw - TclPzCZU5eJAU1ehUIumBCrsWtYjaGdgt//9p98/n8RqlsO3pGR8SgU8ffoXHOR6eW7Z/hNia3cC - E/BVjgLybJlw59nCUxSCLMcfSNk1266X19bfjuCwhXv3TVW1L8g4wvcwvma22hXhjvsWSRmFgx4G - nrNKkOMuufOsS8RGu7LAtO/+KK3te9p3czEroU1ExSq+8CF62OJaVWRfs5b1/Jbj/h20qIhK3eJe - SIsxMVkiguNcLpfXxb/Ig2x3w4jyEJsCxlQBO2ymbBnV4cmdUORCt11u6wNkOay4fl4OXA+SepWk - U3AUGEntQNATyXOf193Eu+B0+eFLR/9Nm49iFu5EvBAZ8MBUlcEqRTFEzQTgtAWiyTvoM4X7EBkm - Ztwur6jKgvsyU1ukxAcSR8kGJMGTBaEkdtgNx8+eCemltmXviWJkpJqBhkiYBhgn4/ifd8OeJikO - O3BtzByZ6F4D3JTpUmBsqs8yusivS9NjMzT5Ztc4jaKtBfDvHFjdtgzQMpu/dtd9B/Kg6DCAau4g - Lfr3Jdt/NM+bRbvvn4q8PfS+INyEvpJzFVwALO6EwhZrRcqa7JdldylnsEVzt7LRpfSHQjfNKy+Z - hbB03Z4g4jv/Us0KJpQTFc7YnCqcBZxpI5ItBszJHv77+/st2nvqNgNTCy5pzXFLGc1PD0cz9zKw - 9C04rqj10JpKlZJ6pDjDWzVJnaEzJ1jFzf67z/cfI8oDEjuD7k8xCq8iSm1pz1YMNOPWjDGyw7If - mzeQ0G5PaSbflSLt+xRDplAGeFnVaziO4z8zocBHz44dlTwFQnQoz4isfxQxaSVr0On/KGKyzINV - L/uCgrdTLzJU3iqOsisD6iUjWj1eRfpv3YESVJvvh4tJSc0yIEhoZGuh5pJRy7FJphzbDHcNsVDr - GQWlgexB+u1UmgaUV0Gu1K/R9nM3L44ZvAA+KEFT1M6kI1dGCY6YfSuv1+x+ol3z0aMVkoorncm6 - ThcoWILxGoYAXehkDbLmsv/OLk1ptheE+vgTvVZZ2A7RrFHhZdd8faLQBp1YyIqn2gnEG4pU8Nkd - TwEnK6hAJqtO1FbLX3VyfD01178yg9iw0DAWsO2Ok2Ig93D1jPeJnTzREWhZ7QJdFyNTMDvv34aC - bTdqblaf6OUVlD7FoJs8vQga4mNDC2tE134CLczE+SAxR18rM/i4DEjCJtFhszC3cpyGFcr9XoX4 - irdgZwaWlwIIUbARNa0cc7r+bH8DQ0NRI6ZWSq6S+EgahGuFEazMIIPCHbsR8C7Dd9goYB3n09uF - 4DgM91oahreHc7NwN0NVjRLOfCsGxRSiL4xPEeqU9MvlD+Sz0CEJDggbaM8ElGEf9wCIT6OhYREY - ph2UzIRv01/En3B4uIEK7s3HhT3KJqyjyb5G8FHw4CAICDczLgmKsMHNUPPBLmNzRomeGyH0fpAe - mr+ro3f1BZ1Ov7ZU+wVp62kPRLKPt3JWDeTM0dvJD9cX21zB1tweLwu+NehV+4q7H5Klv2A5zC8i - PSVgvEF59sU0R9fVdIh/Qp6IqdFJ6jG/X56f6sPjerVdmMjAacbt+6faTsjJIf2ICXEYfW8ZtLNp - x048c8em65FyIrPmc8baqklDd99HLEl2vaBXUfr+tv717Udk15kEFrP5t/19u0U7mwIYaL54U1VJ - YBwAhSHHrUAnBBIvx/adyVABZBV3X0cpI+iIELplEWOUB4SUqa99s0RPEZ6w9E87j8kjHeEI6jMP - SGyGKpqEZxT3q1nY7mulrmaz/YHJ8XhGUHInqtwoosZY2E7pGBlilXR5kcBisE9B8QgFsaDmT1pT - XBh85AFp0kkRhD3tpThSsaCud/PdJsF0zqBiD8YiP3BZJ+p4kR9E3U7erN+OfctCZFNJ0c8qih7k - jZCDA8AMcAcapyTH0PrUXRf2Ljhk7CycSYAdBHbZY6aRlfk5Dr/l9291lUu5d+0R3u/aVPGwh8kx - pLHQufHlOr9IsA6Xp25R3y2//sLvN8DeKZguhEhLuz3Iv9cStSdsluWZuTuMN1mFuIXei6mGxYBE - lgKOp9Un2HapCMUCx1trEEQUOOHblFB3hGed5G3O+1UNOlut+x5Ap6LzDmPuPHtbWsIZtugBxDkT - Oc2VPLlLRzEKFhFldrBCvcOCI721gvo9vADLdZQMlChRgEQ5FwApDbFG12plJtIENEiWAAyUYa27 - 7U+A9MO5H5DX3oBOLtTikgpabIFF9XHBysLB8ffv/7+hhqNsbJezw+7vO8LxwBi1W3R+G+QoLKdP - qCn0sxiAkniSqUm/4WCE9Z9Gaf8ubOA8zBbA2HJ6ugxnQFG5rWmXz3Xzj9MPbCuO7bWIrU58hTmM - EItJRbivKlQ5hLp422E9cn7iF1gTd7tyB6KHp8gSIlBcXscgyUG7AYxJq5s2dVA+VyuGLRRzMa/C - F5W9y/I38+xQHKMj1fl5AgRtL59toYi5zM4Bkve4npnYm9lW0jzIpSkjWwz0eIDpTCjVwjVNlB03 - w3EKniiIpzlfZyP0pmy0o9g/PoPnKli6w4DyufOFK+LirAwBlCh71WMAa03KQMf9B3iocDyCeoKp - 8LnlX8BW5S6KiH61WnPnGkU9dOmqYiQ0X4JDo9YqFmcw2cnu1PBZuOvQ8WOS18wULMJCluZWOSVx - qEXZCjwez8fCE57Uie5IdkpxXjn6pffISDaSTNPl0l4bpnM91+YDBHK8t7TcVbnOL8/7NHfXtddO - q5flgAaZfUYlRWcgVEv5McJ+XDcyIdmxW2Hq2PLL4do6P7sgMYbFx3QYK+yJHM/w4gATBclqNXXY - cgbiGxjBTRMZfWjfPjHYT8fD6geiTKvl+lv1UvajTGAOATfxcvhY/aC49kVpad3i3XXLJZxmkfMm - HLxu7h8UKbymcLGw1qAYbmQQ1NUOSGiKB0GZ0W725SDHmND5QLxbDIhFvLLd2HXop2NW4XPmimhB - NzDCqhQDAHcRZsW7TX3zTg1l+cCX/tERAyAiKSiFhGlAeRXcussXzdR40xGPbgYRTpH9phVbz7BZ - gC5m2ILD9dj8gdrszseRmS9xkZhnX+vGMHul+DhnBg9KZsZm332n+4BjEBwf2pI8U7P79fb4dO+H - BXMrAWyKZq6cEpg1HlByjYjRrZdtVMtmBp2rG/bQwfYqBxtfzut3ed1v055ZwYrmLDoyqUJYgM8G - fT/o2DCCWRQTD+0466TPmsN01kGGKHngXFi3VEai6ZY/4DVszi00hyhydDdEoYrRw0UyRkr1p4vl - VfAIB6Z3QYwIoiBJ1WVVirZNhgUGHwJ/oo//azVhx+a10ntw/lwEDimZiR2srSqrPkDyDcr6qOQE - oSnrtt/JMR/H38fajOY0rA81qubtvJbXMz+Pe3lRZVyhWjuRIdk+Zb5L+QwNGe4ZOi7rigCO63X3 - Lv6A63V/YW35wC5YULOYne0O1qzsk4uWY3EgEDQffp8b0Ajv8Z8JoXqbzCrIFmNgXZ9l7Njl2LS4 - lZB4Qg3exlQR0hwd7pb1gpg39B3nAhQvHQCB/PuXWa8h52+Lazbt5ap6k0DnKqLZzCbItDOAZqi5 - qBZrQfFgKbIw/l+CuMsFwY+esT/pJeLTG+Cap4vlVXC7TgP7c4Fv6Rb3kAT9fIqmTIAdbblshNYY - 248tKzGV4COkB00+J5jRxcSGH+zwo50MLrb+3HMhfhKsijd9ForU6WCN2EHtNMBoGaO0ufTDIqrJ - KB0BYd23TcCVQU0IMU4QalKO/QExP6UVAIW4h6AAIFuaFsddd0Izq01wmG2W7USj4FVIM6nKbTQ2 - d+zzxXUsy55H2/RNqTveuTQgjqPsBzORNF2TFSbH01tTd666/elaRYZ1JERTGajs6NLLCUbp3jOi - DlHXLFBFPTaETPGFD0BgYJQIaf7W/iXYMq/GeR3/tA/gC9ZYR2cgPACnQNpHP48Z4U9GeTnlCNx+ - WnCJQZKIb8cdm7AVarROZoa0UfTn2WXgPz2XAzyX6fGaF9ErVX1sH0yMOU6Dni5juXmQ+aCoMTIa - a5IDeMB06RtCGIgyOMSVBVTtuGHkOCKqfuHju2k3RYvffsFfp27NOLYSrjwQUSYYdM4VrCmnAQ4s - vHsy8Ydm8/rE3qjo9C5wXs0OLEuxLhqxbDPnudjmRViN9e6JKPR7fSkVKUoMfNbxWRARv2BhQScz - sh72xw9gUA3q+qx/w9Let2OPMmbIgdnMyR9flyEwPsaecaAso+jvEp1A+r2iuQ5Kr1N4gzJKUs5u - u5pHfNr0XI1BrRFfauZ3Fy1+js5oVPiQt8JAVdSqOF3rZlTT9z8KySdOW41LXC/HGvnT/frouWIx - ccxmltiggofgjYK9l2EinJGp9m2uHxNRwEA5z1g/A6zTWaMofqT3nbgERlb3bofzk4Hy+gKuV7ip - hFuA8uZncqQwzAFLB/woUmwZKerSHH7iy7s/PbmHDut9X8+Er/PHQt1aZXb2iKKDPFjQir1vQpB6 - 32Bnqz/EZjVc0GHSdkawpeOGYlrob6ATUi4mGY5nuRtvtUcBSK5ZrtBgmzZw7+fSGrQKYwAKEDI6 - pYDiZDWB1b66JR8UGlBwRVsat2drqj+lA4apXjwAe4WSTQZY1cb8VLi2GQRFyg2QsvD16eVmDj5L - TXTUED//l7bHQZ4IHrbN8skevv3iYvv0ea3WN6osUPyU3gSrI2I51rqSIcLpQcRY8mOwA3S082WM - Kh7kk5n8zS57Iin+7vhdAl+cEbSO6AX9/ROOA5NkweWgDGKGzgNoz+cIq1v8ADa+Mk7SEZtxsAXV - /vX+JysOQoKQ3KdElbVE59M/v7IxDJ6wYfCcRr1P5FH0+UYP+S5+lynVqBnJ2WQgMDTrV0OSTFYr - XrfHJ9ee9QnClJliJto3HrJcysGiAFq2ifssvgwSVMgo6rfsME1vcdfASQ7fgOJc6GZDJSfyIJES - yfEAL+jJs2fek4VKeaKzIvq7JYbMUGctn0BNd5kdavNhFBNqlMlRiX/Zd+fzIqBQytsa5GnvgUIZ - pUFsRPMjyGTLuv35Co2Qsl05HR/zK4A/TgmLhyJygsub6OAYz3Sg+9L1tXRGP1I02puCMfAwpeuR - LTAkT7ob1ofiIV1SdKi53dcIYBbGAppSWttCSZjT5wLx+vQOt+MVSTJNYctS5eW6rN68glS0dC5d - L0cW6p/0x2dpXrAK+ZqLIbFQf/DTOEE3rnmWC+zWcojM8nC+sqK3hqURuIXmSfMZrWu+1xYzA2Qn - ETb4c9NtkbTq27257TR0AsFRkII3WkBlAF5FIPjVdTX5wgC/eEdRo80Kkz+nS4EIpeKILVNwv/rV - GrRckAqRise56j/4QyFA8NihFu6EVrZts6kjmf1+zweYm8IvG12uML0O/FeUIW3RiDRsAiFADg+n - 3eQZRHMzudrF0DgXMhrMhhWIhdqgp/PQPLGGx69xEW+8dPoOd11ZDxlZDXfGAGkIA4cpSeXobY3u - /C+0AHzxari9BXq8rzjsFJ1P5fL/0ydAM2Guy8cXHc0Dq+zL2/GJILE70hvfymqmAMXMA9CDYpOn - szyn/C970rnuEC2XW3lXdDu0X/Xs2jXdUx2nb85b8Ru8f9tvSsoj9aB82lduODB4pfOTDiPabF72 - Q3eAvsGN1Tv3u8b8s9nhfCwqCKLZ15339RP62sOviw6+mGDWAcfj+XvS1ujYAhlM6O/k7gNIhLQw - /iWxOfXnvnrPzfb7Q4Y5mJSvWffUVwGJxNE0cQGaNZefiFo3dAP+ACPAIyjccrYHRzIY7gDZBNfU - aUDAzRecWu0Ts6vp2yNKG6C7LlIlvuixV0cHT23PIuNCc7ELRc6GxdkCy1zOn6syht2WcJ0haKJo - fb+i4JElSCmqtXMFvAivyBjZPhI4CY3NW/AGmxVCvhuNfjps0HilqZKyjzCX4npDknG6ztsGEdt0 - sDg/a6oANIS6ukfN1msME0Vsx0o9qupwRNx+rbRP7qWFSFCcGgj0OyqAO8V3yVPMzSOEh8Du8IlM - KUWe4W6W66CIkZShr6xwrCnOqERU4P1x+f4XqkO9pS/ZOcK5BUr5YTY3AzYjKMUzN6dQsnDmMnPO - zU8dxBhWx8TdLnjx1T0MTEeT88swbjkumHxfo86hqssrj+412nbs8MO5tOSrN5cW5iS3FtCMaA2H - ZUr2DMOs6ToLXwqKtfCv1WzuaGbKuFP1z9G7sl1JcX/k1397Ah808UPBOCGf97dYkU5juB0Huk+e - oSMGjF0KSkO8I8lvaxx0fggzWO6burriRRmtx82OL9slpdgusrACPnh8UCtKC1Z5WLuz+ZEDzUPE - DD4vP67fz7zJRDPRbp5RPRwRw+SJ4PZ4UJY+BciQMISdRtCraFcZm4M8gNgfN7xv0yzMi6iryniA - Fj+EJ7nCaKR00usPDAEP5/V4/ufJYKhZT/iXGqvorKJcL0AWL9wGCGEyp8M7HdJQg8WBGeO91O6i - eY2UAGtsW4aJAiisiBKoT0iRPMucnVcDT0qIHC4oAbCVKWfG7kVPxPEpBKKQ5Kjev3+xjAR4oXRY - +7swT9IKCyd7NiA1vMpYJE+wf6yXf0UBG1bwYhTw8dSx6K5ZeACcZx0hWBfk5L1nUBuOjyxDluy+ - 9u1zRNhBdgh758Lmmfg+tnZ4Qltg/R3LJklyynbooMMGYw667OyMzkhPFt1gxGGvrNoos0Lar+Qq - nt3hN7ztU4k9o39ytM2UnAEgjR3JAd0h+P677spauAXDZfwD6avYNcF7NanlFjNMmULFoY5xV8tD - LRD51u0pHbx1b4wr/ob3k5LRMjF7pf/tZrW7ARwcIIYXlI4/txzQZpkMWY3Q+/XUte1TM2X/dWBy - UZhO91ukS3E6pSb00dknUpVeiIy887buv+Rd5aFraxDz4WsDh5HwR8sq8gZCMXSGFAOktMowQS79 - XceK4xH02hPKCk95HNtvG5ujfWmG/gYvcwt7RxQmCigYhse8w+L/4IS41M1xeHqM4wjdLM8QFc/t - kumksi6jyR2cyfk+QIbMO1079Dbp9/iZkxbdDZrcBpa+bCzB9UYMEuw1H4jkGbHLgfyjBKcUli4d - fwjruIwg09vZb/ds0jxZLHvjcoX4NDQqQtCCAxCTZEzpz03LjTPs8aHEs7k2+ES9BKI2ZQTQbyUT - gIJUXYCyPjHH8+8xz6FZsnN2gWunWAupBGMTcHuGnQRKaiKonrfHPWupQ+uD4tlcFUdpcgFow8Fb - njJvQX3p/f3XBPk1fFg+jjJPb4HVZ27Xrcy55NeueCaXwyK7u8tHAFMRhxHXWl/Lq2iL3a+PT0W3 - 9WcLDe04ZTbOBm/quweUm+YxgdW2v3lChoLjoL+pReGCTfGl2X/2C+bzZSYKp1QVko2OlDtCRcnh - wBXZFTfrJ0T7etx9VX+w+njbVX9wPGzqzbtf/qr+ewOx7cycerB+8gzohMSK9ktlVBmQxTL7T7IF - y92mOeKQvgG/HzVf2ADRmqetnB1SMMJYWXd0PyzfmIsKNMttN6aontIES4l5yXKsnl4Fseb68y96 - b8x9S14Xu6H1Tl5T3tFR5m5W8TA80PN3oSABlUROb1miQJQhbD+GD8z6W3PxnmPReR4oGII9V5wG - 2D9Y+bRyM3eAbOCv2zYj6l4ZKJwFrerK4tCGyK6Hlm2oZKiNdlj9s1zEmyHfXIOFtikKmozzqlwH - E1YS8Ky/GABv0lS1DfOzg6ZP9oH2AgwBZDnISD7bZrmpVsV+OVekr0v8Fg18ha+Ikd3n5jsHoCK8 - Z7UPxRi0XR1gOavYZQANyFyTz3VMZZeCXVxm01kRxf3YH8sGwdDanHSF34gObXZ2G9fAL4kqVONl - 870FqUZwBWFAD8MaboGVTIY/C0Uwav7k0PegOVlGOJnAxP683iOX0wvgN/KceQ2f6ejpeFkwD17J - YCPDuGGhB/sEVY6cUTqkrI4HxGmY4C2WP9CD2fcdJfBsIo3bXAmTxVf8a6S7i6Z2Qvwv+oDdbs3e - A2wGdgsSvDaAEWunuYTLV6d/CG7Brq1Tyv1xJ2/29zQ78TAmF0r648rDCSoyTPFKzKcSuq5e+4Gd - BNk5Dwq8NqSqYsRarMVM0DIkGlwgzamwmQe1OChwAEY2xAzfXKVt1LqXzddymFq3iVICOmyq8oHy - 9HOZ6V+hmEaJ+ob7dsvzRD9DOzxF3kBZukx7OfYoB+dLESn2cD2x9My0L1hfUVaxZ0I0RxcghpXB - R5brw1oOCkZ/A72s50PYKTj2mBhtCtN14Ra63fX/78eDju1hfS49YJpIMywJ+L6U2bKnKUuyyu7S - 8QdaxPv+7cBu2lOthBZAxbFLimLVUNShNGo0/0NFy7K+PW0uL+3+dC0WlMChzG0VzCusD8BA4OKG - kVXMrsvuWOTjoVc8l6d38MZzwIrdHF4kC+ryix6ghXEQCJqzj49TT9M0UuUqvwiKEO35a4EODRA/ - sOEJ0c9SeM81K+QSOmYumcNJUubf2s38s5+69iCNRhedh7Dp9uNv4xDlZGOtSpQX/ot4FR2rNmYO - YD/GcTuprDowz2cNJfjpOmx9uI5ii5M19Nqv67kG6nyul/2CD3MDrz+UjR8JvoX2WgJabAHJqYUQ - YDVcz2jwQoHM1E378ApXU9AXI7bXIAOLdofxzKcA6moLOvEe7xABz3HeAxVuWZPGyL7DL7pNcD/W - nMp7V7kX5VePUDBqDEnsfyxqCDXbzbhgMyCaxaFOLyx9LWRjPLNlfkHjHk1LdvoFLniOFs2UE8G0 - kEI7pydCkyi66bvLAYKrLDSBHLG6TdlCA8JBU5lig6BlvZbxgzK9xIVpCkOQiT7eAw2PzBa5iRXv - o9D2Zt+ySwCYznQEzgShYPzklPE2T06jVgg0WX5s5NyIXbcuDoR8Xj/a/9FakMS8AqycK4xZ1l3a - npq+2iiO524E55huOtwns64DQA3DJ4sBlNcFofzEW9/Ib8nl43eHbWaKYWwwFZnY2EjBjFtwGzXI - NLZOm00D0rYq+Xm4p2B0P6BwojUc45ArlKqr5D36dXP6C38Yip5AMoYEZOjL725bPaFx35ye6DK0 - u8NPecIxQOD/Nk+yR+lGOfBHIji/eGgyvvt+KW8TjtuWVerdTeGzQgfSp9Oh6NiDTRdlVYLh2A71 - ffnsDpcnU4XhPEIQjFYy0BPxUYqis+MVcmowz+brSgb7Ol0/5Ai/y9sZkSGUZyi90nnuSwhLUk/L - PpQBQuOGNWIrfbNF0bCkvr8F4NXRWQeICyPjykDBPdht10/dq82pBz8Bxw49/psyMzTgX62yyEHK - ZS8LeDb9E/embzdf9Z8saV8zE1KSfsVt00A9D+LQ8JRFwU2xMpWIpHE6DMC/T0A4IMFmyQP2I52A - VAXQgpXDZNbp425AXHhT83c21sVDE4yPiXX8NVdVRef7x3D8AmKhCK97+5gmCphO62ipYBJa6CqI - uLXN8MZ9/clgzqkntJA1GfPEcuXwe6XmqE3I3wmZ4ILR/uXUHD4XjiUmFgYwYVWfZhRD0hFKI/gI - xUwQMU+aN1rzrvR/6H9p1v2JAHe64BM7MumFUI+xu0ImgGM1rl9QGHqThaIjCbQJCuuUKx0UYUjX - HSgtVTfBBHSj7l9D0XmvkoMaCEYAByhzudk8Gb62p07eu9ifYAqWC2gQIkeVdQnt3wBkuzlQWCRd - sW8Zu4ipw4nHtG8gmzY5RjaxK5eVbPoMx+NGfBOWw3L457Or7uq2P55+xPPfLw9/oeXBkU05Y+Lz - D5cLnhbdZn1c3HnUD/8wn6CCTekudBNvuGeZoef5Q14GW49b+fm8hA+jZv8X8GyUrglX0UBvnqcD - XDVkEIn1ecngkXAjDD3EE0D8tRQSOlYsyaxJInL7OiCzQqIcnxA2KcARy2rlnZ0GlNdFXfiwKUMx - K9EmkWj+bunM1MXGmlLMOSSadnIIAurAI1xiIxERNmU9vnPr3CwokrUzKiowykDyKm6tQ3vBCNPy - FW3jyfIOSKn5g8xUztVEX8OqBSXpnuaukQk7flx+IFT6OTyB0n6fBzBbcC8Wd8FYGkqfUVkKP6wv - lxPSJUFAcx7ka2UPkUF9J77NpHc9VJ4ds9/LdVmk3Q6rXvzptkPzBdRkKF4eD718ixCQblyOdzKq - SLoLqE0dbgJ82laVZEe/1Jpgb6QcOClItsLd+gSsF4KziJV1R7vAFjYkVSgGgde5l9mpXtq3Rr7b - dstdDRdpf+A98tbsD7CLMqzYbn2q8JMUwidg1soAq4RiAc3+/INvC8NnnIQzDbKQoeDmY/RoHJSL - /pvHDcVxCibydycrXbDevRwv/Rc39yiONItZyY02Leet15Z7f0ZNgwSb7O8avHOC89D8DzYNarzG - 3GA10y+hcIjRzgoiXhFYtyjjGl8+zzXJ7zi0PYQZE+pwCx+dN3VF1qlI8TUqUoZZH1YkdNA3cn+1 - z+4Ml+pyT5KOuTo34GnpIG02+VhLYtBN/wN3zmb8gRDtan+Vx6YfJ8izsNp+tP4+WYqQmTPeIUhk - 0KKMskVrFdj7jB4RzZF5fTgAgKkii6VTPGJkCvXtcfMPxCo1m9uzMTYPUhl6IpltKKaL5fWvb4HL - s3oTLlKUktA5Mi9tczgiM5ykJJOuQSU4jrS9I/tEWDJayPJEq9mf1iUzNFxyeECDs2LbxOBAYecR - SgYNvRwXBTU71RueJFoM+KxwN0ssZIROoyh1aN8H+WG26caO4fsB/BKb3axzg48OQB4rmmvG74uk - RM79ec3ifqiILNwteUoURFMGTvtsSLfLSRjldkAXTUUqABOmQd4gsnXRG8Pe4raMksAUVpAWm1y+ - rL03VSLKCCHZjEoF40KUrMHVvfdsLZkN5MFN5Y+OX5mUATCfB9Drd8U8b6A5+s174ILW5qU/XRkS - wjUdnx6srUl6NRlFE9KzYYNXsof9NT4DV4fxMixYqx7Px9qKwWSUzUZPKjVBVprt96trARcwk/bh - p5gySpQJbty+bJdCuM3HlUlY6P9Dfn+K+mFOTGGoKURPvqxZueQJbAfyKw0L8OJ4WR2On1AlY3Cq - s3qOLsQJ4mJkG3LWHxLpMi67Y7tgwWS4c9sZ1i6Bqpw902VeC7lK1F/sm+65E78GMTzTDrK4BbD0 - f9rRFE3bqMs1fik/8KtQUCehYVqw7omD6rJJjjcEuhtS/51T034y96gkLB6Q9XrG081A/s5qH1Bq - FqW/y/WAlpkr+3yOLs+MG6BZQ6e4i4CVvBbBFxEy+2PdtfiM4GagVjJ7rixRYKOjOIzlpvEqWknL - 7nxkSeSylLINc1gq99kde0No1s/igZqZLa7SkM3Qb3Ips/NK0H9epcOVVg1llOdPBDMQRFjceTOG - pgMFDt4Fq6arsjyvWWMCqHtf9QGYT5GDWDrqc7nOL2Vuvg2ofLPJBVNY/ZOHrIe8Mbuf+kn8VlIQ - O0IMEAs0Leyd9BA1l5w0iCkFKWVkMINDf3zDfMul4mYyHbi1RZ+ibSAwpsQUSW+R+856bHEaIUVF - 2/pxpyCiRKcRRONx3TB/SeZxeH57kqBrr239J7+/rmifo7zBlX43n7XoMaJSgf2HDkehr9Ny3W/k - moLj0HH6ijpfSE+GNZRhOohBso6EDrLwYTl0lwWT1K1ngP+9NkVxPSQU4Nlry4gs60cuz0tgHG3Z - G3zl5pTglZh9ZoAPWlxAOkuqlacFSxUg91BsC1zrJ9Jgr8F0g3p74rEiShWilCch13YzsvHGpDpD - kWMtTA+/4MQ5OQXEIcmm0fv5l3wWnS9rrFcKMPAxak9mC01zh8uWF7WolfXr8LHlejOweuyPPYsd - kH16tJ9YACczq0XyjDcDi09Muhw6xorKGOCBQieM4+XsgnBf2na88fs/gcEooimPvl+5zi9lCnzc - WfCCrPrtKv7Zzfrjt/iHt81+1hYrX6QZT+13xA9lIaBkUwRAEz21wzguSsfE1+IbtMYgvxIo7Yhl - hJWx78blkS1qLWPqtLYVsClk2kQ8WyB6pgaJyP77LTQS8AcBdvZJ1z0ODfYyJ274CpQRCNX+B+6S - geGLfUf7endIKRW+jme5F5G2+XV/OrPem3pSvgJ9haJVGu7zNAAma5KiybUZ+FZoLmFpdT+MkrEZ - LK1iqKbYOC1HWQpyGlaYWDR3EKxWAgq0V2XaXBz4bCi+yLyB0XMHkgeNmIWbC0ggRKNsiwtnjKKU - Cs3TImr+i3bS4bqVbxvj6b2uRe+3H3jAN1nKmZ2norycJpnzgckjlruYIu7iqT+1ALCigYnYvAqW - gOehhIVxsIZHiXyy1u259gZoSnMKTqcICefCRZz3UoYALjavYdk28EnZy394Xpth/QW0tpsOoOyf - 2q7JUPJZ8NxBNv2H3ZMk+maz+06AKFHARLFYRlWXH37XryeH4LxIKlQ0UJVyorzpR/7Ap+ayL78A - qZnP9aOPgF1xGSvjRZQMN+0bPQVsgFOP9GHURFEugKVRUXJv70NkgeLvdr9CkJmeEjt6cni02mrW - ZMR1vAgm054ZnixDnSgMnc1WJirTyRWK+XhitqhIAm74tVkkFkuzKE7oahdDWSxQFJZ5r07C3tPQ - 9V8/aLNseUJCbQ9Eszl6CiUGQwEFe80ytFRWuV2fTn29Vprz6bm6VEOBLufuhPokbguilpxnqgFw - ekiJU0AP6sk0UNAl2v1AlWv93l0XwUcuk0CNStc22bTdBXC/QwC4cRGkEsP7vvkm0qNtpagYW2g+ - Vijs+wVt9Mvx81CLa51P37YMaeehu0qLykbep4Y1QGqhCJIsQtSqkoYwPmWAK0F+496BqOS+7Q4H - uNBOshf2sY0A1kxZLn0sNQ1wWrhbjSz6iTQBnACaRzUNWxuDzBnOJ4HznuhEkwGmke0NCr64IYXh - Yk77OK2q0kwrOHHRFznt0MKe2M/6UfNNzsFRIgE1WAYEWRnmsNpzZfCOS3SuYoNG/KtlkLXOk2ql - pCnXHD/Fi65tdmhvmJuddQ7zIGNyE8ysr0Sz03N1TNK33vxA33z4iXF0T7eHJQHAe6j4yTajM+RN - 6SeogqQWOhkOfSf/goce0tZbVqQDGdao2akWgcPLMXMDim3FlSwZ2w7rN4S/Uz9O+4c+K209kN7P - 4N4+ZCNFlYpfmw5FWjo9kBg/7OLRuKZZlpRCKsjMPGGUvGtPf2Nhzsftztv9YsIimhBVBZJRFCfA - nYlBXUpWL7k0/YHphSjr0L59r0eroi5lII4BlqJBqVimsz507C3JlhX0PzPzDGSdaeUDhD55hBHG - t5euRmat2LU7P1T+H/sBGOw+a7hJlwHmz9bdf/tisOV0Nw8IOliTnVW0oAuQtUU3lwaB3QmdAdFR - fx6elNLb/YY9Fic/3EdHCLrJtLDoF4D9H0DKwDiRIPPq40TTG9R/CB88CWNb4y1kSrhLAU8lyTuM - pwXXZNB0Nsk8tYeTMglq+2xnkmUzr0F72LH5oP0DhgHBYWwVbEkvE0rodqst+2fR8sATTjUsUjuj - 0RqNqBxTKCE6dpq9HLa6Hd9X4OWp2/E9qyxZaLTG6CAJy9f/ey5DP0v3j+KXoNXL59v4FLZfDu9s - 3KvuBL6ZHrmD/YoOsEkyCH2TEFm+XT4LxB4aUJbYcNWDGH4HA0SPYkYICeLULArnkqwVu10dnlh5 - ze/lLyhvhef7Gz0MUWNQQJDTALSBhaKh/Wq959I5BBYW+W5mk+DFYWKgA0/dr8vKamM7Im7AsQqe - VUyubmRHTw+tyJHrqdYpCIeP43rBdHRomxr76IYl/0rrn96Bc3fglEXNnRYlTgh7UX6Idpip8mqt - QuKOK5SbwH+xMqWF05mlEif1Goo3Ks2LkBCCsCYvKsXCiXY67w8IX9CQgVbZfeUl5ek3Bu9KMRBV - YS5WCObyrpdTYE/jvgbvH38kZQ2PTcfVbQihzcpyMLLSjjI/XEa+Z2Rd0oJ9rKnH7eraQp0zMvjY - WVudcIFObw4binaBiJ/6xjJHDI4xtDNUjTvvXY4IiPIkTfWt1K/PBjrX/4LMrx9Dc2q/azMqnjZB - hW8cPcIrfXOblXppzi1cYla8XU372V1vNIUAjGeEQwoPYMFBGb91OZwnceOCUQhz8Uf0/+DQa286 - yVZGyVyv0IC6K989iDzBg2lEZ39CIsIRCEoaoiZXc1gtPFvUO1QD59g9CKaBUuQofKHM2MsgV916 - VdfA2m2z7NlVNAFTMFUU6LnQG9CBwH4NfLG8SioKH4eJLbKIVSkaIa0xPnHKgQKriOaxb36gl0DH - FGNR4Zjig56ThaEHYxOctTxrKQvdC047uYdft1o+MUL3rKVarLYpyHW2wuIE5HSKO+rAdptvNaIM - HfjW/Iutz/HEKn52wro9kG4KFVADSyl3MwITJSDd4U2OXfgYDnskITneBPruZ1mkdegNRfk0j3xE - 2cALGfP79gg7i1K1R4+xghbQCQKdGBrBSrIGvAqRFA2dF+FmjEjTT1X4MJ98xLtM/SPRgTGexjeU - AnN4SlvxMClwhap6ug2IsnxiC6FXiDcDM7iAbFyF/E5KQ3wbIyJLPYvqee3xbQ33HOaDsRFELT0G - rBIma4ggS3gndEnsLp80o6DyhBJqyrW3EsXe2QF6xaomXqglvT8Om6k6YRceEJJqzzEuRvbtfmUm - u8wIZPjgaA/6A8xWz3OdVrSEAL8sxnDg5WuZa3378RvFDlOO9qznT54ROElD0gFi4hnQDRGNZTe2 - k6AN/SI7PxCR6AFgAt0sbYpHqeBWtR8jw1wnpYVga20uYG4BywZglj30RGD2TV8ApJNozsPSKNFO - QuvOQZinXFf/eYXMf/blvOk66EGhaA20qZ+VqJCsaBU1HQqJrfpikNUnTuf1AWTJOFWKLIVVVU4U - s8mTqRoelZdphbS7z69J3q240lKi5er5awwQDRZ5HkYqGRJnA3z7NH8d3Cnu9QhHU8pqWo0LvqVs - iyL4Il1taXrpmrY+0T+bcYfygYUSGB0lc2N1CxumBPV7x+G8izLo1H44NGxwSkE408GwSVdznM4a - V1AirENdOlmCo+DAJwGAgwllRF3hDoLxDLnEWcHhpCiAbU9L3I5ihRpTmMOnLG0BTiVKxicWUJTp - nq3H7cAK6QhaYTF/KyU6+CLSqIwGNq6naZRgR1gd2M9U3ZiRc94Cbf4xWaYfmULqorcRxRirdqhF - 61s43s//4G1/YiAl90Dh/jqvp/tXikvgA4k7SlkH6kGS+sN62XJOOsEoU7DV7kRLz4LEpxMTAZIs - Qzs1X82CDZ0cp4Ep1dC6pIJXiKXgsCFDcxzgMgapYVQW7qkseqPJoFHE81qV9quo4rT/KEbTaEOZ - O1gkWjgZe+UCCr/Yu60w5Fzu0FO9l1JzzdwKwUEokocUhSvJc9jQNiAN7/fnj76anofhepJ3crds - vMrwgQAny8oWAjlMsix7lBhDFGRIyM/96cD8lAmKbB/MJa65+IQyCQ1A2U3LyJmr5bBdsCyq5p06 - GueesIr0rzSxHXvtSTUllyA9cJCNtA+a9rc5ziAmGs3SqDSGpcKcUIxu07Q1kX117bdFEhfEA4q7 - K01ba2ju0y7IcldWFro0575l4dgMl3g/793QJpctG0YgnihOJKKjqR/34pn6th4OddujA26FlyAC - ulkKqsGrBLFTT5dle9nY18HJr/HcsmiOfm490DbxirPbFesmp6fXxb+0muFbVX+f7aZf1c2OXwd0 - VRM3BTk9ZW5jvWXT32FKHkySeQa0W0StLLoExfy5/Ux8pR0vZ+y2fF1WLhh3rbygsW42C1bWY6QZ - eNLzmaloz8/FGxbNS6VFm/76yZNn253ApL3Z494RUZTC0WrzMDaJ5XqQIR6azwHas94BBhBUrFoa - jgJrind4gIc4bZDc9P64byAbhwZMXkRXl3wpyLUUtnn0IL0sPTiezucH9cOEeNsyklMo+PoM0yeF - priSqd/SNnj+Hz2vE01gWvMxh+Qoq9zKATYjaKCeUyc4y1hbBUsBgmUaaNLXYiehRflP02+4Gsmy - BPSQ6nAjR2WsC5MOo5UaMR/2yyKXhsjPxjifCB68YQMeNJ2NSdbsOe1XiBf1TLfGKEi6eAhM2nIt - CFuMfT+ClWp5v6UtPc1XikYFEHRgRh/JCijLz/2VvvnNLzDGmQsnhLpCVpklkunMS7K4oT2cpiqP - LahBbSscp6VdPEZ2t0W5KcnKTZvDFQJkN+kE9RApBRM6wlAuTgOS8F417VN3ZA9fQaR46DGDGjd/ - Oj56CxsPw26H8BSWfK3d8bBGUwqN8IU3dWASnE65uGIk1vsUlYGHdvOkOLv8nOpR4TvPaajFu2DL - dX6ZQ4LZBjJT4AxZkzkk2KMraJxNlKa8fJ7aPxAV5/0JOssKWjEmhAqgo2mKBFoGdJ227JBlRO0V - OAMQVlcPeCyshB3EuTND7aer5R+CbfM8TAiY8IyAoROCJor1Udu73Ius/LXfItNm0aRF8nc/dwfh - sqwN+lSO8beAe4tYvmN75o5eZCUVd/8OLlGInEJRBeDrWuoC+b6VB0Wfb3An55kJRES1pWc6fzH1 - aAAcyp0Q8H4oYtfmKQYCJALWwdFCXJKvC6klTX+US0udDgzRgYkTVzIqIxFrgF23PCBzWVCLptnY - HliyZ/r698I3pX2I0kLy0BXgAeVVEKW1B1bsRHXJQ4X28T3yq1aYyxZ1Yq4+yt6ivdS55ND/YvvR - xzczd/lkmyOgBjbh4d6/majH8tYdVkhGgQGDGU6sKgs5Bpc4ZYVvn0xhsj13cpXaNU1w8Q9vT9fq - lnbL9bPj7mk5ImLLE+aiBsTSXdYwNi8D8PqHSCojDBSq28rQLDl/TNwL0EnvNd3kue0CLHYAVkcZ - jAoi4aXdAONPOngWOc+zTHRgabvTbEmHF9F2Mvzeiu/2cgNLRT4saFhQaZ7L0PdPWUMfLjJYjk5G - kS/RetzWZqW/dhTWPgrQFcchIZbR8BvmEcy9EcEflkvKjH0qUGz2NDbzVRKjipZSzTICbgwiit1x - gGK8olwSeHBT1a81MOeoizl27bCyRs5mco2anAGynVPskBzpCHkzRpur/yX2RIwfFe0WtB0PsO6c - wtv5gkIbg/5Ju1a5bmWwz9PY0L74zge6XtjFHdgBoDlrm0RULvmqFvpgbA4/EJAed8cjUCumlIMc - hfiPm8AMckf5kcaQwFKmItQo5aT7SZUHoAdXywnShuQ8nMcyW1Bl2W04QL2fnSi4IBzv6o6QSaaV - 5OiADbcRRmhj1UP1Xnqv249lLfWwpc3AsNoKKx+4CvFCu7nJkPcxzIoypb0r2IQOZ7lg5urjB1Kd - y277G8o+E1bhsUnEBGSKpbg3myIFHWXPY7X+QRFw33zJ181A0XKMN1f3/IhkYcgD+1fanRbwWlA8 - 7I+6bXTAr2cb6SCkc/2rKzJZEPpWdXsVFPNoWDEU1haiNP5XTec/XveLlEqVbZGqQBdyUMYlpIsK - NcIk7Asu+49vnoxSFlxo2rrhRP/3KH61lwP4PlcLyEZRpL6o0OOJTeNjQt2FJYnpQUWZ/Nfn8S8V - REYswQojPokm3y5EF+jbXXCmUDIFk9G53ol6hQh50YhNUG2JohzjY7gsuHUdGdxQtXW08eyn49gp - VVY/O7SHI1RfoIBMyWD2tRuiTyHBuc+yW4tVwgZC3x2eaBr7pmdIG2i4LqVUzdqgoiqQN1ZgEJqm - Lo/FrAQssBsTjBImxj4aeja5XBYammzaLau1TRLstOHPfFkoCIbrEEqebE5tpGZ7zXI4iVfPaX8u - iRxrhZmHizxFTNCYyJyelotadiCdlt0J6aee+J+PzCPBb9IEeFZjAOSGhLWW9fsV6sR+arlrU02W - DMHFBP3iiJUgghSut/JT9e1tuNeauAZga/WIGCnw1Aw+opvjnKxF3p0um+dq4NCNAxYm31rc/5mb - JHzYrE8KIa+ZbCtEzYHtEXlj4EISBTFe1ZAQ2gYhTOW49eC0rOg4rC/yI2K3PjXoH8FRcFb7tWDI - O3T5y0Ul4xZdxqaVoyeW/eqvWW2kncipb36YLjia5S+HzeH8VDMY9q18oh66Fq7k5qYEjuPkcV4Z - GGJ7H9ATB7ADCrpKhpFp2v7KaOhc/Ngqi/Xw6qyFTwfDmSzGOcnGs9xti7C7BoYshHnKj8InWmNu - GiFDI9DOu1+wAmKA7sSdrQKdaQuLcRZwpMtZppJ0Xn0tbLwDZw1FkZUIkIFOJP16mxQHEEEomNk2 - dARkTkqx/1R6aagAJ0YFM7o8162K/3wUnttLDVU4D+crfhs0SRY0z+cmsXT8umQhoMQfKsn2jI/x - sgeQPBat34eFnKKwEF0EKA9NA3wWao1vYAnMBEiw7sP8W2iIeSTvmChvmSgv2tiPp+7QMyx6Eoi9 - F5F9Dqjd0erJYRpgrKyK1A50UsDmzuCLWJNTraRrgzelPYYVKVSCW/+hN778bL4AHgD/d3o8dFhT - 0hBiyihll2uyEsH58zBRqdWTz5SiuMuhj2azieW6ElZj1k+l8d+fw9v/exwAp3yk6W/vMEETH2uO - vr7VFI/SYkcIr5G6iJRmxuF0XkT2/UOClJ8g3tHoBB5yZGQqRaSiYk/zTqmfZdkBqICqoCsAgqVd - K0BzmDXdrZbBntvVldnOYJXSSjY1MZMCyBxxHvEKk+qUtV/DlUX7aTtAGVVVVItMh0XOXBMrqv4i - 9su22y7RUZxq+knNEtZA5zr8FA07dKZpmOCp7/crKOYUBfxwfwv61RRaGpMj1hUjVL1Q32I5/mIN - kqkeQon3Y98DMdxbZTVr2+bCdpbcq489uFvYnP2CCydq/jwCGHYe6KlkCt5YkqAdKMaYCPI4X6Ot - nrmnU0hhXiVdPK6EUu3rw+Hp9DueIRB/y4nMHRgUPTzdvQXvsMjZCC1Bf63QtqX4hnHaziVX3b3k - DKMxA2OPgpHFJ1077qDZNmlZGZPcAxDAz0gzfbkM8bxm8OoWsdKUhMEBJQ65jAHj8NFgqKbdEi5G - NCHwyE2aybQlaLLZlNjnyOHYENE4mtX6+rdaj/MMAFZOcXViy+5yQCjYgP4bncozkS2U0bxjpAlD - L4UohfNWrge4uQxs1EuZnUdyF2tCSgr0d4LmAquEG6Fc2ifXDibdN+Mpopo9V/h8mBzQ4tJc1Fbf - tp+NBsU0/Mt2c1h9Tt07KFS6OMNlI1agvRkUnmLBFYUagm3Tv9fByXG5XrBnOMJH530lfkEntkns - loHpLPO86OiLLTitesK5GPBsacdjw9sywERZ637szmtAm9m6l3YyN8PmJgR20BKG8m5mFQ8tjAJ+ - fWy3T6Hd21c3STHcMX0U0sA3xkKc6CbTICrKbre1aGvbjM+G3yxvV+yKFcg9SaVKTIj2WtqFIlMw - WAxaxJX6/Fxj+/RTGKd8qPnttJGjKo292EKhV2SX2v9eTrRIVp8Ic6YpyiqoBwRg5DRj5GQspn7X - cv2NtlbefB/xKIxdwCzDNC11PCeL4tbt8Xf1kE6H54Sg27dyQMZ42TTsUv2H1KyDkA8dMThj+HoW - ilD23YELptKPuFoe2+oLN78LNpVCzpm6PiINZHXg+bFJjAxs+Wt/3EPFynB29diZFfZIWvlI9QLD - Z4JQePtjLHUBDQHqB+UsWhbgjMGUwgFKIKKFvvwYehyxDDLn4ql2FXzTgrqqilabLsRKEXhl7ADB - dm6iCsZaXBRhoI4GqgiwdNDCZHHomzoOfOuGt4UtOvQKXMtZYRjtRqVQAGR0t5URfT/GzQrpCv2G - xByXOKsBAyBGR7SiaWbZZcpkmUJBt6FIuvi8zk0GuceVsyt3cyKAiYxBh2NLSxs6mVgqt3QDKsfQ - aIuKjVpU2fDxOh0Lx+H5XNj/glAkmx3e/RRRDsBhYaNLabpYXgVFh20nL8CeGtr9mPcDtLPx85gy - Y3unjCSgkUcxpZOFOc2SZjrX4g2rceZQKSA6yoECBP5eGQojSqRPH+0bNlgF27RHtUp7iPxTRpC9 - KZezkMF5OTSsgDkx/bMNsWb0GPrzzPRhy+0rEdqgWTU9O1LZh2qPThblcVRnWEe7wJDr87YaQjNu - vV+2l2oObvvmbh09HXvDcH1u3qyGNdRVWNWHtlOfKiEaSi+Sm/RXIpNMJN/xOHTsQ1Mw6tnZuTIa - 7QWgwNEHQIuy3EhJjHQdP2kmKOTOOIPSbfGCVvAKjo9DAn4bkGTgu6Y5ItycdlIf5hahkF0x3iFZ - Y/KzjErUnS5PVnqnbYsdM0C7jvK9KvKLNAM83U3Lua/JsgpFc76yOcczYi2AoahBjQAElN9BViza - jKwnMBES6bSeU1doUlEowlr3GRwsqbTM+gwiPpezcL6F6KsWoYbWOUijhkl62gjdVVcwKkzYFhlk - l+d0f7DsDdpKrFvANoWiytdq//X+dKKMv7pfbHudkGjf0iuVgb71KVPkoKbL5VUS1x6e2IXN6rwr - mGfUd7y38/IOig+WTkTEDNiBhSnWqYVtPOcUC2e9qZpCtPVYj46aZUgvmqkinvJ56Ma/Vlwon1c5 - 5Mzb6GV9+E8eL6f+f+T7VT996A7rBYsnF7Hqu74BjCVodlK0afiWYsV5oeXnKO8Xo+HIO2TRUcu+ - eu7KQHOIIhvWuoRhieR8vbRXtAPzJIFWq9woOiRgHcfXhVnUses/WGI3LZisdu/MwTGbbjIUFGG3 - zpUpoZN8MzbXH4ganI/YKIyBSmCId8pgolyDLRmMY0lawFiTrLjXnWm78sVyGv4X8UmbLIPvkBi3 - nZF3iLar9tygcjRBT/w9FkPsgBCC/vLTAMOSzSbejdjKF6a9+pXyugQRqGISUV1E0zHTIo0vv7cH - lpnl3ddGM4eBQO+evhCKPjxCGvg1vxCKRD0lafOZmaHdrJGBGq5lGiPjnLwP5/UJdx2UE9iqzkqN - FAVFWGBnfipAHcs8h46H9qu4+tLN0vcblTRXoWJxcn1lJVMRgW7XjZsJR1SFDcpFiNDblDyA+jyA - XlP81w31ch7l1u1tP8L8h3XPYdR47w9ELCTsJFwJxKmJEFOCfzv3T8iCrx71eHBl8budmQvZoSfi - goGklWU/ewundElUuxnGrRwcvvva/B9pV5adOLJt/z2KGgArV/TNpxBtGgQpyRh7/gN5Z58QoMDO - enWP691HZaXCBqRoTrOb44L1VOEgbm1dnA+QbM1MQ0jSxH85Pulej8em/dbQIqYIgApmxb8Fced+ - psf718+DGn+Y1wBwkX4zbfKGos3NliuZGvTUBxxSAYWRgrOQoOCmeBkkgr/LzR0vPawbAAqiYDd5 - N0+G6ClQKsvnLW+nMg7T+XAswUOCGMVs+6KdNdM/7LIXU3FIFxxby3H7k+hnuT/uKaGdlNEf6Qad - y7RwgsmeCZvsbCZaNKtjXxfu/ww1Zapd0/NTCJMD98fLb/E5KJS3Q0g2+HJdyWLp5nA5gYQwfUXv - ZtLVho4llxQ9Y5ZBSUIhzR3KE+qmYnznfKoQHGQt6UGz/TgPyGg+l68O5f9yMvKNt/dtywHYFb0J - jvFkyUjPz9X7219x7J42YtgtPOHYE6q4XmX/0mBlcUQJqf6ZiB6TCj2ggXBtBrlDpAWy75HpBm4W - 6XR3qfK4aZEl2kO5LnQ33a67m5R9FdUixaXYASKUtlzXMg7EEdrkzKhmjsi92wSRQwpqYyzCA+wr - L4R2tLS9AWxrgZeKbg4jBr83Zxigl+tOCWOT8/mLR+2y+yv4NuJZAbj+FaOKGnp4affrDlAWJMFm - EXMF3Qm0pC06kIC8QAHPyfa93a4GYe27sS97aL2PeR+wj0eKtKD4EbN0o939Xnd/uyX/f867HovV - /WSv84imkfDCIiiUq/xSvtF12MkluE89wCaJ6+a2blECLogU2976TCLC0X79xvxQYJewbUdtq6Mz - mpCZ/stYNOe+lTvABpfNN+9CPxxod3rZDSNWDjoZlHxBCqOiutukUuKY4tfUqRRBQF6XAItblg5G - uj//Hsml6FiRyOIRicBAl0PLUll0UbN3x2O3pQNIJZ9YK4IHyHrxm83yHRhNuuHQXH+0ezRMaJFf - hOlyESEUvEMj96E4tO8/sFUbjsc3doT5urQjZnCIvpBKUekTFl33y/EwfUDQdwKbbVexmlE5sc2W - /lVcBObhLtRKXQhGvQzn63dm4ZS40m4XuB5ZfYoUEAcHR3lgeDlvWhZNdgzK1vWidco7D9CvZ+IF - a3QJeoPdbuEL8waRuwtVDQI5QQge+FucWui/ZhlH6dQ3rN4YgUjMZuZUHyFpRM+sSGFGdiMUqT+f - h1ZuZrJ/stb8OL1xfKZxZNmQQoVoBVTNY69UbJ8oFNndgXi1ZgIb+3XZW8OZJg9820KkfcCx956f - Rgm+GHLvWz3nUS6JFFQhoDRM72BRTRnFYrNeybOt7fLA5nGKvb5ClQxaipqgj2N0MT+Xxbvnth2n - Dl5dt8KEzjZlZfVfmnj/MeRrRm6fuVt57QmjCh8H4yb/d3oVuXusj3/+TOSskrLctXooLKYHRwmF - dXYaYYUEq0t/vpapACjAfa9RUE9AvoIGEcdTMnmsS3v4a7wEWQcc5d+EkA7adS/Nafukc7l5W/NO - 8VShhrgiGM3OsNReGcAeiFrfQUGPhUw7j2YQaTGw+noxUPx67k9tYb1YwGXnIQfg6BTDKtTBNZjt - ojrN++v6A5Z3ccFcgHs7HlbJvyjdtTo9TPtEW2MLv1nmWS1o7szhM5H78WDvcjE+yKK/82ZzEO8C - x7bZzoL3f+mEdvvJKw1mpUFXJOREWRz0hsqAUtMUBOafZxas0uqJLoK05RfI5CmHcl39q94Quvfj - MGC1WH6seu6cZuEi47gWikanlla6fn+wvhwvAjW98MdNsKoGKtZbX0YomaxpB9cngygUe/HcsxKc - rEjpFEeSXGkVskdGTH6IAnGp9n6TYPIUKRlKrlw2Mu76/nhiWm0okXCq6HOOdueQ8zTACY1shrdD - nXy2l/VPanDb5k+FBKkGKthRWEtbg31pOITYcFfeP3leQByKppXS7J6XeSPkYVNC37NZAfS66ZbH - PBfWipRI0edBk2WySoXVi+TZflz3XOmghPCGtNKA9rNTKNtUedZA5yHlg/XNmUXzIITCsF3tKqiA - i6gXwH+DfcaEzNDjcmif0TafH1weupluuhn7J0Cs2hkINRSMoUxrrL+cd/hZtGfRMK+6EpT6RnaQ - KV6KWnK/h8NquVC33jWuV3pp0dC5yBYopX4r2RC24w88A4fjKG8knfvz8q/rIiY695V14Na/HJpu - dQT2Kz1v40AaQa6WVoWdBpTXMgVO/7zX0qTNYf8DtXH2M3Y3/c/8EID0Gb0uxQwzCJv6Sf5UUA8c - zvI72mw/5Vn8a9uy/J92zzsPqAs0uWPMehpA3w7uPuFGK7+vq8lCFB0wNJm/u6icox1xXH/XyqfT - DR8IdVVsbC/nwwFAZjeVBjy3Fh/zHzoE9MeFZS9R6NCLtK36zycR+WX7UevttOszLCYmIyLt7h8j - ZZbWgxZZKAOERqCX/Wmc+BP8DjdInVZoZyaaWRbZAhcnUC8TTI4PFnSBBzLsPWfKJWzLSkla4XSC - +C70W1iv3r4Vm4Luc8hgpgZ+qg2ICYw8g9R5Ld4LnGfE/b0Z3oh6/u/98oOzABRaUO3INYmDwrcp - oeC5JbS2Xr4NQLMgkDeLuieNMB8tD7pM524ZJIjWTnVvbde+L4vd/UxVG0hn5RPrfpRrMu3Zdbc6 - 0ynCXvOLeIN43++ZMd5BVpe7EEomzzP2F/prmNqXA835Wts00pmsOSHLTMDBOS2q93Wr/TsOXcoc - EO7cCjE5aVhSogqcptBAdq9W216uXnJo90WaBAvuHoIz9IaeJoA8P5IvWR6bP3X82vRdy6QzVktB - qbOyz0MX0xm2ioBDU5RZim63TfNtFZjVnWgxqFzZ3tIaBNE70xPX4WVz6JCUO/ZTTWrGzMtgUUcD - k4uM+DbJ+tTNcDwsQFZzxS5FR13B5IOFDVtcuMQYDhecTBxp2LB7r043QL6/5UDY2AJYOiGj7ML+ - l3gV4aZ28mZVs21PC37skGigc6UC1dK2FQNFsrlwfIRYvT39I28JnJt2/wTJXR/+1CbL43qzKNQ1 - C1NXm8P8aUYH9Iu6W1mIeBXt9oAcks18Fe2Iqd6sVILms+U0M/2tBfYfaqb99kmKebOW37rNfnit - fluzfbLDXb7//9a/HHrRCRq4yIRqtkl1xZz+DFEZGNTB7kQyRzbLoqYWS4vRVFq60Guz8NucZNQM - iCaiZf85Kc8bLveZO+0jclzlvc1cMXZlTB23AK9Mx56ttA6h0QJ7DvrQ9Ote9lvOb/3k/OvM3GIK - mgy0exU/6Mi9BVFfZ9/RJEmsL4vo2+rZTDS/6EaphCYqK6/CP1b2PKp5sjl8NE+L8LBFv/ZWoMLu - lqc7kiy8g5MOrIg3jZBlQOAaTa6fXDCI+i7DRHeSYmz0yZS6Fe04pMSHG5ZvV3h0orxA27sxtpZN - T9ZoiKKwNXAU1hOHfgslAgUz+Zx9FSA52kqDg7YN0A+y9s6u3f9AeqxfX5bTrXOsjzSjy3rAjLKD - JvbUH5FBoYb3uSlhAAZ4fpthoZpVme7leBNR7tbdtpp552Hccc8MGZimc3yOOcH3saXuX0ZkocwK - PGtsvrm+WBNmCj6O6bsKeoMK5wmNE4EFdpelvN7Svx+gZY6KOQPKnhocFEImy6oJtDQQZstSJzZQ - AzdoMRdIoK2eYheOpdkDS5YB7D6bmi0N6Iz8uOubbs/yQEj/F87MfNeR1eYEJOyiENGy0N+vO8nJ - 4b97ONUyvh1mtY8NAy1RZ4MyCY7wtBc5mVbscfn2RuEPlwjjIoS5jziUvaBID3dFFlkRok9WPcUU - hsm+ZgbhRNcAd9Y6Nm2YBgQZlm+5e2gulonxtm2/S7Gi8wCWUYgaamjj/MJL1683Nz8Lb56KhiZa - FBdoTwSrgAeU18f7gMKIWkjShmY+Ps5+deWye2Ai71ziGaQ6D+BDmgaAfScCVUA8ZH4LunXDIIqb - eRM8ue7vikWeA5i3BYchNckcdlBudLeOQ1SzSM+jw0C7HnZEhzq3trKttVmOTARNRXoF1M1au8PD - UpBLj7mU2aJsf1l3v+uDY7ddPzcGmsvYzyQfyl9e9mcIH0zq8xT1mVpVO0TQpFhWBLVfGeG0Hw/n - E3Nvw5OeBW2tNHccqlJ6GlBey6fbb9b11Dgvx+GB69aPMgIk4CjGzBSJoVPI2GpRwvyn37ULyypZ - i4e9e0zQbMs2BgsyIjMSRWiZ5f70j1wXpIESjecaO8TVjJlVM2kHshDjx+Mr7Vja/r62u/B32SHl - //tkGnfcbARk8GaMResBc9NnJhOUi+VV0E4bz9siowFK5qM/pdBOcFnDp3vS6BTRtC+n4QlmsW43 - X2b+5m15WjymZKAnW3XisadCZtgAd2RY9/IXl5H+15LF61oe2m5OLGaJ+Y725ixTBMGK5iXUIopn - ohVKur02dR4+nv4iA6y9B3UCCPkncL1n9RLKWBJFrNe6h9Btn1zsh8uGvZAAd5k7olFaSd/AM2ds - Em0Q1Yi2q/oDHH6fsaDZkHxh0ty6EqoKIVBGDCi+wSBRt/J9GOSh3H65W/OeB5yucXf1TO/A0rPZ - hmxuyuoGtbPFUycdwmGUmpuYwst2eQL4iR4QqgrBqCf9cJriTH8uvVkRJW88Dpz4Y2VgdwxP6pKZ - 0q3MfW0wjqNsBb/1y47fZFqcKLpU7fNEj80V2olhS24n6g29NvJ64m5/WZe2lwa3jdZF7SXkY4KW - i2XNMxywgqyz+4GLSbvbf9dSjcrBkdE493UZK2DoafvNL8f+skdh3E3IZJpJcwUXmOZS2j8ZdGqE - v6Lay7k/1QnvAJwLfDnpeAMc2VcHHM8DcM4set20PkQKwf3qwjM4Q8+Y/gBg8GxLSNpGg6mdmewJ - AJ1oU1juWYZ4QlSmp84jZayekSNFM8nKVE/2GxZvhDIlavjVewBtpBDQlwHCxHXVHH5g0nTuBlZz - i7dlnGvLbgOPCpa3AbhUeIJt38YF2zvyezzSNOXBBtUU6kRWV3WABYre4NygSTMF8fQLbwvdGJvY - z8u4VAaIDTbeLtyVLTlbNK6i0IeQE+q1GMFpvUzicvUmL8Fs2iu0X0zgk4XurUrzcIm+t6esjI4b - yMQ4DBWdLusl7Xis0VOQD7OCr2bV/oBStkGrysjCg6Zt/nA2Ay2QgC0g3DtBKTEU3muNE0wVuzvZ - ymzH9WvBSNUJjzcWZqzRG2CT+boMTN1ttu2Cid/8YR/sm4R2W6K8kr4YDWCVLRHc9nj9gZlRC2Re - 5BiAdXBvRQgbEYckihpwc+MtSBBJQlzfWRpzcoBTLtSbS6L5aJkaxE9BmK+dT2c5dOp4amhvevhQ - 59kGnWCTmKylXA6imhHqm6LN48z+vNqzv+ui0nZNyiCJuV2d/iVo3Z+6T/FNeO27kbE1CbZLNhlf - bW6GthI4O1lme1olU+Rc7Q8/cFRbj+10WKPHEfTc5w/SGD5xOxvwSfYMEPVQxs8fZP6/34fjF4vs - 7Q6wBTjeoA5WlcVpq0a5wrIpZ2BTThFO8m3dTgAvqC2m9DCfYNVdOtCtBrLqV5HvEkm3DW93jusi - Jj3X9QX1xKlJPRTUThFp47U/dcUJE/Viyvlqz9QYXQRmCU8XkHbJNrHs1+hA0kbGZY3a5EthDN3D - MoBeRXlm09C38I7dT2kWhnklEY87GvBtpwFSe6Jmf4CMJyWb2LLmnT5IhWoNsuBEXhcpAA/HM/Nr - kYovrA9uvtAyxfsRtAcPSQRnZUnFcewWppiSWhiDzpWlsNFSnBKQTLO+h9FCrNXqXJeYhtV+W3hH - llPvWC1GHQHEVjfqkShb3f+pUXHN9gqEHeA0CKHnfV/s/LTPGkAekSRRzJFEvj2vPZooqoDYjTVz - Qx0Ug5Wh8RgSuM8iEg9f7YcFdBtKd89Q0myrXN/znxwsRBxbiIi6OcN4mGlXPnVQoNQCxEJ+6fsl - 6+dmLLK7lg2FWPQMXYDSNktUeozxovrJSDtqiKWk5/Rcaz/8ooEWXNoAtYpF8MLG1fL+VZ8QaUBn - eXwPzJ9t914Ue5l2Rl9xvmmhiQZ9JdTiYKAro4StTpTOm1i0051XNeY1epc06lqZ1U2jjOf++9R0 - xYd1ghDP5SvprLbBWA1le9pYomzlbQ7f39D/NvFeR3SRTPl8VhtdFVIMLdQQudGEU9zKYsD343YS - +qW9gGKVUIHb6KEb5MWGzc4oz44yk4zuC9nkvN/sv11VNHcoqoX2izbx5bhjdKD4Fp7eOpz9k9eM - 85Ulu0I3kFmFKUsjhP7Ubuv9vDkcPr70DIZVqQQUiGO4m6xE5yz3JVXw5bpQ2OawPaFUAT784lYK - VrDlpYzXIVkoV4PMHq05tvsiYv7o62gVcZSjUBTuAuciTfDhvCilHrbJsLNSD4Vxzmlr0DNCoOhk - quPL3T/yGL99p4yUie5AYc8aZyxl5NE4LJf5RdDUWl9HoBnSgoIjb5m28NhMPfwZAdVAzCFUhW0+ - P07QJHrq60OFAZhuE1D+4+tRaLXzm4EDaeafqtEGh3pyAGJjuuhlc/tzbP7IO2GrD8oimRP2MHf1 - lr3ZcwjelWtKFr5v+pbW+itKEVjT5X/8FpQboAEYomGoCV/mV8Hzu247CHYlhpYab2fFWs16JoHO - qYQ6LexMRDNkear2q27oMRluvr0P+g40jL2BFuyCpTCjbEU+RNAEpb72vIXwJJ190Lp0eV7rh3S8 - NZTjQKAyQAZbZux0eP0D9ZQJVAk7r6pbFb2CmtUksAIZVFFoeb5S8qcZ/XnfV2OAUzntqplC13Kx - vE4nyel6mMr+3B+gOCjPTJUplHaAMnCDAEUjIyOIHtbHJbyTHuy2+66RErSsNG0amkdAF0AGXR3O - FAQY3tSBW77HN9HTUgksVmVu3DkntN28fmIOuAj9+pk2BeBATgUD/XgmcHhGwgpmY79vF7ywKVui - IDJWWABo4OuIteIQSVphme4Hi+XSb5EPoDCl6YQBXGYW1WeKfxLjUpFfBuH5+vu4l7dDD/tVv2Av - PvQDaTeruDbKULAfUblXbJUk+Xiv49gseAllKJHcwwvF2iFJeVa8U1ra2R6Oy5ZLD6zun2dfIKGv - bWEFg+vBs/yXaIP+0y2nKLw+w5kmaukYi8W3A2G6k/Ggtu+75yj9OHAkq9mEltXdHzLQFDtE7DSB - YXzaT6MEs6cZx7/wmn32CYaZTkO756W7rPcoSehbVdzPaYo0TqHLw/RBxXuTSNrr3EMtZKJOVyQL - Ovs0FHvheWZCGSSYLvvr77nlhHngQwNgCahlFetIy6A2/Q10I4ANZYI1MO2UF4fXp2ENALx9hnxC - ZeCXyTY7FuGzprwIJu6FMmAXWPuf0ZK3UZaSIDo7EmUPZhoAYpBI7W35ibTpGSJI6TEYzjQq2XI9 - f8l+OA1MibIY8y8PrH1FbzEXNeVbiQkx0C8kP2AHFptPGS22fwNWn3HAaBKk2siANinlWIOfC3Ze - xpM47NuP58XdjjtsvGA4L56PLWe9Qiu54H2MaBktxzPjhNl1b4b2UehG24T2Ol+PX9DEiADg/xXh - IF49GEV5cqCw2vmcAm28fTEW54dufJql9xDHdW4SXDe2qMYK5m9xDjQUoIQYYxUE0nHvIKMJ50DA - 6SC7KOJFH48L7rJwGXPOs2QzKjC+IwbkhbAXc7xCDxyfEUTOucgMlLYNnViQAXc4g2mYCO7RrjvQ - ICCSQweBm7nIQtIRx0VgJ9AgLWL/Pi3r6dut2+UNys1AmfvRlAFhsd7DJBX6joGHidDRF1b0nyyq - 7d24h97DQ0E5+lBY8aXhL5ph4xucwwzfGqQaKVdcNUgMZfaEYQkbI+ty9vs16xg5xoM+9PZN4EaZ - ZWdDw9B/YcKwX9IsNnfxXzc/N8F0cNFC1JwHFCOcp0PNRuDdMemtf9m0m8lpHUvamaoqmXxMCvKX - liUPrKz8270dtpy55aeTKSYPgJijT6KnAS7KbvuwkSMh+vV4KHkDF2fjLMnDrpBzVMgraFlFGRDk - vNu331hFwoYDMNqoppqk2Cpy310+F6xlD22pOFcGpGlgMvdrLJuJCxtAp7ZbsIMWJBjgcFpbuSHN - i4i6ee3YJIvXut3wTz9We89+OJ9QjeNjoSKXgmKdA2WWhaAkTKjOTd/jrPdlbvroTHXztKKDERsf - C0dpL6srrU7vU++NQ9CcKgoHzL+NzRDa5hjUK5n97moDo282gc6lmBRrnYwIBKnhIXayUn56F4Oi - Ro75i8g2LuhsjXrZHP7sxEvtOAxzd6m/Aw6O6634TU7XQ3vgHspNFf8uqmqgeouIiwLuaYT50l1G - VoBqOHSyMAcPuyuleiVxpswszqlsaH7GZBR+XRlCm6pMGWa5PLZgSOIT32pUmsIvxL7Jhpimi+VV - EJm2zMSiPZYrTU5XGB+V6NiwLI0L1CAvdcFy2hwoY8slUHBuBtKBrYCl9NJhp0OlTYi3Xnd/vpFN - 9FhSMBSm0NDfGdj6prY1HJpjQX+iixkeXzxCqzOzqNENHCp6dJu9XJv2bXNiBeCSas+F9lOYfG0N - D2BxWtGjPzcfV8CP7qmbjtakp0ms4cWJ0Br3RzPdQtDl7H7iN7Y9luwhzrPLQE+IQmVFSzbeLSlE - gM9++8FRF1AnvlJD8LCxcyySbqZirsjx4ziO/RPo5Ly6TPo1j1XtPVsRGq+42sMtkyTri/Rd84nE - kW7a4rbbpwA5l0z5n43lmpY9zc36Y119m/P+Vfx4t4fhzCINOj/FQdZYFIldZvLqNACv9A/+EBcP - vQA+i1SkTCrSr4QMFZ6VW9C2MnMBYyxIonieA3nG33zfOEBjH6nkXyua7Xb/Nwl5TY/QRYgiPf04 - LlAmZii6ZmG+VEwyaESycb66NS03DeIu1CZ5nKgw/mf1D6zI2Za43Nj7UeYMSj0eHo1lRP4GZMuf - 1+Svpz7cSaKnrPhl1ayaBftdsglk8ro6A5ULKKYt2MZOaAW43/yPtW1ddnznTHrpGzjYIsVCEE+h - iqlCRToeQtIw+kHhgDNKEUDp/Ym1OLSn5gcN07X81GiOY00KXJ4GOQ3kutxDecRM0zSYbKrdUQVK - i5xeRK69R/ON2QG83TWkR57fZbqQLG0nVznC5LTtUDMB5IJ27hD9vLgC3R8XgamxXJO3VmbHsDku - EX6DdMDH5HyWwxYx0fdz0wgv1DUd1+2OPiZbF2Fnslo9oeLpq0ED3HOcbm2Q2RQMq/2FlvskN27U - vdqJSB64c4rJcKBaHKii42H9Z1ekDPSv+35+BwZG2tYpMcv0Rpm19d00TtS9lZPs9psBMf6k1Olt - erTYwWILOWk66g2XQIzQouc40GLURZgNep+mapcgsqQHyiLCjiFSQeiTO7R3NmRZ9Ou3nt0usLEj - uXQzc3JKJtGf10U3G2mtFpa04XfhWO9Se8iNxVAnQDCSSRYtejTqo0x0a3dm5wFkWKAXU/RS9yet - Bdubl7YrcqCiRnj7Dkr5VGecee5GhSJXjAZfscCrZVl4t+4vxfQexJ8Z4zTQqWNy8GyzaFGKkRk0 - bzrO8hG/024d6mJPhtMG1HA1CzUoGah4e1w+GV2u1u3n08zbXKu/GPt1rZ/THKA/BgAFixTApWb+ - POlOqIydD7BKw57soobt6xogwD23Nm5JYXrcdWR4nuJLGBvwCOgEi/SlYM4w/36X/ZNg0O7jExhI - blCYhQ8PpnghMZiYjA43C3UZ+B8NMuDhI8RynXJzRrMGmFN5x2TVVNTyJWtkfZkF/U8RV6ZfaZxz - 8eV6mBaSXVBk9dgQPIgO3pvSpgMrRIT2uOxGLqVM7UznZnsO58XaBSDdwNWzcDUF4VACicTOzTaZ - nHvkR3yOtjAdmqgnaH5m2siUkHZt9wN9ifG9q0uir037tDi3wyA/H5en8bf4h7txuHInq3RUqwVO - q9snaCbYKSKTVa3ejqUzVBrCkYXs7u8C+IFhljs4hJZbQyJu2nvTvrHALGte+FtVKWZouMGIPafp - cnkVldDfgIDiDJB+S1Rq1mtB4SlkT+uIUhS67r2sPjb2x1eg9cH1gt+vq94jgHJCuxLg/ImFASRh - H2UeH/UEvGxfUbtOJWzGGermMyEY6HA5HpKY+PS/ZF+U3jl6xC/n9iwnR68O3Za9JiHCTzvJ4uEN - SfEMmgdKhcANcluU+iVn0f7PaoNDFyQYPvKmQdZAmYeSKiANy/XyKnjAuxW4J9h3kZz4x2qgr0C/ - kiJum3mEw6sTMqOfzvbDAKPCOGX/D2iJR25I8Z9ir4cIBIsMWLJG08hOhSEI9av5vKVslPLPwI0l - GL7L4EZ/3g6H+sB++2hK26ykBnbW1OIwU2XL5GymHopqjqfzTj5pG1h+ZWR/XO62abaqIFriKWhi - bg42J2B8JIv594LB4qDEmcqUj434bPR08nlet7LTrz/3V/QFUZ1jvZsq2TVBsYSIMyz/IzRmH3v5 - +bfaXQvmH1p7JlQJv6bNEgV5xhIK94ThzyLw18LviQDEV4ekdsA3g1lOD9ELgX3FnudJh60/7Ips - nMOzzQ/ucUSMZum7GhvLCH4pP3Y8dW2trXvZXz8gsnITSoC7es3+S7T+ixALEEJJ9h1WbV+H08d+ - vIKGBy/XACHtGhOUoSQHsQveDYKTAcPHpj8x0BFnAu1nM14jRJugPUXPxUL3CjYeMjWbU/uKrYti - TLBZw5ztGn/BgtWCIM7QThuFnpTHDWuPFBD5TGElWbivGh80Q3QcQ3RE1Z7jajvUx/6+QzbChROs - nfJDig5raLYlyk5suaplWruvG5oRgVVxPAUVtiJT0yGBGiAWDlxDs1A1ud0tQXaGtJhiI+1qd8ow - BzPIPtgx2spQ0avl+ruOOdefIMptCtnzcOxf6+rOdfwtZ1MNuz1MM5K+NVseaEcF9mw2rIelsKsp - mebE7/YHlkDt5oAMD/BezblDmjMigemwKhbvJM22lla0LlbjJA1aY4wjPWkKhwN82W4DhMTOcX8o - CBX4eVTER/RaMsVIbsFlPyeUnN4f1pPnHYJKFcwXERXmDTFgDTU+yeL+3H48+ZqfW7kJ+HBsa4W/ - 5ccK5cFYHoOnE6NSJsq0yhLNVM/kMJdktb39BVZzNw6q1WEuAA4RiaTY0odVjbWTxUv73zuajIFt - /nC747xfD2/kGNFGNoZV9Y2R0rI/h/2iQJUj2i65KiXRsRSK0DjrUXlZNXk9rJEiQIBkEapTCVAl - Y+mg5xRCg7QieyJjv108mgMzpGIEVFilzL1p/L0sqV6e0AAGeYWOCJx287ukPB3osdAl2MBPhKs/ - 7DcQEZzAr+7RPgjQNLTKFVR6MbSXqc4cvrCY34YTHeJcK+A3VXN7MYDEaGuErQJ3tWP+hnkHfqIP - hrKx8nuMqi86AID8y3b4gaXH+4juO/g20ALMD+V7ZaCb7L1lsKv3pXqmoyyDaDZN/wPrgeORVwiC - CKPvW0KiU5Cib1vEl3zxVpfFd8v9mUsLLH+2APruLvThHCYJPIIcR8bWTLNVcBcuDeu++El37bbt - gGtPIZBJgUV+fCqDBF+jW6+mkm2kzTo/OZFHylzgaFes5GQyWMft8Sm3OJ5YA98sWBzCPvZSoDwo - plTFtcMyLkSkJnd86zfiyXOmk6z6wO3HsoP9FXBUlHTcN//oIbVEZzNF83ePLNFT2F7ZR3qSTLs3 - oGktUaiWwFEpuupqGiY4W4YSkeMN8pzTi2QrWPiPFpN2Ldsx2/P4AxRYdxovxU8LcQ5lZJVfrLd0 - sjKGMOFFxJfZby5s5zrFCXcIIUjqtE8YZYvkHQZEWVthOL/Jt9W2u3zwdJ/KYfnOU0geHD3vjWEe - 2WQRyI8SCUqY7/EUQSvvEltdAgFVXYT/cEDlnIKAZvnsRdpdxgEFr+kGeT3nLNHnDBZOQxCKgMiU - yNqyHw5DWSdMiLsvI0auUeiB3s5tGYnKWsc9kxMVonJl58cnbfuUorpifmjQSJPFHsOG1Q5iITS4 - Od/XU/AXAt0jaFVEfBOR5MnnEuAKKGIBBgLblzmqiU59lARBXczF6jEJJU26vnmq+YwN3pkro3nx - sFukpCnQngBQKprk0LiXNcl3H6sl8mmXb6fZbZgNnnb+DGl3M41wVogoeFtugZamrIl+SwhzwCe0 - hujApNSsDEDBXAS/PDeMKYV0LZ2b2VX1w+BBXuTOYfYTK0hQHG9oMusbQNi6ewURIG5KAKwz2LBY - REImD9Bc1kd0Z5CbocBXpQKWDuME1FyptGhZT+F4bto6wVx3l31dT/rTHjp+mxLjZHOT+PCOY9zI - sbbnjrIXrqlhudliW+ed4ea+CSoOTToIEYfpoha2+ZrxhPb/TVDZhJSrulW0yTqgg0Azcwx7ELnz - taf+vMAUcxOp6h4PcuiUAH4N0wAYT0i+y6btWjYFSUVj3D/obMGickNvolgVWutpmKCINBbfYEy8 - 2ymQLG2bxqfADuioycuqom/LgZPoknsGypkqcdcI3QvOexlm4GXkK5q034Y7iRYNgLUK4OX5T98v - BGcoPdm2b0WU+hm8S9kKi6wEBAA8QqpdvW8v8nDkddszQQHIXof/TQ/JeBzV2Vkdp8vldVGrjHnH - 6i60a0XzsjptgVZPujQS9ZxHDGN66xk5xxB8WVHjdDg2iEzUFLv4eScRSvgG959GeOaMSfbjU/ch - x+2+9h37P/MHXFRSqlBYTPS0C9FVs751lpFp1+zNgHl/V7sJEfK99DxSadKwsP7TvlAPqqE/YBIC - +mPcCwXo3A4yDlW2WcsQwaHJFHXmBWCBZZTgHh25MnznCXg/o8sldsjCysUYGL8YGXOiO75y2j4/ - gXbdpcc0tnqmYRUtcMeRgoYyx62eXgXFpH4jbwcvh2sRCVHsc0f3d0aLANqWwgAbPRsRFiycsKrW - dg0rwE5rKIYKC+5okiAkdB6HnLMyLYY/RX19ktPXRs3qqECyUZaTrSscdi0jSver9+KwOnXFHvXH - iNPXJ4oA2THcufIiuFPr8frUE9sud5iYFDDB8ed29lOQRvtbVga6duWyEYox7/7s2MRyonLlu0gZ - VBN+GbpxEQ0VxogU+1cJAmTYobPq2ZtWwxTtifNIO0RmFVR6exookoyifXS3KLZlhX6O1ZYSwOLI - p4o/Ij842Tw+fvxAE71ftk2DXgRoI7Tga0IJqFs5cq8CxpvMjBHc5veGFQno7gGuGWytO5oi7X2g - pLM4mJbV4LfNUU6NH07nHTjjU+sflOL5cWUUHWAMZY6oPYo6dKf22cx31e9uDonR3zAHdwMIeCfA - KN4j+/Qs9CnsfyyZnMUOZk9cUghuGq8NO5/wACM0OlsfNhDMD56pHs652TRKELOj20dLy/J5X9x8 - BF/k0MsDEpCa6urPHt8Wpws6s3D7qlY+RQa63BBkBULU0eVEUT/IRH6BQl+eO94jh/WekYsxYqOE - t7IotTieTjNMTB3OBPjFWdoyw8t+uBzEt+/wZ1/7I52G96ITUeZUzhXexwfWeygjhBqx3RVN7cCu - REgxHydAyphI0RbrjsCqBkGG9thf2mW9LJf7A6PsQ1kqJqondCm2AmUZYQ8dOSerqFzXT3jn4bQ5 - IRvIaH/PfHRLKdJRzKrLZZZ2F2Tsv/sVrJNpIqJTT79x9haUJMJFlmYhjQDqXrgPbLpWLh6GFkYd - ZYzQmGG7Zb2gYEZVOkP0XChABpyJbXVpz5bZYRxPY70zbOCVaj0Xxhfe+fmTcNrRzkw7hg3F69DL - 2jWnSy0+tB5XnFdinkP/SVcPRwdLMZyf0LQ6y9RNLsfVgpU9aE2yyvB9h4ZoloXW3YKF3oXyH/vh - NHxxBml3Z7B08iSIk++962CSpu+rEdBNqnRlnKC2cv6JOR0F6JzmPPXuVYbLaHTR2XJdmAutNpuO - tsCb0OLDjQE2kxmBsoGWNj3RIJRZHF4/qnv+Ph6fnDRPW9q9DUvrOsAz7+tIUZpJ64jzYMOioybI - sKmbywrgvxBv2OZ7vpyyQuHJJFRQbGLL2iRTLr3suzPC5GgXbhFmKsJ8zMHlkNtAnDPIpK3brltj - gdnJ98tV9hmo/dE3s+zJFznvEB1t21PTlpxt6szFeAvKsof3LBpDMZXr/HI7m+Cqyexgw/2E2nkl - GMepXhmhhVSUdr3BcYrqEX3BEPxjsqBPEbXBW0S2uwqMdQq8Q88FutDB1BTeINu5h9W3ixCo947i - wZexa4FpNKYgK59rRPSvOF33UZZ6LJvDgU0sbvPSzbHfuGf0J8RlgWNBSvGMZOs7HfbjX+UTKBpW - QII9/fR0wceXpt31UwrPDXd760woOm0omLI2weOOLwsz+M1+V+Om2/dly24QbqaxzlJgySaa4W66 - qIWI40NzvcqLsWij/L+9dYCnaUWgd5qQvzs3oyPDFD5HZXkVcYNS1GDdL0c59hM2SRDEA2/BL2C0 - VzX5aQUYZJq0xTCuKnhZj2R/vi6KTt5DT8kp+v7ABtLy5WvC7u/ldNoWD6OboqsPlaBStLAPBfU9 - M5sY80VyTF4O44SAcRD7m3bDqBJFBoHF6WYAGZFm06l7UrV47cbXmSQ5NFIqrYXoDfwBWciS+X0i - hueyP7Adg52guXNen6F4XvEzYmlhJ+v1vR9ez5yHcPv8oRehuKUeIqXjTAfWTPgSWUz1zTMVroGf - jr+JjLp7USFGUAAiJDv1bYAQVtl37+/fdpyygi2SBxas/mn6yV+QA7Le0PN+f2e9WObB3U1GDJ0k - zkcPTna5WF7L12oue/YpuKW1ac7wA/ARKrYQajaQShS1Vfrmsl7oe+dG3a2dgqc9K9CxH4sXp0Kb - W/K0TuC12cgcMkB0de3h6mkwHCqnEVGmMTt8bNjQz0zqnCHYKktOiqLKyMUe2g9opOgU2S9XcimV - 98MHZBpuxTU6ReviLoWk8DtyzORxUba835Zt3VtZbk492vYQ9abvfXu6JkVU8bSzlqUPk58GlZ/q - hkLbVDfZVm3uiDCa74YVgOA9hqoxNyJFUXrz2p8WGd8UTS3la6VJgw/H8pwhFUkVQdl++KDPyCcZ - p1Ruvt+BCEe7eUh8pOBYlIYXq/HMGI0JOXyHckS4uiYLQl9YFGUZL9Sb/vP7jduLU1ro03SvlPdc - L6GFVVoPBUYhwoddYN2uAF5AdmzvjS7KyyA/b70NXhdcFY8SBH6n/jixsgCgc3rOFoA4PA1yXPBJ - TDwViXW8v2KpWbYUUqim3ra0BMch+LtgnTnEr+6L55fL3jJOANsFLYXfu2O9ojbHD/EesByOV/Aa - /YLlKmZZCBD/mgJwpj3mMkaQLPWQKfGYYdjrKlcX2IrHoDj645TNyR7hpRlxYlDWTmvT6hkvJljG - yBf9O6Q4sgBi935Ead4X3dasYqjWLKoD3uKteRYpmd3gMLwN+BUG/JeFvfMwkmPBXYrUIaLA17m6 - K/key/bMAZ2ZAroKDhkNzn07RXyQaxD1mdadfDbuXvf11D4M517827ZQvtJcM7sFOD7DYAEW6EkX - fAUu8uviX3RoN0NRLHRTJ/x+LBgFsTkFYzvHI4pwoQjYPzxrRo79ccWa22HBcvHzSov6heQt21kx - Q4TH232euuea5KbfguRa6gALOIpV053CpZwxT5gJbp0MdjGs93+qd11CW1r6qLvr+SD+4RVtzlAf - 4toCfdtZ9U8zzMFx044rw05Wzl6+vo7Pt7lZjhyG0tODck3d0Qjg82FP4eDLRtnuu9x/rgBoA8yA - xd9m5VsTaGJRnJ/Y5AJf2iHikKTXl+aL1cVhkD/Mdks3xqApyEntjYuvUnIQMPMRtqgGjFEjK3r1 - +6Fm2K4+Ojk5pMUyZUMuU+LSOakRljURUvyLsqvKDqB23Q90Ak/K+RCMrXw1jaZxdDs8c6RlYCs4 - SplJO3RBJ+Y9uE7QI9WoProF45eNTHZjtd23DeNpHWsgJFWdPsYpw8V/nuqau0eSZkLzhhI9C60u - nI6PnAvQYXBB8Q0CKmL0akTujl3zxV11eN32/1s1D8GlSkFZrShXXI6o42InoMebdZw/3Zh8wIyH - aKmDaKmIUHQ+9N9JqeMk/AVzFxrMm9KGPT78DbY8E8Jg0z1jbbC3EVrWpeiXr/Im6P79B9Znx7dh - z3E45HcW92gXlGCKzVNwMU6Xy+tTTEAjMqqmNK0M677V7ObVclW3lYYzHC9KDTmCxBUf6STF9C4a - 2BpiRGSSg0haZntuT/Xbtg2Ak6xTgkwyxor/7JWiw6ZUvOJkBihYBLBgg4REWECx2M/7sZA1TDCH - mPTjocYl86RuR4TTOH1p+t+WslPsJUrhUDTTZXoVJeP9tT4HuuM/577Gcbxv+tVNt5QSDBNVrT+B - YAjKpizcYoSWDceRVh1tAK4UQWkDiHUThrLczCgOzQ1uH4Ss9fHIvniTx6Sekb2R79G8gHArRmS8 - +i/zEVxZkzOmTP0eTKKla+alPW2KECOjwDUeXroTOlPE/s5w7KJ9pXicJNF4Gw5HRAes+o1zd6ZG - k8BFprdi6lwscbuTWbSvNwfxdjM2CI/poWJqpPS42TDLikrDUr0MgFTKfz+1ERuB055e1pfD5QdK - +9t+jVptyWtddq7G4YMYRWEp+vwLYRn0fcegGsCB2HF0nsOwxjGHGo5R/jbLxO526+GICmqeWGTO - 1bsR3WbjkckklruLsirD2PagqBg/CVHOSSQZPBVAFdSCt0Qti0s3r/KOYP+55DqLmph0jzsAOq/x - zmqWPjVxGiZ4lqvuOx2aZDI4TLQrYIH99cDYNPJM/n1YbjgynFRAdV1Lt/RHbChoumPflB03h+0w - fruWtKfA2uZMcRhOhFPfLGIxf16kwFIit4+ChakU+AGRMZzRy1bNYXv5zm1A0TELKBLwo9VPPy7Y - 6F6O5wPn9PcmSpqzpwOcL2g54BxhWA9GCfbF4VuvE4onI/1+eJzXzBF06OnsUjmF+LL//boI9lec - 6lAVgBBNHdonwGPmnDwINXLH9tT8I19P42Err2ONy4e/UT2VYDWdlLLqX5bKcmzq0siueb9i98oF - DPOQcGMkSYgpQn6mDCivgnpMN4JdOiWAkKq8PxNVTAthsQ5bYDTfRBng29AsAm+PnCfnebff/8oU - MwaHRjyoBLIkthmbV/lx2Gz/1ySuOky7bqxDx6alrF1zIqEtI2VjDQKmSDaxkQGfKlZmOvRn/HZf - LUarhiNJ8FEowgRj1rCcgqIcwM3nEO1ugEZhCD0VL2ysXk9n9uZEGwPrWjsT/PwDhUAJOLofxnLb - Wf87MwzXJ6GT+1XoNVG+6hBovn9CMHI69oFHf2xylP3AqwKcby5kO6Fo87i6LLy9gZ3nMC0WtDXw - EJsGlFfBxFlTtKxTcXQGy0bNFQ5RdYbBpgWkThXdGMkXWR6b9gfb4bUvtsLKzGrpPlu0y5MKaBDz - xfIqyEw++kU27CKNtNH5OYoGHGzNsqyI5iicVjJM+aHZ14K2681AOTxYVH5SJLu9a8wTu4fLVPlX - oVLRsMUzgwCUcWjta0NP8icKRcP5Y4sFOFX5tLbaz+9BoEVqUeVjdwqvZYpih+Vy+X2UA3FWCnHQ - LEPee+qv6KnaBeUtD7UrCixp888e8FWGkCoZ1rpbrylLfK2exqZZQmJsov2bhyCLx2OnrDHT/lkG - 0PoW0Q1P12eJi2b/tmB8PLKgW/oDXAs8j5IHL5fR87LssXsbWjapwKQGz/ceDsGXI2bPZmOWdeWt - kWErD5uRXZm5oMU6lfdcG6L4NnltyvUstLK4AD93Qy7ft8CkKOakpNE7CMThutCh5rxaQd8T+TGY - pBSa1raYyQWHNn8oEz/L/Ix3h/24eACwbayFRCnAd/AvTqh9JBl6pLusW+yA8D4FBHoOJcDicjSv - FJA00BIVEnKW625dl/u2/XkH0bkprophxshI8BILXsE6EAgMI5N6352vX5qEw7KdKu2+JoE4iv8p - zofvSGD3EaGF+r4DEExPIluUxFd6l2BUqSJm67nQKFIb3p+6P49vJvmMm6faK5p6hilXdM+BBp/f - GIr3EtyWDOPCjbCK12yXT/yF3e4gV4g9bgA84MAcG+CjjpY8u8Yh/y3ax2YaJijltv2qbm5vuvE7 - CnzKEWoEFPLAFf2vxY7V8E+tlLjaL9EhQ7vCw5z1CdKnk0PjxwOgIWXvdJfP90VRXEMNIj4QGmgf - 0KM2EVsYxxIycsV53Z4mY6MiXZrnvi4FaKIKNiPzqwi3dbn0kOu6n7K1qldQUJNXZYQwJTkPcnvI - 8fJkp7PZf34Cgwj4FUo8ceYmi31AaQhWQFa2hJ+iw2FYX6buJ4pkM6mepOGWoSIaKb/Yy0Z0R5pu - /8rixQieKcCv07SMXj9L58CYSAvNZ9uhqZfYctUBqngDrcQ5oTFBZQUU0QXL8WYZa2I17BeRP6/m - lm6tgRtjtnSORta7ikLM0rBGEyg88PW3qDDw7kRZHrLqMsBKk49j8+cHOn3NuEO3ZFpR2twjJE8h - O0V2GTQyTE3KdWmcDJ1/qbX5DpfDGzfWym2hsH2WM8JJy1Aobx52OKJc4ffrAN6P4UlLIVhF+k+U - +iQoFoAjhGqeEylM7PZ/IIERyiFvH4dPZnunrC37OiGCpleRcnYzfLIxKgCADMR/OJckh4TLJ1rn - oYzIMvXedr1fsFQj5WdJz+1dM2Jwi1MJHjYLJfsO2/VhEW/65VapmV4QlNFp6VmaVwiLFlGWke32 - xwF6SJZrN4i5K9RXTDZqCDYh3BJKmPdtPz7JpPzZ1x3YY7up/nu5HzcoURvYlTvaJu9PLqG5TLsA - ex1yfi4rWr29vu/rlHC/PN4Iz1/bnybk/JWrhgu0vyr30h4p4zN8NNNEelhksGZiVLQlaMVm824a - JWgTUeQN+nVgNUjnc9UrpgAu+0nPkuF5In+hw9u1mWxDVG0kERm3klPOM9MQwZfoh628VrIdP3YL - xu9QoO3DzOgvQ5kA5qam1JqFIJ/dgZJe7K8FOadpn6i4abRjRGNZjmVCfoqaKG99bafYwido8qbi - IPOuhect8BpAAvlpgBFKLq2Ph9UPqlS/4VgZGZER02MXon0uUuoAVwKLfdDK2D97+HIq5ljjNyU7 - LyDTVm29ZUtBxYh9tMJF96A7PepAdYMt4UxV0GvE82iG81O96HRd9sWz08xh2splhbM+mcjq2CZJ - jT2bvt1BR7aQbmgHeTCgSg5JsQ871Du2r6azRrbCm9X6+s8kOQhV9LtYORPv6T8zEDyovnyrN6hZ - IxpU7y/vEOAz49XLZX04PWmHvLdN/TfdtqkR39fTsalhVeem/ZZiir4FZdOMYsGDab+gUDftD3xT - zqdxgdutWJMcKpSVDy0WJDoOmY0nUd6RzMNmuQY/10zlzocFtIUxCTugOV0GKFnTvm1Pe0AHESQv - ks6VRIhLkJC2qL4ZM7miC95i+dT46t/H4v5OGWSRnn68ZXb0lSD0jtA1ypT218OThux5aLiabAz3 - nmYdUnSBKFhREYgIXI7TIMHWdG2Rc9N6SJBDC77Cf2T6YsbygUthyF+Mx6MGVM5+fQ+6EKNJL6v+ - D5Nh6FhFnOrnGBMQ8HLOpaKWmJ0p2mKb0wqBYmHSq3uPIRkHz3SbaK4vuBsldChY7hiJQkESRWbe - 2MdXgEAcfX7lmVQKhwEva2a9sT5jOSYxzcJcdRu5LXwtCqsXiB8na8wNu6b9wf7xNtzYtdhDwkPV - 1mG1GcqfSm2UP6YMFv7RFagR9z/veOqY6R1SgtgFKE8MSpLhkcZ1y9rBhrenkJ+suFEYQVshcgnB - y4yb98fzYcGCIuB93nKOAFEUOuoA2C5Xk0wEdTNet9OC0bWuLoWKMHWl3Mn4acLiQYg6GLsT5/cg - USzsHX1GMXKiCeC09VyaKmqZVgbPH5/k8cbLWMvatIf9D/wWPvZdhyepAWsyj4J+5OSGkhd62vyk - A5qwIn26se9OcLSNMImhncHNaXTQ4NdRB9oyWBHFe1lBYXsY68rwGrAT6V35PZx/0NEdx0YujvG5 - WkR3hz/ooGaBMASuVEyI3DxqiiixiRpWYw/boHBH++ua2QilR8qw4R2UIzBtIoT6br87iW9Dczww - Z/Em3kq53kwEGNhebdDeoiGRz12RxtlyfO/qysSwWx/QakeFlOtG2VTUVcxeE1iG3mYxh7o9vMul - uQ6n1+XTprA+yOUAmsPrMOk5MmiQ+8azb5xCgIPRRHA1WQajbYaxXagb0t09jJgi3Jkg42fSXclH - xIdo9j+Qe31dd4xDhoCWDjPRRspvKfOMmk4Jp9gpN8vkyI6b1ZUhuO5Wy7vdARVBm4cPrp0GlNen - 9wBMwMP57SssPASb6Odftuv19XuQB8TyYgo+1Vr0tws+G/MyjJ+UfFv2LqAg1EJbaR5cZZoYCUCy - yGemFVpBtJ/NIhWIJ2LRm3pAhMAXbXcUvaTperIyEQTk+JbxrZht0/6pKASF0gTEHQqVGqwrGca0 - 6bYnVkNL8C2wKlaUtuRSBLsdiDhWWRdpy5yb90/sMqH09x+whRQDPEtcyIEhaCpN3hyCR9FRbgOt - xojTX1OeUYXTFLwmgzDTFoC1FfqLrDZvFybSm2IerrytbhhsBBTsy7inb4U9/fN6hLlAnhqc9qZL - oWmFBWCTfWbvMsTLstpl37RPcj/D/trgA99BMnc9HZVQgaQMxaVpAF5FBXrYWMD+C01u+jU2zHwO - S5shaseyJazKn4RIwd3HsX2n3feuXXsbpRKj2nEHdbmuZDDdsUFPD90MOgbm0BEwx2C+awuf1soI - yb+b9hXxI4ChC2t8vSppQlAQERFm0gXvkIBJ+lbFvgEMbdg31Bspxf0xMUGS1UrRg5NUOeikpJSZ - kZCQSfauQsAEoIcjfKfYUjrI0q/zeXf+7qgAL4duP50JWv1L3NRvdgs2fjSL+HiQqCd5aLdBMBVB - koyzSvnn5QeY1W65viwKCw0cA33XDo9QkgNhR0P3zkD2X0RB2zcDMHW2qLbnWiuINsyYwiQHkWUJ - fr9eM5PTpKdYwXoGy1oGKBo+JI0w9N392QOBjh2LwrGKAJZoD2GquSvG9UJjnN1xX8Sb2CqsoE7u - EAtHcTUIPMqkMHNEuOk+bftWTsPYjDtWdmD1Y7cIlUcJLAuULaZtvG87GZv5tKWQUcE+N6q5FYe3 - FGaAqEMh7YI1+XiQJADYDphG9A1Y4hhb5PxrUK4OEMQk/Jdlxc3z9uP9B8yJEU4z7uYmaaObCa8m - tGoopvB3EQ0rI2i9DSP2azUBHe8eawk6HcGjNxamAV44V2G+Xh3s/UcH9Q3+YnSW6FilRHTkUszH - InG0+m2QoSs/IEf8ENK6H7gUqEI0Ejp+mJ9lAL+Wzzb+815rlo6fZzmU8XgZma+dprBJV2gPCE0y - l1fzVqBlU3l5hLcsq3Y8WAQx45Cj5UJ/mC6W1/KlTudm9ROI5rI/sa4SU+HpGdmZhzaSuohuH8Ip - xFWWz1JJiWPcL8z9CXr9SBwBq3fJZW1uMacoqFkdTpNiBUKK9NWIJaL1WtSpjZcZsWyG/ru0kfJS - xlooAxMIgC3fXmdW1Siyx8UDU/MfH8twlOs4rP/smkkfOj8Fqdq7THlDBiG1XOeXMpcaek+tuOBF - WyVt/nO3IRoXXVbIr7QpynlJBgZaclrIauGOpl1Mam6lCJUWZTwoRbyWZICwrl9vmDvPXwV2BY9Z - DVQ2xbhQ8GTfUaNkaeF11cirU93l2elxuds0LMQ6dSzQ2pyCAApkKLOkz2zDNKC8Cj4zgFLqrmft - UgVbQw7uUVwAHtEyeE1UOD1sLh1QUAV9l2P1eGkMcLq4HiH7I6r3w2weZTb6PYjyK0egjPoNniuP - kIUtaG7JQ+vfb91f9mTe7xQCOgZQvB1h4rOaOOdGTTYH5dzOaKeGEHJpCBolpqY3x9PI1pOMicpz - niXFrpDQQzXNcL1KWCs/bscGjbQMVaqqrcn7L+3I+Kup2ybyj0e7kWUmaWua0TMDIFw5+xDL1SyL - nv687V8XCVOSMWkPJlJklIMyxqPl64O079vumsrC6e8V2vddwVEbiEfTk6nwayoHNktlS2Ghmehx - P75CoBUkHFg2mFjrZcFuKbsyIsmcXAD6nW9u6/MbZu9k2K79vJFCObBNyqsidOmmcYL3bFZyDYX2 - sJT/cP/RHBfmpmZc6/0kOoRo9jumFwW8iBp3w7n58wzg2XfL108cBaiv3MXbbQYNBeGIStPF8lp+ - aDN8kdo7Nm3NqF/36+F9qg3UIXeA2YuGx7Av15WMp3Xq1h+LxE1rs5hJ02CHY+pSWlD06dQ0RlB8 - oONU/Dw3bXP99w3c43ni1h2HPZIqA54XBba+Ut4ItLNC6YEGpMKAFpWf98fi9MYaq1WlQ0EKgmJ3 - RSE1BGTA4jZaprC62V8axEIobC4eUKuYHIrnlEMbPUVUGCTCAbStPGCiKVmnc8Nhw7yCqWYSoRg/ - O9YUCpmwdWAojROigfp9+wTSe+2XHeg0k9qpd3Y2e6G/nU2CHTucvkDM+TcIF1g58+h8Elin2NyE - l+Y8HusyetM2TOEpgkQ+2UpJMUJlF2KozLB0UrnK9+PhL4cUHOYozYHDOIJVyBKBVWLpW8ZQn/cp - 0xrRCzZeR0NQlG+NOygiqpuZzmMXovfD8Wdy4g2qDJDFeStKE4K9kcrN/S0URd3gV9Af/DQgGFkF - 8bpHAWyapvoRWMCtnbbRSNlOua4AbBOcDIe2toJrduMXnbbl8n2P9BdLYQGvozmHGPXnEDkGjL+K - NZ2IY3U8bQHXTKzY+mDnK9S1nHFQKOBOIg8RfNH94TcFJRQbIIcPviLVGnpQjoOWCNLWdzS3qCnu - /kpO4AtwUaczduQWP1CQHIrfeZIKCSPtIGCL59sQZoWVPyev5gk+9PZx/pah/vky4GcBQE86wemc - NaxaXRw81ZMCePJewQaB02CkqyJJTpAuWM8QmT1MLObvodnxQhVlVCdL6XdvxwaIbkQhzGqb7UvO - w9fcFly8lTEB9n1//abVAY0NBWUzsK/833/8cr4wy6uscvtoFDgPdWsH8QTuRXjeT0RODsd+7BYQ - 1wIacJErbiqdBZbuiinqW2x5JUqyLqfrFXA/1Ae9tVUMDUMBOnxwGTnK/7CA0RWPKVr/MvTteuLg - 8XaoZ9h6TydMDNByZ+1Dxbqckl1i+b7EDUBtaRF0LdUbY54EObEPQYo8im7TUFsytpBtLVbptFad - rgEb9PRZttKy+JLQ9mz9cQaqm6JCWmMuz7ZXoMtBBUAnlPNjWbNr2bdfdHXXyy96Hf3y9cBacKo+ - 0bQBw0opF5WKtwFs01Z+8DweWhTqISeA2NbpmxOQcoHDHbpPpZZPQ/DqRVF5f4UPska0nEyqmtsA - nzoFegh8Ar5FiP//QewP5PXXxw5JBxq1C6jZVWpUweuY0UDSaCSzKbEkAl6ujkxsKw58j6owRaoa - zucZvELD8UYZNn8PWo/QwjUWIgTo/q1PC9ZSQGnIWF3pIlH4C3bBgrsuQZZ0Xtq+Ros2D+01CcB1 - 7Eqnkx2dcKDdmsJQ/gDaxELO5uH7JCwDHFEoAkbnZpcOAqj/BUGMAPNSXJOKvWy/wbxjbVv2lLc5 - /kuseTqdwCVxKGHR2Mfkt0zVsbCLCswX91mGu9g15xnq+QnCRqETZF9Nfmm2bBvDVYMbFCcH+Kci - DvS2XFQyXsClfZUjitdv7Q9qOKd++FojGdf/FjhQSGf+ZdM9dFsG+zz7u9JEoh2KYtqi9KR1eSnv - +bZpByBuUeykrDzX7Q3tXITipOWGsDWyYLg9senKrcET7jGXgnWB8ol1l23B4PA4q2/OJrcPA5Ya - JALiDeJX+deCsk+T1NGmCqeQ6qYej+fSrkNx6Y7ugQk0BXnZKnYgUKGMEZx1yz+c0QFh6bx9fCaw - D4PzLONawjkMEmxFr81Y7G6QqcwrrNAByioAT/2LqdMiGO9yO2wW2nCJlVb73cuW9jfYSyVwKugy - uF8GMYEAibuXb8Td6vKt2H0Adtknk59+ONlIezFLn1CS9NZ/z0zWjEikPSw8LajbBWMMExqfl+i2 - fY5i3g9H6LNOQi+PWUkfIVOQlikk0dN1GdeiMOLk7IPV8jKivwRfRwRZqdaXAF0tFDkUrAEReuqw - H0dks4Yp5k49nhIgzhGOBLlczzJcxXA89NBDVXTg0oFTienRxzcOVDruAWCQZBUM52vNXm36/v0J - GXravgGcZ2ChS9/yUTRwwMVQWuYg04/3D0IP0mboMJnCrYp0B+/SKoTgFyWnAKIxyEl24q2aA7TT - cuGBPbJLGoV1Y9HdwHWwtEQJzfrag8nHJudQzgo1adR5Hy1AcLGII8GwWKScddgeUWQAYJpOLjfz - O+M6QTCg+Rsu+xlhwa1532DCTiClBysv+UklHAx+HpBlzklvw7omSP8+X+VQirdO7sWxWe+34h8+ - X9ccByf0U9O9wR2BcKYXqLyinqfMNEpQsDicrzBQUmnB9a5HNSFSdu7p/2AgkVjXTOhP2DbsBZ7x - Dvr+BhQ0UegFJkexssnFA1zUFD4uD9ieUIxHwdGlCv2H1jBFW0ipEuv7sdmBYBasepZunaikKaaq - uJMBOozMYYysYSRKtjaH4Tz1eKDR9jhQoqFnEGMuHR7Y7Gmhi/d7v0ICmxkGYJxKVYobncm0AMHW - p2WehHS25bFhZHc5t0MF/kBIrCL7D2juBWvZ8xg28lXZninys6zkg6KkcanW2UblHzhcVEugHyGM - zy60D7Fx5o2heD8VorFgCUGXLU8jbJIx/beUjRdGGtQJzS2Z1j7iYMuUoyDRZUvWUujJ92Pw9ssQ - pitDQfvLcOnXcozrfnn8XZ/suzXolzfF9CdpaGczJNTLgPIqOEtWl/f/YvPejN2mDjuOq7s5UR3D - olSrcoaaxVP2TOe3pyMx25dmM8pz1A/YwopPlI38jc9txykHA1zSnY2QAiRkadfUyFIYd4JRoiL9 - dnyS2Bu3Zy74zP9u1wAzzEqriJZCRXJCSp6MppwJebFFzioqlF9R4bz5AXif57hkkA0ohELmnIDT - 1VzRFGwkqydjqWZsT8hI6bBGEVXXcvbK+Jy5aVwopP9aQC19Ya/qXxAoLc0v+zP6qjeBSrjnzVp5 - CAZhfGkg6W7YOsZJgoPu8gNxh+vYyfv87+OmPd8kCdxijhUOqJ9TfhrNQ+NDFCN2mx98wIFR2oj2 - J5N3U+EObPDZJFZ40kgAJYfH+XX5ym5ZhtUGdNXoMXDAy9wTLBBWEd7t9Tt0DFgCv+gciY4ZJpTr - d4ci/GngSDjj+2bYqoYMFRFW5zbSALE5g/5UDokwWzGBvp0CjMCV6162EWwHOCyxgAioZt5UOAVE - I1Gx+GRi8QkRo3JzOO5ZgzFOSiP3/E/BuAo6I8wH5r2XXxdVbVZR6gO4LR08Qb/82ew77EkTeJae - RKi2AeBcuJMYefMKQp55P67FK6DZ/6B0su4+D+IfPqyv16cCwthtUUplCJwPyVWbYc7RBqTMqP6D - xCDKi3fbkemMlHJRbhpNhfGKXlH0FO+2kDLYzeGy23PHw/CZdWsM+Qw7nF+ONvRYGiPeTK9P7wFs - YVRgIHzp7jr0dqN7uXSHBoikUOANCETvyTdkSqPymKhlBF5F6ov79vJfYrLh9Yqn4qf6tfHzxY9W - hcGXiZOkNmyURRWNyyBHcV/27X5SfOC6Tg5z6WP4NQWjI/yHVSGeyLKyYYdVDAtrPPVsXazrLgDr - GF2WOmfKIkLEsjtdkAV/8SmgLZHutssspVYGlFfBsbVq12hgQd0dKY9/YhQqR2uStisgqTSrrom4 - eO/y5O94GuVUqcN2J/7Zrt9efkLTGikgoNtGB2FeUAI9K//RGoISOtgaFlOVbquTWZa2PUL/CV2o - g02uKmqjb4EOuOa6t2a1bsET+PhgHBowYneIjKFTjnIOtF/SDYPGYwQRxRNK9NTWHexte9wu2AIP - Ob55EsI3xkMHPCBsC7IN8Niua43ej2FmLTR9iKE/fm+ABpqVozyB9mGAMj7lQfiuP35gF+dgGcUB - reaTxiWKIwBKVqgPAKcqM24/yj9h9zpeeR55FLycqXBjOLBNzmgB8ggtzAR3J9bzY/1G5INRz0nc - aInTrsRqfi4V3T9JPHRsWCp0Mr989KtMokTX06bnH+yULyZJNArCajaGEF4Ox2acZNA4JHYzlSH0 - QXJMtvijaMY2C+2Ju3pVnDc79psFPHDhb/1qZZ2iACdnWhXs3uv1NEpQQoXwGHhsqFvTAw8m1KQt - mxPQy5S7Mqq4WEgK8pr3GRj274u0oSC7VN00OxrMpEJoJrjoHM0Ey+0aK3REPa+3DdxsUGSlfxs/ - 22qwAXn2vHXsuuqCDO5Eh3qDMgZWDn6/N3muSmVpVafA7miQKJ/c4wWVnaHdTNaJpW1j7h1tmiQU - llCKk+PDYlFkBnW4nK5/2RQjfQ+oeZTIcX9ZnpmnVrLG+MBUQ0+IzkB6fpnlTCO/ihACXfsJsKor - SGA3M2NMGKRoTUDDGOgK2Rp8/Wh3df3ouN0DlkTBE62CysM1MDQKgkx8XYhd+niyDvncAeMAcSR8 - SVdXmygwhGJTGSHsizbD2IPAW2aNS37OjjG0J2cL3R/NAH5ZmX3X9V90jbs1QLJQUaL3dRUlx9M+ - kzztNTflZpEv+rjtmCmDVhN4ej76qh+rjE0GiZrG1ECFRiQ9c+p5d4A+i3MhVn0tULgzUy8wIVyU - tc82p+sP7LF3Tb9gW2kWCL2lE7QF/aJEFLzJcjUKNch3LfjHkR0Vw0xKPQMbTLsn3O7YnSUkWfFp - GAdw5IFBnH2BSIsbhp+28DJyKC+CSPSwHOV3tz2Prz8Q91me3msvx/N6+c+5Z048VoZ/BN/BeNCK - UzCs5s8VBvVNheG/zKd1t124m7aYNncILYVdKHs74yAdyFNWlvwdh3O/MMW1Be+QXFXQC46iKDA0 - WF1AxjX4HH9id7MeuyWoDlN12LhYtRd9zAqm8Raad1bG4T9sjquCrCt2xw8amEI0DxBtwLfnsqwI - MrM7b9hy9SYqeoeqOkqP6OllehN3GxFlbqObcag9e9B/FN/2fn/4kLtqLYft3DJuPg5YG9qDoZyR - XvrNAaJ4IEga+6ht0BOlZFgBJgf9EoVDUzK5u834DXodjumAVSoKauY/7IHwBLgscfu2XTP9hDH/ - i/t5RD+lfgVoXbP71C9uKz3vZ7TyFU1Fa7OqXeUonqKJSl+VvtnLYTjUPLPT4RW/zGhupOuYqyab - AoAIh5bnOrWVCT0M7aXex9pz08hX537A0knFNFFVXWn4KSnKOUsVjAaUV0F0sGlxIE8kMkq8zdwa - If/ivkBko8uCFhH1b8bmq6HD63W/AE1nkk6dBXQBxPqg4A9UBtCrzLH11LR1Af60Pj9h+uANX//N - uT8vf+KufD41E6IfceSskOHQu6Wzmo12CqpfRBmAPFGxoV1QYDHn1UJ4JULeGANy4ViLykKbY/2w - DtvdoTAhMU04nZjnO85Zb4Aqz0Dji+Kb83j6gYbJ6kk/fdOtliAsxxrQgd467IYTVCP0NKC8Cnq/ - H10H5cnJyEvHwLDGx9pBZSzSqvQcVHqpkNPpy9JpVoAt4Y0T95xzRWE0xrLeLg/QsuxrfWmu+Nln - PAyYp9h8i10QX5ehYZZrVgKPEztcp0e9ARJtPlOEx52UxNwDke/T9nTa0hJI8da4iUnN64rY3ejI - QRXXQMyDXe69bMW8N5dVkX+i/16gVnLfqqGfqTwDnrhQJpNbW3WNnKjSrl4h6xDjwkFi0s3lz2mL - oMWgguURmV9FGhaXpvtC+fvcYNu4wcpmCuFZY6Kib4YdI7IBuUio5tQjxIYg78I+WoQJiF+PWiXU - gb0rQwS70uG4r0+HSw9TYHqoufSmUo6q1hFMFrI3NIbt9UyUokX7192TosLmB3y2z+7eQy+/bbV+ - Z+PqZznSGCA5l6MH5K0McEIvzu3wZ3Wzpar5nTAD++UV7VQ6luv527oD5QbmG4s+7EEaoeTLnwFa - fRP8wAB4Ok+9NQW7AIlyUd7IdpF9d1pRAjiVy0OcFUYtdM4U1IH5upM1IhuYpmhWZaEMJdKEmb0F - aFcwpwqsfcqMXxHh+9xuv4Db2uUbq0XArUWDOzUPJGzUGvWiwOqbwcisTi7tsFtEnkQcX8IUZCbZ - CNRqzIHehsbYgFdZYa1tn0g5w3L/A8LMat2iQ86oqYW9d7iD1xAmoM8LAUiubpZRkrR47H/Q7O+P - 6ydkSdvXrcTtXl7OuaDLH1nVqzT5XdWFAqyNzdCLiikfr4K4pj91f7kD8AygeRG/+WlLkRv96WW5 - /H0GqR+y6RkQ0XkMRG8CjiESFh7h7P+mnu5NoFkZXpZNS4tm4DbSrYZjbWWMbJhQW0pR/CpzBO7w - RgwktCUiojlWoTcgeR2LqJ5lq6nic3Qjnf0vSepxPz9X/j5u3UAjgLUz6R4/Ic+VSiFwvdSjcioy - kh/WQxH+vLOd7lF6AMwjQHUmletK1t/e9wd50PTZo6l2OyC1q6y+uRlrFTcBmZoZZT7xTf/nzw9W - 6nH7ZML4fjptcFYAqI8Jad0cBkS7LO30LJvrWcDWyVp551O3qoK9v290Y39uSohHiYKDC+J8oQYH - eTZb5ISEGJvX4Ujhgw5T4+b2++HeSV83eMQ2fD3LIJPr46pmFA9r1kUIZX9EBDAXKIKcibM6s8l1 - ZoNgKxI+7MYvAXV/eh2BRDPhoaGnKFMCEYC2RtRq+WJ5LT+zfL/iM+iSA3l759EkSxsj1H4AYTcs - KAK5dskjuG5O/YKNpcyCC3P3LRLskeToYZTLSqg734wnBi2C7BfsXJBRw77JsIJTAZoLsRfrcbvQ - TJvymk6Mh8NAokMkGEvHPhclNa+dJAPh/yCAb8+feHtvnnC7CfwZS+df5koQw5ODLFpbd8sG8ot0 - cCJeS9NunLxll0OnoQjJl42TpcmU9u85YpgIAXdHYMpBodkfXXJhIjloqWxLR0/SaWS7gMDeJgok - SxzNdNpsysXyKshq9j+xklyvkRGHEg/TDjg7Uxw2QWhaYJlElrQQzbJ1d12wzD2A3CnqCmQcLGXh - OhW71ijbEE+XPXo6xSIxmnmkArAk9OjSdF1GKWjfDmdILmOe01y7K77GBJskqDvSFjO51xuRb/b1 - tQAmsCtmP4MvgENKYzMOdk6NZLdobPasbDSprHraoO4oFLD1HMWR7CPKYbaY1dN0a+ACsCs+NOxS - AFEW30X5chU6BEWKy6g6XNSK8k1jCrjAVLGkptDZKQqjX07nzb5EavYrQS4wKS8YnrDWSZ0xVit5 - vgbtxb+AcVBjTy67f5FNGT5/gPFvPxp4gsUpgr0/AwPLJvgZ+pIc4OlnoR9Bt+3ZbUPDzytlNzOy - g6cczu/Mvi6J7ThEgOt9DQPdLinkMffCykPNksZjRTjtc5oGlFdJ5Pt6+tatiE7cX7RKMk1gjrbG - 5aH6cF3TDAvPzYjFAyAJjBps2hTokAEaMl7GCW62m4/iOUZLwrkaBkQJic+gTrAjlUwD8zisihIW - WB73UmyC11eGuqGN5XIQmhLuZ5WA+ShlI2VqOlNmHV769eGjqLvB3p62gKofih4CTWHAYZDeCRP8 - LSwCeAPV9LvyvTuS6F9AaGdlOEi27BUiwvQ27bJuzJ9XR+7fQiUEakYz4Spod1MWbT2vk9LnFdU1 - T8OjeDPF2LuepfHnf9c0f75o4A2vH+yxFXkp34me8AL/xTTPHBasZ+pl9er23PygrLQ9nGYEN6vn - xj+YBPQBnSsWYULZgO44xQVcPL8vXXpKOIloKMq0wDGibCP4+vv9duKQVzEyHU6ASVEkodKdY55E - ++S25SQgLiChQHektlVVbOeJEQVMIFKmPfeUwsdfE1DNPI71EFmaCHhRvgwLdtHvX28QciDf8/PW - OzDUrJzCMlY8AK9WNhFROmbxTzhQV3Bib2KEk19weIugZMii3a5W7d+P7fKffnyv94PN+Lpg8CPn - jA/TcwUnee28wgb8q6DnRMIkVy6i2AWIj9o+cYgoVGVWgGNooJOJK31uuxpW0jOM2oYJdD+rSAJ0 - D7d4x4AnfNske350L+EiWjDn+t7h8h5OlClnh/6vBdYcg0Q796b581TDRoNC407R3bwT7QN9HXo0 - 2fBRz2YwMgmpsbl+RyNWEQ1n46DLyzeXNhG2eaX0aAGqmZ9PXVhMKWxgXPSjV5HW1LH9QGka+kTo - E5qq4QPoVKbj2LGJnTMyQO77caS9Q6NIxZu5sZWAaaJNPCiPpW9Y/I5iSKGB6u9v02FFe8gvSMNb - x0D4t09G6VHCnyh1s7dvTOEOUtXsLJCtRYEkyeKNYVguImvmWDRofVX2zCkpWMrFBJRz9DKb42M/ - yHF7xyPL+NGEoeedsDXMP6CyCWp0GOCle9F5uUFDip5mxBN3ak7Gpr+Hs5jz0KkwzHwIktvcLN8G - mIOUciLd51lfAFpvju2FDUq5Rla0f1uemTDOxnJ3992cUB8BQgPginKZWeVPUW5WCP8CRVLBvJxH - 1kKi+wArnso6BkRl7y3lGMBlaSYpidq3H1cA26GrTrGR0aoKOCnJd4pSCZfZIjfKoEa780EuAbFq - z3Xnv+nOsG2fGhsu32dJzGhp22QwN9FrK6MES/HUfdDU4EohjNP8nIUOknBA83eR2OKaKSqSEOPf - WhD8fFVCXfHl+Dq+Q6IZu+0ELb0/H0WTwGXwYiiSs0K28u6VRaQKIMSGe0yYYBtKGWNm5TjN2bSW - BTvNsue0prQcLABS1e5BeQ1E1jTLMEvzmuPq48KUXCCGceo/ttCAc8k6INhRgnMQ/Y2iEP2wOqCt - qG6IrNvco62J8l1+criOEFdmvdUOyGuxbaDAnHKFLKOkAwF0GcFvI4G1UGzkeclHegcd5hOKzlzn - KLfwDMilw010evfrLe6w1RNpDC3m2U4eEckqpk9DsTXJnBbOv5uOAQwTvjg8MEDKowKBUmWCYIBi - uIMI17nZ9iewYico4UwaNMGxM9OBUepWOA6N0MB73YGvmVGzofsE8ZfqkShFUUhgaxfNLV2RsdH6 - sFsEmEHTUw8eZs2zBWhiglAuPL5plQctQ7Od6XD9bp8vSZPN+t/8u39vt/+/HDVt/9flWw2W3a37 - /x+lDhDwMNSY+s3h452L3HZqvaaaoc7WNJH5nLq4SYhqBru6Ntl3Q4sGVPBPqIGEWnSkp2BdngaU - V0EIMqz7hb9ZXGunXQV4dj6z7h6Acgsni5u3ww8E7E7n5SurSqPHFWvVQqspUmLOUQn+ZYCxfdse - xR9vPQztMz6prcFn581V/Ou3By626SI8djcfDgYdYms10w/LxSyLLYaxq+mnm3HbQuaBZjOET1yc - KX0BxpayD8WSCEc02xjQ681H6fYGkInyqPDehswvIgew9IvMy9B0R+xWERN4YYxKtQcInTHKgluA - 8gmNE7mE90NdVNj2y7kT8PwX0seiyF5FqDTyhnFodgzrfOoOUBCiIM8CMyFVrmdZCWzctfLp8Zi5 - i38Bpuz70x9uvDF0+L6F0I6RIgCqarpYXiVl+FHeJh7b5fmJlcIATmbyGv+EpqVPDr2anKCuB7Ca - m4ZJmjLb019mwX/7BYeP8Ylh0/Z0qDFUDR9rHo9BN4NuNSV1CxZX8jLYwqYHeq7jwoGjN8l3Jie9 - GajadCylOF1GWUwU5K9+L5i6i76B8fPSOHC/EZVEyGZDl0PUdtoc3q4AKqtnykVgCa1M2bsq140M - T/Q27nqK6z2KdhbNO2UriKH2sCUDXqk4hkGnTOQt9XEenmbAZnN5ms3N23dq0/Si6R5rtoOYv0H0 - 9LkzkFyZEtpL3Wjpd/0T7e54GOv369bvIx59LpFKmLuKURBtoCUIpCMjxFCmkszDUweBGiR5HgJb - qtK6BMfQ0fcwC8/abGBhiqxV2xYFnJxmJqopKGQbwcL1sly0Qmv6/XG8fo8OVSrCD0Lb7Ix7Wa65 - mGXycwyWILaoKD5CT5qvyxAan+vmIN6E+vUV/bjZEQ4oHgpGNfohQHw4KMqE3jgTmjjED3UJZzPb - AXqt2T1Ph2mYYAM57RaRUf5hkfyMgROhtaMTnl30SPmghyzaovrX/1fzK9+6e/drONm1oizsZbWn - JEpBO3+6Cz5UTWGwirWF/UpGVG2Vk21Em9XlAoQi7CZQrFAz5gFuhoENrYWYHiT1vNAeYAd923ST - QQ8hzjhZjNG0IAxzblIOeZEtxa55ReLpSi2N7mKYpZ6WnqYPir5kcRW1UQYYGNsnMZTlfvvEdzwc - 1//8FQIT6J/0b85Bm8PqWP2+7aHbsiYNJNwwXNUTIUTUOAqy1Qi5Icf1cCp+I2VLvsW4kTYauPlk - gzgG7Ssjq8xez2eoaLK/LW2Ij69g0i9U0ADoLNctSzAIgp3DB+rsSIATogIVq0A9BucsVophBztr - lKykteuXWAcoLEScXXWWTRmFZic6z60zJ/O4Xu2WTxQaOrXXcixBM5y7BbeUPHSzY+UrRSeuTZCj - RD202ECKgNlbuBs/iokVcyr+ytGmgDY9o1jgRSzqd+y3OLIBH0dvio64XL2Jy4FFUHWZaLJk7KNd - rhZ3lkl+sPHYwjtSXOYZQe2AlBcVLeFnt/AGGzcAzBWsifbxCKKches3/XavZRv74dS2P2DOr/pn - Ij5tEPqm4zX7xLTM0L70yjEQC+5KosrSx2n8gTzDeflkZbxtzvK86W1Y4SyC70dehIftT1YwOc+Z - VZQzV3SECkLt5Yki17S7klLaZwYO4iI61QBeyC5PA8rr/H3LIK8COCaoC3wclqxb7LhIYqyZ+x4n - SMLGlHzRNs7T3iuIH7oV282kqW4dH+QvRhI5lyD6giEQA/cyRbw/TV9b8yzX/ScL1YcJu37XBIwu - wBPRB0rSuG3PtRkl8gI4Xy412WTXdj/YhpfNFTAbZkcgMQmhpgOpRDEdHR4Bt41HilwU95dXHNWK - EZm3IWi0gMofc4LDnolliKTet6qLh0O7gz4jw3p42rq5IIX7BWtWi+CRHcFgWyJ521eY/3ruYqLO - amItSupNwlmMTRWoOCVrp29PSznwuX1brjEl+SAFhkMnU5VXIoqNcFaA/+PksiBBIHfsba/rintQ - IUP/NjrI/dwHyBqc6xVcr9WNxqUBPH9sHbTB25y4w6ludj1lKFtGzB3LtQfXSVn4LnKxtL6aoGYZ - jTca+c6VFX/UVE+LM+E2lGNdpojOYQgyFIirSNoX0GthAk1RwEp+rgKGAAILJbB7CHj4QlRGc1wv - +HQ3d86LpZj3F/Bn0DEr12RtqeGzW2O3ZkTGnQucHHi18HzPHEejVWhlPms9hI5Uvu3o4dnP2NOp - ATKD0QVXopJQNnrfsx0JAMk0OWbTgkJSH+n4YG1ffFEGm4i2wl5e9l1tuxovvOz/I82yafv15OEJ - OEd2oYI5UC5FmT0LYRtW/xf1WbenLQVkAQkz0IzGVYAypa3RPDt4oniZJHYznmCAqCZXvxl8G/3w - APUvgKSw08gwwruPO52gYh24ZBgTlwzHMu2wxM5uGTSiHrMRMA7aYpKG+BIA+t7IEq7l60E+Uc7v - kD/nlJAWXFIxzh4FqnS+8DxBEce5EGU979VwJyz+2+TbX+Rx79i/YeOaFHryvGYakJdYG6wtG5eR - 1WjWTXt+inzPO9aCm4Sbwiyfpvf0Oik+Rj2jX70MQHtZ93swOFAZMMb76jBzzkW46gYwAYLsXFkf - xwO3AFGicdXxZ2izBE2oXHVsq1y+eXu4YHXd+pJJmXm8gMeQojYs7WSldsLnZcPViklf3GU124oi - k4dgr1iGWGGDvl3ukRtSaIZCpA+V+D/9P4VDkFpCzQ/RkSDJ2HcX6H7S/YOr0Yy1Dli7RQfITNdl - 3L3z6x57KBBwrLg9szdMCUGVZ/gmnbEoKlmhWNxhtWvkMIPNZncAvqE2FPfwqaG/DQC96HLdyfq8 - y23PFZzon/NP43hUBCr7/0i7suS2kWX7r1XcBSAUNQ+fIAiSsDiZgCjJ+1/Iy5MFkija7ted6nDw - +holkQRqyOEMZUB5FUyV4cC9AM0QTDaenYdhllBOG9D9QccUcI8s089tp23fcI8K88VSmFkRQ1Sm - 22a5po1J72X1rnbVHWaiH/2WqJeWF4kVALhK4Nhs3MmIqz/OuFsHboIVQGOogjH6tc6WEuQdrS1S - FL+wn0JgZ00GhvkljAWBO1S8Mo9h63Eto0NzUeqJhjVMp6lJdgYxMzp+KYoNB3AFp4UmwSINOFVR - Atm1l2vjsf/4xt9pm3S6QJUGUjIeZC9mVEk22uvhJEcFnzp0oyyFi7SFulQrKoQEppdBP4oeTzFq - FpxQn+3ADoIzn0ylapdWhias52iUMzlZwWSz3TzM1/MjMw0RLiGoUSFcRKQq+xLd8IuRBWqWMHsk - DRSXALVA78lHKaeRSfYlDqcrMr8ENJd1vmoba21dcNzX5d6bLL1evXUgHlIgC4jIg9BDGzglOlC7 - z5iMoJ1ApkOQI7bnJhfIkqIJVXXbsPEqkPfh56vZrVfUnO7hY29vZOts7vWYlA1tRtrCUYJbvY6r - laI27XUH1CBNVdh5LTv4tK1GqAuzpxm4c06W7G72m+s3RIHP1438h6/9yBMpPx23WYVZxtX6eUB5 - rXuJ2DI1aIKcIq1p1mJbhkIgyJB6gRcH9QEKggBpmtLkA6dKpO/d9ihPavaBpl3JV1lnjIE2Uoqi - OS1FAVNSPhl+Htbiu9pN+3MBMAH6pxdch8ioD/oDwmzgBSY5k9/695Z7lM/qC9FbmA7kSAnLPOD+ - egupHreKlrgyGTsAq4L/ftEm89KdPmCjySKg9InjPbOwxiF4R62f9V8yo2tFdJZhtVvhh7ELgeQ6 - P1AFjhYYrqi7zdexmG/Jy8cFrgA9/m3ut5s7jCeAHGsMlB7YtzLleZigYNe3FzTy5jq/t/cyR6LP - SAdiDhYuVJknPo8rf7fqURBZvhOu4ms+zG5QwFJRZ6vCy7p7r+k5h9X0LSXkFYJYoNT5tLrdHzTV - Y1DaYvfMHHVl2WxsT9NW/PHa8/Y74trTavyGCu6BrcOg2NZ4SkEr9Bu05+nB8ojITWXJMbvede1s - cr4kOyCPocjfwUh89jfnl3/3BihOWpvoU+aX9v1SWqL0BwoKFdksuRCZWsmUDlmXcLXtziBCQaEg - UoRWiYLCyzUhhnhlK11Rk7jdFfS2MfeYasE7YSRGTlGxJAQqP0YWUl1B1aRUj3E39Fh9MnW10irP - 6zXyDqND/m8akfevs2+72hnpg2kibAXjKV6o5NnhXJRpz6PTKmacViLCWXfsv8Sr4HzenZ+swN9R - D1M3qJQLKlaJJUodMca5tSNEdG/7rmM3xlst4TaxrOJkL9PiMDzAzMMEzdMfOwTI7skvga6qDDEj - OsLSPKC8VkVNOgHRPfY0mDLPF0oR9+gFAMdI98O5JXkUTH50v/LcEC7jBPtZO07FHQWCJWmhsxpp - zQecuaDRqllwRvC0uy9O0dmYSJuHba2yYCB42i44bfFpNpgXrLTTsadbpG/LWS/i8gRyp6N0ABoF - sbDAopLpBY2rFtBXxhTRwUWByFKWFhQjys1gSQzXA0SxVtbl2K8u6xZaDqxSh6dvl7sg4K251Iy1 - 4zKp1jIAXLfrua06b4H3bRCoC2AtUDa284DyKgi1TiPlZSxqT4m8TjWgM9PzhwA3Iy2zkWVl02n4 - k9awSgq7r/LBcAT3sj1TIn0jJeEbGRuq44tSUZ8yIxXQ/9FK6PO5WUOfU4PiTzHs/GkMbWKvhm4s - JE/KxfL633//xzQ07sbNpH+KywI3PDPxF64Lgxwmo2Fsv0YEITTP0S32S4gsSidAuGTNzHXHEhGi - lns7LU5hWjyuarpSKKHQRIfXCGoGQtPV/XG76L78fXW/g9VnMRF5ISwgcAq8XYBJAif3xszjJL0/ - mhk63vToF4zXhPXuQCErxJ/EAjiiql972a7nm8b5w52pnWCNBBnnpFg1Ld3uraBg1F7OoDnTto08 - 7979UzEAu2dhHTtfliVBw3Gzn80xNWCneZnb07cAp59ORZRdHF5FPbLtfr1t1MNl5HFwZPbGhFZx - gqJgzsVbRnD+De0sXajCbZrP45wJ0GfE88jlOr/80yQdxvUnqHumTFJ7x5vGADOTmOgvHgNQZPMy - ZfjD6SiO7XbH9R6NjPAcWAc6SWjXUAowaBoQ9TxMsqBXa8hFlgDLK103IbJNqIdyyptlZqMfw2Eo - mG/0OR5+VHAui9r7HF3BjRsZnPp8uHZNUfcvf24fH2uF8qyYylWhtP9lPwCNhTSSop5oFuABNgWC - 7E4qIxKHGaK2xuXH0PD5yA/6/i10iIEi2+SNAx3N+zKoMONq8ouGPIZiM+lYX6NY08RkfXzZI0LB - TFbgAVB4/MQYS87g+DDFYkeaq3Vtz0xth6w2unpGeQeRIM0DuLQjSg2GzXD8Rt3h3H7DOnyALVzJ - CJno8NC2moWYIv1TAFgA4n+i2fBz36HPz6ZjYFk+JL4VHZjgFiGxY/hlGSZ4SJstUwxAOzN0YclJ - BjGKZrLhBufs2ySZCD9//tg2i/9e+iPduoQPzHuZgl1knZp6X7Ybjeku6vS358NQ40Om1VtXY3+7 - 1Si3e+wPmz/JfqcI0UeXUkw12THTBkEZDJRpwsvbQ62h+mED1Y+ErZ2D6+njVDo3CJ8L3XVR63CG - 34QdyJzQEez4QNE8/TTwLCYjQnj66XIhufRy3kztk5nR/kiZqYPHcWPAuFsGGCg0w7qA5hqC4Mww - CFn7boJAH8PqYZ7hlm0pWhmUk3ISgpxSCwsbUz/j0bC4bXAV8E4ZUF/wDmiByJiD21W74mj01rVx - Nc3I2OgVsxs5HY0ykO/h3KHRje6dge5ddtWbKAOjee6I04Uk7Kb+6IY/1LZReUFFHApDJv3Dw7z0 - 4xdmsefzyoa7gGqGYE2EsjnoK3gaTlYv6fqec+3SX8h3srqFfrxNzgP4p1VpDshS8vMFfTMHUTKw - 1Ut6qkJEVKYDSzfyxfIqgaJc2qbMFtTsUIRZzkisLMyWiEUhnCsd/VesX+CPRDGAXq5dT3tXpEiB - hWGiDN22uYxQcqUvgcV/jwjgtvZq4acd0nxZBgpqp91v5hof6/aLkVYUMFGk4Ur5ZXHYGG9ZZd0x - TQJS8Ury3pt2A9TobDxtYXVaxQO0DICF8VyF90IpoX49fcrjnUP/+dmU4jnm+53ogmUaMgzT1Xw5 - Ch1Dpt2hUY9q8ONcA9rEpaxtKNeVLODbbWrKbLf7oAhrbsz4tJRPgw21C5aOxYBCShA2Naf3VVP4 - 3bR/RgquF3F/oCQ3usBVIYszWGSYtPvabeE4Okf9dzI7bR4BHiU+g3zjGXXqg4yJeDh/w92C9jVa - /2rOjqGdXuU+JoRskDhyck//Y2SxyK/hVIdnx376JY/tB65f3xx7KYVXy+WoYzQ6u9uIKONnHE7T - 9Tcb19OFuam+PEmz0HhL0A1E/degIQmRqfgfzQWN19Z7ujP9/+jAwXQwN7rcI86ESgRN1KRB8maA - QhDKPa9/DefZEA7C+Pn2VaJFMOehYJduhnFJdm6u22sL6JAF0xf6GmFx6lDmqek7Q3GIOzspIiMQ - QC1aulnimXRETj7Dk+I9Bk8B4RJcKKD7DmBFknFLLucDBGznODCGx22eIRwZdagGrDsLKVxRdfvH - 7rDn6WaakFmx57EcEsp9huuXjk2NnVA34dh+Y5e57JgIRN8RlFhkUHWyQ+kTkgqgHGCzE2V1rvZw - Hv73xIgfVhcQg4xD1TUu26TQx3fgJLtZuAuucJK3Pe6GJx7++TJsGPey/MdDe3xn5GQREYtRP8pk - CNG1B1KKZUkdXkVn9LYb6nR87HZ7RjnPchdeVXlmQkGIDk/Lu4j1Qt+zdvqEBgr6G0D41NUSsIwQ - g0NKBdU1GQlo7C6HOh99X40DPjJH/pQphlDFfhkaGoqh22DpOdnaGtenLZiiqJlh7epFqcuiQOsN - cjuvZmiRqIjytvr44r5OmRpW35u+FD0DQ58VFLcAr4jzOME03VO8U93A1ccvyN+pmybcXRbVA9Xl - g0U/cx5hgowcdhn2XwxOg20J1PZu8Y9j47qUtOFCYc7zoPLR1t2ZGQDFPLMEmw9Ch0JSRM83JzVb - asIAWXLnx7F9qnIc1vu2+ofzekDlPWHvgiHFYwOhNePAc8SWxQBWJbMLGg6XY/0h+ql9UmPcffT7 - x/+twUbwLaInFWx6WQ0rhB+zyNOStwouv6ZpRFmYY1UtlGlEh/rnD5gLO11kFWnvrvbUqKF8YHlI - gKyqyLXjjKn56NjaRbYBTxh6yYgoGM9LryLJ63P3+bRv/7oObWOYPEPBXV76xmb0imi2gtiWWSxd - 8pbbH3+Ue1KJbla0UXu2T1rvOpS20Au3tHcuNlPAwS088ZoCCP33iLTqi28OgLCEkpPQG4flA7RO - O4sVzwoSQgWW1WkE1UrPDbwaZsyOSUh7sGadLDof267783rwFtu1MhCPZsCGPKceu9NlxvLAOyMt - 2BAR/RMN0tMd7CNJQX/1ixxDUDLoDyOnG2m+0XekNfiur4ZOKwCoyghEfqLpMsGxPSIsgUhejS8E - fpe3cP7lJsggecPpKJeu/WinqfgvMFeMB7gE46yIJkos14QGDdvN9i/eXLxY6Axy1uSX93HgMCEX - AhboklWzxVg6XYuSoFY8UCTa0X1NTYFTWdQLKh9H2t9p3erCiwNMMsugitNlZruxCa+yj+8BZ1hF - 4Xtkz9rAQZWIeTIc6Uz1kGykz2+1rh2/tDYJomw3opUk2Bmm3ecHDBHQacXETLccWgEkQ+el986m - MoJfygnwBpa2u6vD2bC0QUL+RG/ARONirOikweyFqVwBpHwbXQVT1CHR6eYwgG5CFHr1HLabhhVE - POdV93jSgyPtKYylEIGvCxV9DgNl3azQSDHbDVRBUZ2jOFFRbMc+nHTVCjUF2p9o+Mf4G31CY+Z5 - WIuU61lmCbvad0eOHR24vPd8NGVoQGfaPYoOUdEkEiGXul0nl4kZ++FzxkwFKJUt6lu0rBXUJz0j - q/Q8qkzfluXteMpwBdg9E06dtXC2sIygtkbWPxvP01vDZhKe8SS3QQH+AMBleeXKdaHjxPptj1wK - 8ry5SfdaNr2TZY4StDiRa0XG/gsRkI2/ZT5hKcFDC85mS8mFK9wfJ4OUHbrDjyc99cNhg2MSFr8A - sSzIDAkyyp4rAhiQ8SoiM5zHTV+MMEvYbH2sUIhWIalDWIfLstB8N5xPxRScFYmr/izMNDLAsGWA - 0B2epn5iASxE+HpxNgT6fRRyUcKB6wF8YFF7dnP63MDExsUZi2NdtcCS9yDYomdK3wIGVCKC+Wb4 - E++P1i4A+caB2FVh2RNb96mQY37ZTX3HzlA3XNi9NOkiHV9IspB3wkUeYL4sMww4dtwTpemInCfd - 5orKOIdUjtqG2wD1XHWoBtWBEaOTcQ8VZYtrltuCEhAE6R45lQLQnG5DBI2Vrey9lpVPVqv+HWKR - M17QKGMXnwWBKeUz6ECzx6zzf2zleFMMWv5+t67f0FjfHFa7pgh5w9Go9p+hkBoa64DqFKUBkXTq - 6V1OLb+sx//Vem3DAcJBtvBOG5jDLc8RyrGyRyXMoqqmhXo6h8t4RP6HZBvVLfPUxgH7w3GGaEsT - TlIPneT2b8PHiovROc9E8pyr4mnIlo3ZoYPF8Ewv+5DXzYHutWKCkceBeg/WKOIGpkjzhh5KGyHI - FIlp194AH2k5rqc5t4xs0eiL7FJaHHlkyN3xsHpjEmjiE64S1ADehsJOy0UbzXhwmUXx1A4nRsKa - Wj9AI7Sn7RMpeeRSnJqHCUqll1//g7OlKbV4lpu43y3a8V6jzYn2aQywzEqQed9e4PioOJVAPpeW - gruQ8jeKdawUCzLQpiqKCU5n8QLoT096qV17pIgeTmOG7kleKjSj0E8TCPJfLClnZUjf4/HKxa/b - sWcfawElMV1EshgJLDssTt24LypPASIiWi/naDaw5NAN65cEmWxvt3vr93D4mpELDw2eEDxkCqLy - FJWXAeVV8GTex7rPszq13b/TnTvv3oC3crMk6qOy6tDmpWPZM/ddI/5VMr+DmqxIT/TYcH+J3/G+ - vaHHjFgbXh/lurCVPa1B36RwKAOOnOvukwYsE7wiBsLCv1iE0Oo3Ha/z2Zv1seso2qMpIlW5MG4U - w/Rl5J6vfiykQdQqfH68BSuEe2UCFxtntvB/f4P39eGLkXBlUlrvQsWSQ24QDcd6XLmV9ZnO/ee+ - ev7bdV/r417HSR5Jte2hSCC72/dwj+pGhtqksQ4VJcNUXSN84J/7JwfnHz+efOGHqbt/kFwwV7e7 - qblrB3HKxO0J2t/LKFNggv5RVAPkFoBbpf9pS/n6nNiN0hUS+ZOsrWKfJ1ZmZ1UdoWXB1CMOpx0X - 2XXxI3vE0Ab8yRKp0wivZRHCZpw+scoptQtNyMtetHkNdBcCbeyBZfNlj+20KXWT2TIjm6VhDqSF - LcwKWJKm1E8k6eOpfSvhgb0xBBb9qQDtYtCXNSvaoENphe7X3WHdxLvWLWZ1FYNDjCkCrgmTZBlp - cfz1a1+3wNp+vGAK3Wx3HhtdRr4WYL4SZ09ULWR4obv5rwiG568rkAlpds+iTPOJSmB8KiYd6PML - 4XPT6fCrYelYf9PhRQJJUZmGj5sr14TastvjnnXdWGMJZmt+OeNNouWLtnbpdEprpXRwiLfT9bBv - 6xmwOT3hVoZ17eZ4OmzbhuXggZx0i/ZvQCPa2hzAooVovKz+c6D50bB5KY4hcy9hOZ+QQauEpgRf - F+ItjgfeTtOzOI9xaGA7ZeAUOQ8QinLs349bPFfkhQ2kfCuOAcZEbiAw9szKzvML+7PPNXKbtVeV - XkawKiY8nczcbKFWwHh9guWuTp9cE58lvbRT9bYUU0jFLhEbrTCGXA3TvG5KO+0eNEYFmBbU4yOv - G15WsvTr2u7/RPL5l8/3a9889BMWwkzQos7gOcT5ugyYcuq2tHxUfEpyKQHSlBhaZRIcsHUugwSf - f7iu5I3xzfR5whPWZqaU3h9PWaLwmI9Muw08EUS4zvc9hHM8d539ovWeaD57h2VaUBJwEJXEqecd - RSHogCAYm0cAVvLqMhpwZr5aXgXb8nm7Ko6a0ENdFFvo1AyUOVt/99sUsQX236hsddc9A86wrJp7 - +KxjAPU0WhvDfNUIS3ubQ3sRf7rxfJFbiR7a49SwNAUrnitfQ0+0gY4UBnh+FSGHNp/dHyHHEEpR - nu4eXBhrqAAFJ8Y4r+jBfXygEh3oyeOIjDZWPH2aGRlcEhqCqeNlsIUW1eDMatgMbF6GwfiMinYS - FPsCuqgiI63t+kpBsHwKTquBVRtmWbjgFriSiHqki8GlB4ZfFKmPX4i/7K0htlDrURGVTpcCJMUd - G8pZGYvk+LndP0EIL+8jW7GxS23yteiNolAasgllgNGy5b/6tUPdnaLf3DDebvkOtIl5JKOGyzxa - 1iL9tdr972OovtjlUy65+HHu2u9AnbpTdy5OWnVh0CgPx2jNGkZ8XcmIjuM33Cs3+89jdacGyDrA - twK2Cqq5xS/ALTg6tkGHoylXBpRXwQq8HL8hFH66DNC9gzADyzIu6oAQMFc2OhiosZ+gbGG8jxB/ - ZMdmVM8NVILuIrbQZVQm5ID+EXsd0KsSdQTay6H0iDhhvfM/aQ2AceA8MBBzD8mLMHrD6SifGuN5 - uBQ5E/2cbrDXMeUGJhlbritZP3v/tZmwf2EvoyMDWfFyP8gpJm7gWZ6P0ojx57ptSk0tQ69gqTgH - mrqHtikNgGu0UFxmLJhvdedNL01/uV3sVWaQPI/IMrj15+okZ7Ic+qnbV0v98wDEnGXTO7hb2ZSq - XqljhkWxeUTLQSa+3n3uijoQl5p0ugvihwTtGgsg4k0+SLTd/7weFt/rr8O+7t/estraI/TP6H9G - tlYzs1FcdRFmjnBFjC8/LiOijvm7LHaeSPFPTJTcodAJdEaW8VHGy700C2QsqqX3imm0QMDBDDWb - W7Py9loKytWvtB6a9vEflsUwTUAa0mbJnMDHdzYZ7QdE1UqXAeqZWW0V032MBmQGtZf3w2p2PeC8 - Kj4GwhQPklrB3wZwq7bMwbcVHV6RLX6byoEHAaWnpIwSRaYjRhk1d3/9dxW7tkNzlmsStlksXdSo - s4NSdcGqlCESSM03RF12q/bIMRND/mwK96JC0UOJUNz1M5pBaxl07TpSamCYIqrRiMo5upoNpXyA - B4fJEI8xUXYjdr/a7onqdjic2XCDfjVN5lBBmugghBhTgNUFex0KSYDTtm3/4lmMqCu7ZGrPYtoL - keog6wov3XQqy9Kg3gXwsnlYCAcQRiL9Y9GRzYkD5Hr1V4MQZe0uU8M5BG2soTLGQZydPXTCmIwb - ZUfFFSItlBRDehCrKlXaWbRZZZrVNJ8gRUuvXKwPXGgLy22E9jJN0RRbN6DS+3TRJEfbIiRXPrmi - py2LZfilSmEC9s3kqLmSV16VKCrrKPECAvqmxx2WqBucJVDtyyy3ygAzkRjdujvRdFyc5I8CnqEZ - gRwX9gVlAL2KvK7Gfr8pKu6mCXftk0R75atzIYKK7bG8vAziPO63XaljZ9vkYGrUVrYxA2wPFn+J - eiSxITvAuRtu7TYIGkmopHvID8wDjAwW1u+x6WV8SIvgL4WUq4pIoFMrG1YYj6wwLqoSnzcbhhOX - p51SVBUzwYHnDWSImXHHomZKf90f6lp0STHOc6+3WN88EK98fscQITpT5PHvPWH4uPiHtO5y5D80 - L/cXLOC5KA0R0Uqb1RtFRz6v8egZkSAinB72V/ER93N6P4DHjPDANzN01udsHSRS6PvlOF8ur4Ke - w2Fq4HU1q6U/pP6gjqditCD0J8Dqk6wl2a37xt4L686keiYFisagaQfLNIwT1U66dgWaX6AtliZD - WHYVYVlkDLyIoYSLUZLlsD7AvcoxiOaJSchyMTY7dI5ZH6+oFktaJGc+TaVzpZczrtrr9AmVF3Vj - Zy440R7e1xZS/TctGJEg8Hj5fFAM4s2gWNGahXcuzeOk72pCojjtawu1onwrJ+VHZQI+NFH5koQw - JDJJjo/T5/izzhQvP25FInerY91nBQgZxgKQ425H89M1SvVeuuNICSaOM4SWbmFxl2iB05zK3JIF - b4EiJZFm99tw/PWnqtJMq/QghXOqsu8/2bgscgNBxVwrC3hl8VducUbu1ElanOPX+59KhpC3pwQy - WaM5EDzv2xMDlgJHTiYvbp+ncAPiy87MI8qroND7sede6g2NwNHl8hvTVhWAF80srZlkze/xuG5v - grDNTUNaeRM4F6WAOsxXwfKTqWTQ4nWMoGzozFuWiqB/bSgJR8ikEdWICCLt+H5B4HUrdS3zH4DM - tLKsbAjBLNnWt16jvs7sEggUaO0rvTSlLAvNGcOdb0oyZLYp0C5gCU7cKAARFpFyghuIpndjp246 - QZz+j3I/95R5/Sxasu5HZMgchKNDtKCSgrQCTS/IGSfGHkdZ8XhozxdWtIYxcFTVI0o6xFSkrlOa - Za8llbL9QJtVxCOGp6nLNbzfAyoF82PPO1XQQoHC8QvfhGFSGlnlvf7rUFfWxgGgwNeFjg/DeMKP - 8lwLi04L7HkM3Sn2e0AyK9tW+q5lrIOZvRvT0hiYYoMAsb6CESqtKhGc4Hhl81V4QDapFvGHpCZj - KPmyTJxv6Hfy1s5206+rBYBqVigWo7G5c5w1JhMQfJ5CinK5vM6r5npsPJuOQYHfPzivpbrjmfUK - uSwgvZxMB/B9+sVVdAfJLB9zbWymKXcGb1SXYrCVeUycx1Zu1tRTgOCZOQn4wlIMEWZrMJPy83Xc - CFFmv9r+sbPPErCZMr8MLvXL9gB3c11Q3020afFRgHHOlGsVxKqeRZEEQeLp8+NJN+XnTG1cau1B - 6h0izd5Cf+xGfZSsondYJkaQfCzcHR8hBi0i+kJQiearUcYDOrf7joWKatYz5W/OgQzvXKTFUAaU - V8FuuRknnFgUQtLnXEqpYyOwjEN2sKvAwScKYNabkSJCLjhYeocK3gDHJmPh6wTvKw1zSZGAwHSB - TSnHlDSfWTelKmkkw8YEyhX0rJHBPIbVtGN69ZM70czYpT3TuzAPKK+CZtRmjxLmTYPJ2tuuRUcL - 1qmmh46yvYLKpSwPOf6paU+nDPqA2UGoHVvuNF3KAQlVTco1bgNBTEX+4WAGygOEx2i3Ga7vSKY8 - JsY9I6ZtGeTLnCksLFf5pfmHLsNHMeEJ4UkcSMVEMztQuu1520GGr4VipJuu3xf8arEbhgdwBYhH - rqbA18Q2KvQt7M4XEMDSLVZ2ydWWZz6iGIFUkdNckP9EO2V/GQbkJQ7dfq5jLysSYBlrD0NKXZQv - ktBGYUtvgjxlRqTeOaMWoHjKTk05BhS7OPsoNBfdjrtq0z+udrRtcoxPi2TZMkYuoGkXQACfWLAk - ypzf+3H7hO+4rBgACRLlornoVDT0rSj7cGG+DCsGyRZ3XRUlklQ04TT44csj1Cc64HCnfTGHLa0f - we38Qj2WgkrUUvJiVihoTfkcuGpLOb/Vskm+R8CBNI0FZqtVBPyZiRpGahk0YJ9kMK/V+et8YGGc - VNMxlLERG3MKyaTbgCxLa7fbc42Gug4UU6NNMnNAdE5VmY++GOyHceMAgxWSas/9dG10QWo+WNgp - sppitgENbtDKhWZP04pF9ubkw9x84xX9oa00eesgF8EDAPoWbfyn6zc0uDZd+1mOhBppDNklWhxJ - mWLNOZ8bv3Ul6SBNwIpXb6AQGYCl42jX6jbtn31G4JDn6bHGUvHajv211BwtKxk8wj8Lz2B61A+B - c1Ge2aNwThuKbXD/66WYaDd1+I4G5XWRi/Xq6zt+Ku3wc2Y28qGb7/TxZAGltJZ2XjuPMErmibL+ - MXB3eMZyWX8vfyWLRpylwdy+KT1iL3Ph2XyrbN520/odYQUHmDwlb9VpTVkW8/6ycf4+BK9Pb4MF - azTt4M9vM1/w5mV/6sCBuaHawi2Ijiqi2ejomDPlev7Nj4zdZ10h8j7BkEHeBkfbv7wfpy8cURBp - pO+Qq+ZmCtZpz6qf3s1Af0EF6H09yiccRaR4yKBOMZzhNt1SYFQNSlSsiMq6qLKo6P00t7l1CYtK - wJsCXDko26LnQ5cRNjCktGz1pgII0QPzIcKGj67a/HQVOtpA+amXU7fpcPLQ2gY3Rvk6Y4FhJVeT - MyfMSVYW7dCfLHKohqaMzXV1gsIwZSDWha8UnIwtt1qNdQv28DZ91dLuq9OhDpaOmzpgG4cDS9uo - Oq1SGQLQkPZktz0eUF7Lj52uZUIAvnPbGGjfQcSvgy71SpAujQxE2Z037C8JUbaQawcOOP5YxqzM - xopaJKR4mEb696I5dqseIAMCXMEqnhJ8kV8lAKcnjf22O7OUFKpBc6avICD6Gq2nDdveLvJr+Zl2 - amvJh9UJLo+c93FR5b5MMt8GRSeyvueFIoTCeJwQnufZUzU9cXZhThcoB4LLh+M4X3JvPnqKpyOv - LgrI3BL6BX5Pxg3BdSgRiMh443TsG/af9KxlHNOyOJhfLe1h1qMtrlAlEhVvVuuOpZJ4S4Tb0vJL - RPikorZpubMtzNJXUzswlBgzhjZBVZ0LKtEZorlnjZPJyFoe/Tg+C6avzquGJSXhxBEW7+nA0oB/ - UrksDEFZGf7Jy+HQo0dvmcOG01rHxdtS4IfKFYKcWe9EVhef1rWY9NSdu9kyG640eimRg5CUkn0Q - lgxH9EYm4Lk9bY/PMvgnBD31Lry5ToU/qxFcmHuEkYxBJTcrMJN5gJBlu9q/rZDScTHa0HZTVaMj - aD6eFVBcnh1QBMuajlWbS8e8gYvRQq4U6SWKDwXtQgvTJpl30mZ3ZL7/8u6tjy3YfdEsi1mUzGYI - 9ytjQO/C1SzkjbeHFZCNoeE+ZnrUmhGcBNqtIowpFEyhRDpK/frUMTXIPOkboQT1SvuI4aaqZr0K - Les0H/bA2aiyV9Cp6RaKhxB8c/RscKwwwRKPSwTTO+3a9t9gk9f74/YGP4VyJO0od8ygS0AkU0iN - jo6x3Cw0MuHH8aPdztopd68wrUICVilFo2/CKlJ5letE+3NKN2qfoxO9ko8NyjE4hnNfiPqh8SP5 - Hqc9OoZ2Nm6jI7L2s6aoFqcyj9CyM7m/9lADmZF7NLMX55mnDVjlBDwtg/WEHj7T5U9WjP+yNH8+ - HRtOQJBz3kUIuC7vKf9ieBjOSQwRJKJwlnCWEQr8p4zx8CWmkMejS1sul9ey7wzXS9EeYfQDFwlu - m0+A67aFlmDxIshpHiWIJKf95szyuGYG+t2GwYAWsGcWizMFfOtlQlmn8/YIfBhKqPbuR0crBVBn - l3Ly5aqS0bbex6PcYardf56aoquOEMCqampCTTrTJ05YWlFG4DzLUZ7juZen1d3+dC02zAWXXR2Z - CbYp8JcyM+JBRhWb1sOVTVMK483dTTOCQ6DvgRs1GEDTy2WZZ+L1CDJBwTajcNncC1J04KMsgBKV - my8DkiX5Ius3qHhoKJUbXgYmL45ibmfSBps5VkOUqGWJ23HzNX6jNPe2PrNs6CxTmVNeVnOQQXkX - Ubb0yF6B0BRZuPVHaJKrPCujJ1fz3HzK3sBD0jELzf4BX0xxL2Veycd/mp7D4TlSv/RXPlIT+zBQ - NFQXNhTzm9RdtQglIcEz6H4t6oLljcfzsEL3A2KAoUnJ3Ct9zKnRCPMUc/ooegazTwao+MHEHTO3 - gO8qYsmgaqNgbx7nAVBXFyHZ+haeui4/dUw1alegI1M4qYuQhhaSJabTG+dKuqHAVKd6v2QSPCsc - eV4rog29/zwPzMuaAZguuApxmuB2ETloRSlNy6rk0+Ht8kSsOq5qeNJ4/ARyQZfYX5tlZJRKYw7a - 5xqnQ8qyw/HH+3GssS3n1Y7lIuGxZYOK1XdXcDmAG2BC/R1OkpIlPrTvn8VUueKjKLB96cRwPuI0 - 5OsyTZTTar8tdgu1uFhWjv4VpPAEyLg1ZZDgG+wGPlfm4FjVdnv0b9yC9hwW4YCSfIn9j/bn0wzZ - fnHAxV7eOTlbP5ukQdDlwmQQh2SfkETyTGOnHSepRZ5LubOJVuHtWUJY1hgZL7+eXai+aMtnhI7x - lc4/pODolAkJDQ72PJHVzLrDyCTd277kbvs6g/BziNoWAUXH0olKpvVVClo3UL1/NNZgI+Yo3LRG - 38o8VqZBMO7en2zEuv2VKfkAzSAcN1bXsyIEemL8pflItULrsPVHwxrEv+HRaMZ5/GK+KFtMq/HH - z1kBiFsb930OtpX0edGE5Wlt3Dy5BXeu7xvPJFgL4FmoFYUDRdopQhqZbXOijJw2HD7Zwo0WDlMR - nKkqUdla+i6cLAUmI8qcF3dfWxhJenbseDQ1FE7YbLOH4Ha5Xl4FGU1H4Yjh8KpunEBnlFa+zVnl - eUB5FYTV2+EZjn66dFyzpImElJKex+K8U1AGhY0r8xRZC17Ui2u3B3bMBE/v+ev57KADphVcxcuA - 8lo+3/XYyfUP2/dpX1hefGD4h9uawo5Dkx6OyIWwLNUBWwrfzBHEtW6yfPXTgDQfMIyEBsKyP0Hf - PTuKrBOAmaBlCD2Yf643OPPmwpExd2sY2myhNg5rPc7KQJlVsnrsdB7lBP31zybOErbYqHHvl+E2 - O2jR94+cvYYga5IOW0p/A+MoAoRs7SJEoNQlGspWUdShdwloPDvZxvxGczJyRvBo9aWsLEPt4Dlb - LkZp0tDuj/I5vxmOdafwfG6byEgFz86HlSKZosgC/VAaYDIz2EWR2XFqcdj5jA64NUs0Gx3w3ilg - 5mhAsjOAXnJgwdRJQXyhfA+3KG1ETCDKQtI8onh2SiLz7VYuu9Sez0ckcxwMAFlVcUNRSwKKkD3E - kfUFBBCC4tIgL33tt9PpT98PjHqIa9MdZM4dFP4oyHjFXgKihjVP+sQxU4KGh5m4Zw+3XMl3+VgN - e/GX+THCGjsw262CcKuk0PxILMlbBpRXwcz+uABOEVzDaOG8ZNShBu8i0uEAjyeQN0W062u3P6HV - 86Q3ynrMr8oFwIbK9ShUw9y3pycl6M1hDZ/TeBNwWKa5llKskGI5FVEHl5lkXa57HHt+BvdZm/VT - Whs0CiIOQF4cfKItf3d6B7bdM2vnsd+HBCQyReYwwC67vawwMR6GIy/YgGXQ5HhbB9EBWksxYKBN - zbHVg0uyEuH5ABSkuaHvlvRgVMAS8PwYAMk2Lcpqv+dEerz+rGbPsFpfGU4zz9YbqQ3C6IBLsoLv - PMBomQTl2K/AVojYgnSTwnJ6gv1nAx530Kx3kLyQin4dYABtbvW5oB7LIDHqwuVYhFIZjyYSZbms - WmwQgDWisros30I2CwW7gAGwYjJwiBA838P5s5jZOZAxeQgFmpmSkRCThcp2uSpbytPnEb4GXCn3 - wEKHuipmLU1R9j5gRWgYaIpQ2G/XsW7Er8b+T2DO5ICatRTKKPf339Zt+wNSFlQZVANdgeWNT8n5 - ULRXEhf3RVs3LSwI4hUYP4RX43L+OHoAdGsgrAeVQlEO/T6ed0wjySw4amu1CaVzNlwznfVgo3C1 - 7b7k5/DlDYLDhUmFGcLyF7fP6F+zDgGuaHM/VdR0Wu+nC08viupoXI4pVPcBUq8MX/PMpqL8Qqbt - cVhf6y7B9QPAr5tJgQ71EQaANFyi8SCKBtvvb0kBAqbe32sL54f8mqDKttvX9evttRv+3wgWSwt2 - T9J3Pbxttt85ULan9p31JSyLR7mFkSktG4o1TWai2qwuIQKoXKZP2GqZUuu2lAyGqrsHv6kMVH9A - Zp6FUc7bOHzj6V0+vwFWP0792NBpaG+MUsuKUo9vGBRtP1CCtjAXy8Le2eUIUIKctTx2uwHFDR+h - yFNZfuIffQbGxbFTYBklmE7bS12g/epGFBTnPnhYNsHDK4JdT7syBji80trF3/0TwBsilQGyHzzm - Gf4NP0dFSah5ue5PgDoED2R29ndwcUQ/HKEKJUsNuy4pWT2gnboTI/yMu9WyzEJn1kESRsMHcx6A - +pkISNm3Patdxic6jvcZNCcNSctyXT1siY/v19VzCex8uHbP//Z1vaDx81T/0zGx95EH/aNcVzJq - /eW0/oZTyqX9el9KBt1yMB3Yaz66hAppUQwSdWnfx7ajf2fYIO1GC2OVCDEqSB84lklGeChzNpz6 - dsNtCQSzlHrdk3sLNUOrXCq9kKITHGXC8GwcGmZG2cMfJll4aVr6qy9q62rGEQsQmadLO4dMjY5L - SAbWXECdsKg9C5tGZ9aV+2TciL6x++5vwoVaG5MztwFJFpMPU7f636UuBV8PrdzH9WN7kHuOn4d2 - wNRlM0pnHj56CfoJCOA1M9BykBqEvnXb4d+ZFI7nrzVr1JlZkdfoJfYCnSGogKLFi+6T/Z0E9e9W - 3GGHBQX0hkX70VcnT6J4IAKdGNnLMcrQw+35yarx8kt+oL9vB3l9ffj8AUvru37hUi8VgqA6QqCd - RtDmWtyxJXtYt5pxxTiyl5XkQHt4BFyCr3NCJQIirQ4A8d6VRe/7MCgXr8DUO9b6gbDoH3cwGxXK - rv+wu3z2CPnmmmEM9/vko8Puq+McFGZ+peCKu4hASS5+H7utQ4QWV1N+ugpAujPJeBaIb/TdkFOZ - xU7jKcCwQMuhxY4FIG2una4N66c3sNqcow9lLNiJwbA8dLlcXss8hc2XZ6Ew6HVAwne5ODTtD4F2 - Xkq4LEp3srilayETw7AhRFhLUIuH1mMwmk8iW3TrRdz97b5na/H5zFbBLLJ8sOYNP0/PCqteSF3d - rsfpjzkVpEK0zTHH2u09gB7onfM0W1/eYPck3rfX/YKSt3wPnwDYs07TRHuZ2uM3bAxOUHXBhKct - 0rlYseMCzU+H0gkqLmA8iNT1uumrYaSlbxhHeD9twXINDuxqzcGXjHS0bk+z6h0wpwumfvGUQ6Wn - YVczB5yhJCTp5Of26tD+FgwPBzQ+tLkbQD7iYRcV+zQltInLACPTBVuv1k950c+d+FvgpHv+Fsev - w1S6CPRZ0WFenOKwAKfULulbEyGIiApn0Dp+VO/aXn7+XDALnFrQbSm9UylHb0PDAh1exrLarLe8 - q2BjX0o1ZbCMKCW0FJaU6+VVEC1BHAZVyIamvlkAY9BsotAkAfAb+UsGmYr8eBxqSYupP749uUFe - +l7e7TxfVnKV2fHnZoLOr6o1PTSFKYltshJ803Hdyo7F4WMj33U3B9Qs4q139VAbA/6THlqC08Q8 - wEUZqPY4fcgNttrucnpC8lyH7YAGfmDFdFV14I3Cnc3zZegYiAg3A0t/QpSTdlmfKxgwCtF4Zh7p - p1D68zhdIMeoYUlUwr+7hQDFdJlidmc9OjGsZmi0EGr8c9f+7y+kspQV0DLGKJ9eTscO1j74MLap - XXdUpL+zJxVrIYsslMbTjmUbNQXT8cZBUT4oaFtpx3YV7EEs1P45M7dozgcoxFs8LkCeQgqFhJQY - dSQjeb2Pq1lRrg7XkUHTAaB5H5sl55ysfXa+TG8NW1KDSLXUmw3wf6fwxxdjdS3s8B+nqQmz463W - 91ph8oG2HhuUVXCsTiCrBcmsPpym4S+zLXiIKFpHOfhLf7yuGsXqznhg4aHjqaCHRhMO3i8KTRQl - 88/u3w+MwXlSvIOpYXyF+aox+TbAybAp4+brk+XboMzb3CSslQbtGJ1yBaWmIhGmZKy/y9eAlT83 - y61VS4F3aK7ThNBsvWfZS0qElT+cLgzwzVyDcjo/gIMBEQDlodgPHIvAWJnWZntZvRWn5dL1X2LV - kHIGlyEC4NAws7IQ4Mf7sVRzasXJpAA98nSMIcfllfVbyQfKY84UA5G/BzHDN1h4BxiCDUwzfA4C - FGTkMqDOgRmIQG94oQTWGm9zRRXPldJzABByPlRsiq/AvznLmt6glCWZENqPrg6NP+BUagrwBKzj - Oy4latiW0OkJQSXDjj5attZ2w2rPyPnZl+Mh2oSHp0z0kK5BS0CD9iySaD9O3yhJHVdjD4tkNz/e - O1TSYQHTvU84nXBEKaGM3ucFQaQv+ZMzrvbITgAvU9JqWa9UthO01/ZKqQ0HqpFOCLdAoiQsGx2h - IJZgXdRELyOd7Ea6yxF4ExAdc46p8h4JEI6AsAgbHdE4kbzx6bI9IgmmcAMdrSXUBTgU2NjZ72nD - 9zBUircdjU5mW0FNKS1zXkPvNHOzXDIfpzNlzS5x5Z+eta71Z5Eza27/K3hxoegbZZoi29NpfRJP - /P5S/Fvh2LaobKPR4xNi2TmlxxiRyv+1Y1u63xzK6X7AnCE7OjvKdX4pW1K3+ayxDe2lOyHymYM3 - Ct8fiTRtwC7T1PaQpgUZXaha9NHv5Rnm+m39pCWz6c+QXIRoAB28Sz4JYMbZ0e46X7fqj9r53oRo - wz9wVNfoJaPhG7mWaswD4M2uP5BwQyeb+9lB6HV0WqPBNQvh3SElKWCGuBByTuW6k8Gxu3GD0i1W - eHPv86gEiCGqYW6+6IXb1XrTH3Ci3M7t7B+pBbQ+WZY18gjHghuSvf3zUfgUhKFvX7vfSm779V+0 - zekjRzh+PP1Cdlel6CBk97LbXsGtjrye6VxVFcKJZgVEW2hjBQgKfAtR+/Z9W6uvrU7t+OweQSvi - /20wsdLX5YlmPey/fiHUyAHz+o7Q0gEKaFbThpHmy0YooD7tuvO/QR51ux2I0AyY4OnjFhZD9DCg - iM5dZHCJbcG+yeSZQEDUr/kZMkEpAqoUFJBYOw8or5KdGP6wGqcq//4c7FJUK9GMsQn+nzQmWFYc - FKk+vV96AAjp7KbT2d5PbgXAaKRQEk4laNKA0CFZL/vj7oyenXrW2M2G+27RBZyr84Anuax5kKds - oTidUsr+VciJtIVpo56w5fChcXdxGVHtDHKBGhp1GQeBevI4sTSZIw4HqJfgmFUy1uzn/p2ZMzD0 - bKBxtbRFhn44HbeZuTMBzTcZ5PD9cP7ZoMjL0QLQuo8A08EOyzHosOAag0zYcTpsenYkm2vmd5wY - +4FDbI5Dcfc6G5eJJG9O3f5JmOw87ho2pMZB+qirUNIVsoLfZblqZcfQuR8aewMUPZJHCp7R5TEp - 8K92vhF6dVz6w6K3/3Q0QCbIWgq1XoZ26J6+ds+yZQHy3RQpWF8FqRSB8OR0LMbAEDERVmv3REo+ - 7wZ5xHpoL2/NnVqvVXiw8xSlHRZG5haVTgfJHpHoASX70Klbc8rqwdZw94qHdwbioCZoVI1uPo5P - aY6NlNZq60KkdYYzrhunRt3KWQ+9Aey3r7C99JxZplgGCcDdw75FPpO4vRUXyMUA4r+DaUdxqI3/ - MQ6MLofgXg6nw6lhZgDOOUNfo+rC0zyxKD4yqN7JUDnHwxv7rlczpd3vQdpg+SkYRM3bOMynXtmR - BKCrWFy+yjBcuU2OxZuEDHwjUFq3k+N+lbKxCDnf9DIeKGmzBWbDZKMUTEUfiFByj8W2Em5csqRo - 9XU5NokVpwA/YVjFbR81r2BTgWGckJ4moVfU1wEp56MrtKCaOxQAlDGoS2r2CIVnphF9kX6/WTWa - C140zj+yaMXqZEyzwXU06r3M/WRq92PDwGr4purH4wCY1MF7IBbjEiH4uhuOG74ROB4pNNLGLJ94 - SsmzgdEMsYO9qORr7LrrIEdf71ftV8N6mPPEvDuyJwMpGmNZigNuhKymK5L0+zWy0wNqVA1q7Kma - +op2V9Zf8w7obO28jBw7no9TkY6zN1m3ZVUAEpkmU+AY5gHlVfA+q469gLFz0+OjW1QlQtB60dDL - Zg8iGieaPGuwTw0L7aNIepPAw/qiKD0kdN/ny0I1/uljz3Y13EVUj/47LS4NbJjydNPKdSHipWs7 - 9NYyba8UGYYKxEopePQI5EtfzMqS/I/+a2T5FDi+0x13lVIkPRog61kqgsu/IiHRqe/27EKoG9DW - kl7sFIHpr3Bew2MAej7IZHR3p/0nTNZNQVsElVKlcBYSnZYJ+y1bCQrhuPtuES7VwRzHowBgx5d+ - PDAuA04EsHdZbvEApnqfIx/SLCjjZZHysFrViJbN+CRC9T617QON/ujU0dkJ7YbgvLbfQqP3/eX4 - l9uxHLYZKFJAsR6iHM2tgwwLHOiwo0mtbpe10Ibr89yE4nFS71keWhX0HhDqLwPKq2AS//hEqWu2 - jzGOIpwqII8pwIEV1TyIRggVltafCPtn81a4GrtFthBoqcDrKWBE5FcRomvo6VSF41logNaO2VdF - fNq1FLfDWYyP/weTFT+Ql8Jw9DvZ0TYkqMf+NTFdTax7F1h+OS1K7QmURw1HdOz0qsjjiSAQl22L - HO0mcFT1CzQsXPIjhxP5aF/ebhqxho3pHzMsaQd7CDrqbfGacM8Xc4RAkcGm8Ge8CECYCtpSdMB6 - /9JftycoNpmZRJLvLNmYYIjlMI5VmyC0JhLuPV7GY1MoX5RZOm/qTV8HW2rHAeApK7NB/ADoZW4a - J5Pvt4SykddkvIms3ZodXkSxyvtxUxcKxnbTs8gl/Go1bH+W3ypnayJFK5YjXissT2z35y0WN2Xb - hQ1QoVx1iBzrYQ9IAEaLVH/Xm3Mtw/7OkUy6tUAfjCoEwHTouOhcYjtgNw8rP3fs69x+2h/qA2Jz - WNXgvs2lK+10O3vX0Fe55asRfQWLln7gejyElqysiXicam0ZIADkAfi46uuO1GXdySGFRTT2hMPZ - l3Lso+QLKAVtI96BiFwGlFdBqeQwHaoPvT316++QYRFjgV2Ppm/jsr1nIbynmwBgTuAMAdoTlEuI - euXtYct5FpLXBknHYzeHAxCiasMZG1wL4Fgs2TzGri9ERX0zN9J2ETEm1ARiKC4rwYqDhsORXaFn - 8Ki5bxfJWohWmwAI+M0VWlQv3V0+AWI0s3RJfmwWBlGCtoYR5SzI6ESgsO7YsDQ+Gz/e7pF1CG9j - oB3Pl8tC8O8JqsHMnkLVKi4J1lDvoZMJxGDLhFSTZf2qzebjwAgrnNpNdjXzgpLO6NkZkGXElWxH - bWnT1o5VKlmhOSx2bbQSomO9YEYtQH9K9LAvw5F/mB4Gg++qdkWEs4tiGnrgV1Fxqmvbb7Dlt79b - VBz23amAcRGUUxhTyTXTLgGuVMNlFS9Ly7rxfKneclPQWjNz6hFNOgNorlE6RvbFZA0IWdY8rq9f - OJvwi/D7073hArAQxZgI2Fk0VJu5Ay2A3u/rcuh1/0yTGCF0p8FJgnkGa6Yt5ranvZFmIlAcNPG4 - nSIsiU8fAwB684EdH5aqKqI9iqmny/Usa5F8dE8t5WvXr6BTpZbSdQpThiJtDapYuVheJbFd2z21 - rMe+/a0XP33sT02yoE4wSlN7VZXF6N5HQ0dD4up60jJy2Pr8q7Epc6MZ6DC92DzQIfAawjg2m0LD - EOoqj1+PJoQJC1B8wDz29AHA/qd3EHYh1jRJnu8f/5s87jq+7cGwjjMQmKKiWMGqE1RzYQ6CKN/J - 2Lf98doipoVlZpN9qOiolNbT42UfOBwRSVZanTtKNQH34+e2/cat2T31SmCoABg4XI78zUCVVgxc - 1uHjmQMu+zJG8HDfn0P9cTrVnPHL8cAurix62NxM3em9wR91MEtM8+XyKnhU4+qtesvp2CKln42r - TViq3qAn7UPy4ABzzGq1FI3eXf5WkqtjSkqqGMRKQcajkKocQP/IeGEgo1jbSrJjrfb9+/87XYrm - 2YSDJ+endqOj2/FK64WeiJsH4FUU7VyPI7cbIANv0H5YRlSKoh0W5YsIOY0Qe7bdf+CRzaGtgQ/B - s2gMJeAMWIGymrSst53aJxe4/vwEDzgdNiPmEHfwm3Tv1yWa1a/wQMb3p+s+zqMEKeFw7GaVbEbn - mOUdBVjL2MCC96yjLfqm6+0NAq/V64ItiCkKCblogLEo0gvVNQ0Jsmyze9kc305cgSqlQ5CHqwJl - Rp0ARmtMogQ8S5ISDKvpGyI+565HNInlh4AnKlXNGloDwPU07Efl/3FmutdQ3aW6vMBR7ZzYaR90 - lVPQUssoqvmCjRT1AbrdmakdMHfj2A3ClMuzieKPcoxzkKmFwPn3ywTZtlCoLph6+fHo4WkXVMyz - YBsmhrDq3A5XUGFnxLVzsaoHMsWDfn1AjhZk6vfnyxleePO2t/CK8gCrZkq/tC7XhYWJ4Ud75DaV - h8TqzacRISEQ1CFCpK9cLq+S0se0moMMug+UNFbK0wy7RYKZULjF5irSrXjr/1i54o2bzqjgnirt - twu0y8GDkJd1njUp/JPHBE1UGscClGq2qRV8whMFFgCppWL+mdVyqijK3xXdGEo86LAPUdZqOR83 - 57N4k+nG/aE+InpAOP/UHUrRs4Bb1Hq+LvvA12NfveFlM+ybcN+A7sBUWq50ZiIlg10QrgdZZWl1 - PHFoZekRUPhrH2FxwK5AZwUUNtkG1vJ2b80dOPM4uFSEE5bh36TrzZSid5sZs7zqLszF80WsKURv - qj3bGPDYcbH0xmSaMMf3j77hGk8dFkWaYhTIRAWpK76uhGaW710d4b9Bm7pIA0I2WC/TOmAwPewY - uCakWTxQtq/u/2ThljwrCmobcuKg5gvqLinW05Oyd7TFUITB7s/XZWf2ejp9Q12QtqRP8Q+3Xfvz - KZPfv3/Wq+V66J5AiH0P1SwAqhtoSFe6e5QzUGRnuRZoZ790wXz7oi/1iLTUHW6dPDa3COVIV6CM - SqaFOrQb8V2bxu7Jp3tzaE/cJeUoV6vKuN3DN9TCecwy2RSK0iKW2nMWuZ86QEtZGhLdroUkCgAo - bLNmGHwKvyHZk+jee7mC6LTdjwA1M4eEQt7wOPFgmZ4DdFB4AC7ItqbNNAz1bdmtQeEr2KSG8itj - K7C+MhnQVxrDopAmJKnc9pFB4XMHCnmHWr4Pvhy0jyLrdYFRLHnou6n9ybI8/llS0SWKoQ2CC30f - IOv3TeNZrmc2XfpP9FIBSGuS9b5iNSaKgEAH9MX72/yRrvX/91FWx7d6wfXTjybduvl+YVanIO2Q - 4Q8PwV46FpJMEPVwvezF92S7nyD6gPX4qL8q4DUiZXmIyfiajIEzTquWI1j8dh9spTTu+ZszkBF6 - POjQiBAb+3NTcJ2Gm8y3jQWgoFcKaFLWbh5QXgUx0qYDldaCvFb5EYGJEiylZ7hM2VN0QpG5/szS - gGgcQqjgFuXR8QTv5RQYvFOuC2Gfx8v2HdS+m+GRWeDT6T+K77wHVQhRkgL8xQgJsRv0/S986s4I - 7HivtQI/TrEdmpWava8SxolYKu3PY4sCo/pNfzbgMYcAa995gBHyCsfjNDvO1b17lpg39FBwIhRH - OtF3GPv1Am7wlI0BzQhdBwq6hq5H+OgKkpxCvkq4LkenPE5Vf2PLSL7rqfvj4Zmg/mJN0r9pGGqL - eoSmBeZfIGwP6CslEfTQ01LYEmJE9BYuzwOMUDxzNUz938vomoYAEPb3s+mAIry+u0E+xCfgRAVJ - eK9wf+cB/4iA5bSsl+NCNpvpC+XSBNo7RTu3A4H2Lro5YD7B7Zqvo7kv6lu2x9WfPh+mlfWWbdwR - L1/WR9bHjKC/wGB2MbM0XLooczM8ggVSRE3FbmiL1wBqZCk9alsB/rI+eRiVoJzqZMJa27fTCM8W - xzpQxmlVTT+k5AC5O0gHsv+L5Ag47Y+w7JlnD2pMVe+OnhyNcxgC0qOXqRe147T/aMwtgFo4ltJt - gkgHpTDAkcBVSqZdtB3fR0jEIR+FI8qSkwK/ZloOFBxBakXPwyTogLaVU+y743b/lMKNE6t2opvR - +KRr08aEEkXifQ+IcCvz9z5dr+x3B9192OrEJXg9AJEbY3EGCgyQF/X5N1M7nFE0SyyLulQLYCVU - Gz2bd3JFjEtrggR9GLu6d7Yq9sE4gilyyU4Zv/xqJmqrUSzl9koSRhcf/f5//6Zpde7lBYDt/jzg - CSRmi6eFsH3R2ghZIXzHErS8BP/9FzFgjlG8kF9WsEYsT4AVXIx73C1I9aOUxTVbBHo0UFTk2wzX - eoZ3x5HJZplV3dS98QRXSKu1ByGqXKdXGbxr0zJPGkdKAzG0ikZAIZpmDpcqWu0y/NXpUCc+p2uN - S+wOnTx3O0yXI3zeEUu6BJ3kxTdANSNTApsQgeMLaln34sd594VnOzeEHhswUBOvNkflKZApA5yQ - wtJ2/cRRmmosYvHsa9vooOHZyJXCkGfDXkG7ZxpBRgYRYlbcmLHhgTLQCHw7rllZi3HXfcdj5Iwe - qPVAr9GJTTFGxTFVkdZc0Cxd4TFMZDD3sUYfSmOt1JVQk4A3pkAHbL8yoLwKItKvu9PN8octojhD - Aa+plcpoLYNhnVCFdJQmlb2McwuAunKsjuJoFHv7gH/HryLIXP/z/U+VgYSqPMV69B/vyvv2cGlY - eawg6RjdvthaPe2QMaIljimfhI3+1eWj+BLxe7i7DpFCUAouIGU7GOCbJDv7tvvVL9Z5X9QyVPQG - HFXluKtaLvJr2ZOGw/bYFMtvBXEdF/xyNlqfI0qBs72DCIN8gCwA1+8CgMx1z4M+V4ZQmuW2qw2y - CnG/Pn5jQR7fr3TLs5pV2x4WGvTBXpNVQCU07PeVZIixH91NCGC+6T/HP31aCuXQHLLBmzqT4yQU - MoHWhZfV27o8DhzQOXhXo3wNpaQeNOEMuJgsTmPqgjy/W61a7L3gbdAfHaqmg3IGqmNFQVGYjJQa - y4DaiSmQOXfHIdE9BPrIUsjgMcD6eZggFL+sNwXVDgKRUX5RvoNnrgV4fh4gS0feLit5d/b4ybnr - TUUx3hP6nBzUJBVjODUTDLRMRPF8rTt9m2FVQ5Dp45t0V/7ONiw9/XAMeAXBSsMyACYiRZHkDd21 - yTdIp31Q1+kgz+yjg3COB2RZ0XoYz13JK8GdvU0lr9ju1UdukjFLRwaa7392LLQhfdJvE2X48Ani - iCFWViLgDSYazpYNma1+RDSz8/F0XT7Le8SA4O/V06Bg3DygvApu8/m0+R+z2dxvRFoaQaeQcZb7 - hE5LVU0+2j23eiyXW2zU1UmutNMQrI5csWT1BtGyPe7lxw0d0/uGq76+efDcM8jLsMtw6T6VJVvK - 8QMIDV84HqqhlHqZ7+aiCoVKATPvtJe1Gq/95Ut8AzafAAEWQUicYXoxnQ2EYpJGnxS6vij3i1oW - m/4wztTEeqKByUPRFmoceR4gZTD2hw/a/jBN6byGGE5VVwCBEVsfX5ftG+NHe21QiAwlHTfRxypv - VUiWUD+lkx+lOTDHJIvmuP9q4AsK9RnnXFwW2C0kHjQ0VT07kshQvaeu/fy9KMY5GYqFAMr5xU8v - LijlX/qRMmdtGLLZsHP97dOhqBkpp2EfNRbNlAE7un3bPoP6V/sJNiwoFSRd8pR5s1KUCcDMMWH6 - vpbDR6Qsc/nVI+g1hZvnsnVVixCuI3CzpiFIWRmFJLj3x/4AWSTaDxsfn92sDe24BjkH7UVRxhK6 - HPsnws52ff2NCLAd25//Ro7wdO4XQcbyTWmOUEBnYnYuvZzfIaRUP7D2zAo2YFwDL5qWlQUNcD5t - r4516kKRBRJxai7rLzZiciVnUnGx8CEwrZG8sm4BIKAyQZTj+tJCVn6WJHX3eZES6DFAB+ZQBqj/ - UulbzIrPL0x4SrwguOJBu7m9hUMG75N1CNHja0nPZPTk/Xicta4jtK3cUp4GJp504BnmQIN2bWVe - xOcza6LomxyW07Y68hJbf/oZyG+EDM7DcDjRDXtSBIWpidXYeUCFVwvhTIjTavqCUNBivpQVugQc - Vp1ceLW9jjVEbDXsb7scS22AA3/7SW3hPkGf2sGAFxJFi6tKRdqRaZbAGvRl+znAvhCtK9XcuMsq - QXgsKQr7rS9X+UVwfO+B+kQhmFXEK02jmBzbo8Hhrpxagghu7M6NvUUgeun+CZMyRymUhtONQuAv - eof25xFHEkWztHRjTPXMsAZeZByzuxKzi2BN19OD6uZMWh7bNMuVDSDK8gglew7t5/vDI5Z2nPsg - pQBSowOLcqabSaxIz/69p9/N5qI0d2iTSEvmG6DWNlmG1PqiPcu6IIKSwbPn1993k7GXW4vtzsVg - L5b2iaIjqEKOU1RD479rsrcb11MxMTQLuj3l/QaFUuOgkdywFisPEiRqw/H4UQ4WdJPNoqMMjX2P - Cn2+W5+Y2wH/wXvCs2XvvGppU8k+fEsk6XzZ4FRHmzwiv/GxKlYqFRzUViDJwFBjoYfoZb2R+7p2 - bI8Gj4zccMGoJoJHDZ1KpgYC9OVlYJBLt99ALi3BquiWEfhoYAQc4d1crvFLeTbt4ZOlAWyTcKbr - JVsIJ3zWJueHNoDosN8Nq5EDcMzshpHsi7TOUjCLDd2yCIKRGYtfNt2fHo31GvB/evwAly9+mLYo - ynDp6KKV8fI+XiZ4Z8IBiXGOy12fp09UwKQwAMxbmbBADw1D90jZsrJ6kbNBhtYwu9oZxnxo2dsc - aeuHZjfrSNFvUWGx2uDw6U1kYlip/ykhX/14Wr81monYrI93r7JC+RJT2TJrhRuGQhuM/VMzeH+4 - vNXlcojt1OlFN6zYT0DdaIRLfw46TCBShnnOxmVQ+BLhakYu2umiB4BdzeVHpA+6IA13AFdmlooU - FpO27aErooYaR98tZVERlBpnWQfptpxF2VnPU2VursfFlukcLULKYnG8GzaZ1zKfkUu/3c8mdpjS - d07nzAqKGabh5XpAXCI5v7tNhzQYjWdO7so0zDDWiTDWyfNVehU1PQ4tJVy+wJQhP28qF0tH+Ted - egZUxwgXS1HfeDt9UoaaGIzCahp3f84UMW0dpZL6joV+LhlBfp/Oeqd83R1CefoVzjq02F+G7vBH - 4Nu/i/Y2rTzT+HGg3d9xExUbzh3cwwkrnS4h0D1ziOh4lMjd7nAG5zDMVGn1yFgD3MtoycBJpIww - TpZMtt3PS8laqiBGJc/RKOAv7lupzWWzbtkI8JlD56GOr2i1mIKxUrdXwUS7HI4NfV6cDoYihJhr - vknIiZalRY4HsmiQMXfby1cvni771bmutnXb93FhNWnqMhVESFN08wA4TYrUUA4HKJTnUht3ST1C - FMcGZ7SVwPhYof0gUwzYXeQcnHZfJMFooYBB6X2Vz9F+TdmQYcVrXEYOIaLSjdO+YSYA+NbOheWp - RjsbXHu4/0BhdpL10zbd6cDYFTRfKVh/iI1QyPBqI80/w/qBmSEuIuLD9de+fZiZLZQiKUt9hXQ7 - 8KjlutDn8seEThLWEEAyy4gZcg1epchIK9rQAp/PglPteKYYoy7QrI+HS1Po1WhNqIVfFU0CbPe0 - B6G/D8CwiEvZHU8rFiqe+09mOQFoL/AuWV+M6livWNQh2m6n3yrAh/59rAO51antSjaIAuQ9uoyM - 4s+e5vt/ThixklVmde2X8/6TOzT0hCyljAvVZyDkQLmD3R+uG1ltbmQVv8ACopRuQ0Z6mVehYRO4 - ZcNaZV527F2Hy2djGZMJTxDvFjMRrIhY1DhZq1/mCnbYn+VRw9TRfrJ8qNvtQR5GbDZDD3NyxTfU - BG/q0J7Wd4bWGJP5ZE5W3Xl6e+AJlj1ozpZSNCh/zj3Yf7vAmOnhNJ3dhuY5jI7YKxtyuZQ2VKkw - TU5l2IIdpW8hbX31zmqNN8uyO2yLfjXIuGjY3aQJyjjJ+f5xwfY8vwkcMutahqUnki3rwIaZUiv4 - JsP6nas6IMfgWzhT+7NQrk6nP4g/pRIJgLNIKv8E5MHsLWD0kqUDa40Ajr4uI5TsSNqvpq83QNdn - ATlKGF3ts+Bh8UopM0CY8f8DucMD60lMAMLRuO35ZdiJl9j5V8tafXOdLipbda6DC9YUSwLPTZnf - ub7gk1m4JT+/SblgUno5HMepyQuJZ3qwVR1EUR4Dk6PMUHK050Rm0RCB8mzSzFzuyrKXdnk0mDDA - 6lmaX9AoW7VP1m2ncSwwFlq6rsJJB2+hPpZpfadynV/Kz52P018kSTDfrIJXSb2nJM0mndaEl81l - Xx+m456PzmRmXej7R4DTN+XE0ZQejC2DKqAhpfyUA0TIW/zDsTNdmAkzb5OuEEkfdzdnay39kzds - mANLbBEmaL+uYfPteoS0Eb0v5sujH0DhlmMRB5iVBcbPyHqr59VRjsV6Pw40r2+eHh6mRtUCz8h3 - cXzQHpVlndnV29vUzJsIJQJ2yfOA5nCwKfPBgRdRWa9bgQ37YKje569y9ByVoxiziAil8jJnaOvP - x2Oq8KmJlYBo+QVF0Up3QQ0VGTTFXE5Xiz5SVB5Y1lvDZElW/h6u+3feZqEMgHTcqooK42BC7sxt - iP6jU5Ono1ql/Pu70AW65YGS6F+//vJ9s6WNOFKUCXbqGxfzHWybbHCx+iQUYPJWYEI53mQAjnZ7 - aFClBwHMmFhF67TcnVYG1zOIeTL03+FrzbDw+bjR6jGrKZGi+0cRBeKloqWvZSijqfsEyQwsRNpO - VA11oSwkAAPk2OvYWaHCxH51QbQNMTFYZIRUtY5pWEw82V9L3VpErhhGNgNJM7QsPjS4THJQcI50 - gD4iSElA3v06obUb7W3vdUv3CkgPwjQesv8RR4yopNofTjjdKTNymDiL369ZFtxnNidKbBzrZPL7 - PWAwxv9W0cHEpWQJov9lAFQpRDfqOBRf0rKL0U4QK8IaHf/Z41lrU4TUlbAYMH41LHv96Lc5lGqC - 1g5BPl9zMsG1/dvpIj6Pzt35WeB3PYysppBBqECo61OoYIMxhGAASGC2iY4yv6PtnLtDE7K5VXgU - sJt0OkJfLd9PEEmGM0xnBE8GxirW3TOPZJCROG+z4QjLlkGSLu9Hw+VViibSkqSADM04WPs03J83 - sihju7rI5R3b/WlXOzF05/Hy9JxX44868b6s3p9qqqceWpo3xYv7PYTEslEhRCSmfF3o5jJej6yC - CSuNZt5CfI4UddNBkZMFeKCk6kZGTD73o7wX368u/1uh1GlYYe8u9AQFDtqm4cOBKEcxsUeycn90 - Q/efqN7WadQwKEiMlMINw5W1OSw6JnTTat4+oFfg9HuG3FtZt6HbNMnfzhGjIPGzjE9CBho8gdNG - J2WyGCk5dVkoBG6OpWRZBaxeQZw03gApIjrnrm07Bjzkp5qN9Qh5jLEoGvB1fhFEQOP4Ddb+/qkE - Ng7Huoc9Xp/8YfbDr6FhXrph2d+7CAZgK9kCzRHLdS3b3z5PT8XXCSGeL2ZHaOdbX+n0qewj1LOh - 4MxQK22sELb+Bv8GBmLTyjImVVoCznpjCuiNraCF5/7l17HeDYevHsppKs9IbToyFt8P3R3YLVqM - KaamIkbpqhs3s8oC53+VzwP8PeCZq2c9W3r9kz6qAWPHqH9YT+8XaNhjP0VododXUhwIhp/zjoFX - 3pRBAlhHv92CoVdgalYtnlCgEJ9OvwghcRa0kXEjDsfprSnBFuA2xuoa1gdxLRbDQ4qcZYjczdCd - KHblfQWseK+qB66DSfR3GsFca0v/JFJjX2+HTl4d35w+P+qJukXHB3hlePo2IeZY5Sh0TGdAMgxb - LUAGR9R+OZ22cApMPEM80xfrsmrOOULX2hj0E+l/NQVWoqRrtToyx7JEAEi+H7OJYksPA3DGxzgW - IpOBcQ7fwOQdp7Fn0tqsC3ovqCQOVGg5QRGABgQ3DytP6jTsQQ5i9Ta9kAYK4OZ7T/keat9QC3Oy - xB6ANN4nPR2cJi/a0RnoJu/gwGdQvhDSWtrL9gRITIItTUjLSpIGK1wDv2XZT9cGYU/97etJc3Q3 - vcu9dbr99YLm+/yowsN6VCGxSPjEpgwQtuivF7gMY1tjdvISOAfrb6gug+kZITIURDYY3ZZNt5b3 - 5DhOq4Li0txFubVSKFh2Dp6O1vkYF7BNwZb73uE4ZdIvo5gWNFG+dTDUS/chws7+kSYUFvETSkNR - qA88PZ3sWC5lgFDPcfy5mZ7wfqfLhW5pyyC7W/inH6vYBcoxKVgOrKeHmCnJkGyHtmVm+fLNN203 - PVvorM98H2eZ90f5PyXg002MgCaxLWgZJoh4d0unoL+nOOjla071PQOiHw2QBPizCRZwNq7BCG/J - DqBu4xrQA3O6pQ/B0/M2IPQ4TFvDgBGRRubQH0FPsA1WIjd3F+vRoyJdDHtQ7UqS9bi+sJ3Yjdmc - HnKMFtQkbcHSYQEtNhmwovfYoRIl3vQuOKtZJI6ZWDFVDO8I46nIwpg4oQ3qXaI59fH26964KrP2 - AZvRFpUApSH3wf3PRefq0P1F0qx02bxN+qmRdLvgk31Zje3PfzGVx0vPfUlYQDW3qNrZAOhqytbH - +SL6kiJlznXbPbl4dpdL4fdExJGPwzHSfUahCcw3bDjC03c8w32xZoxdun4PaxxQMdkxtj596Ccd - lFYyJDzin3dPoAz+YS69X07FKpGOGKcX/QhH6yfDTcbS9WCkTonj6klRezwf+4aV4SxjEWptZVjE - aWgdAXbnZVUg9u7w5qb2sawkAxtIh05CoX8eUf5HECa2t36PZI85gK8Z0gyVUIu+V8D262NAHofZ - pGQ3YduOcmLS+7ksfPt8Bz2Mb5zKIdhYrguZXIBaQWENeyjlY8nVzCdICKaiLcpKO7IdrNtRyhe5 - s4Igjd0mbu8RaYKZYOjRJxiaNaAiimw0V5dpgcr777/gbfN1RuIGBZ7mHubl4F6TU5z5l4vl9b// - /p8/fx5nX+HEfxa32eoiVVsul1dB4fQbOPAjS5UAoohY0y3U9RMOuBhVsQZFe5u7T4KEc7ObGcma - jsNIKUGFS1IQRaL9DdRlz5pSkmnQX/tv2NaNH8OhCcjcwIiI2lcad8qArJmbyFBf2eHydnp7agfs - j8zVgbhSEYvwT7VeF0u2w2QTL9OyOo9HOisL+V01ealnC/8hOr2yQUeRWeNCI9tutWvY9zire6nX - AzdFsXSiLYv14gPQyaKNdH+afhUvCkwg1om6fQOoJ1oWCZg1aERyZO1xOwDCmwHjDnrJJEEBlJL9 - DLAoa6kKtffOX+czE/XKHXL3x5DABqFDnoJadvYweR4miWk3BaPIEEMWjZnDZk/HOv3dsBovDCMB - C5DMpR/0iLlGeOuqQgUWQMrsNfgJfLG8Sg7MX6w8pZ6PPANuOwWVUKuyfFaUYYLApO8YXvngYXr6 - vRHSlSHDyK9cLK9lmbarA8MbWKBIw9/iMTnQQKYcklaw4xq8E9rUTIepbgSOU9sCzE67MUp91toK - p5xpv1TQaOBaU8gyvOj2dP1EjkarE/fb3ad9yhCvQlM4qrv1qswrsV0jdtDAi9NjdMtbZz3Neu/4 - epYqgbUdKO/LW/dz6t/kjaFh+qCMk9l1voF+SaWsE7xWHMMkJoPqGGU5+nga63JTe1njUfg5HPW6 - rnLRo4GMCiJRbHIiKu4w3bM6wW0+fw5/8xrFHmlDiJS7vGzG6RuH8Hb1XvfAjrtBHthc+lJFDhTW - 6eYe3yNLfDUGfAM7Xy6vT4kyu8tFkCOfvq1/RVcWoqgfrGt4M9ymX/FAdScPRkTkIr5h7cQySBDe - bu+yrXPc0D3nxau3rmuK1DAv5LTgjKIAlz1Q+TzAyibPYdXOpFdTTrDbKKcCxLLogLSp9IV41AOt - f/tdWDCK7qj9p0l2ZksjCkTRADFpuQhgTBYjOwhH/uVBpkkw7inB10VHjHISXyUkMSmjHWsZI+Ry - sv7KeVzxtEBR0zIz7NFSpaAInI8IhZF5gE4yWtD4Y0JEVbhxPK0fcREeQrKJ9RsoT0yyTtqpP3/I - V/N1aEe5Wub7eVcSb3Rr7kCYRDErZWZ04ppyVbgZtofVuQk3/CR6Q9XRlIwF5gYj4FYoisamc9ck - 7kpAIT1VQHcLpKMHaRiHrwzVCACE/Jgb2rrMNV22Z1oOd6dI2kSWqpUw69aKZm8TOESlgFJUsjlM - 3Q7xSsg3RvWTqbx3KtIa5NgngIMuigrGM3xCiv8QQz4f1OPZPwyuimDwc6FduJXQBL+yPkZ5F0sz - phKvpMDV28CwAsuvIquC/vIJjwBw9RXtrmqxuaMnCBFXz0TtzHYeIuzJ+68e29ANJPEoMgflWNLH - mHQbkGQ5Ig4Qy96oFpSgXMmNQCXO0yZp2VnbIsgXoRja9+tQ1zqH6XJo1MOP9PZjERLNwIXHnMp1 - odrX5tqxjzvttOg5L7qfSNsT9ETQblYsB5hkUNZ2wcz8688bSBwXS+bHxewdRQMORpN011nWkpK3 - pJdFKI9Fpy1KobOVgM0yLv72uOeun7EFC9PcCCjKOXgUOXAO9HzZCF1JzpfV4X9MhlBNoVzM5QYN - UgPgvdqUq/zy1zfgNuXALjlgITUwp/XVLq18VhnKLwwxcE7G/Cuc4f/XERNdm/XlUs/e/blDry3e - UHR3D4kUFdpMhuaxLcmZkul8HqdumudvwZxmVVW+kHMbRvQix7TCAuDIAuPZNE896Ix3gHsNcIhc - fMMgWTX/o6CLn1QgQsR+FQxazQrTX/3W9aTTgZYnLRTLlrQQCy4ULBR+b79IKRNfgWbWRe/X/M7S - +rcn4L56xONMTtDlU9+4CRBU1dD7U9FF9y2cQb8GzUTfPXZ1DS6HWTYKK5nPDgp+tMhio+9HeKWp - opJcaa9H2tJDCFj5rF9hpFi+DzpDsI/YWUftdqsQVtNmi9azmweUV8FMWh8+q+ez/kC25W82hOER - i8YALJFhmjrT38ogz9U7+1Bx/ncPqZcHc9ux3T0BHugzX/EsQ3nqMS446KDSu+RgP8e5bMNaWpLT - 9jpusH2mJwE55SMEFgJkGcM8oLzOsebu0NYf97rds3bDPEntUugj8wKmTxxYJ9zP4/76cSMvc2OW - ByHNDg84pqUIYfureut+YqE1WKuaJt3BDMnTbcoqZihXGlXkwWS130/I3FZTavzNGXo4Tvz7UVkF - rqwSOtMe3syOPwbXiJVMVqpDjTsiH/FWV2QuGhMhhVDIXnAXkcTchxWbgbEnGazlqyIEPb9ceAWZ - iX6iZkb7uW8inhXgoS7XeGgKjyOd1hEo2ChrBKzaHarXyJjpF9UOEsgWg1HYhxXSpJRkVe7xc2hg - +KCZVff0HegtAp1P5Xoy/xjA/L0ds4U5wkx3owTExsdZB0HmTOsLjo3c05QxCH6ODXvrsCQJ3ZvH - fUpAEOQIyxBIy9KLEanF7NcgucxWptEuW2MUqVPQwOhLNiaQ9Qu7/q78M6/Bvv2o62rH7sI5C+go - kU6ZygmHIgHFTjis2WmVbA+9juPXkxT3Do3IBLnM5l6dor0U1EGVIcjMV4OMNjGujl/grnBDEAjT - Wr61xGSOC9wIE6Kw8L/60QTDKFXaVrNdVtkAdbEAMzcBMmgNA9hFJZzdv0mL/uFODFsg8QDDg57B - o/thKNilzNcC82kKCUaUuK12VwDZmGxM+YWLSydI2hJNcBEIC8cVJgwUtUdXH903mDD9+dehubvS - aAV8+3LTyw72RnEe8urifXCdaFprEopHPOLp4r3qdIR1N/qEGjB2vxTaBM+FYmwAXvl+4cSVYIXF - N6K9vF1QEMJ3vaeVUMHQ7DcP0ZHb5SjjP1xPHQLFGw35Tucp9L6o0OCkAWhDy4C4u69fR/lM2Ezt - EzC8P/74KoLBLJyf0wLHFWnxJprCRdDeleTqX70p7WLInbzX0b1Ml659ioXep8sIqaCATOIuke3p - 6KVbQ0eygpoQ7IlkuKfzeQJTJjEAV9v7zqRwwoPVDoIsK/UCGyXYV6ZvWHG1U3faV3dj7N7bAgWj - Ow3F7UfA4AFA9FGpdDcWuNnEXbZ73EM158Pmjk91Ft4UoN/l2QVLy+i+/adcN2/VDTOhBjPKO7sA - QUNnWfnkmFADm7uIWhS9GrMo3zHrl3uimgeq3LinDclZbEMvx+HjG4/jvKOM7+Z+lFlBblkcgZBl - MBiCYrWVyVevv4518389fuwby+5WVVoF8ucr7dBOQb4J160wWT984UctV3rhGlEFNtpF4yzM3lDx - kRWUf+wOdX9hS9+R5dT4K6W7wFb0oJSlYCC8zuegl7XUf6230CFLN+70Y05RYkBThc4yDnchkiCL - ac7j4cBEQc1+vvd+sjIIoqGYaufL2sq0dca+XyN1gQIS3M0XWSCQTRSn0KEI2GQZJKhFjt1TLrob - aCniQFPlvlGoVuWetBAtbfxgpnEvSwsrdIe36QMVOjujk+6TOvsEPx3nHSvUW1deyqf7aPdPStLX - 6xHbN2CEFJzRzy4+LZTPnEuw7kCIIjRpaIdfzJGfsctePWoCCZ7jSrEkiWEirDEyItkHLYfo7t02 - KEZVeSDdcgg+RI8FHg36ZQLE4dQh5XeqvuVaA9oKswmEIHxdqLR1eNsjLDAMXm8oUNTVl4g0dRDK - Ab6F3ZtCHFnJf/35JT9sDvvpkzYVcP/ouLnB1mC+/WrpJsBWnqujQjGQ9aH7eszP36AiRlGkFNTL - ZviA9ijT5Bp/ryHSvkeHRlZsEc2Xo5JpLLXbP4LNOdEIwcQni9LbBfxHIcvdQqP5B8JHuxnAXZrF - 8oJbFJEUsBJwN0MXCfmwlqXD0/v4Nudc3FFVlTKBjlpH6MN9Q4ixdNM2UJejWxJUE+47EQVT9OU0 - BR9qvlxeJbWw7pNjlnkPufdso2ZNtJRgtlwGmCjTBDtfut0cCDcWbuLVtDMeJgsNZ/EsmCo4w7+g - EsECVaAI6so3C3sUZNxZJRVMLSer6K3G9R+A+2i3gM6kdaJ0Cds+Pot0B9hutuu/OJSlbFHmRVfd - vvwaDtfa22A9HBtU+UE9pZPwqVbnIjCYgbk7FPyJfG7ej5sBuGsYNoD0bWvaPT1LyMc6BjZbIX56 - 7PY9u8M8iXFon1kOOfqQbbnOL+W7n7q+VrT5caHsuogMl/Vfo/jRhqFfhRHQ6xYeKW+nSw8Ol2e0 - bcg1LgcuGZE+oS1aejJsCP23509pn24HLZpEh3rSHrw+HlBe58nwcdhUNwTwKPGkHK6dHBx1eaev - sPwo3ekip3AfexatKXtVym6pYA3cPm1WCEkDk/n8n1MOA0hk/IeNnUJnGLUk1kj8P9KuK7txZMn+ - axW9AJw66c0nCDpIdAVAlFT7X8jEjQRJJEtd0y+q3xv2GyElkkCaMNfExVYCdhD7JmYege3YC02j - hnNX1Kvq5+rQk4vOgZ9frgslrj43dJd18bWCW9STErvTAOPYpli4yHRSzpQ3BZZZRN4XVVqS8yg/ - MhRTwUvNIaAJRogcPA4TekHIVDy3akIFg6RvRnsb+5GjJyTKMTcLj8k/gR7W4+a7dZAczYvgaTay - usPL26++LR+F+5kPI44ERQcXrXW5GN47mazxabyAW3qbOI+k20UIlnh4A5brfxYB/vfJ+ReugMfX - v1Bo+Nmu6418WPfXhv0TZjHqO+ctwLM1oLMGyyVGCylZn+GyOYPa75mx05gb+hqqlBDw8nA/4QF5 - HiZJZvuVHJ16Og4QFWdJHfqWMVfcK5VdojjwpgkpOsrW544tjVGxQ3pN0WysTkzKj6xBjyQyIcXJ - 1CsmSE9K70J7OcpZ8MN1Qtw3LxeTffXtggtOO44MNduIiU7r1Xr8RDPAcZfGqKXaACQxQJtyZQAL - 4wnWFpTKlsvjc/9VA+7fKPu8i9FYv6DJsM8QpZL0iBE5YJSI4PZclVkf13UgerrucAv1rGIc/MNJ - x0AnIqLwwSOyGGh63Q3/fNRSGm/tASxpOz/hFBfgUw+6boIob8NYGyX77tv1+1iTPlbnjydKz3ai - lQSUVqlYQmG7ijwTbSeO4SGgZ2Zhx7nvW/l20h3Om/+p95RoucC8gL6AetkdDox8fRJeBbqIyaeU - V+d5AF6xZ99rR4+3CckbPw+x3110Jr/su767wdsqLB4FYZTImQg5qL8BuO3bntnOs+IMPatUIX0T - 5XaoFGFIxquVSdVe9vUk2fxkv4BUAPc3VzbwIvC1cmD75UJlE21Em+67bZYdzUJAH+IP0uzdeK63 - lPPb1DLSZE7JILlVFeFxPiZtochPty9F2V3arjfvkA6iiAgT4lb8UrRhUNJKgR/bdrAujpaFTeex - g/sNG500zlWOE+EHxU4h0UHPIi1C/Ox2WLXMUOfSWQ6VYI6mkCUn5qcrrr6LEJL7y4ULGPPyoyy2 - rmTSBuNBv9MeIZF2Mi2E6bKXB3FAtqPuZYqnzD0riJFWu6GgCplyuS7zwhgP3VDUr+v6PK0f4Kh9 - QCbC14US2fv9oer0/nu5BhAV6X3afFx4TyknFva8x3ThurqDj4jhao35XinYqmBxzPzhQQ7A+/i5 - IQlVtmrtBmi2QLOSOSwmy1Bcn8frEZUhO5/5d1NtaIvTPLcWTQNQ9u08TFAZW23Fd3rag/nImTqt - 8OieLD0jBQioTRo2JdGy2Ha1krumrMbuUO2503H9OR+fheIUgl+ucgrHo4cQvWY5eqGnzOk4QQ9v - rvy6qp9GR1FOCUKEiJZMAU4Icqvtdj1T1MsXUYv5Fyh9hx+MKix2vveiBH63n8uOjkKBEGpfCCgT - B2bV4vGCLyJig53gBqOZBNlEnZcqWuhDKxXKF0jsCiHKEk/vhyt4CyhvASLgliCCBDv66MD7sKz9 - aoUefePufMXDYEYhnUOPvoWKsGs2VhWU9Ew5vP8LcukPtBRtJMiTFCyU+LqK1fU6azitudw1b0OV - ZAnkwmnqOQbCK9MI96A37h+WxIeCR7vAnuBUBCHXlBFOZjHRnaaf8qC77dpV3R6+bFYLKUdJKXSq - beeRD26OcvuZaVi37NabMMWX5WwDsqWBOAdLKyf2/BW5y/cfTM8pu0GyxlTLKKQI9BqGIHEQQhM+ - z8eWnVlyg2h+QWdFnSjFrAASMNwKggWYJKSf5Ld5fPv6QieGo0N2cX/cAw1qpE4KVN6ATJXGOZHz - 2YFSAM3mVZHdpc1CiQZwAJ8j+tyehXOdkOTSr7+NEjXqQwBLWG6ItdO+uF0nbFioQz/cGClYpWiZ - zjef5utaSNdt94eFIJ5k8z3uboq8FQQhQUTVJEP/2HkASJKiHOcwfrCCg67UtYIFeMLT+op2vlxe - n9rjaPtr6LfX2TlFvj+gqE7XXr5wn5mAG/DfMsIG+HBYWl2wlmKKnsx3outPwCE7FuBatrvgJqc8 - q7IACKdl7JPj5Sp+fJuPnzOw3XDZJenlpwsmRPZLLCPy/1h+oxCC7u/LdbPZFMsOzRScknXQwUIn - SnYOaTVfFbp6XLuJm5aKo1Rt/EIWGgKOVuWg4DzEjnPCJu72sKpDzW07PR1M65ZyTHdrsi1kPA0U - v61THupzeMRORlwbT1feEKCQGp/eJAOixoZ+wE3wAPxARPE9jmDC4sSnsC8t5TBhPEvLGUpy6IVB - EklkU92tznK0zzuzAjruUxZlDG8exULrf7B2BMw8gc3513bm/3vmvo9oRyG14Xrsom0f6PiDoaAG - tgoavEJ/+68aQPm+vt0U6IVwIbT6vZS0j2gzJHQrlldVZB9L63N62az6T/o5akpQVQeCYbEXgiaH - FFmxdgIuyHRDTm+06NgAhdXMYogVSi+mlEMCQC8HKcp6Ne2P3DlST83e4AFFckmzs1sZwK9PJYfl - uJfTyLx16aT7+fOT6YtogNAWXim4ekOBOS27qLHDBHZYkrRBoCcTkS9CHWExpVl+JxcuReQmReQm - QLzXFktmQcn4j6i1ztx6/xEreZ6Zexad9y99fxlQQC1iPw3N5EXFTf2ASZDCPNO6ICiijL5zng5v - xbmdNv2obIV1VXTuAkvCZt1CKNmqZdt0CsUicv37AlUayPFsaAqis2fLGAldYtuU+wjbxFiVEjRQ - f0zSgi6UjDN/GD+PchuL1Tg1luEBGiiWO6k/QezOMpMscbab5mGC4HBsP8Wfr71+Hjg3BQ0SalmV - irg16PyHuzScyOhg9XQo99izdQG6PPg9sLcEIi8HliLm0N0/12WqQVWcaAHK0sq6FF9Ow24NY1zw - GrC67tzOlFmLRoVIqUPmkzdZIXRjGjo56KjbDvAL4nCSbjvaFstpC+35wFZCkcvt2snShu20LkFX - YkW0nHyu4c1RpRwZY1UCEpEQPfzaTLi5XeeKIgoWCW1nEF8PXAQLsuSi21NwbthWzqIUhh2y+iZw - bVBcUDZhJjcL4uzjgdnfzO5JVYCKgyrYNF8G91sUBbeHBgkXnR0suw2PgWUUrC3lMwGBHaJQLYNy - Tu1vVK7d6v3bUj7XJbyBJunvqOQEo0YbXnbdquNQ0mEP024pW4EqvfWRbgnIkyzOYkSon/4nqjPR - NB5ztfIjsiZZ0Jg1k9XLKAk8gwJF1j62JY+6Q61ShmlMQAeR9ZuSxbcV9a7bd7hdhrl/lZFVPL4J - 3FU9SFU0JMUyThCPdsfX6tle9rtNsTw1TNEuG7jPGd7wjlK3lIAMiK4MEiAkUVMt+KNS2Lqz8enO - IfdWEfKhjoMEpkdLAvnh1wmVt1vr3aeK/uIdnePoIWkuLWlZ4Wh7uk4sT1O0tZ5MHFwI3nFLQKvy - Um5w9zHBbNXf9jdb2Q1mnyLmEo2I6LLLQOTTx2l6rneedij6rFi2TM3Et8fpHA3sSPFvtktTDDeR - xGcfq17e5ms/p5btom+CP65iS+FMpqjYcZ6bmawj+oyXXxN3sOryFZ1mhrfKZHRw84DyKin/7B5E - TQet4+VeSKvWA9nIlu1aljtsTzs5K/r1vPp6TJA/ATlX/bQpRFU0Pzi5WHSRISjg6ES27A2jchnW - /KEN/Dkce76rhg6tRGn8bUsLlOjSg6dDIrKSiI/zMMHznU4Ng4Y8NrFK+T4kxZxEvqxkp8t2zerH - CZEOBbn3XjQaJz8oFFescKoKafF/M4X2hhZhDC9j/ykHFWym4QSueckFc4wLJzhw/+gtkgUtk5Z5 - kN2Ctjui3m4Yzw+SZKWwRmtUQRUBHIpCoJVsYocDpRIMQWke4SyOUooQuCtW3JRERL1dD34GUnfG - Hd8roJRGebbGTLCRxy20smbutO9obj+gX86kJ5oNa9o1BRrvtcxe8P0yrZ8Uon4NGxxoUNXHrxhb - dY1oxToo0uPg4zkqOl2HDUArKGp72EXFZXmbEiATHMcOvEJk3Jb12M5NULOEs0GswNIaNioVW2tT - XiS5zGXWZ6vrTFgcP7KGblz6K3m262ZY/bu0doJZbjIxvYw0UTTAJej2hBRq1x4fc0yxqEOZGVgt - +CznNbJfXwrI2WdbU3ySDmwr4Bm37WW98s1l//Ve0IVFKORRq6TDDhbnEaL8fwVCbK8PVK/gWFif - /1XGXKOzbkLyz79eLkSVQUMZ6ur/sJe70xzPtElTqjT7AHudK6CNSbQLURiMiKQQuLHeBHdsO/R/ - wWb6fB8bfxfcZXnd5cxJztN/FQ/xjQ/f29xEDYH97w+7mMLLpe+6/xCM/Hu2165QEmS5Tx31ArGU - sAMnh/M4I5JOMsZ1v1r/RUmMnkCT+P4g5LmtPFSX2GbCcK2SLscfTIpc/CU0ni1aWJDvDLBd+FlP - wO1ue3kyATutD80slUjJVUy1RpOi801Fc2fksz0iw9/j/7jax90VfXfkuBxDL/FQCM6TsaUzD68L - OlNF0PXtgc8yD1EXdLuWQYahfCV4zt4SH2iiHl+/bvuiSpSXdXXkYHCIocAml8tC5aLVYfs1Q0BQ - pkmuehyGkt0UuBYBBCobSApijanblkAOGBGaT6Eqy9F5TMcmxCytKvZvgkDj/QJGc/alMQbHxvtb - qITum4J/skmzECg4lhFfetmx4vqdM8Ciz3+s7nYlikaAHIgvH4cn59F26IqPdVg4vEQPvXJa8KlY - makwvwoe037bHsRL/HxknPGsgqIrx3M6TaPX7N1wB5CIYq5zt/t/jz5oa1yvcurP53g9ctGtrAXj - 8oMUEyH1CXk+AMLZfcPKdtPTeOkZ9xer2IuJxv6HdoFSBzMPKK9lDuwPu001KSY5gmW92myZxFWe - GW1WD12ZSMGZdS47BlclSOl8LzupIWr/B3Ls5tflA7qWCueSVssEINBUMAkKjlDRbaIQlPoJUjWD - /S1qXKbqtjHg3SGDgQmbsBl0Wm/QSYKym2t8VayCv4WjR8XwSryywIMgLDu0K4S2tEToP9Y9zATL - lkA7JHYbHqCFXb3usOXANnKlzoesl85LgFFS8m54jfogBnmdx1XH9TVKemkv9vXZq6GkYriyVtwD - ZJn35sAe4XPhOVfkQyT9nvGw8OWDGbFss9kMrzC5mFWGvVtSAGlJ0N0DwTHhiQg9SE7DBZ9R3wpk - j0MCoHK4YEY7D4DivqgJ8DlU28W4/6CHYlmtihl3Sdf1dDqMadGj7ORxf03xcREUF2h/A16E8c8+ - LOUQgbxAAg6PCpbgoCs4LAUz+vMvzCEP792TPGkBHrbo3QXY/rLiC/+iytBRRi2bgwt2pnGy3vel - 27Pe/kxQDrZ2RkzeI1rHEAhMWyxXwUF5GmgZh+LQ3Fjta3ZuUIFibqz04jfkhY2Tftzv2PLEzJSU - 27tQlkurzhvI2GEAhUX0WqfUKisH/ECGSjtu/xE97ALpx1IwaonAQg3RF+kzGoICAeCfkq32PDR6 - BrNbVWnL0OHunFWWS5ZMgZEFUh+r9UfNcT2j1YpQl9ZVc28YKwPRrURpLlRFPLdZvYzgutoPpbHh - ecWxhMOjnANjEzpCNMdkrI3gZau6va7l9fbNtl0zFfxZnCSZCBVtD3zvPMAKV9d+1TesusfYEEuZ - X/V8FQ1igQ52WsQ0ENG93oeinYO9Tbsna42UKTVQeR4QhJpX+64dinFgrdlAJ3SE20iKxpXrQnfB - d/qnmHsjMMuVSxQ2DvAfkCpBflKmCdt2xwHzjUMW+grG5ConoK8SEhfNyyYkW2zTpa+la9a74Yy2 - 9K3SFxYHXILgUaRNyWIEEIxRNgXW2/HKrRmNtDypO1weOBpIMtJMy8zCs7PgniAR2fanurC9P/Sw - kmaTeAPI63JT9wZNKXacBuwsyZAnx/WKNiGuxeJkBopdLd8F+OUI+Gnkncp4LTu6j2Nds2mH/Vh0 - Wyi2Da6iDEPNznPbjd/TyaKt6ddl/C8czcvYy7PgbUu/jOateVq3gIqi8xA5TeEBeL35RqzeDie2 - yA3FuD66kNVyQRr6H5BNNMxbM9/tXAAThgQBgd/Kt3SBYklP+3c3oeNXShja5IUApMVDh4iuLxw/ - Jesq0aQdmUccS5lE3ZmIycHaVie6KZFtCpnbLKqzd+dxaiCjEwvcLZugamaQAl4b2BODsqILnMQK - orXN6o31fEPVgUv6h6E7ZXScL5ZXwd9vr0cYQENv0y+6yhrSVPQUktZs7ONCGbR8Bygs/MBOA8mg - f0fVXcYVGAxxPkmyj7XNLyoOCbWqAovNMkTLClpHhuVkTNWtAvwfJtAJHkTzAKHqzPFrd0L2q0tT - 18Yn2T6fjYXcG6XJ2POjbGcad+2x2poubxuGSN0Ep20lKJVjRijHI2DtidxZsh1S+HbmL3erCD10 - q+DP5JVTyDdBdzJ4FYHltp/bJhc75+bmX0bJMyZB9uColov311LOW/wpCgWU0/BYy3b2Daqu0i6H - qfvycxoYjM9pDnSSUoU/o3RaF7fpH6UoKCJsHC+fDScflnK1ZVUGyEnAZlK5nGTt0cP1POvzZGgi - x+qxa+MhjIzr4X/jL0HJINHHDS/7X6dLw36mN7KzWybjsJKMGnEetoKEkU4GJmUmsrvpptxdKeHu - DaZaAofScDfcaJko9vZ44uQDb9B456qom8LwmH0J8f5CTnODdVjK6sDGhRiCWd4tkNBTzPMYOF9K - IrvXNR0tmisk6FY93JoU7F9c8N7l+TrgYZIHMu2e3Qh20+kfOUdjux4bi9B2FgjX0T0BxqKFVAnG - 0Cy2USi22X0eb6kzN2uXsLT4g20MdLEnQ1YikhxeDW81Ym/bTvuG7R8h/rO0djKQEM2YCsUdUuaW - u+3+oucxnl/l9afx423PXJbZzOixZpSlieUCpCPZM9rNwwRVuPHyLwrOlAfDXIjiUtqtzz1nzbRf - ouRkbZXPWpegh8xAGX66IieA1ZFy5sRFdNpgKFfRVUVK6xhpJwJ3gGZVEjYBh9WKncToW8DRYPkG - SoeQEsPMwd0SWui103Se4R0J4fPtZkKH38Glk/0Mc5ICZlZv+6/Z6bZuC3k6MX5E5y1oiWWA1BB3 - P77X5lDXFXzi8o1bCd+CWnk+OaUAw+DzB0xj0SnUHr4atn2kq5TkBV1lryop50De5OwVPHvJau4P - 3QpAsnyDPFeIZ5UpUafVVAZ4ofXR5wggkcYyoIdwz8GRnv1gLIdhTBhriXupAdSqYwoRcqcCYYuq - avzT/VMKdAq4gUg1X8/H7QEY85lNFx8Is1SayrTsI+ugMHNCJEHYDV/VZFtNp1X1g/5yBQgtFkar - 9f5RSQHymw4zzyIfMZcXwRZ/5uk920CgdFZV3Cli1Wgg2ZIXw6db8j1P+57B9izlFc1S8CVRApSQ - CIUH2F4kKNivT7OxDZMGFk7HQJkqyn0U0IYIsmS5z2ZPNxlV6kzby+KwpdDHO2BOI67D3F3250EY - KcRI7qw/3sEoCLvbAHMcZ3gH10Lt+G638E67TbphLCYIHn22UPuyO2VpZ8234pKo63kcr4tpvRwW - XRnmVTYvp37FMuMsKbcorEXUDKPTjnX5gfh0sqrudNzKUVrH91OPbZF2nZQXVumo4dB+TP+i6LFc - L6+CfuSuKSrrNL+UrZqCijIq5ekNUBJysnbnemi/sBvSOgYi4LGjRTpffiRLSS7vI9lLMbPHduxR - p+FaiaVABiLOy405wQEB7QfPdQpIi8tu1LVDwpRn0aXFm0AzKgbH9UFeS16Ia9idOraDmQ3yFjJs - MSK4MNplJiCk4gkjOsmGo1wL/tCuGxN5SYLU7xdpZcKZlzOwmCaxXphBI1Kkmr/tPxt3w3UZhdh4 - GZqg10JpHyYm7GREmtHnE5/ns367WcxMDrEoqSytKiBt50P9X98Elx+x4VxTcBQi0Fbz8r7anouP - LB/p9/AEBF2KGgC/cLPPrFCMY7NlMcqIDLyBjcHjZtExkZEXsiQ0CzFIjeba/hn8doT4YUQnGYp8 - sX5EJthooXft+GQ1VgtNct82lwvgHE/le42CPE0yWtrosOB6ktFypo8zN2pB24KEEcwH7vrckSUk - rEnASd2bBCLx0n7Vn2etPrTYfF6IgEcQ81SCyN3NGUOyf7xejkWWpZR9eO08iv1BQUaH/WB4RJrH - SWrkO/rrDLqAyhctlMWzp6kMQBGz+dhUTyuhB9ruuFkzfNvD8InesAJHUVTvgdn03Kz0XnY+fQxv - UBQECo5OoOif5Mxo23WOhemB2hAqD36u2293XC6LapuyZpWt6XxhiZjZhtgubBJQJooRNDQmlyum - gEtu6cd1Wyu9bE6X7t/ZB0lbF/JvWsPlAv3zsp86GBnMcuV6KU3DFkouA6VluEP2nz0762VzWWLJ - q2F88MJcy4WX3fY8zM6Vz44ccJ8HwlfBOfrWSAvz9z9tPqZDdUe6zWH3zzBVPztRGJYKHKTxsWbt - RgWHS2BtMA+TUK937He9/Fjew8KRAhNfqgXGVL1ao1WObLymYLQoOi4P/VWuD7LdHZ9k74+Htp/V - Iq2qFICzwwlFp7u+yUmWV0ECiMCQe0A3cHZQPiXAP5JzsJfBNSNML6bDyJzkXHRr6jM3KBA+bhrR - 2shanf3lvP3nX9HVdGpQwhn+sEuvNnIi0Hp7qgFT/XGAsx2wAA2MEO5f1wIzr5OGgzjupTBP6k/r - r4VPyNL9l+VQKPKlEws5KDtUifAv0+a0YpEH1K5zeHD8bx5b2Vv0MbC3OqGn1Me2ozP4FxfM0ixl - d5cSwBEcIcLgC22ORaNEb9PRflGEkyA4BF/VsFzyNhuaf+o+gv0HBW/zttqwtJpiFRvja9qmQmXa - 41ZZjyKBiMSxG3/+vrNQdOQUJpZncWu0HR7kC0kZuu1muvhMh1h4gsKgEpaFihURFBhI/62JhCIw - xTYKikfRvByPRzgWFo7roqcHdUfsbAZBONv7yp7FeD2/VUvybXVaA98OMsB9hzM4k5xPKOjfLvJr - +Z2f/V94232ex48npcFTi9Mdiv9eRb+U5QbYDsWWdDfQFnn7nrfbB39zAd8JzmRAxxLkjx/szeYP - OKJuv5OXYna7c/XN22srFw5cD9cTECqoTaI96sOi/kVPy4UEv0uTONaLsij93HYsT097DQqIt+CZ - FjHIezaGoO6X8Trv8z+vlA0HhiHSjVXRVJ1LRZ/LsQIF8/SM1rKO6/Frw2A8B/CtXToRwtsMXqGW - xZogdyQ03+xPci/u3QmU3sxa4AvwjM+oGtOO6oPJqlznl3Lvhq9XWgYMZJ2hSbSPWZqn9MedYqVE - XCyv5Vde27ZtHPA4HLyleK/ABofDguaGA1yKUw+8iuTvViilatA/Qli46jD1klJ3pW+wUhEO4Dxs - 6/7VOy2NXI435uXdWZwpo0lMN4OFqMuhlLNM56b7mhpzCxegnHMbpAxgATADQSNa2eJLKthvu/Pq - /eFes4CCJXamDjlTAPbvzHFY0yYFV6rf0idEGjnml3azbe4M+Ac+HEq/9Cjw53257mV6L/1O3g1f - bd/uHWYFBUb7YN0BdWSCN2wXwVhhJVR4PU1ylEXXHj6BS0flHqWoUM1s2kRgM8TAdcdkMMnSeb/s - /4YEvnobsIunAr10xsclvQF1B+8YMKFYJzfJ6Ly7/VSb7tHa2D+JAnw1maFdUEYJ1laRr08hYpfJ - EcsFQnAil6QZcAT1GeBll8gpHDCpYM4806uc0F12f6i9jVb9+VDwx6a56TlT9gW4Bt1sViDzWgpQ - Pr3vCgIQACc666qGL71LgvGFZh82Kf7v9VijrqfxZ5NQcgY/3S7nM9T7A5c5XWySzAFh6A9ftena - btqMvIZxA+k5xQonhsJ7BulnLnDLdqF1d9mzXRyefoOtr5p9MAyIrB3K7g9G1jq/TGc6dFiHGS4e - IaaagYh0L/pir5hkOf8AjHPkprRmsrjVqip6AxvsLMvveg9+lagUtFshUZn19e49P2Ui+CvR22BY - 6k6VQZIG0LT5C+85FIIMCxzR0Qv38sUc1fAnCmYGN0qhi9OG/cwpkaJJF51eWj8Dgol+scEIdPwC - WtOCilm/kx88q6k74u6XnMQ588Dsw6pEw+0HahYBil6ifW7Ytt1Tu+VQmJCWYROe/zu/JyfKIbKR - NF8urxLo3ZOUzObnGm3ZJ/4apcwgqRuTQIfl61kGP9ifRg7iGIKmKepfWAuBZK0zhacNC50KJfk3 - n9MJKvdz6qgqxhMA/BqSNk2pYMjk2Q9fmwNky0opEzhntdwUoKoHTcOA+RJkbiWr9608a29XO7n2 - Qn/dNCjxzXM9plTteLSrUh6OtmJi3rANshbJMH7Wgp/jkSM71G5TTEv4G5wcaaI45pEHjchOVAzc - 0lsYkC4t7elxKYNAhx2dHhkLiXvQsurtx+aVgoebibSmI6ni3VucFACSsqyFTGnh/QqB/chlfTB9 - Y14YTiSacNFGU4ITBuND+08Ci129PUntHnYHudHHeDnWpeX1tu2Br5lZJJqGV0hEWPuiZ1qGGO5j - C47V4WPXcMG+yEXmJc070tHlGEh+06WQbGfn/aV9L/RP9D1hqFLl2kC9WHMnif42q2gagIMc/0Ae - 2m8OtCADd9RQf7FeVZhvH8Dwxh7H8GsQyUW91/GyO6JUPuManA2PHD5C+h8sp1IrZyVhkePe22Xq - i2UFhX8hBluXJkKkG4i2VUAYL9o4pw20mjj0xJTSMVRl8kRnJiBeLD4OqSMla1KeLxucMrFskhRr - Jl1VQmm/oj2MsWy5WJgJ9pN+3IPcAkwKyDXL/jAX5oBRMDd3apF93fDadk8rfbrADNrcJWncInM0 - +MbO80IyDKEzMvH89514M9mNw/FRp7vhF8GcYiVtOpwKK3uu0wlClO7ag7T0TJEHBokmZmbZBr6e - ZWWmt7b/VgvPKIolKcXQUGdBprYHUg/q08Be3BcjQB10KDJMk6/K6rHjqf1sZnFYAEEfwuE+AQ1l - o6XIifWxlWz/3VKqLu9wnz6HqaFtz8ESjvLgWM99yvYhVMmarkF/L/j3/77FdYIdJzYhmkjGVF1+ - a4yGQCUsPblcI0q93g/Xmsl4PbFIl+PQlD55TMs31Q6/r3kEa3SJKCftdQDwKHOVLNgl1hquCTbE - iCfLj1eEwNyN3GeI89xZAukg0khxPRSJXQFoymA6u/XXiQMYxQ4oENuun78FTAehEFMYRWWK6+l8 - 5HwSfxuqcWlZKqd3AV6cZpYJvN14of3zr3NTomQEtdqkqhZibMrw9LGsbmm97DjaT60crAF2Mrtd - B9YboKDyCXtJ2yvmZCoGQEnYnXor5Fr6E3gXwKwekSv9yUyDDCtrIYZKshU9nrovfhPdgMmkKp4B - Jc2URxjsJGlmdAWZQe7n6Vd9ZranfcHxmSWJQ7kMSiD9b6vzHecnOZPa9WZ49ETvC05F7zFj6Is6 - 91eKtmukjGrmCkPX4nYYJDCIsSdFRlGpMkiQVrYt2tKAfsNg3Cb7tJ5zyJzaQWlLqKd/bD9PrHtm - GmwN5qnmHby2Js8DwBOR7BlbivuACZ8DP7MQoIwBiUvyHIXzCC/0Zjq/Hb/vQXC5yVpIa9YSEylB - wIvSP/r3y/YTpsT3zwggwjKbDkpRcIowW7NBmmR7vpwRmxaHYQWF9WgqRCjlJI4psKo0u2RtzMP6 - wny1mzpiehCTHKC5FiwpHhHEfLXVuWPCIipSukEMtpw0dL9yAgqwjADDWVKT6rpnCtZq/YSr+Dis - Od9NT2Gn8yrg0KawW88DjLBu1fbDgIPGlL9P82CRUDiwTD3cKmmEgyyabKF/Uroa2ZCd98JMx0fF - 9fIUoJscmmgR3ESOLSNAUgu2C/1BGM9T1EdHBaDSqr4IbfwQvYsvu+MKOsNOzWTDOy45uYipnWJm - gwXGWYvw6K+vtdrnAf37b45aVJG0Rdv/2XQo0dsb7ywkpnevbIiWoZcQHsbqnnY/imRzgH6xZa8P - ijtlJM9VO9wQOsYu2dqU8apgaeU0hsVOZGzCoTts/19cFqZ4C1jcGyarn8s89l7VoywGGwNAKYoD - RQ4XRSlse1y1EPpiOADdNm+CWq5gRdOEdscmRFSCgpM1m46b876x6WaDDQHlxayGcTXtRqgjJXas - j7Ju3fQGfVCU8hPT0R8NwZQjkhya1dBeKL6FRtSaO3+C4U1Ljw5Jm5ahHkuQRDqagWmmW5mEolkd - KsiZcRi8Jr3OTyVko9l3OLOOQZJ9ke2x+3wsy3/PI9qf//yFBfzw3GefPkd0zSGiDW1ps6yO0waQ - KCuF4lnkil+QpeaXy+6pmb/ajmzzBdWxYKqwxtLeoYqMWozsVyaJaTdnoJuZOwvTZeNVrlBg3is6 - iJgdhWxJy+hul3Z6A28xYnPKLlTgUnobCCM1bC+OUSIM2Pk0PhW0Vv1Z3krZDqtT/ShQHK9+cNwe - Pqsf7IbTz4b5I0ZVXrlwHYVLanYJmFNjyijBGbvtnz7V8Tr+BVq2o8j5L7C27aEWDGmn9k2+5obN - aVN/uWk4n/7LkdNeDrBSV0xVpBBicQ6g/eIdy6UUryvRKmkPm46j3sAQ7GSW7BfksMYkDuAgRgQ1 - Z9F5xtrNdBZGmJ/XMnywstcmo8NTlKFKK1UxNpsCh0dr4L8VWbaodGo3H8+0eVWAF2h5Wa6m0gme - Za39gVmDnjF1KGLXNezgjI1o7QcWJRN2FS5jS6HGZT5KIG1xD6wSUzut8VzdS+xywmgbwSIZLlPj - il8Rur63oxkMFtrRjM+ldREaIdTpuIVXmynHpnPaVNE5TPEUympMSpLtG91h6Gox6l0vB0Wst+2G - 7VX9jIpY1AETS4BzLGZKM8b8jywR423M8aXdHVlLQOdbZwoX5pEhQ3QBtQmkiGVElhmibz6+Gs8z - g+++qfSbUP8LDuaNvrijcwdWUJ46fEEbFN1bhlcsbIkTm86lCBcWVj6OQu7h6+a4Fj/S7qs7New0 - DjedhW48Cq0OgRvyKI9SkKh6cvqcajTf5nBlgUiQFhTkfJStm1yOAl90OqD8lVhvUtTSbsfLeymJ - A4u4YC4nVMRhJ4rDOIdGCb1P+sPUwBXuRoxc1sRpnzPBsYXLPKL8S1J9+sVmELe2o4tPBeuE84GH - JLx+d8ppp3Gf/1BMHpft+uUwWmfQKHKQu3w5dgf5RNsdNps6TBsPp33Dps5oKy5yOKiWR5Ry0eoy - TGoUqcO0U4eUBnN7oRvFMgbaGJpZLH2lFaSvZNDmdtUxhgUIEzSal+GHcQHO9rhenCqiTOLmiJ3U - ojxDj/9mi3t//BpiYiyKrGbInoRF8dbKo7djt2WpQwjgUIap62Rc6+RtAQryTisTtPgYNvwXKNIC - JrN2nqDnaGBzA8uWIqYoudG7IwowEXKpuYlYV0/atk6HwF4jNG3gsiuCXBzao/xOb3YgXWAeAY+x - PK48Cj0xeigFFQSsSEV4d3xCJI5fp5ZF/2+cOuOW6GH9g+I7HdjNmgNsnBqi3P51f6lBy6vXgb16 - IuuYG69d1T7QTtGWYealYbTsC4/dcPwv6tTTZdXWe1d3OMsBd+0BinnFN442H0qCa6MOr5IHxB4G - YyiqCvncKAtCltNQcIN3uuuyUcyBFreKge1A+IyMHErFm4jbN+9DF1P8l4svxw/Mk7tcb4y5Uhq0 - lGkknh9cuBfaXq9Z/T2ATEYBf1pkexHUDwquivA7WrdaFi+vxtOzffW+vTChWD+BtS2MVKApA/0N - x3JAzstAfv3u9CXPxl8/NodCgALw9VFAjAwhM1x758tCklR3Pk5M2y57QDbhMV0piA3AOEbWDkM6 - pNh3Xj1NpDKQbp43PORpllHuYANW9MvhvOtQuJ81exZ6WJSZUuIRGH2vEEwpmYx5250R8c6sMnN/ - nnS/cEb5pMGmRh1PydjOY9t3UGqGDVJuUlAV4CPkmGDGlxnAnYVF3XHfX+qtutudPkHQ9jdjWRP9 - 4iSmE4wyexC8IL6gMVIkcfPaHrcz0IMOQ/SjH+9Bz4eOIG6qcV5Pw0RqR9Oqe/py2wNDQyDT0pg7 - gCbFhJPOuMwVEyZlBmmdpwOZAwWWxtbla/jrmQiDmshpWkiyYPFy6tj7BxUX7Mde+yV9itMtxwRy - n/mreCN8o9XwT8t0PYudMsYFcbJgIpIxs0U40/qcdKesz8TLpUNgZMo24fVSMANtQMq4HJpdLGpp - lSyt20//XIZa32Ya+1WRqUQSe3tPk+DmRL+USlQkVrKcxtXbLA0I+dnFUU37gw0wXZ8vM1hSssHu - KbowPPuAil7G+JQEU2xLeZi5DRB+i+460s7NOpgM/ouunhSUEbOuW2asBI0UoXHWq/XwpAIzfcyk - MohrVV7klOW5TPt+wQy4WeVakByMK7DgA5oIgEzPYY4CyuoH/Y+QvJkvl1cBqK9tmwSfVzilUDZc - SyDl7B0FqQmhCSRcJdnHtev/KNFEOThu59twlgMsx346NkCNYwbQ7da1TxMlsEpzdytzb9UnGe/q - MvRbWqRPBkGXEb73kBJpGO56D92AyUohIYJA2ZDHSDC85xvs0riH7P5vf2ABuHiEp6BjU3z6sj0f - awWI6bgdUc607qnGEy2dNJGeSs5qHlBeBfvLxzTMCAx0y+E+UC0S+HXmzI1mpQHSEAUlFMKhSFCW - f4bmV5VO2eByYB2GzLm6qJFx7U7wbsAW3NzXiPIQZKZHbHJpw0RpL6abzmNReLnDCx6YGUN7GMy+ - QQC91StvAgzjtJn+huF9PUxtIfFwpVgjiL1v0NCuo3ObvxaaQzIO+mrcTEwwnp0vzUKmlQIOWouG - Ub3FhyUIhdRX3QrR99370vgKJgaXLloHrL1kIIUnki2ajlfsLTfJA4p2K95VgC06Rx88BH0sUZDT - HrmalBtUCSsWDj35HHO0jOFigVEZxHYcp56RwOguhlwRV2iPjCayBVFmwT4RUHjT7ev9ZtdRoGvZ - lPfhFQNW+A/oD2Wt5ovltXmq1RrLbXtDG/lLd2h/iif8YXtc15z183Yc6wLNeOnZmdszWcUvVd8j - iPI5usDCNtHOw/BK+3uF60IsnTNkPOiqM99ezS68vHabGcYZ2B36sXt5FEwS6wBo1riBQYgIfz6c - VtjEQ+nih/siT0rRn8QZnN1tgJWpDewG2J+qInD2oNt63AGQzhl8eFeoWm6SLEQFuW4KmYL/w6O7 - 7IBCRa1VN1jOy21e0V1K4A6xzqF2sm2+Ox7GhkVhoaitahoUeNv4gJBjpBdRneeyQpLFzghwg9F1 - zVs7SKIHDKE1GQJYDYIu9ZbzCDxIHCYgYCwYqIEtprKCgCr7XBsrw5pep80Kmj6Zl7PJJlTtG2My - 6JuQC6KP4KT8pWnHCIJZUhrmmFWAao0JVvHK8PH/83/WDMX+lzLfOIyoAzJonDbW+ID3GWAeA9wL - mKPB/TZZxwOKZ7FMUBQdMWIZDinlnIUZIwsVogSXZDEqSKg3/SJjlyVYiKUnwxK+hhHwWgujrqmD - IrB0G95uPtd18749/jqBRM9oNCgvO4oMKrAtfGxYSlsVaIQysr7t+3RcQ+80sLWCvmOk0eX6oSwN - Bd0iAFYIxoPIL7m/PouwrsbuHROHnixN5mAfp3pwcP9yijvUP9ikWGbIvjp/AjKUbg2NuDDeceg3 - 0FJx7OWAaFU0gy/vpzfxQ58+3tjKETj7+Lz7BbZTsYlNHJHHWNlN6E/jBvnqXCuknKPqwVttk2cJ - GoBCZZS0t/P6rWFdJkjpO1e3rRVoC0yWRY9XZP7Rtl3/ZOi1OXUNA/bpdJh/hVK7DGUYeBGUa0JE - /2p85U4sGjONNQsbLgAVIk5llg+HGYgR+kkfcJwBU9w4E2oLWMVBggWoObHNsQg6PU7dqWH+I1RQ - KUi+o6aig5mJdo6Bxii/c9KLFCDUKP2o0HtJGGDra4tsc7MeG6YEsL7+g2haGI85omXIl2VxVNdd - +6pP8+97aNcxCQ1JCKhuC9mBxPKmMeNGJ9SFtLCy2420miLKqID51KJEAR7gBsL/CdIgIqgJ/fUw - ExIbxstUrVAPQUHa8ZEm8swQQbgvX5ea9TC8TXArSAxcikkte+4QNaMVDMQinp/Qznk67Ordf1xt - rkXOj9PTR6zkvQXxCC0NTwOAw5ZFfcd+/Y4CNNgBuVmuYdpZaYFB86lcLq+Cbe962PyHafnJxqM8 - +2FIEJccJFji2BA8t0uZDSt7pNf1hpUXw6y2vAQMgELuPKfNioWcaCI5SYTz1vZPFd9Lu3lSkG2v - 6ytA3gmSZ7AkrzC0FAFDZ/E2wHzjQISmr6UMLD9/jnLBpviy2o2fT/2I4biS9+jfdz0qbqH4k4DZ - WVMLM2CgZvYLKMo4gjy772HfwP6QFnBKU+0dOoJF5JqSCOODyED44+E6iG/Efr1qvCsJDASbq2am - SiB3WVgz0BegYaKm+/Z9eseD17MuuMm+QlJRwB9pQcwzxAkdWU998QAJDCMqej2PoAQC5BFlN67m - oJwbZKDhtl33SKIgkOgbSiErSaCYfFTRzC6mGCZ6jwuYgwrBFYRDYXRexQq0JIJnry9uelgrS/R3 - 1xb9JrpLHm07tXSPhLAx3B01mxhq6FqKsGfTWR4qd+1laO5pb77faYpOQDCDzwB0fgIcEUQLB7bq - v6Uol/OllsLdD7ByRFuOZxUdVnXjXUecK+hsAPcuk/88fR0nLnjOxqVmCa1AqQgijnkeYJSMSXPo - ni1yh90AxY04e8epWOsEZBhPR4ygeRCMDAQ/Dac1awGiadCEu7IabS3cWzM+2fk6vYrI9Jfd8CHH - 14x7MKUCa3Ji5Qa/9EECMDzmAq5i3T6hqcDlMIHwX5on2du6CRSdYo9LVr9Mf3SLD0BB/htMa9yx - qmG+q1fjYEMRxTiK83y5xi+S5XiYd00IdOZlbwFSvZZjyCK+YbzMsX1cb+oq9JbO+LpS3Q+DXAG+ - fzvVzK72o0eNCSEwRKae7yp9KTqLIoO/opVhQi/DdgIOiPYFGkbTXS0nF4ypoEiC3r1vUpKVWtqf - sC3giq0xbhFsOvCOssYSK1hLWcu32/y8oLWKWCijmpYrWBCk1HUhs3uupYrU9vjQYyYh4K8mVVGk - SxQlAYnBTob4KKLSdtv1bG1HOxlOlWSf0PbBZuRhqXR86ZGL0pDT9D6yNgaQ6XShhvKigaMAKedG - vRWeGOOp75+hjG9j/yw5ej5yDIuaAxyV578UAZ5BV15bfbueZAlRuxm4OK38TfnvUWtSEDqwqD6w - dIbh6rMM3tKOI2Pssa+l5RJCcdIZzbLYjBCxQpWDrxugQZBMjJ2ckNr31x4NgsxiPUDcVScDbUFa - Md4KMTqN+x2Bqrl/HGjZe3Vz5L1f5IKO947CvfNObncxnq6seeQKT0HnqkYRXAZrDiNC0TySTKXN - dfP5PKXbDVL1zMrg905UTIk9W2IKLK4QGHUmEoTef61WcL8xz8pX7OVOczkhYoE9jpmHSWgkBywv - yF+ib7e4ddjvAw5oOw+gV5F6y/G6bdipj48wlRdCOVC7dlCTQSGHSzqiQsB7N3xLDtJAmlKG7u0T - Ael2wfjwsj623y0Q7D8UT2hji0EQAlQ5fWLcrV/Fv7ydrvJiwuXCNmUMEQRH4t5MgbiPyxCNglUZ - Cz2IgAQXCORjd6DgMHpXYe8B84LJu0NTTqgjM61eD3WUtdl+t1ekoCDWDcFqW4YBN4fWo+HTtAYd - 0Q+gNclVligrjW6H1VtTHNjoDmoXqzoaSMBIhJlAYWXgzOtqy+JOmUXMHgYZ8PmitRMzQ+UYTu5l - nYVjO9TiYrQafj5JdG7W8nm/79Z9/Qb7Tc8IYbZJgwCz8rEmv4KEzsVBNkqjvVvW/n7fHWDeeVNR - v7eL6TpkeiniyArcWsrqPIOaPGu9V/C8zFZXKUQeEuuLLLbmQggv3XndFoubEmYsbIsjZEfoOKCP - wQOElqjttC+YAX+zqjX2rsxRfN+8N6ip0oio5nGSClKtQLJeXaDyEW/A/vsvKdBpTOCCUhlwf715 - ad3+OvQSLVQDcDG46iYicY82WG9e2m7a4fbA6o2OaVsHpiFAfS40MAEo3s2CHtf+sLrzByiXzlXf - 3eqgPKyn2MsIQE6Zn+h5oWlvl9/VA8bnsnXcDHRSUfvuMMp9Fzen7VOZ5Xy5sPJ/Fdhchg08IPwi - VYcH5Q9tTXTRlGtKFtWsPilJVkjDbp1S1pSB7LbPljX/0vwi+OPdniUXHJ1FtGYXrFhIXhnwUljv - 0YSZdibpiF1+/X7/FfS16JSN7FqEWt3u87MoJ+AANHmxyVHwRnsQ5XcRslhifYXrac1UCyS3TE11 - NRrDRZ+YFFdUO4ROEZvjJ7AWuJ1wlr4nvpSP0i7qgnd0ikZkTsnLNM+216lAa2dw9KOvm+gQpeA2 - xMjeiTqVlzJJh83phNLvjUy1RGxkHIoxMWiuaEMl2ddvfx7xydi+Jiyg97StUzKuIMjIV5XQPuLE - /k10+KByEZcqSJAeiA78VsNiBEAzikw3OPxzNy3P+3Km+frDq6Q8aptspyIrIW1en3eUdsPtRY2m - CWVdISznJQ6JDAcTFnfyPFDUH2g7Oca0b9/AvofhK/di7hOOslHEhjFEbecRSQvhVx/nv3CAOR5Y - h+T+T529wCs6WVp8iQKDXl4bGIcd7/0UPULuYin8HRMIwNYwkcpzWZcHVZ8FsBAPUwADj6WXqRsb - rsGy5K7zFcODDm8bI3AIPjVCtcfDbjq/s77nXS79No4ryfQ0KarP9xEyQbTVdngC91xWA09X2ukA - yvSVcnNkKcvkWOUVu7yQEL7u5X6Sbdf33wjP+eyzglKbtSr86Ruv+t2THTPtrfFWeECiXGN5oRpf - MLYWwBKRoh5QCN/Pb2URKntYAr786q/n+mFcp4EtxaDRDb0/Z6uU0yr6A0wWLx5Xso7IcTY1sUXo - KqRqZ6ZI28J4UfOpgkBCFMjtWHYzwIaKHlR9iyFk6ilwsCy/CEF4kT5dN9XZV0unZsM1VbAhl7KS - kKbxPmlmLCr2gRP1VDeTPDr93J0aX04FOvUWYh4eLTiKD+NsAi60m75er7NdYjGcMraKmBQlbjEk - 7irzsSvSdpraw1uR1eTCw9LRIhsIw1l4CXBHRMsUyM7tyKIXM5PdBffojZZxlJiC5kJfhHWO2ChN - G3tzELmP9XCAiA4dGKPu9O3bVZRnk1VGvXSr0xsrYqiZX3vHXntaYUjuIDII7padhwkizfHyJZ45 - 6wPNHLS7SwS5qMaypbszeAwYkCCqJSrG7IYTV4/zTWhxjqRcAME9mgQtButZcMfLzrfLx/vlv0gP - nofdSd5Tvrx3b7ARyhA/cguyF2A/NBdgbchXhepXr+3us0jPO8MK/0uAGXQgrMeMU5ibQoX67tgd - Zg45T/BHw1pl4KspGFAcW7KWA4YJ1vHp8wKMKNRDUZN6fAeInecYoAHCxi0yDHF3XvfFc8/d5C0W - 5F4Vwb5UHipOhusdKFzIMrgDMoBbccosZeAgKhCQKZUc1MhMRi8dwshaam17GDnp4uIoLT5bAQCj - CpQYJN6MPeN3RMpM7RV+QpnLU3xa3OP4nAARpleus0RdXgRRSnfpOYVECl8JeUFYm1X/y3lh5lGC - huzn+xN4sO1Y1IoCHCgx6FShuBSYWkBWsZCNkeIlPjcoStP6dxQG3HsClBXSjI7whSmXrey2Deeu - xkqst5sVmyTnp0IiAFOQ/jQospYB5VUQPYz7NRQZ07OXEkWvUGTVitVjygB+rdoHLDWVPO5v9R7L - 3wZqsn96WuPmNOE5xDAbINx/MaOvbE0wMc8DjHAven0wzMubDsdT33DlH9ButwBIw98+APCCyJxe - vMyiY/rklipXfWg7rTRJkMC7ItqPrh47iAtylut+MUeWwwBio2EuGO1pBY77b466EAEfiRGjql/W - CvOHcviU1cvP7dQ+CzSzUvwBAY+bWxAPyRVWp0r0mykxAcszE4dzPFF3ZfwHlVQAk+Yi1V1llWv2 - +LSIaSFIa+Zhgj3q84sJiZheTXoAJekWgB8eLW3q5Tps31lEJqdl7syhXqCHGgKPTM9X3Q+baRYE - 93KZHiiOutXKRj3wUfzNkKBciDq9tG/nf+TOQZvrGf02bLVgH+na/1tDURhAR+xoQjN2KL/ewCLW - mIUkrkEnyIaMrRIFKy0rLbzDMUg9dqg7zdcmCMaUNJ3VadTz/vQfaxdjv2MuP/u4RV/nxtkkOhQN - OxJx3ipC93SnT3ll67KF8wjLCvNdfmyXHqQYi7ucmMxkWMZXpMrSr/a7atFfN6hyzRAdLImqmmE0 - qFpMaysUVUni++s0HRDJ0JYJrKZxVTfYWm299hwqcItJ5AvRd9smsECCqerkZZHpaFHMDZztBSAr - JLvyrkc/H8ois+E9s7/RAFA+sYtxVo2Qvb3dnxaBoiB/P3+1yOL8TKDULoYakEQZPLh9gTXRi3yy - oGk9Au9c5ALhD7wsZEJazVMKzybk6aYtKjgaNhPr1BRhFOiVPXgH6K3mFOC5zaKDjqUmJZPyOO1Y - QJA25bxQnqFdxgONoTQE4sr18lqWy6FffdWn5hrNloT9wrCEk05PBUHooIGvmQARFlU1xnOPXC2V - jSEsyz/cHDTI7ZiQpLi4J9m6tsPn6p9/Ud1MCNcyZSoQAr92V1aGCtgv3APcryjqj4oiQnu7rGSQ - pf51BKI2zfFwXlSiEhZwYjWKxKafSWgd10KoxDJdExhHWx8GPqFoz6o+2IiF6JzLtv8Ld1UgGrhb - a1CIqPMclen4ynydtU5ERZtpuByqiXw8tL0czjL1p5qR8bH6/Bt1n+407Yo1Up2xJMOHUUysY4Lr - Qv+kz8u6TsTa7mOLcjIAChQB3MPphN0zQe+JzaCUnwf99pbeBIe96re3xAWT3cs4bCYAr/ytsRYq - STmQyCESUE5KmSRa175tZhcH3iucdhVDFOYbWjFzw7Dwmqgad9y9NViM9GVN41VYHOi0TTkkjOBP - MjwJujNBEqpstr9whgBWXvSdFmc6tiNFD4VFhgPXV9GsZXa0qbVqHESuynFkVX0RnAw6FSMqWhc+ - fg1jRXEgPCBEHtgcBf2vNF8vUPkya6AG8V3Ynyiyp1tBuYGHJNALJfmaS3osC691RSlM3sIxGSMs - iosiM1j4DSRuszF6/f5MFG3eCVp4xpTrSSY4uz4duCtjnpJ5G2AP66x2sBTlAfY7yXPUN+F4657f - Auc4zRiVXj43pw1WF5umOTpLaxEbxImBScClqBRlndLrM1r5cD5fGvZx4az3ThVPSaOPZ2MAARlr - 3sqaTadzCwmEe3flFmzEDHYSkvroyvUstHjenuoi46/+tCvG29U7AoqJZIdOaWP/yp37NKwhN5QB - DmyQm9S2k97RPpMLyjTK6izj7lt7buUSVlaO0Mb8wwl/GJ/AF9uJTijPTXaNpxyW1UN0Rz3KKsA9 - 0ibivexB9KvjidlU+mmV6OxgZ2BCBk+eBxjAhJ5jLb59tCYSRSV0CFLeHQOXG/m/5Q7QSqZfNU4l - +Dfy5fL6v3/et2GzLaV2fSvTuXwP6mzGWtQRXskI6vM8TDBBDz9rIYPLqpaLbaejXELzsvoLI/v+ - dKwj+s2FVqsurWA8wxhTRbBE2wYcVs3NUC1UYrlc9pen9z1+dmwfV85ub8zdZjUCmEtHChS2HIt4 - wYVOtG67lq2zQAmhtXvHVXmDqJ1O1MBI32ItICvldMPm82npDS2HVjOMzd4ZTXQeWNY8APreMhAP - w0S6FcfuWzZpSrQ2LC0/iGv+BhaimItitkjbxYGhWWjGsMKZt7X2Q4L6A0NYuHEjlZI5vX1bI1S8 - Iyju7DPGZHpvLH08JCGoXJqlzwLkpCLFFbQjQGmbjtvoZTj9frX5pJ+znkLz6Fynojo5+6JySBFk - pZ/99IseSr6xsJNbaGsjg/PRedbDYn6qjETzueqfcDBv3U7OCnndswHjDdJuH0oBin3LYgBlS7PV - iNYycdnjpxyZdun/RsbqfZgtQcuX84uuaoBvdcyKjZyVn9V3BB9wPO54wgSwc2/pB/19mrjG06Lj - whRvnZB3EVWhOugYzeGUucVrKoO/YANtYShCcCInO8XbK1vMzfrCwVlVI5AyrRDvyggn24fb7dtt - bbE8wd0xEGENphlYOBiRb2tQEEG112/pQBlUBJUhGMVH8SdvaGCfM6r29k0dLAlDVJmNRhmyI1Ne - 2+0GWqGcyllVPHXvdxOSQS5kZjrb+UVwqq3+g+0mmoP9amq4QsZtnEi5y71vrSAIqShbtODaR2h9 - ilSwxonCqci/jFsWF/VAlKsMJEsNBuSiGyZ6j8vCTrdserv9oeESOpQec65BGS56ZdDqpwmbZOzo - 7eFJcqM/no8z9OJWEGd4ASUFKdlk9O2iEJ0xXiD2AwnuyGZDML5dQCUQJWvAWmkMt6ytFa72n4fr - k8gW+tbMjXZc0jW1A6SC5ABMQYGhsUJni2H3Sed25jaxZfXqitTjKOhULC/OfHTaD2Qk1vYX5B/i - bcdnUMZtvoPhhRYGquyRS4282zQ1jjknRtlnZMEvRwqN5TXCbnOoVSE2w7RvPEu5otp6m7MBJtsU - dKtE255nfji9apEjywVJH9sEsZtyrRelrGVZGM9mkjLPl+6pmLBr34vPPcts362VQeX9Ab0kHVK5 - LnT46K/nM7uQUPzHHMH7G2CqBApUgfvyLCcLYpVI0WP6OCIKuFXTVHZqed98QhmWMyAcDlmWJ+wv - h+kpT+hO8IxgoXuKD2xYfDn4zMFxN9+ua9nWuTsc10WG3tRlLGNBe8oepIyHVr2gFXf4upxRI0TP - nR5PvgPkAjtsUr6RAe2ycylR5E213jCqc7ZzotxtWebFQ7cGRoqBRf19lkXv3dR3gNIUsVmjqpai - 4ioFZMY4ivPf7E/QLA4BcsT/XrT8OXxCjzQ1LL+lwxJ3DTwysiIokiLllelW0znSZHdzraWNNpiq - JJ7o3gETlAOyv2xllLP2OG5Z7QELnnZ2VW3n8Pr07MMIYJLLMkXLfjw/m6pvxs9V9YN+tf7JR27Z - gChXicsbmq2BKjuPiOKjef3+hsiGAza+pw5MvsU99Q4+oZYHMeHTydbSrjvuoMw+R+LmUTn1gIXQ - /IOLEl/nl+a3YhqUdIxmFu20eXu6e2+r0/Qsitjui7UznqKvPdVoAUfIJBpuNsiQNOeua1gQH6im - RzIcIxu9QDbaskOUjHI2nNbfUmXAYTBWoZTNEf9qVt3jggdaierOREv0GSh2jRH2hIBSOoZSitTc - r+23kKgUWKLaoFNUN5pvF0wILxOQfaaEf1w7oM2hgjQYMCwt0xEg7yssUfTTcGJOc2wKFXBBR6Uj - m25H9J4XjGefAZFk3dCfgbzIeT5PkQUst1KnaL+mLS7w/fZZFqKPb8WVlotGwYXHNsd2zXR2eoZN - gF1rhOfOituLeBDcVnCPWYPyHm2k2FyY6W74XCgtxkodgO5D0mA/8sUnTyCoPGq6nGD00YQZjwcO - a6iw8jlGisNjUbnlCpZkd6G01DJBFQ5irrLx9Xx4seITQy+sMB289pQNYkkDmFwDlnUMDByK6CpF - mXb0rv/4+IuIfHifCcaqyWw1urDvdPBzDLS1qzKAX8o2ed1cxe/ZQk+YHREtcFoorjzZJ3N6Bdot - pqvsrvfXNZsDwaS2SeYR9VOQ541PzFErBQdRXrXaTzWO7vW1Tm1O02ac/qnP5u2w+dnomxBgXgDh - lILOjHWZa1ZIh2T7TIHwrgCjMzfT17v3HgNrLW0+IEUxcnseJ+AXrN6qb/ax7qCzRFk4MJS0gdvF - ekf5l3Z2RHCsveGsLHJ/m76DO//HrfH99FV94nY80m0qGxmcnVzluUQZjzeMLaHdRejJee3HQ8Mt - jSWCxecQIXbmHQqi5bpUgODjjJuuoS8GmIVaUPaAUzEBICbHBxfdcxEb4msE8BfaH6UQ6msddVRg - IOJWuiKyhHa96lmJLjaUSlBW+dgiE51aFCTxj2zh6wmFmD4PqD/OKQBM5W5Lgp7GD6w6LpjxAFmp - 9fw+/pWZ2WHTXorsCUAU9xVruMHjImUP5apQGWUcnrvhAwAChud3afrO76mcgvcfBdawojS8/SLh - Ft12tBotZH4aUFjSg+mkPJ2pWQWFueOKDKFNslt/7KcWvaMyR80i0ogAirCJQrme/6jQ+u/PZloN - yFE9l1bj4yxRMMgMSYMshN6Vky2AadpNcAiILPvexKAqSrVJUAk07KlkME6JnkU3rrhSgzOn0Uxs - fUQi2SfAzDEAO2KSIZBW404Of58Ou/YZmNO9XaaGe60asCO7yGXRnFaREk99dy8UgUyOuyYCHX0j - oSykyhLwGSoZ5o5ASTBGWVy+b/u/ELw4nN/YYRDzm3K1hQh7KbWXvjQDuqV8++NmglB0mlnO3iw1 - 2DNclhLzBQOLZQctQ1y+ttOTs8Rh18nJuutpeErej91AqYCdd3m/sIv2aDMpb9FyYbs6mXfDOHQH - Dl8MBBasWeJyQTPIBlYVEJx0sPIWwR7bof8lvieXadPom8/qo1riAppAljIm1L9/lBfROXLs908c - v8vA1A10D3OKptpWDB0iKKfSgOI0KMIodYf1VDBKhi2mql2e0kjKyem2ZxXnAffX8JvfLAAWxrg/ - 3X0wwL+5/beCpwp1NdM5+FGorCl1fXnr+yd9lPXbCCHqGcYcwlJ3a3bfplAQ8C2arVEYGA/XwxWh - fJpzZWMqD3N6e8MoFzwBzQp4QsT4ZvXcdHzlSvesofRgUVhFT8Vb7M9pHmD+XNJigF7bn5jfVP7U - Q7sBWL0fSVkEz7fCudCk4Xgazlibs0KEZpfLxRNxloItkHksgG5O6Ljd7me+HGgh98JFihCnDZC5 - cOWykrGd2sv0jFmbpptEOt+Y7x2gkM+E352j6FyN8WWznYa/kE4YO/HvbrrzoV4246bdVz847t// - hlknhwPtv7DBsXQThQExPW0IqOujIIzuqQxLf/18H9EXoAAHwAhLSfpi7UKFlWJOw0rSgZWkvwuS - 6WCz8J/77V0o/ffBupeu73f1Ld6cpm39k9P79cDedfDVbXIlTuYpfVSUiShwAU0UW9xd2qFtb74R - DUCxVahrA0ylcB0dsijr+V6+KA4w/iYd4b3PFXou5mxcLqYHvBuKIsevtnsOV8+n84m5o8A9UUhm - 8rLsiWMCpRc1s1B1kHGXxstuNtyeNV0e226m/+MKTyg1u9g8CY/7nEwEYy46WvM8DbYDG96Uo9KH - +PjE0f2AxE1O6jbCyBq9FNn/RZz369CuQMIKzGwINi2PUHjqBtBuMCJpVkgQbdjXL+QYLKlvAb1V - 1SIEMjzy+xoketpnYXC3O8zZtIdPZ1x4nfH88JFzWB5hlCwa2LZ4UCHOUXDUFXgZqG4GMLKBAZ6o - JCQb2uOx3jxWQ3dCDy5DTHvRYIWdHwyzrC1XlUwJc8PO4vS4UYmHxW2oSsZQXbC05qwqdCDg1kV+ - e5evv5Ayv3QTZSTmRr4y95JfzMw7gNWKKdfNs/gapBUor1BBo9i47InNF3zM9qXta9Q8Oy5C5wXb - JYi3typOikAMOWWzsuUyvyx5FNWQP1RXjmfabepC9njqNo25Zc065rTImulpUGIE71LeLrTQPbnF - SYNTAueir0sidOhSShrnEWCvi/AnazBZFZufcIspLZofWCpgvxcgDxY9+ytKsIm05tlSECKJD9JJ - dHjr4LJFeZO1q2Xlo9N2h6oQcAWQVTZLTSmoz3rlM1ePIvtQihTDj23XPinxnNruH/lSOY8dC85F - ttfR9l71RUeM9qQUgS8yXJmBWJJIRurSyoVQ2/EX6oWzJrfSdWuQYipPJylGhDJMADt8b9cwKKOl - CePXCmSIsM/Qg4MCMlw0ZAnbfrNbszG4qtWDFdwxfrgceOnPA6IMyHj8Oq7nNgltv/eN39jEyAul - WMW5dFFEUOzTOFLKN1cYKLGtO0uUv4UIJivla5oVSGUU+93xOXN/Pb2i2ovbz8mop7i8Pq1zosij - EFzx4WBIJYKCflzushLxTkTnZp2K2ltGPsHo8WkD/6/fbOrlxKruMEFNzt8c2Z9V/hV89exjxP1f - HFir75NQHub+9frLsWvlbK7j12v1GPfTfoI/i4aoulFQZ318AwcLnqxS8Qo1LNskCsnPTdR3E0Cc - G9UkBYUYNjg0hgK+qGSJYnd53z9nHLuP+mB+f30/zbxC96yDAqkiWh+x0A/NPEzQWr+cv+tzxcR+ - GzbTxoiPcoS6tmJ2KVq+KVXI22gNTXCwChmhyHaropsyTJBfBv6HNlG3oEmBI65ZswJ7GxAAUoOJ - 953cum4FtYx4R7E8ZAw0cCcmJkStGJDnYZKa73lpH/bvk7TbfxSSO98IZpPeqZ5RgbmtHCqFPCCz - tqIIInT+eocU1Ez5Ck+g/USPBJsE+4rBxVSype0BGs1QcjJOh7Bc0fDUAmqHd2Mnc0fb7DswhdVN - M1Xr+mymUQGOG2yL4r1QCXAYkK7ekoUY/RPJCBrj0IFC9GOFTgjrw+XUsLcaBMzuDdgAcA/tDhQc - gscArLWMddmD2S7Ol3bjM56VJumuYaV53sCs8fWdN8ZGGMawO5GPMsbgsF33YBSwHFJjH9Qr6BnS - nuEoRJqveysjJHVf8DqZCzQ3cCwlLSByOA2ZdPAdmZIjwuEdWvmetD4fGqdvOmPa3LPUAMEbBKIa - jBQ00pzQ5PwytjuWH52r7O6BuKBNDyKxKLyXAfmbrhCEY2PM0fxhO7u8MUPZ/xaYUDxGcS0KAvcB - sipH269WQzU9N6dTrQb/AQKtLwQTzKSlS1z4gRJgZBdFjnj0tz6A/+V2Hq8XLrziuzSUM5qqphPR - GccncCxUbWUlljO8Gm9FU+OWbo2ULNDpDrQuD7Ay9eNp+2RXttqc0M1BP5YPI7XU+wAZz1LIDfsP - Vkswsixwd9o0DHvwQG8siJwBcJAAD5WG1a/ZM16wmo7tF4NIa21Vn+GuSKsnsXt5GVBeBbvJ7syi - Wrft5DYo0E5CU1sXjqYqDU8ZS6I7gxrMUldwOzRB53qK5cQ1t6IMamUajJdz2z/IUQtRJ9TtTIRU - eP4rctRx+36bYhIKx4kLzeh7UHh8VzSmsIjhAzaoUmZOeBXVFze7PehodNQCbb70e8xIPZSNHLkY - 1hEUlc2+dmgj44gE2w9Uxeo5KpstOlaRQQwQX/jtayA6jMr/ztopF+gmgOJ9rlby5tR3iOboPKO1 - vFhkDjRNm9n7FcGelrGlf00bOAcgh2j0cgVrSmgS4Bh8TRbtde2THNC4aX9vV7DYo6JNKTmbl/dm - cYGW40u3avdPQU23OWLaB7h6PXxETQLDzlLQkU25qoQNoXYc2A4YRr0UNsWKemQgPOvB8uAwL8nw - zofx89jOVrIcE9vKCp3CVXoMObDycRH7dzKR1iM2lzBn0vFhOx/QE4SFGFIpy0/bytTlh+132PWg - YALhY9S+dkSlzwDb6uxMii+/9uu/KE2M19rGfPXRIry3Mz8ClJsqSeYwEXJajmk6RigJt54+G1WM - spr84Plk4N6MSciQuQiuZLXh18NIP75XPx7NSI9ALIVQ/Ft41w8yrZzuOLSggd3Aqg9VJcWWdkmh - esrXheoxaPyIH+zPn3Lh1vZCt895kMlAeHW2WlWKDkXjGDifGTgv4rmgei/+gIdp+Gx8sYuAo8oS - AeHQSU6Wniz7YHkZUJ5uAUQZZmNI59WjewiKekxaeVugMkq2w4/DFWiCuSf6qMLQUQU6CPquDI5K - aR7WPAmgRqPoq1JAGjJ93AtHCRGUVROzq1NUuKJaZNVMsLBWVva+jnBysjhRDd+URQUipR+WDiGW - tle2OMFqWT966Lu3xiX+pI1JqkKN0cHNPkgOuzvbl4oAV2uugAX2sr/vPrBDpjtjvCn1L4SWUWZI - tbnKU+HL+XR+KkDsWOOpbDQ2myXYABU77UNkhz4m2MqKlu/j6p/LUNsWXNqu/81Fve0Lnac6NN63 - W55WRXDYLRNfR+mFp8nAThEQmrSyFflzvTk0mSVCecHkXHtEJ5jb06pHbduBOC1CsW1PW4QLuYgM - QGe1ckKhwcZp6K/9KI4KVqSM2K/feX91xZjo0XOg3C/RKs4aMjhlhHOyKThOw61OIPiEh6+/kN09 - jxNQHHlmP1BcZp7ATsFDXh1jGO8hqrhOLe0TyMNnxNEdJRS1hi2Ewc6IAVHzMBERl3LDZG9xxEMk - k1KYwAAIRLHQlPXsPyl5i8P5/YKm8u1rhArsH7ULxt2URY2QpN+1qOv6OwAn0bqsRPUDMFhQdORg - CMeEJGB5GyABaB0rWJio1VIUnBl3zF533FqgVy3pim5/tgeGs9OfSAs3HKYeQKIGfPL5urAkMKzO - U8PzF+CLpG3Fi07G2WjRAM8g4yWZ6N7xhMhzluSMzoWqekbZWwqe+y+syitjXqLLqjVb2ruCwVaq - rmZ5OvNwVmu22Z7H8v8Hfa1FLxSjg6VVi1al5qj/t+vzX3tp1+2hWJI9VVSgxx4M3bziqZ2a3znl - BcFKS9g/pfoAbflcMp63A+Cvqswz+L7o5RywytH8nu2xtMx7/DC2k3j/2xQTqlB8H3wwD8yqR/88 - wNmaR7AZlaiW/3lYcU1l3mKjybWddEgUihnMLNa8w33n8b5ul9MDyPRM85/2junaNvAfwGkLvKUN - SzAwgCaJBfE9TnpuUYj6H4ddTYadjtP4xFsY3zagygBSQYGhz365ZJSlRZNhVkt5qZcBvHbjcKyL - 67vxnRfq3WzxMZvpDKMYwxmHu8JWPWWcpGGMY4ZnAozjXMVX0ZYGUSaJ+Z+aJGyQj8OvU9EFg+3a - g2wag4Lilqbv48p1I7t1/WnaPMuW7PunmtOZbSkUTBqAjolVqREwU0tnUIL+WJSJh+7O1yeZ1+Fr - YgQOcysad09ZGGmIZiNFpzDzZq4mxonKN+/jvkVOgpWhn/wHKQON3gNF49ij1AlRTV27gnwAOsjN - AsStkAbSGvTA7fIDlmHH221/qguo3bRm9XkVnioczoMCDOkW4Dt5AAVYmcX16A7ERynEePrKQVNG - +qf98nBpwk3cNPmlexmyd95laIBLhUgnCBk+OxCecGY1dxRMApBKQbAfaheMVYy8bURfzLlqRorT - jqHzZczzVTAaaCK9HOie1SnUBA3fUDzjU6p9WCKUXPng505cwB4rWHnHaYWAJz53HRXkvbVTLiJh - dsU/UEZ3241P3JcOCFLpAUnp4g6hjZ85gTN9dC5ao9PNbp1lAL8KNrwvQL/RtMAxfKeOWoNoFzot - IZbrSgbO37bThrWqSqE05xCe6qTRAI1pmBttrOxbHPpD+9YAMYuTISRf7ZjWokkFY+8E0RlRanD+ - 9dZecH5B/5Pi/9v+qDzbZhgHQwuIDEcm/Ep2ltNx26E6gWeKu6WX5Tq4OJpsWcztB6auluFKD/11 - JedzwEQerRoKLRqb7/qINBFpc6NYCveAQ2NZQnHY7BhXk8H84abvLVyFe1zwEbJ8fLm8Cu5xe5Fn - +/3q/QuwCnxBCN7d8Z4UqFJeEDN9UNAOHUMwRLXsw2krL/duD5s9y2E9t7OzifSAsg5Gm3lAeRUE - 1HT8iT9g97Fn0xfFMYaJy1ictggDRH2RrIANilAu4zh1wHUx/Iomqa0JZBlVI58Y+VUESiWPaT0C - xEYnsINN81JaMcDdJgNbzPg1oUjfpt+BDo82dkLWuzgOwWdQNPl0wz6lQVajHq/Qlg13k5F76o4q - FIUoyL7Y5SKz0teThFxIwBIEk8NvvpgZ+FRnaK2+jLTV0ANgsB+Fq1ktFjRU6ukQyyiCZBYrpdhM - ViPYXDj6snSz0cA2S92//MNE6JvxrPfsNi3qYW/Xq64B7M6zeMDCLxmaZz5A5qZctlnomw2E8MwG - CkD/3p6HZetv+o9x35OBSgEsZyglxD+gC87bq3zjnz5OOKI1LCyahd4SO7DSruL1fLm8Cmpiq49L - k4pU+Q0mAN9iWqYpRB3dfLG8Cjb+zSdOrltzwLtqyiqXvUeBh0t/MjW38bVnvzlsOrS9JFOVkBQt - BNjHzCOsjHfSjtOIfQEROqABy/gAlBDnIajnsDeILEa7/eWJnL4a3v5pq58M3dsXvgZgxo1Ptewe - Lf2Z0Emf0RpZFH2dPq4NjKtpb6Yw4IHxjJC19yFZtkws1hQ6yrbY9tg+tY+Om10PpDkFFvj7Li58 - 0RN0Hh0qZsg/8Im8DEV07I+1YPnb+niqfnAZxu+5/JioxscE0PRvm64B/CGGl9N2gz0osI6kpR2h - ckcMyieElbRXocWUZMqu7fXMiEbHhmheLYJtQ29hYgQS0XE7wMrkiPrT+MG6Ics7s+0/0T4AzIry - S12d67QTBeS/iUuzScgh3V3arq6LdONKHjC+jkc5umDfvj8pKlHQAVZdESKlHSbWDHztVcyKux/g - 8SZZBWx1entnGZbSo6TA7B7mRsi90+KDfwaNyOzd50QGSvsWJPjZjy4uy+00NQ2IPUVgz0oF9sbr - dtXM3gLNLbpRNtKBrR2FLchFWfNQlqmM73cHzuUvp4wA0NH+pBzvnqtv+VuQeKcQy9JWhlH99Xxg - UUee2HmxZAOKnTHgLKHrjl9FTcDx5+FJpqO77CDAihmEchLlcJULnLIuQ7oiYiEFmYbcdtqDR8Sh - eGPvtYvILS404+eL5VXShN69N3F2BGkCrJbq0oLyxvqbkZ1ILPNtOzYe+D7cqNuGo6Ol2xKL5DNf - 9TJvwd3hnTc5dAP9bzkbqiZOUaSf5wHldT6FT5tv1aL/2xpfd3KdqsOZjknPXSPkBnHRtkGtxRja - iR0GRNZMF8mNteNlZIgGxZsNoLWPg5iRrIWZpIqNkCxca4d1xz31UrWtKsVwszKJITWsDIOSi4hK - 0Xaf7w/zSLMQ9fLIWNgP8FvzSFonGfrrjtJL/SeKf3dYPwmpjWe+dSUf8qYixkM6TCujym0rZnGS - 53Nuu2c5qe5A4RQ6sKgjNs7fmxYpca0qZcv8ea6/Bll1pOvXx4atqQ3zHJaKxwZdBRd9MX8wUkTk - YXv4kqdJH8NhzX1fNF3pQy6JGLRzU9oOiRwMYCFhYa74ernHkIId7bSTS51ehkutnPPvW8zlfGFp - ND59jbPpqXHvkwOWPTGg3su4Fdv1kXXGQ4NapF4KtEHyn/JyxzLjtGsGYaPs2NdO0x2a1oUq3dzO - g2gttuoM2y1cRL/ay9q7+/WxwB1LXeZhceIs0+OdD4YdoGOYhwkKJttWPgPW7XO7uR/3F6YCPVcd - UzDYm4OPNswDymv5vfYw7X4L8U/9BuFALMGn9f6hvwb/ZhNy5sCUS9BKFuFeKLt09maQY+aggZVe - EsyQIYU4D3BW1kk7n7oBNNnIymPpniElz1wRHJpoQOLQxyBBGnm41E3I1an/rDfk6eP0hgAdinKo - mzyVPGAhZzwLFhkWLBLhK7YDBQNYaui75KW+AwAVziE6YAZ3lKG+xst0YCjkjFCnW1mtca/oXSJj - Ji13BdhTDLGJW1jV4S86NFSMmv9YfRU0RoqCgwGH9QyPF4i2ocSfK36ypbkM7qPjDAvFCDaEoejc - 14IIBiojAQVPx/y0p8vo8dBR5cJL32/Z9mGW8LoPijpY2GglZVgO03LGJaIRH78msOjSrKiW7SK9 - SLSPhGCYy5q/p3P+p6rRAD9p3BJa4t7VArSRviokumPBK4iqd+fP1VDvOvvt7rYABNXMblV4D9zn - vh/StDghMwpBZX+7zK+CdTFOLXYPUzLcR6mOZgL61zTbHG8yRd9d5o+2GYuzOevVxfqmIwXFJVY/ - lPXKdv3DMK7c9M2vI9MZNB60X9AdIgWWkSJnyqVd+MGgd5lR/aW9bhrupsH0LVQqvTRZPWoPLCCa - WDFWtDnvT0P7rIW6HnkLgThiQEfCV9GKChSvFD6/h+iRrDPV9Z+fzPTkArdKFTqd7p33nvnODFCQ - MUGH9iqXy/x1vdYE6dVwOf6FxvN4fhY8W8hOze/Q77jRRze1cZWBKYThjPYMINW4JTjzJU+7a6cv - VEShwd0U0Z/HMkkqI43HdeDUkwyXNhyPv7BTwAc5NTHfYpbI0s1w8Cn8KUZey2AUlzMwRoAfoAMF - GmhV/VTOZfw+N6JRlmNFJcm2NcrxnGO3oXjuFU9K3zCt9xBZWVqzQaUE6yBom87DBA/0DNf7AzNP - wlOUzHRfOK1Hw6QU6D1GWW1m8/GOSiodXBRqUtS9cGVNqBpwI5lHMDr1O9iKhyydDX+Kbga5Asfu - tYZgvh06ebF5ai8Aps7wTTg+L44T8KxcBoTcs1yPd8L0fT92R06Q6I8z7HmBSo9QGkusoPtIoSSr - cb/5+d0cRtGXMnCaGJ591PrT9okHPW5aJkBAPxdYqEVni74w/nbmDrLVM51CcJshw/3EFNqO10Yb - diNHZ6Oqw0KGHcRC+mOw80jc7hL1bMY1myXkm6jHvcicGKQYjMcMT1wPikLPydXhEw0flnSDBvEi - PkAF2WUmtFtWVLdCMsv+eAYUDb1HQynxPT1UUGQ3SDVBJrUoAokSq+2wZzskJKsJfh6PhwFsWgqJ - 5qwrcAPhd+gOfwGhmcaLXBhxczxA2oZ2xVApjBllKT8zWWvtyvUsU+dpLxvAp29kTevq9qO3IXOA - haOQNXoE6cz0NzbG603XykOa/jTVa3dAGpGLziBI4LFiwcEjB/mbjrO3qJcF4vSNn5L91Xv3z0dd - mFpvtnUfeeqv0HUA/Omuu2AsqijAXCLU5WtsZc6mC3WGap1lO/V/fxCrFXiGfuZ82aX8tNOUiKPm - qzEE9j1RJmxzPf3smaVEnxQbZHKLbjN0+yjX9kk/iEwi+trnoW8Sd7rMrJ+zhF5CKFQrQ+dC4mZT - EupU9h9XqPwyA4IJOdZV8moYbMEs0FxSMNrJROVO/bFjjpLOC3f3rBQmqvEKRfNydf6X4C0+p8vC - 2jU/vCQDEpgYHf2DErwpowQL9XqQr/Lj8NzGH/fvTyK4HRyu3E2X5z75lacl+yOBTAJvdzSxeJDg - xD0MnziFdEMLw5s0B1RK0W77I2ofPEtqs/iBTPf8rW1KplzA4ffjVrF4kUkpQawalVIZROY4/oVA - 3Nu5qx2DTqvlD5a/lzwlNt4ZOKBTGPY3gvO7w3iR//YeHo+MXZ7V1e7luAA1WU9ZDKD2LPGOcSJh - 3/2h/W8tlI5CkX+TaYYgj6Fllv4QyawneZm/ve7OjUvcp6MTLCfna6sVShAiheeUFmAzdEmof7N9 - +zg0rLPAUNf5lEoANDrocOVy0crMC7ZY4yz9jWhxaU/uUZaEP0K5/Gd5cAaauaf6Ll0JxnKDqN5Y - tuOwlk/B9y95W7/d/o5e6tgxJ5ReR06xakmCC0G/Cv9crkE6oQ/K+nxkylXZR0F+XZTtsPn47FlF - SrEMiCguX++fi3YX2ICKj4jd9Anf3thQMJyWrRHgbEAmR7GaIhehssX5uPlsikJobNxCUxjlX0fb - CNoVXHQSEgWOf1Gp2by+H9iLycxx+m3lQf0fZQuTc5wH0KvItHD8+auxNzsou2iBBVZnNdFAcYpb - ZDKfpt3h2iRkYJhz4Q43iNxWh00lHa8Jmo1J2Ho6/AS7HQXDhNJvtAs6LyWxwWa6UxiR4SovUkAe - pwG+jcDBoYq1mIWBzm3llGZfR5SxsgzRO+7PF1SszayGTyGfWpiLM9ILJhCB7VfCbJgtyfw+5ZXn - zWeHjgGQetA9SNnW4E5DowArdlw6ckLSxmnzMcCEiYJVyuxttk/O1c6gt+cLdTTKFNs3HTNwuO6J - bGWpWA5l3IiiNvM/WXJD1L+ehun0z2XYoDAOcZ//I+3K0tNWuu27R3EGoC9fqfp6FEKAYhBEkrGd - +Q/k7rVLgIo4555/+zYkJyobkKrZzWrAObo9Ua+d/UFpF3QZmWoTeJTkq2zHFgaegJKiW7FErzEG - +FAEyFfmq/wieBrj72wMWN8ZmVrdJa0hTQIPhZAtbPOXCTIk8XYC3pmOJIqQ44PYbCPYziY4cDdY - 89oKuy7N6U1+EB27/Tdsa8bPHUhMf4irOU05ACXGyiYWQraOh4nqqec9NpCQ1axA9UilOIb2HjoS - RqN/ZpSs8ddAbD2xvSXgqA9uYURN0mrHLKs8IMkoJpvN23PRpBueefB7qPXmLsttpljn6X1dCtGa - 5ZqsPtpBISKg60EbTJ3Uao8DqRBcewd57MDy5CLI7emNHaTo1HMsJ1nAF+jUtZDUoAEAdQv1hNoe - tmP5WfOB8mhFKaAzkzcGkFyOfWRF2Lad+rIV2fVtCRQ6Tdu/LRu0hSnLTur5DZYLPrz8PF2G38Xv - 27d8TMLAjjaJVQ0+Qs01RDiIGf5ORrjhTdsLlEQpsILu1n2IsijzJKVoP+WrSibF0l/O269dzGsD - EwWabias00WmkaPBEILW9uV4oYCYWau6zH0X8nGdGEnKeFmh3vweNmDMf6KNWBU0PUqtoUbINmE4 - cZKWuXm02/EfNNUCIEBr5L9XNTAwCLxNvhpkVMBf2yyWy5XCUlOHAjWKPtkLgHlsMtDw63m8AEXx - xOL1NFHo6IUMtqa3zwPya57B58uFIdH5xyAyeJ9iHmbqkfZQzSO8GDTd9/3ArgaKuyO2LoiplBFD - UZLJ2RrngSiEGprXUhtiPNNmYG+ODskoW4jkGhgLeKgu44bI7vnbuIAE6qwyF+1656QHiZCKjVmw - tZqAxEiwA5ymJ0JTB/BcYMFno1fArFhDfVXDcm5JQkXVlY8j1IXDTZ7zgXHPArLKmgTsXOQsLMgo - idvz2/75WP25eS3+e9p+g6xwueDZ1DcnrPoRJCYW4LLB6LgMMEJT3va6f0cQGKB0aYwuiMrGxEi5 - HjP/meYrwiq/DbsqN7kRWLh6hTCKXP2kZCHxCH53/a+Oy39/Gu/NjNIkwmZ194cA/gJKyA7MvKyA - aZdR1VMBEhkhZMVC1C+X7por4EzSehBarQGAHZRZBcXzWlwib6+fjOJ1FXKY26qmwxb+Y5DWYNhP - 5gmJ1Aquc/8Lxb0sMfY402gvheB41DUbwUWdXwS5WD9c/5D+nKc9++MtJh3WpALXRHukR2VTc5td - s9iR4EnvhhNLKRmOw8wj9je1xxw1DnwoyyUSvJbhZDQgTFBWHRiQ/dIfGYjqTHYyDm5d7fC0zGgR - sLI+Y7O1LK47nK+oMYYbKNIWb+GUpUeP9N6ye7dMbnrY/oGwmN6GY3bd1ekPrT3tsS4gRpGv84tg - pnWnJ7Dk8dye87SC70cR7zg2REdxJyHMT7J+4vjZVbRPLEW8u+O6SgnigNjb6dDIA3wtbLb3EwgW - CAqraO7y4wHqGSFGSGGy1pSTyZtvxu53CWIaDu+vlb41lcOD+h09uCS1ARuckTBcdxPMj1NLh7BJ - N1FZ+hZmDZ1FJ8CxWTZY1F6MCdxdVkf90w4LQ0Sn6cvRQbmfGEwEUBUdLck+s2QsNOiybIU2MnnL - 4a0pkQHHPa1DzahgDdXs20qnTZGNrgO+/nIdjN/lx9pm3DPjN7HceR0LiBjtO4F2E67WJEZrSpbv - r7csKRpAXqt1CraQeVXaOEuTg5tCWkYtvw4d5rRawuuU9OrROJicORj+sbCKEzrbfVyKGz4dfmUN - /PiEVzTOQ74/usCMtTpWQlDkFqJ0lrU3HEBiJq6KCxAssJp5//ytAJYQofA3bY+yAUxUqnshLRj4 - TWlTc7GTZRFrLWvyzGM/fcOYth/erpkeWErFG2/BnTAJgAu+rmQrqT10/z96SHGk+qBy8EWKI73S - nqt9T8iE7rhBOWVBXnINehUYWpi9c90J6YEQ1dsPH1iXKG6A7xBWPUBgWR3dIOW4UMysKtGymvcU - eMJzTHPYqeksL32+FR2xoOPVuddI24XMUGt3/LV/uoPDhGR78SDQZg3ewdcD+1Dfuo+ig2p3hryp - wm+A0PlN7FxZDQ0lCqFYVlZlCUhZCjpu+nKX3h33V656R/C37O1mqiwPHGteb5pzklxDF8Rjl4+n - nur13GHbvbu4uLvIKhSIaDesGW4FB0xAI3WUBYLv7yghoqmACFXV6xnvrTOaJYmxxch6d/CwexLF - fZ+GhXEHoNhamhfihAZr4MbIEwWePXp5q2aGv2sQuohGjINnqucRfhFBE7zJuD0hU3cQxqnVGnKX - oAdrkkIKGzApzB+yXf85cvmOO/jv/oTuma6h+ZXBZo8bTemtSrTJWHBq+LwSifi9jXLu18fhG6iY - 8wTwu4cKYZX1MYpoTQcHySJ2D0HTRWQJCx8l6Qfsdu2tqQa3YlZVux+COAHo79AtzNcRy4m0tM7X - 65PzRjd0TbU4JUI9eIX/cD8yOUUt150VLjA6xnIW9+wbqQIyHsqnvFExX+eXZeX/ZM8XQImQuT6E - bRPEy0D3TWxRgfKRlS3LXfMN0M7pG3aglx5HX7yJWHhn66daA4V9Go3u7OcZZZrHP8ehFB2/NNdT - ub9u3vbsOpwfDZ0Rj+QAFhDRUIyL8wQYA21lO9Npc/7AD2v17AcSHUhQLuGoX0ZoK2NVwib0iaR2 - nn8zZ2kpHuCYun85x6WqrJbIRao6yVC7+7HrcuYLaDY3Q27v4S2oDSwen+ldwtT3fOyfDsXzeGIZ - CigOuirUa0U5y+6UkfsJKWt2Ollt5DLt+Obc2vxhZeSJ8z6YAFVxpvNLK33NZSwbetvNuM90tPpW - TnAPz2w6J/0PSiZd0vk05ldRIe5jM+9YGNg+pR0ZZkhpl6aECdLA8TYs3uV+br8u0Wc0yoE/ENld - +0lVG5a43r+0w/zrywRERZojHtI7Oj/YPbY0HZeQ+OHjrWD2AVcu2vkNe8kbsYRo/7EIzfDNrVeC - 5C4hI/SMC1fcbMbPSZphm3e5/Fqz28txGd3rdM6CkclUcTVlUcNnBX6EqCwm72UAvuGYvftqnh6P - LUWhA0xBMJOY2NtPNC/nTXtB/VE9lTy1Z1UmekfKgfl6kjFrx/eznHC4by7NH0y4I6g9CfWF8iOH - wC6VlL97m6+nf7UxRiIznJklKv18/ekq/tlT305VvJt03wVRfNRg2lBORZsAX48yi+7x+BPtG8Xd - Kl3YB8H3QjuPshkn/OCbixRvz4N84R03l0Ou4uVz+p6QG+2gZQGtyjoP0DInifPlIo+ams0GosYh - b9Z0+KxdAA0q2wZJIlJ7jVcZTRlOIuJPeLyAXxPyQaDvgE3g7n7EAFQKgCLB5EGSLI3xnkD2VwjR - YikTSieE0RwP00w1WgaBvlw3LXRS6T6zaMvar4UOIZucAkSIa6z0KgIkdKfNYREMWpQkbzMtQVSK - EgPH3j9ZUQiK3YLvAUin58Y/ylYulP2CQIdzAsnG8rGurRBBu99eWYZnqbx4dztyYvAKpPYaLR5E - SZajUZG8xvvbJbtJ2bXcjKL5hHK/okDW/M1y6r+ty/H4WXlT35qfNsZQEEcC1JXgGp/bK54yApmY - xm43ZO93fhu7DipZ6JaOihpHG+a4jD3StPvjwGjDHPjHh+C/VXhrTX8yKFHzqwhONLXX5xrc/vCJ - zdvm7SmY+jER6CkFWpxBcRPfMgtJBEa7DqhWcc6LOtKaqg10padnZCoWR9SylHHYgQwOTXe39Dzo - sYRy3ejgUS+gd0RoHIRMwcPUTu9LJFVUBUzC3uKM9lp9K5LazU3/h1LZ5bQp5U3GZpCHQ9M0tIB+ - AuRU+dJ2kB6IAoIjMDYU9XsZX3CauxMEmG6whBRXrQam6aKHY/MQL2PSdj935W2iJOHEluKqqJxn - 9S4NBInzbLmollGCdbrddJTFsLKKR/Mh6WKDptxJJdqPTOBkhTZwmYRCP8DhHBO3gryyWdkAAAbt - Kd/J2nSK6RoiPbXh3ByW3T25KsZ1Ic3+qLWhb6L5mLDLxiM4++eJcUZICimziaHo4+oaZgMwFGKC - Pujtol7e4f1VrjG73xxZZnERTl1lAhRH/6AHaZigxAPy67IoL5t+0b/G/lUrXfo7J20T9BMTNgId - ZRKh02lbVsN+7t7lK/9z7gbaZG/Jgr+79YaEUnON5jBMNDG1hOv+0v0zllzc0yQn9rZvcuLZ6Yj2 - CmYVt95NvVZ8QiXN1Ln1w9hxkbrXhY/PxIoBPHUeKCMFlqqKMQEDn37ksqioE36Yd6Wz8/XQ/FoX - p9WqOqnoeyK8dUozKf5Wnl6/La05SoccbYimUPtVlDVCY8EbF+PLfmh25XN8+6jUDSmsKa4qbqey - FKIolbvdSlbrnw7NRfy4t29TA5nSW4loVa8FU8DEmuY3D4jLMMGufGXtrdupRgF/6XftYVfDCRTv - mUJdusNwWXgnjL2+M2AiiOF0wNDz4TnleVsWESa7U78T3+nLeGEeNb46lPnWJYHI5wZABNx41zL2 - 3GZs2hVW619aUF/15uiYQbFMq5gy3PBtulJWeIMC0sb82Kgd3CWVgwMAzX3kCkIRxqYfW6B2mV5J - Z9qa0oCaV6gd8IaMNLRC2sVuPiCoQu2TVY7v72DRXEOAg1IP4nhhlfXUjEw8Wda4woD111D0Ti4x - LcU71iMTdXguPZsjpjtA8n7iRiD7k4MX9jIiv67fxLuaMhOnrU6Bz+HpSI83u0sh7jKrYxg8cRNw - DIN7ilExGwyYQiPVgBXjIBvt74IMt2uBFjEd7Sq9tOdt/893VNTatt894TZPFMejRL9w6ijwLkic - njIKrgczMrAOstU+H+aPirGZeVdcIVIRYgYb2BWRyTCyM6qdjzN9g3ADiEa/JqtkVZsaDAMazrGg - srJq5H7s5NTfPeACP+yCCI7uDgJPAT7JAfaQGODwIrnRQ3++wTJoogWoVqzOh0DbQDTwONE6s3pk - Ek3drr9yJyU+JHcUYhnacROd7WG5mF8F3+IIiBOSGOhkFr5P8KS3QPUD9CEEAo2HHhbYAGsoNDjx - gddvEUEbtzfjVyObJ5dpPjyX/F9Z7htnKm329QrsCZCsNzbmul3Nh6uI/3uipC0w0AS8S6vrYg3Q - HkIRYcAID1K4DLNxwE8iIam8VWtaZ6RDxWhoVoE1bWAwLsIzXQ/Dk3zR4XMvX3TD++7IoGK7tnNT - 8FuHFVqNgnO+nF8FfbvTZbP0+WltJbdK+2kQMAlZS5HrpjI0wDBvmPXjK1pWxaKmux40nIuZ0RnB - ChJRdtpr3/+bAE9i2N/Tj+NCTMGbl/fNREcTwyLsc0eLzjWEHSi41suA/CpotjSbt4ptNSBRGpV9 - ynmjA0yx4nOKW8KCpzlsuiV0rilWK9YpwCcU3LHQAXfunNCI+Li9vAPvB9EyuzKEQg3RJK+Tzldr - 2Q667a8MtUfcUT2qxc6xvjN6c/XDpEB0pP+c2q9SJQtJtFrr5C0Lj17bj8038HXvXQWfPYh+U6xg - VpsNrKHo2QR4Eim2HpUUpD+Or4BoYKJkHly0pRie0ommfWLwJxpU2gk13Y/dFmw+1guFGZ1LRQkf - cAiFKU2hoE4UG8gYBXOzL+HC1/d+xS9d/xzkvX44izVkXg4UBz6JKZ3OLLux/rdLWzIfT6cZZDja - 7ymoTWsDQfqeJrDoDV+3MgxP37ZtxXUrxHL27s1mIluFgcKh6Tot1ChzXrp+7OB7ANKYR+uvLp49 - /S1GPBOjGVxC6YYoM9ucP/5CVv+PB+6xOXztkQj9ZwXBKXZW21FcY+p7d5CebbFevIF1M1OVvWHy - qGQi/xqv5wruEBoiZrBoKfoc9JcESwSYY/kq6X9FLvx9l9/NWWWIlqVdlXlq+6OOhv7OjCgUCo2I - idVfslVbYmLH/Q3ob9Cxhm5N1u32YoDbpgFEMLENryq9LvAoaAhkFzR7V2oozD0vz6gcnTCe7rCG - QN20BYCYdm3K3u/UNICs6TZHG2hrypfza16eTTts+C3YnkmvCwIOoo9RK86hAdFOslBteDuWfaFh - mr+Dp4YIP0Axj8x8idZMjFiEKnrr8vX0nJb/1/7JfPiGJfzwDaBIf2URTgrAKWawq8gZCnvJO7iI - 8WUry2u6y/v49wjOAhjnc8GibeevxlEYCbVXhXXwbzXn4XOZMJqb3npdg4QwtdJo5eSZh76DSNsi - 1zoYuwKAK+0Fj3dhA58UjNa3y06G6trN1/4byqvNNDFGAUBYKOmudRQoUDA0XOslzYacj0iZqr/r - KAjizJF+OGVuYxUfgBEX6YimWJnuoMvXk6wUcN2cvyFQve924OyikAjGZyhlN4131lNC5g1SYi+U - 13mfdy2k3hetFwAC49N0peDLw2sbSX8U1p92IxQQFerllGOu3gEHcgQhAZejFALWTPsKleLlO6z3 - csoog9OJ3Tkj3DlFYua7I8TcGP9Aif0tI1FomCLUorVm+LJbBkk68s0GhHOYySH6vB10qKbSCEj0 - 5MtKJjjVTi3TTpfyqYE0022cgmePrYNjmGlmnkrytv695RB94T35uxS0o2CUZqmlbDHm4iJOL2EP - 8zjMB/QBcI+Q6Kq1/wkACy6CLI5Ogcb6ETV5huu1q5gpgr1ar+vsmoEkWCfIRjFI8rwbyD0q1tx2 - LNFT0GQoaknc8KcRzGGtZbHc79dv+AtM83hEvTTBAE3XeqWMGgE+QhGZxfgS0w5FDM5+tz+yxTSq - rqj86kfiFwMNg5EDq0xAxkSoSTtNm1demAo1i0cPOGkGhMBTI1/Vwtvcb7oxQ6f1GvavIhCA9BUo - P/4LvrocgpYDtwLg/qxtXarrUWhvIaer2fNCBkWd9uMnoo60KEXoEIoSuLcqJs8hr8vhiRede8Mr - 1HIpGoc/WDG1lU6OTq58WdjopQzoyQNudzjOZVW0OfZZGtM8w8FcSsaj2h+iAUUS140MDta329xJ - LSUXKfekNRx8oH2v4vNZKGw7Ha/jnwEEy7VBFqr2gBH8Syf4/A399Nd5VyX2S6XL7qH44QA01MiY - MKctNEtElcTp/DFhl/aLHK2B+9bt/hlaKAxGNZVn1KXXX4b91plU/3kP4BdE0WXSL+34lh0PLUg/ - tzdQKGuFQMFN9lu2UvP3PUx+fcRt0MzZt2vwKY0zKkVGujHOCEM5oY5MjywbmRRu1h7tDX/vOK5W - vwUAJCjKIY84ePJ0psDpfs8g9W9oN4N6Eg+wslJ3c9xVXPR5dp0FToMOJXZEZJyr0Lfntc0YpltL - 9fHQoTKdEnABGoAzLdt9muNZnoaeOwaq07sDh2JssTvSw00W7QXHjtlWhle+7vsZAXu97MHosa2T - N6d8pIOQY3oo1QpRt+MHeANQqvOVv30PiiQVLblksc9XbECoZPbE+24vvskb6HVzIJtZlPeF7yIr - 0EUbUbbkESHJTNt24wRAlF+66qu+k4Kus6GHm3QewLdBktVce2SGIXNH6rUdrf+B0zsCTK3w/JJM - jG673VWRM2gcoo+TFIV42i/YA/NW4xW1WrbvH6B20HYDpZ5UtIso+EqoL+brIICIGkbNOAHPS7sS - qKW3MQHmp0kbXWfQL102Qk7p6TI+dUQ30+YrV/QIpqdhCpmtWAxsU7aguz2Q6mzjBz2Ke28rRlS3 - o6MkHJEXd55Ehc/fpwyxwMaHzpNTRQuaMiYD13pIXrN+iJWdSufDRV4VOfS7ib5/QK0tVHcyYgQq - H4e+BbMlcmRAK1UoKA6onvQDbncX5uneUZ23EwRx1w+D5ppdMXlF4Ou23VUhZKdQo9Zm1qhcaWNM - RDUEnQQva65dpvZnMfk+282WqQVso7I+fF2iQNXSuWDAnc/XnwJWCgmTDbTbQ9th3Yh2FM1TrGNt - ok+dXt6mc4+eYFoUm8N90/J09lCIBU8AKDlq1EpUhKbjEz8ZfXZDaXfKvcXi2rok0zyZkHc7eSns - tenlEIfLMLByHaazMWvTE8rdIXTmAD0DY0DG29nvWFUeeyhCowh55cd7gEzlI90vljtkf9koOW02 - c/cqvgXDxMg4qDIsZKzwkE5F+GpNAKcpD6BXkf7reT+hULjgb5EhFKqOFAlbIDkj06RRdBQJbw0f - M6T40lOAqmob8K8RbkG4y8ovwwQzZmZ97ps72zpxBDmuttFFnwcomVhosz0/+fPsjvNK9Onvh93Q - cHcyLvf4FjlSrBFpYmmonS8DjBDH+jrDk5PCGjSoTfCr2hcNsrRn4LlaxlEZoMAED7E7bbAeboz0 - 2q5wbLSt0CmjNN6dj0otm46n3alyd+3stOK1Rl74ycDAlv0QZK3rQ9sDlgx5HYgd+qKhbJNC/7ei - 1UUzBH6PIqj19JOlpCgDRhviNsZ5mLPUtMRMWi7nV8FMvMDdCz1Wrl/oWBBlYB9vc0rJFCMr1Lt+ - G06IIBUQNzba9a3yP1BSMJRKGXYdhrO6pAg3DvvKsQ98rseE8CSgGbjLC2tjw9YuIieg4fKBcw89 - /LV2rLOAOJukKJXjy072+3dTvweceLHYMO7efkdyRKGHctawMkiGHdPcK3cL5Z2DaaGjVDW+9N1p - jycHGhrUHkPUJSbRGqXhsENjsjYwq1ktAuurT5jQg6114nnAUh7rqxQkWPr80b20l7FnAH1C7KjC - KrNNSCBojqFmzm41Rtqk7voJKEu11Ei0UQXJD7ocmh5+4NI8Ra1eVsMsduh/WT/zlcM2aOJE7knU - ui7mt4L+IbOg8whlZRvzz99fi50xetWiVffkAbhcqINxlHPP03fMFM+XLCfmb3SqFG8Hg6PggXYj - b0FG1qwC/Kdjd61doGlda4sDcxWfgtSG2rbHhD2d+vlmrF2Un0IN/GnEnhpuA4QZ6WU/vmfVEFcw - 3+GJCwXM5HK1/v+TFvk71GA4X5918McT5ZpQWcNKRDclFF0r2mNxh1jEkTXZ/tw9KO+sFSq+/9LN - 3U4rjaPoC04dulmW8Z/AwHOzQ9R/221P2GfrlZmwqgMK3qjEYv/ji/lVsMNuhs8Lky4YzqP93UgZ - 8v4/ANP0kfc+yyJKskPvDQFMgHox2vyrhjT2bQxl9CoXXYAAksyBazkBLn274TbTAt55dKnpqeLL - aGVpO8wjMA1Emgtt+yQduvn5NqCbk7XH9T37oSwFpBVVw43WoFDNkBTJVz3toSl7yyxqSiRWB6+n - SBTPEE7fAJHLgBT9x7QCW66HaY6EoqctSL0c2yY7dC6FgUf9Brk6/UpT+zwgyfQ/mtdPNlXCLk7x - Slpx2KEXTevLY8lpjs+1jKXyPp/kxZv5fei/gTB76+cNYjykcNUSLyvjoAigwZrTy8X8+vQoYgQ5 - LYLo5l/er+i80WYFhUxAPNZTAqYLEXYj3GSU1U/Gpu0qNKIzbcGopAoujEoGxn4VlNcANwhJpia3 - PX1OfzXp9Rz7YJyOL5vN1IPWkZgAmEKR0sBjEHWBfD0omfDlrh9OXzxdOhWhnmei8+nf+oGvT97x - 3TQvrRwWzLktF49EL0EKxLCxn8+DBAnSWy46QL+kcmq1WKA/6hwD4ThS0EIl0A1N+OyckEOSOxnX - epyXJul0d1YQuai9TSCNMQiL1/xy3rE8AnTUjc1XtQxj/TZtOKzC+Yl4p7q9gwve09RWid1n89Xl - D8FdardPUuPj5RvatzSNPCjqWHfeWasLmILX0QOs77nn7YVAhfZy6LMlOpOC3W3/oFsCC0OKBhO7 - pes8SHBPTp+o8AJ0hsatwZQp8kXnrULNMHAW4WW9iQ1tUsitFnddQHTvbwLyHBpxuJEsQUDplwja - +rP7JX+WNL3rGg2wZwgDVFQoEjaIJplQXAuVqk+QmEBFKXLSfFelBRsSYlaBQez2B4MAnvsqtILp - ITnLyvfrtwiRfhqyAXTxpZ2hXnoTzDL+keQqlGIwRrGcd8zq+YJjYGg+watETlIZ49PjQAMVMupQ - I2dneqIstth8jl81rTyyRtjy1c8uhtwvByzf6JduM2xXwqoG3IN16B9ry71Cbi/zQBGO89cFjO/A - ote1Mmv3NYvt1kDGzTI7zBoZheL05O64OfRHxAiLEKqri+2GpgCFsLBo00A7aJmcz/t0hvP1DRVF - J9P68IbXiPPMeoAyB7hhTia1d76uNDv+nmtPr7h7zmQkGTRxi8iGQrEUKVK33AiyWtZaHl+3i1E7 - krg1to9RNXTyYK2gxiI7cy4fW8iQ3NU4EH0XpSekOyYB9xe4lwgIuMgDuRlfK7a1XAq99x5zTBEy - WjA6rW96u0Il/O5t+w0R0PNiGAdhA7hCro/LuvbRBfYdhtVNLauvbl7n7LyWT8tHYdKibkubAdS8 - LJAeVtaxHRrKZ/MmbbgmX9S4aOlQpJK1xDjaNrIFMoHTJr3NG5rPxt8kYzWMogosO/pyIJHDbgRE - Z1PLcB/vI2K2HRdQllbXXf/LBQvkZKDzhv2PfL0Mk1QQ+ief2/14UxqCgalb60ujLWsgrKf0v4Tj - ff+/8Tl8gOQpJNOse2nm0/gkT9hNl7HyN00fSrF0UW+iFMjUdNr6H9xhFcWBl/M4PysFbBpYG5xZ - XsdCttTd5RiD5X9UlLqk5bpUhOfa0VvkE5Wm/AqlFuiLJQcnP76qZMyVaTN/0GLM9tJeuaJmEhjZ - E7PQhRXqOu5oirJjIjbXcPcgScAaRtp7FSRts4i8CMJ+6PfNd5ibr7/Hik1jUEh2xpsiYY7KQdoN - DFfghEUYtea4h1aG1stJalcQrQSIIR0MgGgt3vWSWTKf59K27tSdn3Kt0/aw6IFRALwKsUN0QPp7 - bJ35Kr/8W2hwbtpSbAxuqobFcwyMEn0RGikdPMJt2CtZ6I2I8KD7M8jZbB0ILPDK6i0CBhksZwjc - FZAVlN+PsxxKOG93fOZYjsvd49bSkQQNGTA3+DIa1qJW9bj9p4Gs00KHvdsQJgu7ThdAGww4dYLM - WLFpe8AIY/0MUo+ezilv0MrL14XIkWnuT6jFcQUYhd8nS9sQsVkaBvnJavYtLeSAenxWRVYF49HD - tYxiMhpBy4+StiBT9myOTwD/+cAUSOnM6bbDN9DxTXNEhRdc61ChN2rKHiS0eYE4YPu7WstCgLY/ - 3zx8VE5N/D2ti6gGUZzOwmUaTJZlmCC3vX526NtRsALc+Vo/GYob3iTw2CGTbrm9J6LoHcYnDYVu - 2D3BNpttfyzHHPaH8r+P+4oJcU8EaHgawtceyOnbACHl4nTlggiTZyu4gtwrCeCwKeOdyYbJrLtc - SxbkZQs19HizqYNE/wqbAsVXo2PiHhcCqvBFmxyFQIp16j80Z/iC8cndpIrL82KajixqEnmvpBh+ - ZUULiCtKJRojssGviBRzaE+8NMxSivCpcFijOZU439RLUUnWX7ucj9jT/yhcAQNFR7lCw4IH8Kuo - E0Nbfy6OQc4JpMyiZUu5RGLRFR4AxK7ITrC/7lnUD22jyj40NkDnyA1V1i6KHq+iEGXaHUHUyYVO - TbFyKVZMSXpg+2FnpVSeeWx+faPr1PZzV677Zuyr7Baj0XIKtoBJa60pZ66rh5+MiCbSjxPcitEP - r6xd2+06ikqtUSBOcCtbBnLbnt/2WXqHnmpMdgWGpMO2tto4ZuqIPdNfTxsct5xw11VEDXt9mwKM - GxgO5VgygsuFkubrYeJbze1+V4j4W2SHnn1K1Y/8REQCQLvd3HOi/GTnVlsYCECaQbGI848MkXhi - QDsKOQCOMCYbmB/fyk2v2XcwfARi1FaAbhYSlCh+1VjiSBNrmWHDddp/MDJKQ4jBprroC+PQAJkg - Q6eyN8Qf7+G09wBV//EeuKA9rRJ2hdAsS8WFnphWoTg6GXT+KY4FbBJzZefmfKl4L2NVhvuYmks6 - 9DggB8j4MNl+d3g7Nd9QGIF1J51OMdvXhgcrkQ5+WlMQH4u3AUZ2ssyHX1xfSRWf/etqs6FFoJwD - ajUBzwmVXxH2f5wnCJ1mABvFimuqX4TrjK8567UwVRfNyGGAPeidxhfTGnIJqSZDk83cyKmysPFz - JyeXb7vub7Vw5lgkB3tQ+EDJc8PdDfSOu8CKz3c2C91ygCe9URnvTiPgci650+fpQP98t7QLtV9v - w7QuEyVzSBvZq6EWWqyd349/eGS1bSk+vx2aNkuVcFEy2VVH30faqrHBhCobsCVZQ/PatXPF7gyI - 3VYbKcLWoJ0B/hXWnjIDh24HJznHguxFhA+dYMo/XORYOQ/g12WLv7QfZQgxZIUFjv807KhtMb9A - pmEKbsaggycpSd0/LqDjQMyVjvg73QFVEpgBJQCdWQ/DyGQo2t3uKTJC6qBvpGkk1X4tyYeaD/I3 - DQ11nJWefbz9vX22ThOY08u/TJcXkedYCp/jyzBuP9HUXJRVTExFx49C7WjdQ5FAJBqyO70W37CZ - Ojn+qXv9crtQ2KkdxYz+X8rj3fWKmcDQU0hbPk5XD91piGyxpzd3mYWheHsYgT1fspZk79ae0dET - i2hVYQVxv91xkum4614H/ZCSYxtID0VsHorymylM5ik5MdFYZ16On9cqci6GFCX6deyP3phDWoui - jAVcW8Yhfd2OJeawmQ/lP7Q9KOW3fWnVtlC0hpWFrxFKiEDxyPCB7WHm1pmFP3pcI41ghklfm/6O - AUYxOF0UuLTbfnGjYGD+I+GMHiwTyp259w/Eu3Dv284ff4ZGLPZAMT4tSJCn1sjp2wUoEL3sptOW - 9epA/6lW8t68FTmDJrLmCmIeJAiMJrBj4S3O/j3Or+lddFctvUtkS1OEp0I7+N/zGXsX0mFkZsqx - ZfEjcIlo4il2ivAMHhO1Ll5P3baYod3mNHM4Vy9Fi9tio6AaOor01bAfZA/NJKtzd22bPYtTtXaH - BbvTQeIach5qGZBfBQHy719A88LbiJLXOzzbsEUkSkaeJZDVMkiw0jqwRtmel8ueBXQ6UJbDPmj0 - 9FH0qZ1M3u46NhUDApFtwL2riA1BrPJgq7C4AWIACcqkR4XQ/KGkqHlrp2MNTc08gF8FwcH7Iesv - ZFRCve7NwE7NaBdh2ujZjEzkRtju3yrgmyJaM/XDcULRuqCtNST6tXgsehkleBK/pgU2VaTliQJo - 2kYje1rcYFWiytHpbUJsjtYAL4oQVQknVPANxMkA0I1huVkRo/vafjTfKFEd3p+L1eNm/1zQZk6j - vt0sp0piAeUaKVEoZTlcotNIJGK/aSjrohUIyJOr7u8QFVal1jXkbvPl/CqYVtMAAxnaKlAw8b74 - EvRXinPrinHXRvYomre37VO97zozHfRmq14XzBVAm12dKOa1WURQeMBO/WniKiqHCct6dCkEUIto - l9GqXi7n1yV4OW9B+aM4GsGa1rHo1CvwPiPyHc9keckN30zzBennXdHgXv2KFgpLMBLwywAtzCTO - 8jS6G+Y9xIpRY8QN8GvTiQC5mhqa76ia2ioJVYH2m227ECfwnNHfWk87mN1EFPQNkpFaqpz8a8vc - 5ozpCHY9ySjEDzZwQd9wQd/IfFUPPWAdaXGri3HFgIyQZbb0P9BmSqwfKGI+nE9QZoMVHJbmLYNw - NRvlAPyq2PiuxihRmnLsQZ03S2vFU/JRyFj7ZA0kEQ13FYyw7/0T2llFxt5dDuJJenqDQStaao4O - Q5AXikSHbpPJPAa2DhDVqN+uFcvP02+qYPdQ5N3OaKU52+deusiXAL4H4KLnAwQQzNVCAyXQa1Q9 - HWu+C8s3x7euStkzEtaecXVEwY5DBbYGAj/DVzHJAN/743SRH7Vjfy2F9XfHE01CKDPeCIeOzlE6 - 3WoVIioS+WJ+zT9yajfQjUPzg5aCLpqcTntm2oGDw7ZiIqJ22zVbeR17d9zPzET3yMvRuihna12z - CotDMOGEorj7bjyJP+Br04/Qi8V6WpNka4vykIEQho/5Or/k295/HirKY7iwTfNrZYGWWK5AQR1P - Z3dfjBPh2raQyMw9V5SkCllplkWmz8aoS2AzahwXgvfYfAPtC2ii5tqkzuWOdSoOjpZBXzMP+EN5 - IigooNXGp7JUpZyh7R0kUdrgX16nJ5/obmQ0ws1p+06DShHGehRTI9qpOfUUmqZ0wIgEJP+ONhDt - i/iMQkKnUWBgGTIaJuo9XVinZ1FdcexxvnqPOiBUWzzgvCyxnJoDcHDIXiHasTr/Y66ZJcVwOch2 - Ohn6YTv2Z7SNF+92ui+rdAZaF5QyBWgNscKSyNd0N04cxkDnhiuzJQvVJhNRTzNsdmFktMdm22ZV - g8hiF1z9fZS8ggauyXpd62UEXiWhRteMtIMAEo/YW4fyODLs3A2RHZC9ZM5N3ZMN9eX4efrDwnv3 - MTDV2yGpQtS22rpo2QFHaJgMnjKoxIoCnv3KDqJseWGZOigRx5d+OzQs0Rse/nG1TQqdpFBHo24X - o6yQeZ4uA3aBpRwb1MqaBgkN3fOoOcbO1vJepirTQM5lSeh0sLouQsjkgvLZBA8PXuh39bO7/ALd - CMgV8LH1Ok5FCqdiDdsxh4KnFZoT7efjpnKMiGJhczrGir0PlERHG4bjL2GT7KsMnzP2TTwUSn8S - Y2pXWbdVSZmw+FSj9ilZCt2v81euVBQDoskc0TLgw6Q/Yh+GIgDAaSsHdRyqzgRQP7iN6WQUr/31 - KA8Pfza/2vLwO7XNtsRg7+bu+h+Q6TAdhJyuhrojjmSKGX1x310w2uKSZutzcJRE6Mex6zLAHBDZ - 1eaCTg7UMzBLF6K1SEb9NG9alGRuGOJ7Vyl59SNBWpktf1H9lUHhPj8/GbDHIPC13g7UyymahicK - rvO+IUoaLsfmE+5LAREvvkJYq5FiggJ5EVgeSmGgyLB9M4zfwBNs9h/FPNtMT42vifIOpuag/xLv - TZgYoXYXoL0b8vUki+mnw+ceHSy3WABjA1rVF6CoWkOjGWM897rM19BRY1Aa/Ao6Sk/0ZXe+Hosv - Nn4Mz4I2zfFImWS46fDZ6EyBKwS1AneAo0M4Xom2irfjLResWTC5aHPGH8HTxItmCWr/vOhCTWfR - aQMijwl/FrGhMOwojPH5upLJ/zcf0wkFEwCGKw8R13VlIBnj4aJpIgdsTpb1vI4nFl8KubfnzPqp - 195iOF8PyyjBtvw2/xEXve4PpWXe+Dp/0Z2nkAHmYIEWaPJ/hjZ0C2wwFNr8HFFIvPVQ4QRQnKTe - qRoscYMAnFuKkAb8sWqW/ecNFxwx+SHTjX2HBiQ4a5QB+7X1HSpvtK9ir02M/UBaJ4SBNQ0iIMPp - stKlW32ibITOZs5XWCJZ9FA35/6I0rpalilyg3WMBMYiPCCy2DjNUVGQvbvsWI3OLqnbKtiD2BSA - I7W7jRDaEc7TTzku5P1RbKw5O11tA7C/UZRYZwLajUSbLzo4q6WAgod5uW52LcpMCNLu0lfR0S5r - 0bul1Z0v5lfBs2oBANC3nqG5xZkqJQisUeZvodLNlV8cAXlFXuczY/qhP0u7T1hNVdrRg7EpsJ1p - Ymho/O8bnP5BCZm2Vr807bUBi3OBuNHTDEWgbSlvhjIx3zwv410cPj/emCaNpKC6LQUVFI1xzgDr - sFy2QnGsrjuVBefpcn6tWK7OmIptT1Y5H01iBf12KLkjWxcRPQ7bPcc0CU2NemmWu0SpM6RL6I/a - L9cNUzUl4P5uFq+K180wI6++CSne1cgtWK7RBP4nHqBk3crP7nip2GsDKHuXXCmyEkMNf3tuVETG - rEl2nwtUjCBrkbN3vsW0PyM7AXzD56u1rJ7zPo8dVzcS4wgfTUPmfeiUNZ/5cpTpR2/HoTx0+9M3 - WPDd9QRsJ+4prfd420Gch6hoCDGzPBCGiu71+2ZhB2WhDFo0RdRnLYXtjpuVli3R/jd1ZKgdRaQz - byfm8tvsrRAfojG5HazQqYs8BJ02IxTwbT6Z4g3QEgUdBevNKmCDMe/ZJ0NEvPy5Lfeby247/r89 - A6QVx7fmiWm/Gzd/U4eGnzBQsbSXvPyasBbC7fk8xLGDCiBoKvo/fRvgZSqk58s8VFx8rGlB+fTI - ZhUMpGhJJ26BBQYJSBbE7jB/oHAJ6GqiaEI9gRatT+jsWA5qhPJx+26/P4oXWd9uStBqTwGn+Le1 - vweGqavFd2KV0dkfFF5gUTBIndv/otBi1wwHaBIvsU29IhwGinJ18vRmwC+obCkuwUdmGrMFauSh - JwOjZdqHAVa099RX1JO+HFGNtty0oxggrAMdOsTpUOWtPjJ1ow5BNvcaALpBIkW19zbCKuTviv5E - PsBcPNmXaMdXOWXi8OsTYTr7gfqK4va1xBPsZCnQM5AyA8vIC/k5fdtsK8tUKE6W7cqhhMuEwTkN - 10MoCsg2kPlzKBu8m80VeD93o3KatYeWha5hdHpRrhFSOQ/HHatesfcWpZZ2nQVFirhr723uF2Zz - a1HPZAMILmw4aILAstWtGaNQkFNGoyvpLEN5rJP52Pf7sWJ4P5zZky6+CaVaNUB5aGdVQYZH2nan - 39hptF3nOfR72RdbmXq5mF8F1dD2sGcWShZ5tumRtNBOBISP0tHcrJPyQEFNFMp2rKZLd+L+IIIF - skU75bxfLudXQcm+W7l5P5/Kxfc9NQz8tTmvS6aUyam1of9l843AtDWhwv5Z3rMeWUWEtWjWgCU4 - kdJWHpLi8pZalEQEz2L7huh+Kb+5UKu4nrQeagnQAuVfnxkpghNiN/8zzk9lyt0A514WYVDsb7xK - +6EqQykeEuMfnFiLSEBv53Yu3vJjnD/ET+JyfNtzFSJlgo8zsTjpIGMaUzS3+A2e5JInctl17B4O - 9aTqXt7ixFQZ601giL3Sy5iiXxTZfCzRdgb3gZfz79cFBEZZHkVrpQiNrXUA68wgcqtyTC/YWvdr - JYg1LkI5hajDQFL4ZWrkUdjbPMrP5p/diUt5jo0m9UrxwEPxgI40VBn4uvFCB+dm23FetRD5YRH8 - uNHo1uqoU+a92kXkQXL+7/oqZTFa7Jm6tOrQ0SX2zHQs5ylcMs1xZuGHRdyVcpcVWo8CN20grMxN - atbaEHKtzlADx8KGV9ftHaIKFLcYCihMypeTjGHbDluQLR1nWS4+SoZGhR+JUlSlTB6QZN4vl93H - 8FWKEj1yBQv3cV5/TTtfmc/xAMhBJb+GfEd0QanlYn5dUtHNFjwW7DIQfl9DAKD3SD+MGDhxeTvJ - oojzfHx9Qnnvh/bMlmw3Y6U7nZD2f6SU1tTZysZwLCbSdRgaOghVBlPfdzYoNkNkA5O4zleVrIn+ - /sb+qNnBHDHcKpL0aAREQKEwIkgdUvfHfsDTWirRDxs4T//5g91/KD41TC4xQu7Ia3/Ck4WUawap - rVPCBD2rYDwKzYoB10lokdlu9gxr0BUQEqtaEYTba01rxS7X6dWJoHqXdsorDCCldF+GdJcc0ICc - OuTrsmV4HvcT5L01JPH1PRxWrDKgDeySNBDlWkZ4u05b+Zm1h12Q9VzevEfqxmruFtSe1k++mF/z - Kuyuch+5U7/txD88dr97zCQKMFHk16FUEHU041RWbQxcUhXlRsOpZzq+d+zcqHwBbjK0Z2ZY6g/G - /smIfD+hkYVDHGZJNAXKWBZKyyyuFLjRCcUOkTDQG1g4NVITJlXezy8LZeXoYQW1XIfRm0h5brdh - TVfoQNLzuIvn1ZrRaEF7Fs9LrM4t6gvO4/kdQOAbvaum1N6UQhQ0WS2rKDluy9VKZvr83g4VWwTp - hVntywyftkzvcSZodm2uszLx//4+H91U+bsuff3ARGr6HjQntE5sc8s9H/yYCB3e/WWVUZQXDWVk - 5vmH0auLQH68DNfh/MxL60aALOsFkHz/yCBxoAEcUfvj6/yyJE5bylm152Ia/F59KS6kcIfR1YH9 - ioMRodDgbug/SvDW5ePAvj4oJNJHW+nl49MlDbvO7PsjxZzOl8/LUk/NfS93F24w4DfbmrYJzSPC - Mk6QTkzNK9YnauEwtfNrACQXtRwyJRqBU7yWNU2Hfntzm2HtkbWODAxjaSlnJHB9c6URHLC7fkIY - kL0aYbJxV0agoBedl+QQXmOIYYF58+e09RR6gR//x7T10LX3inaK12YBAvMjeUiLKABIFAXV7NQd - Yx4liHi6D6zIuOxEsS6J5Z72U3Q7PT8Ql2S79r5vgVDzzJ1UvjgZ8CxQrTO8Sxktg+/Om8uhyg59 - YCjXuvBYNS6wxgsPiMLs7AAcUCm8uD23aBuBE2roLtbrb+ZpFcIcyGIE2kJBCKMaQS5nbzwATGtT - EDswxxh5m12HrUxg/DLvoJyFYoWriqcTgM9jYAhfxR8iikHXD182b1E9d4Z2L8s9vlN76EHwuTmg - Qru3CFVSSs5Qro8xNcDFov774W26YndJdcWbg70Dx6JXXOqBVi4mo7LLOMl59euI+g6Wlsu7RFGx - onwoaFah4tZJlNmM7ebpCPeJRTUzBFvcWzAt4ORm2a3eCsWcdtPxk0HvUDeoEjzFi0lCi4tB5jXT - VITWCM2lfe7vNhCG4ZINGwQ6/8QIS9YGbjvBHE4Gf3k9tLj3N0Uw+n3lU9KOi2kYA3NOoeT2NF8H - rFGUD6A14v2qtuMj7QwUH3MWxZ/Eyd5lPu32QBekPBce38Qnja3CKjZTZLJwHlYC3h1MM5KBdtHf - I5PP4Vlxa78ZDhU7yiOUuh0fOMJg42AZCoKrtSwVbMdejuUZz22LdcxgBu3Wjh4o1lmKwsHYt+yL - XT+7c/7H0+20mct5O3Xb56n8C2qLMIhbJlpyK1ZGROM0KkDtaIjJ3E3JR7nSZrB+1x18Do3LUlWV - X4ORaUJTkgHaAgYYPoBFK+jt2iGWUhyZFjcYJpF0OqmwXEftTXJ4tN04s0soHU5YHdEUSQw0ClJi - YwlQ2JRs8bSHU/8H0PfQvP3GUsHSpAN+eWIKyDswXJKqzXIZryJ044GTYfB0qlUOCPEkCrsZH6od - U9bggSkCMG+y3KopimYhggwPVjyYNcwEkkFGjv15eJr9n/OT1v+12XDUHyC4ZfxqiqDqyR6Jy2Uj - THTb8/lL9kw0iDspPTLO/9sh+nEEo9g/K7rEpC17+DLDnAfkV0ELYWwvxU05bfqh/JdmujzLqczH - M4uWUhhCm0IBgeFZj4JOVqKrZdWO89Q/7VQnytHokLibS1EIttZHA6Q2Up6GdrcFnQLpsAhUsumv - 7CPnWKc6xJVWfETL3nIzgkbQ7A9SG4HT+7bKBoFoAilTMhjpbKrhGeUAaafoSCRc/n5g+XUuCTww - 3j4FR9+NAjC38nGLki/xuxuuEBLMM9PqFfeM3iNRCmi43IoBMvDJfjs9HWHzoWkZZGBXfEsExrD9 - 0rUJy8X8KkHgyz0KTv38K0cTOkfvqwI6HWUU8qIHy7p2wphj3G4+IDSLfKh2wfmwnpqAxVNuVzFw - X6hE+zpM70uj7O5u6XWAslPQzBBaemSO71EBbYTLpoM6s3+ZzsM2S3doOipgJK7Xw+q6djYussTC - eujb1PbItG45Wbyb/EWnDG3a3js6OZzjPJhPEfeQKn38vlrhD4chPpQXYUmvoDX0cjw17FYcseHV - ZqU2Cedsn2JgpG5GzYnYnvv97lui7ENZl3t7P+HQijdI7soIBm3+aGkf4MNNc6tRhAza981zzH3+ - mH5l+VTLJPSVsiG2BK8SECuZDC/bOfuh+fX8ru/Xa18eWXN/PC5/hzSAXz1XijBqmH6lmOqF4PXE - IHEQHUmW0supf8swSK6l1fdMWYUUoPUNVSJ9B0pKdrhmfP0FGnICTlKvQhDPoq8BArpOsXVgknVY - u+v+XLGmPJQKtTGhSFYtTWHL+wXtTUKnxON4GqvMQGcJottdogMZsn+KDzM+B7RQ/X/7p6/YvPvI - oDxaknR3/LrCgPodHiXibscKPBgpOhA+KMZ3kZ1CuZwK+6dVqmbh1ZUsSpC0xTlhMW373pbLl/LD - IxRd6G1LRZcIYwBaR7Tfp3xd/SsJGcnC59r0ao3G8XDVC2AF1Ppl17dySFqzm8e/+W4rxKkoPFNQ - Y1+GaW7/0MbuvmGiPu37XvzDp+N1V2WVb1ioPJ4s7E44kF2u1tDLFFUJDm3uZS8dqNt7uIhGmzJG - G/Ut4Ek/zC2roGTxH0rLtCu5ic7bwKkMe9PAWUwE2Bv2rOeY5YLoUFzbfAAohhqwYnlILBajZDfs - 9Dp/oCLC+PlKx9oVhf/a0qnOpSrDmgc42EWIivFzqnzOYKtg15RRet4R70s7MoO/4E0uqpBfD32Z - b26m108+UNSzXnpCI4Oy4Dr4fJ1fVu+pEOTStzfQR+Y1Mzfcn19EUV1B7akpb6A0BS2zxH3tKKtw - bMbmryIoSbEiNU3gl6kfezAJb4RSSk/Lan0CrhCMQ80HjeigvMzlptH//FkldqsH8iasQWnIauiV - Ij4o7BhQlEXyuYfPpn1yB5ynHlWw+paD1uWp45D1wBoo4KCzQqrx7vjrVLxtc73MOA5uqe994gC+ - 9AMmy867fF3JjvC5+bzRnwTPpm3kWdPYDV2Z4112eyy9m7SUCWsPPJavShFte4buoyIl2c5mMGwg - rczaeiXRUUXA9jgcclnATwI43I3iezI1+zKepSBO/tsuw3sVTJ6ztKMWX5bWhzYJ3DkaQVteqIUK - VO1x4myM00Z6QAXREMp/tQY3H5/CGdmGOkydnGk5T1eW4UJBBXJ2K00GAGgh116bRYCrFjqT95ss - 9ru0xem2xnr9LsZEyhRrjIms+yuqCG+67lTuSvNhHLI3Fcuer6rpEflxMjWTgCgZtMi8BKWkXcvu - LHC3yxjER0RK4S+cverI4OP4I1MWReWedvyY5TKNW8rRKy5GPxVLjYdQT0Sola8LK9bbvbzh8/45 - t8Uz2+4uh/Ip7k+Qik1oJ9gbdZkTZ5TnKIT2bAlAixevRrR+ZvYGS26FPwwJql7aZgxxvqhkj695 - m3Ygh8PUCZ4cd7XrFJH7h+QQsSXuikLw5Y+YAqaNSdtgLMWB09SUOdHwCEYk8OwzTPNo8dOxnKtm - LjmU0b1HbzXlq0mGz50+3v6qXxUgCAHWx/MP0wVKUcPLb3rsiqVuUbvTqywEJZPoI92PPEDJyEbN - +PoK+V8K/sG713VYb0toJBiT2M+QrYmTDAd9feRhy67UD/KEcthz/RB6LVDCcGtTAaglB2zhFVt6 - CrmT8/6w6qsJtuG341c/y/EuBd/Bsrvd51EeVk3j/FkFzdLOjC53aw8PcLZjUpRkBS7bBCUjYm32 - Q0f/zt0ai3jIu6LCQTuEcxyBaZzutRM25Lpz+/7Pkv0ksC0MRFKXkT5CA4vybavC1wlQOQQh0ccW - O9WSdMRVhSRCS9NZDs1VllkV0msGivaR/9tFHvTRCWWGvkWlmWVoar+MkyBlutfsyI1masE1VBFO - eWgZ6MW0W/B4Keekm4miHwW6d6nZAEKap+2nxq0OIQ8R5NEU+C1wVRjZmNugYBTwNhGqXne0av3H - jl8eTw1KnZgAMOCsy2Y6bYQwwHIwDhTrNm5Oza+npvD14xMmjwtE2JiQVu6+kcJFRydXYB9Ig7RO - y5LXY3ezt9WUuLh11ggrZ2PA064z2tnKQBabY/dWnpjz+431BPyLewC9aLXUdLQkmsHxW8Wnbnr7 - uuiX8UNWaXpnUMguQ7Xg+HShyElpnqpDgucqcxKf0T//MVHvL+f/ICH599rWsbng5xUL0zzBrimL - N7TzwmqZryuZNM0En5z6JgZY1/feHQA2P4DCc4jeeYAQ8DPtGUWlFlDNSq8NdnxBeV3HhzOFypir - p56Xp3kO0mBaSIl/GNEl5Ux66bbNpfIob9CCsC6uJxbtLirgI6AC6GX4wf35PC2QcUMRm1axSFpD - oI/ouLClGcMqKnq0Y9c+I/v6t4o1K+ku2jvSHPQ9qOUEz5ISwIDLJsHPCxftFudc82DSRzD5gNDG - tGBjZ8DUJHHNe3Pc5m5UlhG/O6f4oKB9FigFxaKPQdqzandN5e1ty0zr6gzaqRCBVhhA849mdpIE - C7RPP1XeLuNxg/0XuEpsxOuA0ELzmSZt4gEsHixqKW8nbAFQkL1LmtVAmtOapO3ZIQo3Lo8Q7DHT - x+kV1XeGRVd0mK1NUwL9UkXngsMIWFQ6mTDrdHrf0FaKJAJq0WGlB0IPhNY/kCDs9hZkoqbzYbcD - bNfSOebhAFXUUSyYrDSrLWtmWCOD7m2b8xmRYkp/NF4jVKQAYtFO5xGpnGHI6kDpDd57a/7lSB4b - eXZy7cYPAIoxE5ExmTU5jgKrGn3ubDafk2qRc8wAC2k43UBE1Ln71/OwimK7Ieb722WQYCEfLzAM - o+2MHtPdbdfSbosTzyn0KZh1LKMmHH82v+5PkRL/2z3SjvUpDGiZ92cowkaO8zYrzSPECXcDlggd - S7BJTSagGKkc/aUfgGO78eHuR6FNjqa2DVDVXwbkV0GOsR/PS9940dN5bGwQi9W1MyhFB7Csnf8C - 5AeLtQjUy/Ob4ALlybWmXHWXGeSGI5sHDy4THVzQER2wxEiJJDMWbYftH3CQ/gTOImuR8P1zq/wJ - igKOVrJa+NkyIau+Pb6CHB4YpVo/ChsKllB0NGjesdn+RCTZuPs4on8Ub1pc9xA6wIHV0i6D6JmP - uTxM8B22JzlP9/DzUspcX4fzP5eR+eLxad4qXztY65rEOkR5gFBQob+2DVpSiPPWWzQdxA58DkP/ - EUMeoGQY5On9dYJqBVSUkTjBxumxzcI6m2JaChATk0igQCyZt/vNHSq0RBpN+36B2YvLikcI/guN - aNixB0TSjlMr99+j9dVPv7SH7fLlcjSYXEHZRNk+BXWTV9Zflv4ogKT0JPz9y/3eXqdr8e3atw4M - +BzYW+Pre1ytQP5RtN0ElMkRP8owz9P1+o02TXdadb4ew+jUg023j2iF25dm398AyLmn5Yr0gHJO - pVlSk7n+tUyNeXqfWQmKhZIrcJQLehFHUynb2rItvehudb/fWFXaZXUtuvnFN6mzETZL8WjGsn0V - sVMU9gVfky5QCKSdf5nmFjWT4BeSh11FnlCb1hoyMU6xIk6U8cqulyPCfbvkt9Age6SfdJAlnPsB - QxwcHb9EqztNm9NXrt+4oFV4OW2ZHB3NSjyF6zQIiAwn52zTKsJg7uaPEU8TpXA+iu87Gt1fOhSh - pRSWAVroT9IfyjbQz/Fn+Q+bfnNcDAHrQiIjBhC1grIKcDY4TeJV9CHGhuIah6DOZ3LtGv4CACsQ - gdCWTMzBkMyGbTsfsuRgeQLRuoTKlDHW1/m6UJewPY+/cf7Aa7O4Tyay5UKqoUTKlgpC8+Rp8zdf - kpgM6AYU0+gyw1gu6ESZ3Ms0XT7F++C4PRyrO/85+VVPF6AfR0dhtlriAFdkLth37xVzJ2uccXZd - 96StQruI3kLNwa8MqnuZ+zaDouO6Qk9RCKXUUau6Zjx5tFKDjctm9wFk3nKaaRtXeRiUUlX0BvmL - 463PySroH8crBR+cM/OWQBfTUxxCcTZyJZg8QXXay8jizQnVJ+mM2U+/Nk+UmRnak8xFRo1sDaNB - xds4QPsrxmxYoUHL/hMKtGZRPjKP9oJBkQv9VaBooA4hC+83+92VzUQyT6zWWq2OLijC6MRQjuwV - KsQcvk+7CfYrt3Jn8qUhqTcmRWXYy0WzkapkPznur20utiOaWB3BgHpriJzW36rF70/7vmLFXf2Q - PqrBMKMnDIVsFmX1GCIqFkzyXmlzuZ5RMmXJ94dHFX0stFW01VxW9V5KCjht90dAl6AFwczEEjQa - HCwtEnqptBaCEto2nT/kce3mE61E9jJm7Y9gi6qpoSnHDkQ8QvaAKMkfmY6as+10460pMGF+UKJt - vKuXAVpoyn3pLvTPXNhnleuk175PwD/SEc83n8F5mNoiwct2N1ISu2H4qi3V0XECwliNIkJ2deEB - SSb/0FLiDZpPyNm9d04VSVhCCQmyMspnqWEtq43sxsuM1mVivnPQyhW4MIpdg6UDxDHfmwJ1meXK - eKbTEA21ip6OW4cMjHBzgfPnsDSrjQiZ+laqpx7O59dbEKGYAn3PJiOMB1Jt2CwNA75OXf7fMGWY - WRQgMYfRwoZjPeHgKmyy33pmO4vwO921GyvWMGO/8ic4OPy3DEvSGZDrRFriHaTf6py4UKz6ZF4S - QozYtNH3AQpHMpffrhNXLZYtRquSBACNPYiHaDZgRPoieRqHBoholYn76zZpMJCTqRVcQfN19d/F - hxW81h2aa/pl2EwzwAjPbwAu1A96Ms5DypQ3INlhv3sf9+ix3xLV9CAOZpBmUqiH8pDsyyqSTafD - /r+4R1CM/A354f34lkM3mK2llcc56t817Y8KCRxceGTx3byfP+hn6ZFGlPliKsMiCuEBV7Pogwgb - fdexY4NowzWW2hYKSbRrOdq13F1kVFjDnY/7zzIy3m77b5CdzuPMkoehMlWMqzoH0w2CYT97zs1r - oW32tG1axkoh3Kxg2JTuCy1aNMAsZNh5QPqCvc1WYQp5/d/TmsvwFTQt0jqEeT3bqLHX7hbdPBef - TuFc/zbWOspRLUNb8jAJA4ACF5ZZqD1wo7ezkeJCCHvVxmB28HUZdal7h5JtuLXdH30cuDv9gBSR - 8moZoIUQn922+2JG0XML9AtTjJAzREeEcoCa2/tMyw0FswGsPsVseePyKEFI055HMHpDeqKK+MCK - IOg1u2UA5GhFpb6Z9h0IjPHGY1ayJ6jreYi4BJYXY5C7FSHONzQ7dX3LLR+PrDaJjlFFG0N2gACk - mF8F2+fpyCnjHa5fENpqE6xhwk0eIdPUHU5QilpWj01mpQIec1AOwZ0bpETyLa5v0wYxIzfZKtQi - 7u8QgNdxMEThAXoZJmn2zFWWewmcW5abdFA2QThKZ5axk6VX2x2arRn6ouAStYIvRWymtbVQHmbB - WVgri9Ty0G3Fkq8oDw2qEHk0is5LHHVAXkQsQUGO+EbRC9rny7RdCY0HivSUT3SgBR7BGowiscrd - sP1ANqFuWgb+zu43HvpJIXnAIxzjRsEeF0nXHNluywGLUt1zSfr4dPxEHaz3+apQ12h428/QdtKL - fSKUklYrI6gYTWILAhC8LexaBWvjChQZi3uvNhEU9IMGfV+FDKwNUkGOw+dvbqzHJUk165UBmVDu - wGME+txCM6XudNoV0cvx2nwZXGqfm94qsTAsZYQ7uXr0br+pWIo0uPsp4iCakJMuz9sWOlMyad7u - lxyuueuh2xQZdGxoP3LqqR5rQTVn7cIE1rOSAZ2QJjADmFHZXj0lniDPWB6CEjMlb6ISBHwstMW2 - DOyXNaVCaHSuRmNYcxAO6KYk/vn5/s+mmEDdlinjQFYCFL46k1DBplyUTgwTFv8L0dnaN235ls3p - J6LhlEMSgx++ZX+Bfsw469gri+FxUdZ06qdj96Twdf5suJCk2TQGLttrhUOaGvQcEXIB7Mr1A1ZJ - 5oe+Br7SUrZ0c/y/xNPTeByQvC+1EDqsVlWEADxStChe0BDgyWshgn08vT6jbE7DCafuIm3z+Ny0 - TUMOGVC0tAzQVsa+/th8w853fB/ZpAQWkKZyK3cnhdZcCjGw5zgNSFamBNqd2v0TsP/4a4te9lIO - MVGvHkcEjioExwqeLLkfZSzi82bgnYiD6crUa9ICtv86sB1TYsHWKAvwtod+USLIpWMNcPZquwso - uwBxy5RpL/RcG6ZpmR1cCb0X8mijx5xWHqJHmp3k2NBE8BafU1P2uqfXfijXa3s+TeW/HN6741NX - a7hU8aaiTTH6ii+XMpuARRTo36OMfr9pht2TAt5rz2UvFZ/wc+A0QoiP1TD4upJRjXY7uhMQWFVs - ZrgCAfoaRCMd8D0Z/pFHCQK6a3fGNhBRgabody25T8su0v5mGdgQOZQX1S3a/YY1zum+U+TpQlFN - 19Enq9kFFO+tZV/jcn7PDtogTGldyvEohzoiGyq57KAtYrUcZqh28zvUJU4bSbrTYCKxH4/QbaeZ - BgZ/0V4HCkBwdZF6RgflJMvqFYl9m0SU/OtnA58THDk0bWtX8vqigrGbhVkKXmrRrD2O5dpsT+1c - BZbTKUjidM8CTQoPDbyKLd2DjLW52fTnrJduYapZ2il6EwLDMdELiLJ+A32l/eMLFeAOBwSBDyYq - /XJsm8szdaTZ/C/de2WNAvxPa2Pdy37X9LR34LSC6o1+9FEA7kbmmwBusj4PkgQO5/3/8OmeptIb - uEuWK5rokcT1woZVHFhy8GBlJK+WpTnXzXFe8OarMIZSDs8EV8U1hu/g0adN/ywquvto6KzLnMPl - UFU1UxdDzaLB+eL91dwYCatsI4GE63BVl1e1osO59rCOf9kMR5YArmlftDb4su6X6Hsqtm+KeikO - COKE7emjPDvfm+skB5Tsju/waqK9x1WU9q0xg441zgE5ZOR+kk3J63hZ9InR3Yt3MlTQEFdNtPGm - LGOsF6jn//4Wr5dR3l7pmzdUHszidIsC1Dq609jPahao9mopZRjuhTizngQUeAeawhSU5F9WXl2f - ncOMZgv2/cp6H1I5R7z2ijs50EQWbdeX3XgsJsi4g30lfypUOu/sYw3N9ZoC9MTmvvkeeKHXafvZ - PkkMf7x331BZ/eihVRNZ+to8ngj8oQBsovkY2HcgCD07Dn3f/5fW3bXv13rSf995X98YuHuDXKdU - HFoRJnd1zZk2KgCyfuNx3x8q9l4BLlbX5QYTKVD14PgwzyQaWcluv/vIJFnFQhLmrilMuTESA4iB - 2XxZPZn0KtrE0XLQKTkuTW3em1/jf7l5bX9imupTH0AlCiV/QGwWRNo84P76LPJKaUGkmIpFoVl5 - Z32RJre3oKm/9O+QR6kROeJ32nVjDybbykEytFZ68fqTFWP2w26uzK0FdN8LVDDQXoIDu4n5upFZ - aR4a2ldZdpszOb0KXxWIxlZhjdQ/8ouszoKoEV8A9S/ovT1uFLRkg4F6lmYomiyP6MZOXh68zoex - Av08PVdEsvdIbRXU5W8jvJfVHJr9b3ZA0zfZu3vKrCgR5aoRUHjwSMPnEJJtNx+nGU1JmpGeHqZJ - xTGs0QmGFjYdENzBNCL6fDeyuDHgVLSsH08zoIaBBqzPl/8Q5fiP82WzfV8cp8pmnoYWrwYV0IWH - JZUIvN9cLjtwgACOp1hMrzAdyNmMgxM6tw6xC4oAnK/d6ReybxpjuNm2xKcR2bILDmrn+XJ+FRzQ - TVk03R/bofyHfv9c5xpaOtTRYNBPHXo6adQPyDCwJXViZ8Ak9B7sT41cmKvbTOx96Fl+iCLdwjoJ - NlsgBkKKNoq1qKfL8fItOZ/LpefCb66/1MuzDREfHKVpZ5fL+VWCNZy4Es0OXNXa7ZbOTU25qzew - tsuX82t+wr+Oe7nVdY/iMJ+L2K/tQ6AlagXLy2i4y8ZcN5mBxBm9BG4CYvtYNW3RGaZnG2Afyt5L - sDSWvMPhbT89m0Eccplpiancaoc3lLLU0H5HHASIWC1k5k7b/QhqtaU4kz67XYdt9K+GonrPfrho - H3hZK/fweZInaNPbZcDOv/gqGR9LHyrKTiEwzJJrNT6oaPPuPi7bCj7fbM3tfPRFOYymrwHTBrJX - jp3GJan5+6ZZAUtLcKADv47iPaVe5vczL/IsTbIuxUL/ITiUGGkVudsAoa36Dr0D6VPZH7c9xBWe - pFprR9kJrRKKClC2xvXbS6HAwnadSnnkvuEGTL6/DZ3HnvZ17V7acQeQQl2xCkpwhROEscba6DOK - IQprlMN1Yo0DUJCqexBJiQQq3nTsGfZ8x7qHvGIV2c2k+LQwjLTW/8lMX83hQ3OrrJdVn2QjTi+a - b8r+rbIOjo/x9DfDksiX98vlSXB5fP1nQzPfoOLIHGIb1tMXhUJnwTjUlDNGKPCzMKFgLXas7uPh - NvVIjGKw0MYM3qF6wvK9Mh/z/vqN6t08XX59w1tig4QlT8UKPJj1Bs9OqbSp82Uh1Gs6vJX9zKn5 - OtqIwQONS1GjKeUUKcLx7K/ikn0ZrjPK3mhl4LBWcY2xQyXDByjgsueXlsXLQz8N2ZFeZ02Ax2YF - 3pMGzot9663Utx6yak+V9aGtogWROTsmB1eUh7Tymv4Xq9AqZPiiR9Fv5q8KM4pOEQqZwdyzf//h - X3Nz+eKH/2P41W647a9ZXN7pVT8kgM6NMJuFkRhTK+KuDBdUV1DCrmJcEzC4hptU4OoLRZ/GCCGg - 7XfEHjf9Xh5i911fMTGU4jzmLidbSlpzAwG5I+Q9av4DdwI/QmvBlQURyPYB/ovLgJ0Ul+luBQ0Z - /pfdjpa8Xo4HX0ACvQ3J0aWQlYZErZ73YRifwr79AEY+ixDrLCiyPvigXwAWHdj4ccHyitKwdp5Z - M3LpuFsVCr6GhUAaKw+gDJtkshOn46EU65vmAYJJ2Gbp/+JKVwnQDcj/WsUD2BFMZKOyobvHPQgO - muNKQgtOCFYB11Uxx1FJFeiawzM6ZRw+5LLJFOJW5l6yU/o2KCh0STy2cmaQK4ySkXtb0K648o3V - sVh+3Ccy7UQJgtoOQqhQLhfdl83Y/Rbfg2Y/99w7YrQbJW5mtXfRMKMjghpdZ7cnGVKyhxc2Zwhw - ItL3FD1GOCwbVFk5VkXjVlSgvvYToojFrsJGW2BvKUKiTQX7RcCLkQH2CreGv5fKm9/sGkxz3VXe - xcI4woD7g5mQhcSFavgU0jR/+SR1BPXSWavDy7j/hqD1qQP93z1lGchJfwSK0mo2hIjLi6Cb2J7Z - eVBXvNcWXMIaAAXQ4Q0SeilhrZsmtvLTi23UvRIObxmW2wio4i0DZNP6cn6/G3itdZBSAqjJ65Ar - m2L7rt2l+cPNCK2N8tjaXL6hXH6amTYeY+GUSt/BgGOr6KRVNl9P/11trwZ5h5IzHePLad91bGeZ - 7xJczda5pFPBgv0YIkKF4GU8iOb4e3joWZi1opLB57YBnLtFzyLKrFaPG5z7Pss00PxZt2uRVFMS - BrUlhphqodLsZWpu6lrQTqhub6FNBHCqpqXhl4v5VQCX7PcVw5toqTEL0tvCHZQif+u5PURf0KDr - LOnJbjp2Vk4VC7+vjpQIJzhNSbFfHJrhQi2C0bUfwOkt+H57T8Miwz5tcoqjJ+wwMvm/zdyOlUdF - Gz6zy7KAEcUPunE0AAcWenkYkRfi+3x6crKdDqdF1TkTmMMaTojmVfIQ0cSQyD7ZImb2cV/4bv99 - 4HAe0DLzFW1Ld3xeSAaCpi4pUNE5IpeVdF6PzS95jtE22+5WfVua2eGO2YgB1r/KeeTmeQAK5SLF - 8s0RW8VNOsjEFZE9IDYIpmbfu5Sk3qHTaZa3F8cB2gQ78c+fmsuEBa4Wxa+izwzZBHSqYZJpmFwR - RLvUhj7ib+bgLcaFd6QEqiQ/kjXGmezU4m/D8hFg18le/aOmhxqx/v9emtquAHOwHp3enzC8wwUK - OmxExots7bSNGiYYnmmp09OrKPneDN8gUm+78ST+4WY7yuUbm2Nhc/L3YOn6jSbQZTrskdLlw/dR - +4gGBFsFk1usJ1bqF4EmLxPycvwC5JQ61gUmmzJYiyqcZltuoRhXc+2woyCUc1UMtSoOd+3pq5iw - jNBaJp58OTZlu/UwzWfsuLDQ9istZU4UIHOtcwlRy5BR/elYAqOOu/mfsVTYuEyXipX7HGtoLTdW - aQudPgvV6/pbBg7n+XSWnwm749fSpawEbjTt1/8293fNk/z6ibJ9fef8ahvqoojlAp2CYN0bkGeM - 0Fqeq9nWL8Hu/WxRKDTSYZ/L2RR5CVECze/mJ6tG0hYeqlssjZTDwMXCRZSN+XJ+zd+8abvrV4+B - wjFot3hH2zBvrr+3yPE5e67ud6cGbIly6liDgJtBEEom+bCHHcnS6XaVvWk1KZr+tKrq4NiH6tYJ - F4UhQzcg36BNAqK5N9gtPVo6gOibOiQbfDm/5hvUXw9VBttA6uL2xWlwTTlDoDjNVTcsjqw/v5nP - 2CRZFuTem691iEC+xNrVKl9VspLAuW0+5D2YgVJlnVFANTwPlS7IiArS8ZB1ovwHBB1p6LXbUu6B - 58wOYXeDV+3BX7MUwrvcTuf6iCghR9I/Zm2YGuEP2rr3vJ8Fr2kdYqt7aMj827G4mR8RbZ4nm+lL - G+OYIlpEqCnwOvq5mSYgRG1iB0i9lrEPdIYE52sDnKkCNFaWK87NscopFqgQT/zR5IEnhhpbgvye - CNDeHPs5u2xoDq0KGXp2/qN54jEC3qtG6B0Gwjy4XzVgVW59mzS9Azh07DfACLT//Q1YvYBNESCl - S5uML6TbUoq8I1vWv7VWqOy6YQM0+P9V0eriLtX4O91CyPoxW1gEGn4dPvAZzbJr+lQQJFCmBiP5 - /i1EsMu3nyU67Hp6/+e99FxrhrlbOBLVDcMUY40OTIC2yLf4E83x588FWFqtuhPmh7eJIpO0XJN9 - udOwRahlnyGC0eNoU9qApszXtdCh9Lg5MwUf1DQKJIrVSAEqnXCeuRfcYZT5h3ywS6Z0k99/9H0Z - Dw1vmycL6WmX6cwZkk+L8nY+W89KZRRe1Ga5nGnlgs+x2byWvam2Hbf8S+kRQISz7KgrJkDiuuMI - XNQiuUy77rmS2pxg0XcQ39Dj9RuAwOF0kj/K43xgHlTIp4tyRXfURuO0YrdZBBpalnRtkT2Ai0sb - M+UAZiVfE2HCCRF01iWHaoqR6f11mx23lBAP+LhuKXtelLAIuYuZiKqEl31pdf3ebNqKIV+5wsSu - sqvzwHiKS9hJ2IBhKkQUdpR0I4QxbLQKj80inKJzjoUtWZ6fXkVaefP70D/P6F+slqiKUr5LjnZm - 2pdi1Kj64notS2Cvza/2K395wLCyClXWC1NSJDfkP1nFkD5oqEtTTqgAsUOlzp1zGfl6Hg9w8c1O - rTpZU2Tdkf4lQCuffRNk6J3L5TgDIeNBbNN3XzGnIJdkPBYnLgcmyvwZRtPEpxzFqX9xXTgPnx9P - iW03f3yZZdccg3q2eUTBYRia38VP7saW90Bd385GtzobteXeCdoBeQDj6SXH7/bjALggpz4PqQQf - 4MhoKEqHijcuR5lQzmVHj7VmPOLis7jWbPE/HN14japyZMukIKOQTv1RXgTkmmkpUPC260FqRZm2 - cnW5SeCpWcCdbVa2kG2wm+lnWe85D9upcrc+eW3qkkPvID5uI43A9JXV0ubTBimYyTuEDo8+maJt - NaQUtGavszqPEnyr8wjhcTa/qtDaV+s7R9m0sZz1QKpW9h3a8w70o1vzGFtnAQSCww3re9F6ZZ2s - WqpNeDkuInaBjptYwNuVsrVL7lY/9zK1ge10qqBkXsG5zqzgJwF5V00hXY3rsYKJhggpMGfzdlbf - KTkihk4+ln5A0WUZIBTfuXQ/2cikZqV/HddqeljUPkDbCD4mCY3FKNmlPtouS908iRsiradnYLQ2 - rl4GgJQj0zk/lity2p/KQ7xtm68IosoFoIfpCEyBCaKv59OFNeMz4Mo/Pq2JKI8aWEhgALR/lVCV - fdhM8NikO1vd7ZQVUj1KbGlpB/Q/PdJ/kbB69zY98Y3m47yFG9kSnz2+FEWd+FeKCkFy5wG0mzw1 - dimbA2gOFlFs4rwZhicFif25+2oLR3pGn8pxQPD4uNAbt9mLgw6Ql+H3jsPpZfPUyaw2TwpLknEG - /5QrXFqm+dO+jU9J2WnTD2wUt0Ao0uqmoBxJySs+NugIZhkm2LXPz9XyTduV2f/+3JRTl8LcoWLq - Rl4uaxNVaP0YFg5aqt1G5vExjAB41s/KqpY2YYNeP7fh1fIiCExOn1l7Mvf4nV4DTdnoRSeIijnU - 0bRQgfZ6ap7sRncfG3inMtK0Wh8tChJDSqOXWTP1B6PQwc2D/9B/MCrAJJBHhafLHsoA2qb48mvY - f37HwHg/tscqqwfl6KrQzqSNJtgaQQPFK07I4qfnDOuehbZsrC7cSxPeU9lliLayaGiGBEhOy1jb - aSWLEwELoiQ3x/3IAESGIpf+47PiIg9tvyho3vYX55HG1godK76uZNjhEWhNwygkONV6WxyDCoUn - AM3ZsVBWQv/Ynr8sTHAOlhxF1nz6dB/dcU261caXPVMKI2vm3TJ+D/0ikSPANGwyORjaMPf9NlrU - uAMQdvVNpjqIBH+a9g9byc3pyDkRhSrL2brmYIDXjcTFRw5mXBT7Q08zIieufKXFSlGv3ieA3wRV - DoPtR3FDT1T7nLp+VQQpgXrw4wK5DZ7bFCjm5B7YdvtAxcD1GIat9nvJfbttPhnjlHeRGGpTZDzA - gQAba5mzZikclXzZfmh+ife5tpk+K+jDInuke6BMIT2gaLbxphE5JAIUTES/6R4CJdW/dJ9+ThcI - lyOV4f12PQNZVhLVI/QThDXxYfPOzkamjNqV0jgQfTTwzamzfm0t6/hth7cZyau/SSXUsVAOoalX - s8aaYY1bI9wU56aMVK7HAUIi3nE141HR8JSQ0NZorGc9PcYwe5E93HXfV5xlZB3mQvzM4FiORsGd - Hm8vC8gO4GVDJidXZUorHMS/MUW20oSggswZtjkc5PWMHUtd3zxg41P5InpPo7FhKFBEZdXA9yPQ - 347XYoxrsAaUKOge07PLAyi/SV+8BergNuq/v8V52FxYtdAt6GR/By8lxHzwK3VuGQD3ExnT+2s9 - 5VQzGsU7eKn8vdZ/bC73Ykdc12ssfR6WvoNiE5I8GSSjPbx+gz6yPT2JPs2nhpe85s5E/n/+MetA - eAmwnE63AeZZjiFShveDviQF9vr5qMIeFFJM9mXPagxlu3Kzm/JpaoCiferyKRwnXidfh2VAfs0/ - +rOdWzngcrrQwQkI7UKmNm7VjqGzhMJ5esYOtYmaaxNOpDUOJefi+x43HzD0CvBForn5WB10OgUN - RA+sFRFRy6bt9nX7N8ILRbHolQQU815OzevH18MMc9Lp2ycXXo6XHiJ2tItFClzjesOk40xHFiYK - jPnxQbafncZGzpDcjv2Vq9ysNGHsA0+e0GvAfsBevy47Qoi29PH8Ds6iXYLKlWSwA0kp0X01mfTo - ZSZ9p+k50zxN+1F8T/pjK+eFt8P2G7Tww9T+BgaP++WQ/qjXa8pZGyIAzDzA1LJU59CfPnL9QrPU - bxmP0slBD4QZaahfiMSytofnqkpmeHTFv22O7aliF8py23LewCnb0HZYL9dlNdr9of/4jsBO08p/ - ujl2lWPZAzioGRWKzVFHuLpYim/wIJ1QJ3t3/Pwji7t2x/MiK0VLOd09VZ3jkDZQIpu+JTu13VOG - wJRDmNQH86hYaEUhIOyc4Q5uYVxGfxhZgerwOVWRpb0B7VmrrSULrTFd0w2lAZ5fRUH6vqOjhcMo - 8D+DLkJZB4tPvCuHSDJV+WkeJyBvYRcC5fqizx+8p2Nd4TpKGkqoRrydB26kAH7DzLvHe6Dvaulv - zEQAIDTIahHTZs9MWfB16VGoOzuFvwf9p8f2rbNYUfof+9M12HLppe/7DKiDwYpKa6ECSNwrTSkM - BuDFyDzXnlnvbbtGRdOcNYXMj4WLSeLnA8yxUHFi8zGxrDZoX2jAmpXXG6JA2uKSYzjJ4rYoomPO - ffsNvSNodCnwdjNf1KzwKBEgDTofgst+2EpWbepPbx8g1oXFw8E8kmFUezwtNFNnuSxhKtz87l7p - 3/O3QHbqTSj4P5RG1cAjPow6RW8zfkNi9bWDwj70Z2twA1ezreZAC+hGThmjDKbSQu0JGstVzRLu - xTL1ISYHS2duq8uEDvrpfcAKZ1+JatnOHHQr3A+jlFM6Lpfza15n5+m1ivBIA7rFqBQLhZUQKKIB - 2JVToijs182nXbtI3T3IozE4KBGZhCrFooPHrxKcRf+Bvht9iQCY46PAHT1SfQdTSG7MMXpKBNXr - T5f5WuxQ+/EK6+msBeLUI0VXgIknRSkGGv26kvo49eOMTcfeOqn6aWtXXutMOaRNXRuZhuDlY2rK - 2Lyff43ywOr/SLuy7LaRZPuvVdQCcHxyHj5BcIIEDiYgSvL+F/LiRoIkkrbrVYfqVLNdRkokgRxi - uMM7KPRFlSEDyvTYrTygkolWlmZFj8C+MSIs03Z9mavvnNk+dADollCGQiF4cHebSMnDnvrjV3VP - Lt1zxPzx0bCdMITy4HKzXDWgKiV0WhA1BBm1b+pPchjnaoT3I3v4mYInfOy2EQqIlOoWugyPkJGo - DufL08y5dNv/7TOjTxddclb5l9N6XYfK/b6fYGgQYRdxm/rohkOgBOVSV64mmf3xbnd4Sko3Xce1 - muXfbT++oWKwmS5QV+GqfBPS0u0tZxzddAxAT45Zr2iai/q4H/tBzuNcvX2jxPQxypu36/1sdm5R - 1qeNuwmPqBJ7eWZ2FNyTPLfzME6Uq7yPBxaMxE6E7UIvccmgd0GLHLBLdjtPMprAr93mj1RV5Tyd - OhSV/5uI2HEzySfZeNgOoLC6myroPAgASdqG6QTP6OsGVQYJ0tgb+J5CAzrIHm32FACe8pnCObbQ - UeyVFEUsi0v/648xsmafNDhgByzHdkd3SuHwsCz49ailmgCMjYoxxxIHK5mm4c/+PN0K28uqR9Z0 - XFHarDTtNnzdyURBdqvhJH7Yu/H16w8/nHLUwDBaIHTh9Dwcd4Vtn+kAelh9K9QIVfCxhPJoyYvg - Yh8fS1Orpy0drDnlXFAvY7u6lH4UiJMmVPJskd6fxvlHP0oEbRi3r9WG3Y2Xhj6C53i2dkqCvDCt - CpcQ8FIQHrMsFNxu1jV8/9AfO1p5tzVo7pYSyQXY21OuSqEpDYiWhxlRDH3+o2ouhZs08SECaRhM - /fPnzw1FJEDvl4TxHpd6xv7Tn2zCAAfJK9njv2ymloWNoXrRsFxWdbBRjkpzjMugvK/K1HG3OI0v - 7M1V2nn5Xp1nfhRSGwuxGHZrLMMEUUzbPZEp2/761LftgJ3X3PQsnVsWwnscIY42HWyLiW0UANqR - JIjt9fjB26htCk90Ee0j57RGZ/6enllOIunl93G1cFX9++E8dC0L1IYn/SUaRus2OWNUKNf5Zb5x - Xd8Xrww9L4RFrwuSahTpeeVMTXNlDduRzbltETG6gTwUPWakrtYnl+YBeJX5wF0+GzYbcfQuT+oj - sOqiIwbXc+NlvNd1f/2GvUt/OH0HCXfYHeRyg9O6+4QkUbpLz9TIP+ejMlAMc9BWzpK7f1kNnyjV - ZWChGxesV+Zpx0iw5oPqEhcDREBpWspvDRt233ig9GAVWpuc8KRyzctqDD2omuEGNlza2fhI94jW - f9C3EqjIi/I8jMxihbsIXb+jVulsh5eD9ikwiTWW9qoAWDP9+kbb7DzW7Ehasx2znkqFNuRKBR8Y - UPqTYTpZ0cxOkkPg8vq71NxucxoRfEWmsWm3CD1AK6K1DX9k3k2kJuAHJJX0AJqol6YaHvLyik27 - 4LvXJJkO2aqfAF9HttHMojGMOKKPCwdE7cpFIdSs4Pd2bEk/t3TtnZhNOyqSTW1jsa7XjB8RpVUf - /VA9ll8IChyCGxgUwkalpo0YU5yAeYSMo7t+30xPiOXu1PCB6JZiijoGRCc2U4YdynVh1a9FZCdd - M+PuVDOrLuMIZ3ZKTnBrlpVWC1FDU7ARkVXTJTWj3WEDojK6sehaVqcc4KHYTCA5xeV1ILkjUMss - E7g8q//jt+tAErLIqxGE0c2v7RETvUa2R4S5tZX5no6rOtJery47mt09wA7sa71kcoEO8SPRbA+Q - XOIBQE7IGGoHphn72V/mvskwYTIHmlrxhrwvw/4tnBo2a5hH+d9zSmRBWkXoGZliRyKapvvTpRdP - 0/OvIw42j9p8WCRo4HAEZxLiItrxhGSaj/Nh9lNHWGdMfBJxyU4l+KpFdhL0MiGKdvwGvHZ824Kf - MguF3d2swYeGIquCDDV7qJl5mKCoMGBvZBZpSRAfhxZS8pho48e2yCLvTsg2fTtd3mHgq2qamIIJ - +A+jo0X6kAudVRTFTe1wgsuTQxcFfq3LiQzkFWzt8XSZtCtkorU9nV3prk0Z/AJZCBGeTBkYTl6L - bpyoT9a2qN1rbprQIw3aVxtXoEjOBk6OLbousqJZf6AZCdX4Br/qttObbFHwpiDF+3I1yyb8YfMG - 87IbQH+hlRqYX0NhRGI1d1VGSYBnE4xQMZPoYbo7XhL4Ebr56Hmk22wSydN8bKYtHcv0CGnfiTpU - 0AinAh3feb4uix3HaURAgvtzazrCzwh+JWi3ooAHOecfIgWf4wipyeXRNIznNTYIW9pStKIXBW2o - 9VGUpx1T4QLrlYnqXaftOO6r99199M/MvPbnNwAH53EQ/+x0GiD0E8oW5On8z8tbkEGM0UULiO68 - kRWG2kN7aMwNvP/gYlqOz+nIAvPaoA5tZFrE6/H1j20sriAyiufJ2+d2QQf1ct0f22IQPANX7jUr - 2KSoTH+R3c1BOEuivOP7yCLkIB85CkVqhy5YhAbHHVbPt1gkgNW1T67K3fiNJtNuM13r3vk4fo1M - umYU/ZKNz/wLeorcUoXaI15FhlZj9x/8+/BZuv0Vu/3MadDmjv2gTSLySHpqGEGzKWgZq6rdPuuj - b9ruybjpNE0XoIw5cWqSqRFPCsh8OjYC6zEHLysADof29PRkV5cNEM7MbW5KHWPxttEBmJMb6IQ4 - iMeJGIiHt6luqB+6dlsXFLZD3wH/AyQzG09XUTJ4G8zMiux/J3VdWvXQdVNPSjHw8P1h4KlFGxJf - 5xfB0txc5FDvfTsMoHlG3tPu+xqwUhZQdBDiynUjg+GcrkN9dKzenkyoPr4gM6pvTsLO17p0wSYY - AGIMuPfCZOUI3CWrn6BFE1j3eRl/eUj3WLjvRaBkZcWuK1wWiiI3CzMkVykqQeIyIOSgMZl9/ETv - sikiE4bbSQ97VIq5NTptNmuj4ny5vEpK9vsvtlsvtDENwYXFbklbPoR5crFkZzN2UfmxO5wvjb3b - Bztdp4KR5gK8pC0bCdgoCyqvU2WAzZ6WW2SW8ZnQGjLQytB0oNgvFEV7EQT3Y5zosRict5SCJh1r - JzzvIvi7VjnUXSg+/+92ElXIsNlw8AfCPiCydy88iF7QgZ+TKT7cmkfdwHfttPlklhhFQ6CXVzEw - RfWR4njmkjmMEhmOvH11+/rgeWt7JomiLAP0VEXRoeWd2EOConz+PyUL0lAuzpwC6vJvYFVGWnM/ - jDUUCZv5chbmiatTNzEuW7EO6CJBsQoUuYh8kQeEeZjgqR6AT+EcCG8TF4kioJBWR4MApsB3rCyR - eH0/fzyF76fdOwiUz6eUoj2LMmvaWSA2wAasslNq1484zmc1aHwNW/Vvaa80SFAjC1BEK1P4OZxq - Jlx32W1QlgfSCUDThVw6jFbRKwfBGsvQygLj97Gb5HnP6wDNI4fSiIdGdqgRyky7RjQa2VgWLuEi - 1kG3799YoQB2LM2DnaEcijSObT3ny797wnCigcRSs57vfkQVwCEWshlShTVTCAAz+nv6GXiOaOH8 - 3EOFuXgQ8vGzKLJD75wSdwf1eR5hsjCb/tg1XFfiTnNSy54ObYTRBkMnAIcCXijZsmK+j9WL3qDJ - XMClqDqq+WJ5FcRuU9/OrfliEbJoD8JjFWaSiZEKitkEkq+w2g4UCLDFLyR7Q6q05FLwyTOiRyHx - FaV9x+lNXkY+tN/xWRkux7qccn6V+2r2q2kLQDQQ+7jri20baNxotGa/lsywaVEk038c6K/zrWoc - oftf1To8ytqhbBTcQizsB/oR65snb0mnnWa9nMAFtaerdGbSJHUvQz8cigxMEfHXS1daEANpPgN2 - zcxB2RQ7Xp/B4MfPVxaXSnzK5oXETkRSpimyLiYmiju9Ivwqp70or0M5Ni5tmQoHV0XuhiYGVEve - 4fN8agswBcK0HkTvNDvJIiaBQSpahmwFYl15qTBWERubpagl877bdt262Pqhs0jH5eLJo0NvKfhA - jZoSmyhT+tteIaNu2ACtsfrevoWFm3OKdnrDNSDHg5zonqxXT/Dnnx0cwm5A0gQG/7Iok2NQiDw4 - AzfsDSWJCqaaMD4e15/scUvfE2I6pg6CaeenSca+Ypj4SYa5XH0cV+wVicbo3U2EXn4oH1NM/nZR - CFPous2Z5gKjRiGLCWeCKqe1BpLuGJKwvmWshP56+pPK/39MVdvdrnGZDT2hc5Pvx4dN+OT0T6bn - ihEJLSjRrrh/322+8QkpVWMB3ScdXyTpFN8HzUatITdCld1f/XEHVNvvQgwmIMV0QJyV6+o/5+op - sTeECzm6l2k7nPB4neGbbBc7uUI/ibaYQDf5NgKZumdrDecrjbTHW9FlGAH85fJLuwE50DDiCU/w - 9kgdPDEQNzHazuQySNKkGVlRfRbhtWlhCgzFSa81TLZmaxehAfdHf5TP6/fjmZYtUzNRL9Uu1wLN - 0VEuCJmqkqbhQBUZM++6HmGVmqsjaqkEB1iY8ZrdnrIrvQfBJkWHimXN09LTu1UqFB2xlrZfl4EA - s8yQLOPwapolniBRJmWjgV2N5WCzuoi2aoJ44Mtm3P1F64liSHwk4IXtSztdexjS8F7RwA6mBnll - Q7OADu7I9dIolCPYTefV34wCGYaAO0Crq7tcB9wXFEI07WB++c0sPFRwvNMOxv9nZZvE4drDqC65 - GfhhfPVZUCpG7GAZyyjr4W1/TU9k5/Xha3z6q/NmtVBkECDnTqepCDPYxiTtK23EpNhNmq4blnCQ - PLV1PzBG+FYtnicaBVQR954O1Vx2U1NeJCXJadfoYuQCqrfTdnGqAt/jaGPEF+M2UZAJyuzWR7kU - ybjb441R/4EiiA25kilwlBQEV7wGkTvLjA13U12lP6+3400Thtusy1YJ5QsKYrxmHmGEzlC79fqr - QYIzm15Skl9rpKVkgIECPwfdbhkU8mPVcjG5zJ+ILkcl1xgp5DbFpwbakUJJw9VxlFNu+tWatbjg - Bq3BOTL3dFIFDyNH2n78PKK8Ct5kOE8MlaM93yJjDYvYm6aN1p5lOxmyoIU56+n9yO6YdIttEUyd - R9FdBonSJXakjJzUlkQg3mFRv78PLpq/XHwZ17AbT1zTobxtoWmKQraFIihU/LheBCSiSCpw0051 - 0WA9ySsQ3f5DTrj9oDdmH1O2qzdZ1UkshX3GcgKduQSVg8z9ZPslh/mv9+DSWHRRsFcZF2vRQ/Qa - AorK3nGP0bFvgaCS836QL7ZXHHn0zrPchXmAO4KF3IzFZ+X0RM/DJDC2tvZu3VGQQ5ENmky0V3uz - EIz2IMgx9IxHcI/cy5oJb7BUs/Nq8vSFnrbTwFJesF1zeFUy//rVie3AUwMMSFzImaHxkpRVhemK - eyvUm9lc4LYC/JqmjWqRDyQN4T9Gx3BdLMsakZctxz1F5tYywv9Rv7MYR98LwDfmfesktFb9uZFv - Feevs7zNT9Fu+40uxfGt4XZsw+3KvBRrQS844iEnDIEGiPpDgwgODlFl/9ub8AW62+6lPazheY86 - IqJfmykBqbBsytDTplgmMpI0CldEu0J4xyVP+KjpaCrAC868CAh7LJtWcLJWZL/pFvHTYpgKjkNH - CLAGFsKojWn3U/vzKSpvf7Wn6i/6Tf+EqfjadkXBRVM8k6rVQdsv+/DxVRmQZrt5H6r3u27W9V90 - +15uHvax+mzujhk5L+QbM9iriaI+fbOvF9Gr34+tHEe2BckeMgmo2zdwXU/LyY/ybOYwrZR4hJiO - j5Hj9TzHvblqqkHv3QDmUUbEP9ryoXlo9L8IvLbri/wg7/bThQ6qxOKvTaoYSiUwpyTVAFOLXdix - waxkhzx/fTb5rktv1L1hm3xEJYS2EMhus4JcFlL2rijKzwI3S0Fk2tYNJxioxjtXBkkggBvmQqFu - PJcV9cJKwcK+0yrPkRnPmSTbyQ6nNc9Lehx0truHvzLsbEKmUCsVczB8U5mB1361YvMO0DR89Lma - +KiSh+JSy90YkRzjZmjlk/LSDXIhkf3m0spP492p7b4h6TlO7eVOmNPFCezmL2kVe6uDEcDM6+Iy - mfO81W7Pn5ASmH1A3CKeTnSuhExvwVoDkM4SLpDL9dwUA3hKLJbqtACEZaOBxmPHRdkib4fxCNQX - iFSN5bLB/SvQr6QdFkRvCxgosu8gUnLeXFtABpkzQr9riV6DojuF9ooxhcCwCbXr28Nmj48JlEDk - 8LqSJaewhm5e4jKCxzhRxWu3puMHjrk3prSqhRBpGdKb6BmqZZPMRuzjRJtJdNwIZqLN/YHQ96C9 - kf5rvlxeJQuG1irEtwzPdspVFyq2wPd5DWXoouLllIzytLriHM5l1w124Z6KFZOTzZ49idhMRqZb - +Gts617irp0+gYeZtS9oZ4/V0Yh1GXFmeVSr6GwTCUedOpbAh/sgBPCXbwG/aRO5n8jNBlnp7Xw5 - inezrvsGYfU0tk/82uF0/n+1+EFsPb2P2B9ulaV7785kLiRF7CS3AVHGqHofPxt2YacVVttZA2xB - 0wlwKm5Ny4iKb8NxgxJtYhvpOyoyJlpmFDTEwH/FHhxeRjzbbr7xbPaHjlU/2BHKmBCqmZ2cypBc - Maw1aKxMqXw1vDVBMSsjg43o6xoFRb4xhtAEzYpcEGIT9bFfD+03+EnboWPxGXfrE5tHGRMOKDbT - OeZZEpZFQ0RJwOrz8MmAltIGSkt14EDBb0wuMp+1lNNkId3pQtuVYmwzsi27iB8iUhgFEa+G0x0h - C7HbXvu/3GkoJ0Pb/befLheiDy/Xc/eb+MJlA+kCShAxD0KFkQxoyGQP00iskoD7L4hCD/tvMO7f - e1qdeeZGpSpggjyo8YHFZYrMBmVGIpxpd7p+I1w979+PT4JD675mR62mwxoRnWLI+m2h014KLr3T - FI+W1qOVBUuH8weg/rxVUIKoKFpabqbBOQrJ0HNhMTcKfmVhxvA+vDcmzjkJuEPVG1F4ZCl5Beom - ZtahLAmroKC7W3AK6u5xQtgJ30UI/09yjvjq0H6hsOqe69LG0mSyPmRjwzwA0AsRr/H4S74rfg5f - FJDCDrTsivmOcLsXLrzV7NnLOofaOlnQ9XFYsbOBveU8T5AAT5uAArVHz8h7Uc1uOkxjXXkb9z/b - JwXWy4r7jhGHVXQVewI2bM4mA1Q0woEgnMNjt38DksIXISwT73JqdBBCXd0V+WK2G4WVisgL9+PA - snBogCo2ki3BU6Aw5wf0YCJOYx7ghGZr/fHtP3IhB7YNpsmc4Huy3N+RXdkQEQbRCKfAmhKt183n - eYMwPVEiQ9GM9ktZQIQZUcEoG6IxETVskavi8bI6NXz6w7HdLlrkAZbFKQOix9eVDDewOqHFiQgf - 8Udcoo7oIyPjgUIRrmskJIJj5kJBdeQIg9aQrcC3xcnQUFbL1E3NvSVRheywvrLBxc099mFmaLjc - 5BPlzhiR2eBWpI32uv+coZUooCw3JpTHkoqwmDZcSAFoQUaKXvX19tDvd423+MBcDI4LyT4LVi+d - OlADc6z5ZoSa7sO6JrlQiP/FWNV713wBCHEQoIRQlsMQRHtZpg293g3zG/qC4HkS4gAd0MG8nRsN - SwQYfQJI8Nn40r4DcVScFZW6vcxnGuokMMhO9u/eipplDwOYqM8BJC54p15O2+ETt76UAZqwKL16 - SE/SYAB3ik4FxonIIxs0XNzMX9aIQR83A8YNBmcDRqBX6WTU2e1uzYpCoQhN3QsmxbqP4mCtGD3M - fjIy1bHrL4A96Rf4xsHCqorJlAIZV/PzLshRybcYzxNWskLY55XJFUZZaSx2pHWI3r2QpLI/HOV1 - 4PbQyqEDh6m7zBt+pQVmKcQE7jGZ0kzIjfDuvW3GP+rnYZZlGulz/Jf70o6oAee5VByTqs48Twkl - tEwpXmU/PRRkBanF+Mlvkm/uh9nWcE1lTaZ4iUJ/FKaVTAZoA+8uwGn5zGiqY8n/ME4bWCdhAEBo - Skilv1yP8mi4HS5HQJ6xGj1CKn+rEUD6mG1KnWKihyrDBBHq+zeqdOf34QAlvABRLHdnonggiFA+ - zGG+Kguw2rdpLPljifjt8sRF+J+wuTcsEWJllYXTWQ6W2hyvz2f1Bpom6e536ZZnloeoY7DguvAI - l2QYO7onxqMowWbClK/VBFTaYYPnLk9maURR6fZ1tZ+4sAD5Y4RNT6wwuu2eqcqe0VUgBypZiXj7 - q2F0kpp7EXcgTgqK4jbrguEaB7PgtBc6q1z7aWhmmZa8dJBEOcVDAQyCGRlkJ5EcyWrVy1dRu253 - sEQvkyY94hcH0qh1CGAaUyDOMgWpXXuoSzVjv1nNIq1qSSChbA1Rj2WcNV+WFaFft5cm3Sh+wS54 - 2aDbKdpcKUbmAdBzlLzBa73ypgs9YHAMmxiKXtH9S0G+ibbzjESgDMmyyKY9oGFS6GroA9G00RU8 - Mlvaj+Bxj/QWJgJScazzFjb06O1QSG8eewiIZJQroR7Al62sAfj5emHVE//EHzIBy8HGCJe6MqC8 - CopmP9clIHbMW42Qi6rOV42yAJzv9BzrZNnK3lyPUzUT9v0OqkJesVxdNN5VO1eEZVVg4aFgoR8v - UuOAOhaTBsKTB3YCNNWpREeTLdf5pXy067njxNBALErV9FDnGfpQLtOrqMxzbVdP3jPn9oLce3bP - tWqBAkr4awP+LXLvzBB4UVIxXJ8NdLbn9hsSzf20eeKQnI7yeHq4fsP5pt/29ew6rE5ycMnn6dAk - z/kba4haW0vrJcqpDcA3EXSF5GQ4heH0Ucv19utLW+BHZQ7cNcUNY9gpjXYPeJJkNXSXfVd4yc48 - bykZ1fcQMzgHfJ1fygfbDYOcp7/ZHgeoBLHOxFInFC6olAVSZhLMPKC8Lt8jRQfSWQouOT4Qu/XA - ovyw6ZxTVgqvwSFzmbmB80V+LR9/gFtGYJ1j7q0ZVz1N+lNSYFqwyBfsxEWV29P2SRaxO67lCv3T - ii1wALpVqMa5fNsdU6YtOAM641jbgTWVZdyz1eldvki2w/5N/MO7Yb/cih7jwPqmcDZgrtv0Mn60 - TKG9gwLvk8cAnkvbN+A9Cogn9a+2r+CbX0+v4g98br/Yp/0msxhVpUxA+YLRkKZ33BExMkeO8b2d - 1yc7qC7FJgMqWDnHDDoQX+eXebNbT03iCh+vsByeRI/RqQboJrNTSEoyV+3LA9csKQX1UBkHng02 - So/DLf4wEXGmL5eFcofXza4HVEojXYNGwsIhGEbZSkXowwNMFWdNMcH2eThD/X1OgYJ+ctdFt5du - LDQEGqFa4jh8XREG2MLnNnkhtgmIH22ZxmuMoLMpCv2+x+ltLGoSEGVPoWqpO9angP26o3eQfYvX - j/GAEu7sBpAfEZRCeqho50++DMi/iUmAxkjXwer8l6k4Xr9hGflz2nSgedyBde4heAG/AgqrI9Nl - dOCNp1hKCPBi3K8p9Cfll2aa6DQpx4r8gHJoGY+5321xrjHBHyWGpGqKDyXQKUNkHegZNANEdaft - yLL7wOiggPBkJOvofE7IeC2j+K1QAfd4BlA5zSvL3N3RU4b8KAQu8Fe6QF9l9pGfx+mN9Rfns0Q/ - nKocwInKMmTzPsLK5BO/2qEFW7uoMjtuyt1WMD3sGFPkahsiPJmD1DQemxRurRb0nStKjkIHF5Ll - PDNQzRIVSqYO1hGg4zR3uZlE3+YHSDuqVBxsGSHonq2mFQPzIjOuTFjO3DgLwjH/NjOAT8nM0E/y - hGLYgGltb8UebRfiRwkFQfoLdov8wSmCTFV9uhTR9ueCUlYJ0o1QOzDl+u/SzbhPOhirgXpavEEC - XgwQm2zCC1Iq3sXUrOHkzaINAB8kpdhfEbQ2wzudaG31x58/m8U/L9fTeKpzw9Pbhr2Q56TDBHgC - Lj6Kp2Q8UoziMYPRDgoiwurwKicjrS6n3R9PFdiSa7iDWra8a3F+MKMW24X3C8IO3NQcxeb25mEh - ojyeh8OlofjWzupuy2pAxkZLexfdnsDBZlAyWPGh78o+hSJZtot9KtM+lSw6qkUZUbhPbT4OdX67 - vn4xMF8vDbMoeYOCrIlR2fmiFW69U3s89qyK5+b79lgUEfZvWLJpHmC87NkcV19INTycLt0DLEdz - BKgd2iJNLNf/PR/5+yR8H37hjt/U5n2umd2JQpPMDwZMDJF3bH+c5DofH6cP0JbAiga3ogZkgigb - sMQThzVRJm7btodiAetB/PPN7WxQDoKklOv7aOaL5VVwCz4GeeGrv44LQne1+QZUSSm2S8q9tP0v - 5pKyTW1jtHvcq/LboEmqeAgTgJLspD5vdpcn0uiwx7aPOoaHsePSPNLRRmaj8cxaZCIc+jWSntrp - wh69JSlftL/xfRyglorh4cnOwyQd9uOqYe0yiD8sMScUPiWbkAoprBQlK0mfj9OhYFJigaMs/SMV - diEfE+JdHpH/gHHXPCT6f/sSl7beBad1xyENvlMDX8vF04F0loZWBUbQ07FCM/fx/VjXl99RDtWs - 7wdTS3cPtyADS2FvRBlcs4wnUFgiCPv2nxZmAZFlns3CbYwjUcuqp4GddkKUVfO3V5CEoGfZ5IXb - m2ORWvqXOUSBFaxFe+/hCIidKgrMBX65pD1gGmujWSvCYd7lJKV+wKid5UAzanhKx2qFwp/egtOD - ipIM0PrWQrvqpqZiF8Qxmtf0LFDzbNiyTMsa8tdz96TneNmca2p6N+5GwHsotIj8OUyNEKYlBsCI - h64Xw4BESfBqkEf5H+s9ku9Z1+j+FGIE4kml7Jk4j+syObtx047A0OobGVjFpckGHfNZQ+UMY2BU - amQyHK+nDYpaviS2MbiKt4k3sNpiRGRupQgB0F27U4MAF82vxiyxdciHaCKzSEYu0E7Q+iTT9nWz - ZcFPV04UHaJaLA2UOPGPxZjMTswiFuql61Htx6xrApdtF5GvixZ4O1yPeBWVfvbduq/FHS4f1z9F - HCnQlkj5unKGpV4P7RFSGJYVBwxqcVVu72FolKB8B61XKwNnD+PqbfZJNDenKog3Yt/zzgO/UUwU - naxktGu7n3IsVXec+NQvS8aZRXqlUDHIAWQ8HqBQ8hasym2/424P8pAbA1lR3GohCw9FR1z1pSMk - 8oCYRvbFRAW0cfqpg2yigzuDBmsusyaVSL5xvM6t7Wd0QHJAE8GyPKd7a1sECL9uJjYOm63d6Qyv - 7FkUpW0eLGseQq+BpeTB4VmKdAWKOrJCFdiwkEx1EUUMp232L9PXpUXFGaVvABYrjWPaXXxi2A99 - pyiU9ztDXw5VSvogIT99lxhZbDSwezytSRFZpe02V4TUGjwCCMvP1RalETFE46zDfjZLwsqeSn/B - OXE3j6J5Vstq0dkOqUXHYZwTnu7n00beGRyP5xNEW9hvJ3tde3zCYIjVmjwbQ4pIBF23rTbX87Dq - mAcFxMYi3QmIohV0EVilSvEYkXRQ/w0BlfN2/GDSObYDr3ztDOQC9EbZsRonnkxw+tR1fS0UNJze - 0ISBK11VCoGoDt2UHA3cjnBdCOjpV5tLaVaq+KSgnBS6KD56qGXydX4pH2yzkYvvjtfx+gSQ21xZ - oufGQ0u3Ve2MQZscGuqZBxRBFJFK/b7v/rduk/b+B2XAJtK+1q2hLsZCEKjmprzY2CjSMY4CjsAD - isaYaGubuJBMp6FbPmy6pgC61gZC6nw9y47Mbf/5iVQkoRwTFjsO25KgpQEPAMXIR8nGuT8NPVMm - 5lNf60ddCSzHbGIwbO6MfdXJqL7rfuxq+sy4P388GMeCNfB2hOWnYwwbZYaLbi2QLODOqob9Uhx4 - FIJIYqSNzWrUkk2T1NJgmwL7CH+pgOtQZFEylc52nDZQ3Qhx7hEsaeFgljk69t3sGoXWuSQimtqR - Qs4wV1rg6uKroAhWqcV/ECUK7WUPeDVs3p+2h49vnGObz3PBRs7gEzjQLD80BTW0dXsew0WBIJSA - Xo3r6lOvtxc52n1o22/o/W3GdgWnBz6LwJSuzfJoW81A3CBfZbtPGTJ+MwwNV1kKV5InWBUiB0om - dcOFUSNjjazHtvsjwuh5zvyLmhPqIzkZcCLqHy8XaFt9WdNX+eejXzy95mXV1Sby/WE7/OkNijEg - KpkMbTuu9jj/KblBBd2oJRgb3XyUViOP4FeRR+kaYDw0QJ5NDxSF17RjeTowzDygvEq6V2i02x9c - 9MbicKGeQ1x9cgwqUNxBlZwY79vz1ETWi4Y2X1ya0wAPRiE3LU3wmwKGyWC622sLqTnwvSmYvasr - qpyxK8RooD3K17MSwgbPH3vg3LHcoOSUahMUxTa+qEAHJj6IwBWn0wU1BWzwtKbSogWMhqwH0E6j - pACRT+E5dVhfPnEuJ5RUkta+4rrkiAKHnQXJtbi3e3gSshiOzC8MBWsB78v67gVtTaBvhdoiVOxk - /qHT5QCSBAJINGtiJSemE3gLeDZQCpLpsuw6ekCgK5QFae59opShsEcPzIGbZYH6LsMEAdY71PkZ - g0sL2y9yJKx7ukkwDtUMCpMRu3et/MjqNyAX3XAQuYKDqERn0c0yEHcAYkCS6fOz7Wep4llM7TbK - +ZTYVw7s9jICryIf6219EvzClq6Klju6ucnU6p7eeYqeS+iQZuyRyHAKtX6InQA1bhZBIqVA2tPj - 1UUUQMu8SPrduAIJeO6r67RwplTgPnmYkbPRUOBX0Tobh+7yDZmm1/eBkQO2qW3aE9AbFLVkU1T/ - 0FyzsgrSOME2UPnns5OzoJhdhmYBs5lldfxzO/RFetQ39l73pFOfoi24gRldriqZ8dn42l+5Q2dp - G2lunS3lM/hPLgdoddNlOklDlAXgY7upCzO74bT75/yHaJbiO4ViDK0IrZZIT7pgsSXpbLNLlJ3s - 5elZt2vpUcw55W3B+5xjtNCBtJr9Hem6l8kxfPTHqXAxsDBuW6rD/TQJrORYrkrpGnTn3hCGgeVf - sZdoUVM6pkPGzxtWRyvDJG3b9gAKi2cJK1/5VgegsijQzYw31JAWFcXiFBHeIuJU9rn7MGZu4F2C - ns9Y9cdf8Xo5gYJYHDvd3SMHnVKKUoN3LBGtvZQY2u5hrf0Ux/enhh4mx8IIz+pCq6Jg2Xpgb1lC - HxxQ0c1ZXVYjDjUUhzLcAh/bd6AcyUKGC8Ta+eyTwV2mCWuadYcphgkLXSyg40N2rqx675mTJ9m8 - 2mHg3XEuTKdUNTqtV1YB1s56ErJWb7vePsvDjd1+DSC85xZz8b55ZAE0L1T0tmH4HmhzIt5De2oR - QaZ7hXHxgCBNb4yn8z1w1R9acCIQz9RNKLHgY7ISmqtSpkCxbVaWyzSsKptEc/znR8v5Vnhwp2jb - UmhE0BGGiWeLVpeM63u+wCLb3GqxJthY6bnTOySU/q1lcx0t2xW3257ZmYbJvXZZjIQchDcWSolg - ZkLsSVag2L4PbI8zW1ZTXBZs9UBSCBQD6TmXgU3Ob8clFBUdZe2/vY0HndOEkF8up4ucL3k57i7c - REI/3i0JigANURLBqvr8PJWMfjxO51+QKqKEg02qFxBRwClThK4DBiBgMbK8hJ7mlVUDECJTWKJq - gHL0sfDE4WoM+oEw9KFNtsDV+F30k4ZIsM451D0cowqczCH+eJCTJGGE+17YMNAwuSvfJ3T0smZh - tL8QZv7b7z+x3rjxtzxkSVZnFWHQyQGogF+Lk50Aq8vwRIE8HKdPgKDtwgYV0rHsYoWKAF8Lso1g - eOtYca2E4nnRAM+QgKJ3ohCsDBAWZw7HS/11+qn9i3EgPSkIecD90b+c2m9gklYHumcsC0x3xd5h - NskDJ6WySfAARq7sZa2Wr93hl/jDnTbjZ/NQ/AkLJi1IqOCkQpHyG8C1CWzhBNAnlO50pdwABVEH - 1QNGO7E3pajgvukZl6YKxto8SgHRBMVYAxBcPPc6fJK9x0fX/THx+e/BDuUWJuMw9YYJjZW0UjAh - Rs1dH8P1ClHs2XaX03NItV+1xwObxpeFheDmHqxj5aYAz+QywFhZ1jFdpiPdHpaYDqVOrMx911Ms - cuY0g0tue7KoFv2+Osqdk8bTCjDNW/vHPKZJxKHnDOXmvgxQMgLQ53kzgHHOSDSbdV0c4lSV+Xua - Oy6i0tCuPbf//M3ttHokPF2NulfIcLjPDyQkFN0izNIxghenrIg7HjfyfH7oj3LKef9zlJ/Ph1Ut - L/HrsKn+u91dvsE72py7xnINgiea18toDjw7bS3YMR5EHHo1MsuK7hMbClgTTfbLViZ2mRAtIsmM - mJe2EyOy8Jkum2o7WYzEGGiLUiJIkW9HYR/Aa6quzQQFdwg6OJSxLpTr6rcQXkNJjs74RBsQakyb - 66lhii5WqPUUylTdRE/7CYwm2czGyHxDt5fP1d++2dPIwzckVT4phTYp3CRAKFcIy4lA562FkZpJ - xVEvWWFhadi8Nw/MzL0wFhNUf62Lnu97sOVF8AartoaCT2905xMSsibbWKmkQycpQ4XpB6tnyZzq - Tyew4XSB7YeKKwIsZMowy6YREGi2zxoj/+09rt3TFMDXepc/6/awx1p2c8nL21DTtwNw22g7MtXX - CoWYW7hqlQIh5fVmWd2LPyCiAWJrwJ0T1g+vh/YC3UDztJADFjIFaxoUCrZrd7K2wLo7FzZYsUDR - zT3htwlvEVyioBCXsTKM7JRsd7tvCAr0/QJDUGbGipXB9FObXVM8j94A5SZel+tWJt7+czvJY8vu - buEnOKy+OOhDaNDEtHTyQfWQ0hPsw4X/bmVWmbvVJxZGZh6R9qpK1WnbZw6F5YK0VFR+NXaXWTaZ - 6w0LkAt0n6zKLKyXUWzQWdYQbSla4YkrvdPn/gIKPurllPwvtBApSzfRO4/GBjuRyxLB64k+nC2q - MQ2IKMtdGUxOj1ZZMfuSNfTG4zdAs91u4UdfFtWm/8T2bQqIDPDSxfEIRkiKYJ8GNicDDV4kWnwc - jlzXg+pSk8Jd5zLyvDcmoeLgGM0r1F0adtPpwfsP9/M35IyiqAcr5G+8//82v4f1N+xmD5vp2iRO - foEAW1bkwEkPAUB59O4aIcH30H9OAEtopvaq6vcbn0C/KpcTUE5P0Ra9v+N+Lu38L5fxzNYSYJbR - eE1TtqrTKkO/DOvE+jLGyBhDFNU97/DHI0qKN9KVicZXUadz2TrwzBmhJJP8f90f6nbqcTtMLFwf - ns4VJmHR1Ewe6AUeUF7nhfM+7p6AkdfTW/19Xvc1NvZwuspZ4uNp+Kp+2/p9ZC5JLsmlTfoh8aKw - UrVCC8qwEbVmfxbBnjH+5Ko9VmaidZUfTVkWIqaEwWRbEEjF3F7UgBj7uk/YDkMxdGR0Mg6Ouwiv - cxDeNSroyEWMzEVmkV7DZXPdf8O0cjitmGqeQPoyTju/XHWa/pTZZjZxca8QZQQztn1iO1+u3/He - ouB1xOKZE2O9ABImCKuGnJJpuAFhZMFG252eQGVneP4aBnWbxkOYYnku0vmiAms6MT8QLC+Z0PGF - w+bbIlZ3v5AUYVKowaZ0GIAwUaTJ8rF5PcnnSzdc5KnNO91UnufqKcFMIVJowWeKnweUV8EqbI87 - 0J/ufhQmpFBLZRhahzhjDYtlQONGVLLaHFZvTLQzDSdLD81MGyMAgCoxF1Gb8vJ0Xi1HvawvPX0Q - i4LebH+i0uLA8j+sBxsusDwZQg+tZQ2vfnf8ejI0mi6n0n5neSuXbAVkjJ72Aefv8nUyDODxE8Fi - qi0RVI7Y+emgL8olHlLwoj2wHafxo/nD+ZdoXdJuTulHMOW6kXFX38/T+onWfurkK+Fj7NARd7rc - DRh31frsHu5nDmMoY4KHlSzVmC7owFLqy7HUsvwBlQ9HQRObztDZ54WF29UBh9zATjJxrk49dkaQ - mBnd6G8DsozItvmYPpvI6xVhvq3UlVh3C7WFhiX5/1djz0QpkzMvl3bdM+DGszKfN0Et34J+WnHv - vNRmPNpEkvW3plU0Cwxac9+ZUtKg/TrjItp4HnUXkffG5tid64naf33BY3ZeF+6OI0oJHh30rTJw - 6jf7dNGme9733UMw5QFIU9AF/AGTh+CYY5bKoPLBdhS0Mr4VSZlb3GwAY3VWCi1gOkwDWkESFN4H - IA5e3/aE+6agkSnQucBYSlVqVDLVp+7AsvXMdISZQqoSTxWzN3AQw+6aZNl4e9ms5Mf10F3EP3ve - H9ioej6SYIdWYzCcidA6dfMRKMt51+sB831uuWKlLe+gyZ6F6Fjs3cvkv8au/aPhIvNBYrSGJyTY - Vn8i/PjsGTZgQEWz/3Knj+OlKYp6CwlJHdGydDlZCgX4ahB+iWlzaaDYB30t+m2V+oWJLhfLdL6R - XsYH6ffbhpJVllY0TXz0lZVhwzAgcGlA4BpeGSf4HvseHzOVg9rdRcxiAHoNakBMC+caSJDB2T42 - 7RUsMqQzTXgklPQYUfCmIRrRBrpasu7sdQc4Wyg6EXApWxTP4TJqmLlraeeLLLEjc7AaOxx4Crf8 - UdqO3sCegJ4CLTm+KhTBHHf74QmTs9kBgRf59AuV/C+9h6O9HAIOXFKBIojkTfdDf4IFJgea2FGW - pjRo+OuIN4FJpkFXRqbGPJwnVujESmiicrXkNQUO2jKiEQm5kXFjN4e3C6bYHG66mCs0CgW0ybE5 - LjZGGaj1/PaJ3j4CAYrQdBWTe21L+8ShLeaszFVm/XE+/3lfxPOGswTvi1N3QfCOZUlhRBVBxhQt - bO5YGdfKAqLdWLfONsPpExqJdPdQhL8lQTHSduBQptG+XBb6Ze274wbSBqZwwx5RQYjgZqO4bXMZ - kGXuLyP907BUDzAay7gGtVMDW6ByOQh1uvf9+Vd1z9q+kCmMv+t/PNDI9MVAx6WFVdQttZvHCWKR - V0qtAT7HxheCCVU8YKzzhQlty/atZbvEbtz+cV7+px9+6zeAf82eDnScLNiyrPrhKRhVs9qVjTJW - Y7v+PII4NQctD1kFvIV2FLOAR8vXZbj89nP/zzeqY59bFvWavTwoV7p9QE9b1Q9tLQsNYYibB/72 - JpT95Gj/YCSICz7Yl816DQUDw/V1bx9GlMnQL0wahqN8HSqukm2cxdgtZP8144ru7EcbsQVaBT85 - HsG7uQhl/NYf5aija3/a4bPdypALxyrvIJ5ChzUOIbohiBDKQMFy2E3c8DLsso7z4J5cQQIDIsD4 - +XK5vJZdYRr3bXHfyxBOWp6DiiJEZy1aWYixrMyopjtdJm76ejhf+1idgtD/oJWQuLyduPcrcnDo - N3XheNyuxiYm1iyJTYpL0IimuDLSDzswuykzicLMcThzTpIaGpRd7XtFd80A3sqCd14myzKeL0Ao - xxnNwxWN+R28ojQRoE4ccDGUURJc0umIVFs/1cOsgfBsTgpK8Hw9y5A1H+2w/ssOhTJ1Tk799tPl - AkX4L9122cQV7I/tz+7P4EXoQ9C2rpWxWaHc8g04xPVykH/E1X7D2JNQxA7sUk0Q7ctgPPCrbPhs - tFAQefMl/nwffdvwIjFFTe8RpoDkCYkgxzPESsOgLZsrAaIAxeeqvslSpiFFM4+AhowIxdteoTMV - ShgOa93Fm9BCAnWbbasCFpKo7rhtx4nSVCS7OIn0TDi/P0i8acJOwO7tTmih0x/XE3DlzMNozBMN - hc5SylkUU8nwNWWArN2lXT360rRPhlidCBT2p0DPyqAEL3Q2OVy6ruF7ULacumAUlIFBEwZAE0FE - WDlfvxEYvZ1B34LmA/PpzAJXDcikMdqz1RDi2x8iNdRxe0Ovz459+oaSgEg5ip0UtqB+wgOM0CHu - 7auTo4p3w/sCftQ0/zLyJ23RqPfQV/Dz/0oYqQIMDmkHw7nPA8qrYAvb7mCigVOOdwjlKmqgoaSM - /ZRsoWVYIdq9vYAREQpN2GYfa5mpaIylUxGFDcdgZ1G7ZffZP/Gcfo4ff7KVDRRT/HCZ7p7lFHt1 - gNBFuAeScUGfoS2FoulkeWtjeIKXYX/ermNXdvy5ZvEgk1Foqh1tYwwsir6MEqzNYdew8SU9ybyI - aeBY4aCHnorUiNAc83BdbdEKm01LUl7uLohCfYSZtuU4m562aH/Zr5+sMHftipbLHid1ZpzyXTKb - gg16NiqyKed8mV/LDx7PbQ2cWfUnGMMjQ06UMS04sBGMUnogieM9XQYJblD7WXT8aK7EtHT/oQBf - ReVDmDVGhTia3WpYCJL9/TSbfs6URVTYHh8jgN8Nurf9Fmex7d76/7cjgkrSx+s37Cwu5bHryMqC - izSfNj06Lii9C5F1b0tTMgqJVnRigujjsYNSNORTDcSOzkPHFSMiy7tK1uXx6zD9QucV575rbtRB - 5TNASJSyO8xpvlxe5/nadu0Ttq3f7XeQwtU3K9Lb+8VIy05BkEjreQA48KJOx8cnDFS5nwbK65KQ - Aox0gosGj3BNEmr+tJtLDyu7WVUyqiWYGMg8el82u8swuxPRAsaf45mBbSjQNuwlVsWNCpxIz4T1 - hHFa8iaryzdIJaeRXcsh4YjW5WM7gkyJofgQSuPsUiJU4D8ea+nZ9nAeS9EzKlRGU8X3cKCwei6N - oksmmjvdrw85l2u1Ocr3i/PHdqAbpcO8TwRjljOKdncNyzeD00u6jMd2wRxFBBmW0i//7Tse2p9P - 51u/O4i/9dQODIFiiG3R77yNM8CrWReSZ09Sq8uLYK3uL0d5yH85TN+YEePbV3231qdCwaZQJoTg - a02+ZDPl9ZjhkDKRefgtYJHzLtwx7ZveEDDMtHRDh3xJtsYkgEUy+uMicbL+fO3r99w+7fz/0or4 - gvgPgNRw5aPv/9hHmTDhaN9zGALNRYOoA3+GoJBazlygSqFa6+ZBT5cBU6Ev6vLL9D621UfdrT9h - +uCK1F9w1j9wmfiklLBzQdAk9k6If5RhoezaZRt+/564QH+iZXMpcrswtKRDsvbspJ1LRXT6WAiZ - 6U2SiIMyoRhKSb7Bl63OCygaofQQ+RtENgKTdAZem1IwV3yD2U11zkkoA0IWoBx610wolSFYAbeo - p9PlOq6KLx6fto+WWKLb/kMbjX4pBqAlJsq8tu0vZG2Iezksucs9puTjjwTEj2LvbxDUkyz9WKG1 - FNQtaKgw9mBmugBxgDIgCOFEQJCDu6RvMgqVWzFlNzbR3mLhJsiteMk8e3094l6l8DDbo1gEXtXG - hZnrCzB4lu1gq/FwXZhDPG6TQ1/Q4ECAAdjNGkKUh4yn64n1HlFjgc0mLJ7uiyX/oNyK1qi+DfEy - sZ/1+LZ5gny2X7UgczuuSm/G/5i/60NNDtpMP2DSDovaMqC8Ck6F/jz8fogBjRjgiRpB2q5+WHmN - XclTZPty7t4Ao1MMatT6EZYgHUsBWOhyPQjX+8/hisIJcIXQsb89bgvluaRdYr8H7qZYGfPq87xn - SenSYvP1woNxVaJI1bG4SBkm2EDGNbSTbWwydKdr1Wk6fJJjJwYAP3mUIHr7nHbAtLhSf/EPrTr6 - 3QYcHcb0BCaQBSvkVw9tW5zrKAtjRdcbYENpw1+F9kOVFp2fMo+7bzQS+vGXPGw+ftZHRbf6Br2g - X7d/5RVGmud/7GfTBbjQvHT9APLojFFfevMAFkJzAkX5MsAKLbOPPZw3dKhRA7RagRqwiia2Ltez - TGft7TAcmBA+l56DveV0PuO0oFsQIh8fFI1ZFr2ynnvTdRZBsUBAZdcyjXF50DH9PDofzcvbhk55 - XU71ZnGzQOentc9vzReDTDRqulLca1h2Gs1tvQy5YHgFTDGrzUSuo4s2ltPn0NVImvPYbaA3CVEN - cBLC3dUcsJEflNbB1rwoUibhGj0e1g1FjVA6T1DWhsz7MtKjODrCRxZiPk12UnHqXo5sGA/7VcMa - Sg95Lu3hHIROEf0kXxOKLK26Dq0uCCmBEGcqZBvFnxSIJw6gIpS5ZbKW9E9TQhwsZX9/hAoi1gbW - Oncwughi+PlnbwDlAsc4MaKc8vc67e6KCcBEdg5T5m1A5x90FGiPU4g3GjRAJGWhw9f4q5nNpCq7 - YwMFLejPUlLGPsRKhkZer4cR4fRtL7vD9GxOFIZrZVRy8wArrG1trqehWpvd01rdHduu1JBrFBZt - PqgTRhj2/a3QjMgBjm7A7lafgDuhjtI57/g0Fa+h7eWjleP2L6sa9dIeVt3fdWagguhB/DeJzrHx - VAygKe6io2XBjKTVpA3FiqAOBlD4ReCVKzyFinTkk7tThuGqhhiUuw+QAQ2H9vPzqUw1DE9Finck - GpEttbns5LyrMcte0YmXUGzERhWyjFqGnvE3nuPwxZ6UCoDJe1iZDJC7yio6VJCPKjsPEmxFlw+u - qcJC7Jb00rmPSoR1FOyVa0G2j0C69zs2SKthOwKbB/xeg1W1aNhBW8bBYP7Guhbiw8bVZnrYQpr7 - cYJQl547ndoMGC6ukKKa8un4+acJkCjvojgweY1S9QKARKEJTLuSobT6pT9eAfWClh2rNS/o1Xxj - kqU3u3f9RD2A4/oTCJWZ5+RsWKBHEkpjLiVgUzK6TPTqRIZTH2uQyAD2RjcjhQrOlBJv+Q33TuB5 - IpO57z7FU629bkZkf6bguh+nQbZsP0LbkjPzgPIq2fm+PkEZoHOToh+rKsZmDHjkDtc9+/CIMPlt - B0uReWs1tyQEnTr9wwS4OoLjaHQZJDi4N32tHNEdt5f6mD21b98SqLz0U12ibYcJJ1LEJuC9yhXA - AzAwlGwtQGZWZv/99n55Ohu6bhqhkfJMB44GAgYJp7sq17MMtnKcjuxrE3jfDVFXgC3nIP7NehLF - z0imeNrtF3oSdX2HPWKR1nnmXv6XdvjUrd7QSA6GbdKXTA6QdINJfIiiCESvRjK7Dl37jVLA2ygH - NW2u/fJ5L/FzMA+MWs0xCR67E7H9u+Eo/nj9x11Zq0zQw2aCXi4MACP0sszjpyDwmZJCYZ7rTTKe - f3ttj3cXTrNQE6Id0UU0VKB54n5z4VyvWOvTzscp5OeqmDnDjo/rt4FfLTevXaxrCKhzeuMyq4Ja - 96eL9MeX6bxC4EPpAWxHFjLi4FBhmQIpF9EwhqO3SHp+u2MY6l1PQ2VT2ax6WqkuWYyBrbeT5fTn - TU975hqd3fiMjDDI4iz+FG6KJDLV9W7PhWZXDgfr4hK/CScriiUiG364UnCWhLubw19x3f8pVpq+ - mkKtoXPYmLz03YowlKAACW7NzF4Moic6XD7nt7ANIFj3N0BrTBsHVlJCABJl+c2xO8BsB1kSvUU0 - izYcOthe6YAVw2tH5kC4bT+B+ygKj4pdBPTySTobLVdvNYuualn+PI61SPl42H5DynDXny/PfNG2 - k/++7W7Vc3mvlIGW4SQOH6WgRG+YbWqYwyLYdLvjszbX2B5oaRr23OVg/DF7EtppNDnR/VSRo5Us - 7BR+nterAp3HAr2/A0QHYEth/Q1XL6I3D6e33/RGu+HyjWfx+lr7Ug6b9i8wv+TYmdo6FQJXT8/V - D+5Op/Wx+pvNuGMLxKWziIH2VcwQNg3zxfIqqfhf5wOEg/7ol7BenDMB3TEewmfIn6guILQZn35/ - EweNOJtfDuN2Krz3Oa8AhDtXp0h02aF7YzzblxtvZKqsh/2RLTxn5p7ytbMQzdgIyvSsPS5jr1+O - H28PkV9zV0JLEaW7bFVh2BaRX8kGOq1QMVE3DeeHyhPlR+lHti5E6xcazmWm7LuuLnltj9fpafVu - DrXA2vlyPs1w/Vr1xyQNNnlmY9QZzi+Joo5rLjGigdv4hfsG2qsBRP98t0oXpe4TR4G+hK3p8fkj - nJGAx4YEDVdHMEgQBU6AlyqAgyCmn0MlmhPo5IGJLQZAZl62BqfNW5HBek62lAUuIlj2Befr6rmv - VQ3BA90eAbqcKxkhPwIczWYkGusv4utEWeV+/1lNoP3pyOJ3OTWoHcZoasNhVOM9snA47QHrK6xl - d5sBBXlEZ7BRsXfVC4++HAzDShGI1bVF4f4oB/FtjgNIOzOuxVKE/wjaEvhpdGJyxYGtZmVg2LeT - XIdmQ/uVjne7hUci4zSUIqzJGUFaGSHUDHl9P9Yn6tvlNOLcoB3YMZt+sd87dGujgmw57N5wsIgU - PrbtdP5TrO3hnZk0CLqJ972vXo5h3A7rp7bJ5b3mJfSfO5i7QSDNL3PnxHLyBo5tEQMAEXEyyP7l - cIZK2J++hEp0BIMrzbzllx2dApA4mdFD9zoeah1oVgVWqERImOdxoDybqkutwAa3ySINsr+ln3Dm - 8vSHQJHUB69sdJDpuo7L0hSY1YaiFAXyIrvXRV6ggnh/d3wvjAsA2t0CwJkot/XOKe5TsZOT6Bj5 - 2G9X9TOe2jcUn9TN8zQvpMwCrOgoV7TsUqbY1k2Ux1w2Y30cv/6R0Quld3gtPPl5hhtUy9BCiqx4 - 8BTUXk5r9puZjSGNuhMXQk74cvR8nJtHGCfL9oZTNxR1E6ASgcJ4fDrQrQBLNUXgxMj6B2iVgmdR - Hn/Fh0EKrFGB4AHc7xb5jf4c5PtDe4HOAi8kqPPVHgzB0R7AJsHyStT4ddzDihHkO0rY9TIG4Y4k - RYMKVox07Edmd0mgeky7rJbA5gRngXBTYb7HVnRa0NMEMVg3LLnrZB2R9nIp4kt0QkAs4/GtQLJ1 - aD7iOsB1IqwuSzprdo9EPIRzeblwNJ1DWoORphG9Gdr0ZO7p6/0fQVP8HhbGK1Au5dJuXU94224B - EqHZ4Zo7owgqF5niGYYq41qUdfW2p3FgTUn1pLGiA74wBWVROX8bkGQF9m5sj9yeBITJmIXQPdyO - 6exxmj0cAfm2sD8WBMdjv3qSEe7O3fNOt9nuKPrnLBnxrV6UKBOk50AdMQ0flFC20H9I+yhAThrz - 7PmT0NSEBtDL6iQvX3dDOzaz02njbpLEKhnKHBRtx9Hne0lDVNq8HtsiaR8XeBWwixkoROeDi9/S - vQfn+VI7NZ3HtrGaTUlpC8gp1FwOSkoSC4CwFJ1VSUaI3/X950MXcyF4TLMXZqHeFTJkLC+Cs/9r - 6uoJNn2cCgf9zpSFlOZt9YCzGpKDlRqPyPO4//2df11PhSVPi3yBlowQUKXQicWPFLIa0drc/PwY - xPP1g5GJwOHDKCQuY3c4WKB8hZ9jRzOYokrK0Ps1JAwKwszqhchUYr0GNBhZ8TPJgsZxtT18R/bz - Gyja467JN9IrZSCLGimaJHRch5RvzVPRkXM+Xab/X8UB+2JXsgH6r4Awdh6G+uOPAAIu9Jz5cnkt - C6DrYTEMPAQF9oBZ1ErBtAgARDGUO3LuJtRWPl/o+Wi2suHaI1gU1dmpaEtRfHLgA1gZknG8TCM6 - JZ4bKsFVqAvKndDyQS2Eux2S/WO3Aiwd+Su+BSSbHis5As2VDMXVSLPBycyyLbBHG3B2aEpsj3z7 - EiC1WJcRxhel3ozijmDSvk2zoBLMh+65JTx8jXYUl+BqkqopbY7j9eFumu7AjxiBNHQqM46LC56y - 3e4yPRFLujNFW4aFuUsefOdtKNrMKRB3AcU8jMjzOMNOB1WqC4wrfTZ0O8xdD/92ERQy2FCrl6Gf - DqU1qWsOJ0fo0WESQCwV5ClZ/efSftWOPePUn1FIfzjahSfpZBWjsSylW/R9tCxKPw5fdBr2LLFk - nsus2cNlCx4p3GxDu1rLgvVxPH8iDi1fB5Ty+9eBhToKiZG5dokx8Umm7X3q3ofi/cBfJVYhizP8 - TXDdSL0hduOwRus41PEKFF+iozDBA2I6DyivgmT1509uf+IG+SZU/lIQylYRmk00YTldloXd9MQh - xPOKc0HdqKF3TiB9GYoqAUXStwE8ucvU7Ncn+eEJ/gqK4cY93UDMNmiOI5Yv19UzJhPUHPpFTiXH - p9/xeuibxD1IlJ7zQngqoVybsRc0iaH0KcgqB+1lDS8xPX/Ue2E6gRCogPVHaMfXZbv/4Q0CP5xi - KdYZWyjZovyVtIsg73GVRyY0dt6s8RFtBbFlRScfkTlA0QnNCdkJPLTrC4vEo01NA5ypzmDakBO3 - kVWpQsr2x647bp5aqcMzi/Y6fJ3Ps5fQE6otgQZjEv3r5wHlVXDStdMVMTFUwu7sULqrYCsAqWdv - F/m1eeoO0834AQKx1lCXaOuEa/XBsEKc8Gw14u/Q9JSR1EJmPDOmCGlLFhoRjH3DVSVk9IuGHeXO - irIUQ5t75ppBGSSJjrcMkILTmYHNj3rSAIAoVmYzZASGP0RsxPX7/sx7Uiju0pUsDHj1wWp0oKEe - yBqCIphCv9vITQjH7jpgew4aOBxjUk1Xpw+sVOK4Q4c50ZR0tZ76dZ+boT0jGp3l481i6tFtUdAg - teU6Y76eJmi0zoAWQAmMe3n/OPxWiBlP+5P8nmz3QwfmEjsnggp+24w0j4o6M8OTB5RXAQZ52G1a - 3FbKbaB+W7tgUtodteHzrEwPkTn6eDyc6Xi6xYP3M4wiQ0vBWPbJ53JdybR9KdrdXKsb/3NzOEBD - zs2dnMXm5oHMydjkwjzCC9Vh3ldwjH3jaYvvBXxXidJ8TnA0SDGDrs0WeWkeZrhybZaRMwTG2Lvt - X/qJfd1j246rD3QLIwOPkqow0BrsxgjfZoDGTZIpVV421019Yux3sCybPVmtxelw30RgnmY0M3XY - e0+o+FbirJ6dXZ90ERA7AK1oc0Z/hgeU1/mWDJ91TtAP06rxHnPWqGWuUozoYgYHtFz3rM4raPOe - ttu6WnZs6dOHePv0xroFYgsUzOBpkbGaFfJgoaBwdzlyesDFRm2tyU/P36P9iQEOjWwveY81RIWl - W9fnFxzGA1fTm3xH48XsYDdBQQ9aDLzsjNAPepwumIy0lpD/LJhAFqr7FFXhq3OqJ5v+q37qYYWQ - HSVfNEOSXSI3NYUr2WfHEF9IXnHY79jF1tcps3M+0KbDF1V9kaLukLyx/mX4GqZ6B3v99SkvsLfD - 8IYuJLtx08ZUqVkAJRIN9FisaoR1pN1h3WKRxybR9rmUFYngMNHxzTE4wnxRUrfaXb6+Ua7crZ5i - xfehrocM6/cLSLEqPlFanWKGtAIyoGFS2TysPvoVBSWJtbvp9KID7rwBu50yTDzfnO9BXArYs4Cj - hkkAZiZ7oojW/LA7Aog8W2ItBJaZEesYiZ5QfU6yKHFzWHVYjlbPihJmqbEMYWVPYRHjHnWemfKC - d9lOl1m2swZk8Koy3jM8pBRyZMlP/3FGV4v2fOACIVLgqrcwLkc6qxO3QmMSusJ8TftHCc/dgZUp - QtyZpY9jQeZrmXvSaSX3tO723QRVCURudASFqkCaDc32wNoTObD2hOTk+5rgD/KDvYRoZj/ER+h8 - Yw0Zx35IuC4znt+100ZOHNi9T88Nus3HK6wJ0yxyl2l+V2hYjUqJYvtCbOJ/YVVESKa539/Yeo36 - z8tx3xRVqGbhtYpIAzR+uu+5XFZCjMAwvZdmiuF/b78eTSKbHCihfFXoqrudzu0TRHa4PsH0u0P3 - Rx76XG0ycN/EuI9x2sFucvZmtaFqaRljjTMs4aMzO1eKTKfO3QoygAWWZP29bQgSLcVXKUJ0gwco - GaTuOhy/Q1gGk7COSc/tF5Cx2rL2EDhQjzkIezq6T7TD0wibYCojolmP7W6De0q7H31zyBZUIFT6 - v8yyXyy0Z4VQ4GG8u+CVr3YYvnOn1oev+td1h8umBuH8/WcpHK4n6f6wf3L5OFCez83+utSlI7D8 - 0ZvswrcQARPNd9bKoe2FknGtKuif5UgAUxR5EXSrJMvzfdzU92i1bf92f1DW8daiM/8ydu//G/0W - 6VymMN2E8HK57FaF/4Skz/iklhOW5qtSCTheBWVbUXngCC3ExKsYceRSLAsafj7DUBF2kJCElOVL - 4/mufyGY6evTiClzLzrnrCsaGoWMJpQSEtvIJJlg43b/UIaYpzHFGBRtzd0TuGM+FcXgGp5mIooR - 6rhfLq383kCrLrHyCxKNUFePQGFxYLFAhDOATiNTbD0duoHdrCFaynt9FZmWxkKgJFfrIj+ljUwu - 8Wd3OrDjOosN0mp1LlRNeJ9yyngHCrmxwhEtS46V9f6rtCiSATzrDsSjzBihvE0gB5QWhqiqN3Xt - E4oHybwp2h2NAUh6+aAUNB08Z+SZCZ8iYOrucF0XWxQLcNnCzA1oipBioekEtKpE2FpKCmeW0txc - utdDg6PtgSaFR41RlxxJFnZfL/2OfTRmDxizKK0gwIkILfzstGGcbDs6/qbK20/PD6w7DM90pW7/ - i05zbgRwZ82yu8hjr4zQEqOF5rj85KJs7nx2lBqXbilOrNKjKe+BUbT5oRDNUb2RcYLf2uEdGRqy - ZJoslTsNcAVR6WAwILHllqhxs/lsRw6jIniCBmpjVQ3EA5HHVCW4oieZUMR2GkZ49MDgBrCJ21Sh - qMJS/knPxIf5ukMQINqd2f2FHjRMAZxZugUhwaNwm24jLVzP01F08CB+qqfabsICiqXTraHnn5Z3 - jxIlD7M3PXd6Zcv5NPQTwi2WgPG3xwMrWtpbaYYrVa5CYUOyHZ06VspR8HWjvULVW15Cd9CU/UrJ - Hv++66BGhqcbWSR4MY81h0YOm6Fmvl8WWlKt5ESnYbf9B7EbBAYbyPjUXQIoLxrcXoWSkahe/0af - ziVm3MYmQpu2Oi0d3WRayY77FE7oLLxZXQryEftxpt1h0ZIHsNbSro/YXc2UMsFMOV6Q7ytXqndh - kS4lWIzQAZ1xFKBn77Ustf46b8H6KBEkBbQL2IJG2csC4X8vyYp6ET+7xt8hulHfdctThgoLwI0R - OvJgyMtYh/vdAB76fDTae4eWUhvzI2VUQGLx+sky2QsQ2MSzfb8fIZY0B8sVriLSx9M6WSAEmHWj - zR9B7/9/BDIe/ouM/bTacq8e+w7dKO0fD9tBQEv5HMI8QrMXnGEqq6u6A3BNppvqWPQE3YXqKuSJ - laUvRcFkdxzQ5jHhqZhNs4yOBEUZGm5GGSDEKXTjuJE/m3aYakkASBHRuYEwFH593i82jkDPxsVQ - BHZYjVHWQ9h07I80F6DSHR4ScqLQKNNuZbD/M5ZTFGO03Tc6ZNP+UMtaHVbdEbE3VjCqqnf1vQT9 - M836Bny9+C2LgqJrB8Vgprg00E1YaPHQ7NCGMlmWDEZCL2NeXNafsw0yUAP+if0MYrLDdRzJQcYT - 6L7oQIBTLYcmlFXGUGMWnLWx5Aes4gfokiQ8OVBMLm9Btd0eylBzqpIW0WegQD0qvvnQZ22yzL2l - +3U6fafg1rbfwPS3V0r8aW+xz0oJFIxitZqEjmwZUF4F9/+IbXq+g8Yt3X3gXUBZgmLEFMO8hQXk - HrgRb39w+5htJNQSEk9nhdM8iz0bZKA18L8EGN5AtdG9DJfjXwRQQvKYDgaY9Ze39fELGzRgWhbU - rVrtiFJ0+mU423leR1kR8W1aoQBJyQhqv0szYrRuPe2JAVJIXG2zMt3FfrtCIYDmNk4ss2ALRYve - IYhl86arZOJp+/fdN9SoN0Pdal+v1whbFDQt6EStjiKKI7T35qb7K3Lc3nyM36iwfbI+Fe0RwBil - ymSVckqaESAtc6cgysDN47hjk5lCPIn2tgCY2WopBlFIbzg+tkqmJL8dTrOqQekFxWWRF80qWme5 - CB9wOVO0I7YTHccguHrkyqnu7imTKd8vfoXIeUSV6vbX+wAO7kwgz9FW2B4kJ7o4vIHiInsY57fV - k2HTZwecEOj8dKaFmKqvlV0IlJYEtvEJRia5sr5cYTiMmhIIoTWCHmg2BVoye7c5YXG7XV272SoX - hezHpgOHVBqATZybDBgiCMyHI9TybueRiWoZFEAoy2YcwjxEGPyPXccW3OH50IsZmmrZG64M8oDy - KjjV1w8/NUnJ47QG6gvo3iblRf8Zfnh0nlhbOM5OTBlZsf4WiNgNGuY1SldRXIMKFe0bmmV7ZU3u - 6ROCebawtG/0GkqZFOLelE22rlxXMqDy9Dk1gavElArS7qn1804RIPDNDCGfZMWtdbc7fUNBrf35 - XL8fuxq6vO5bTvp4NjYh23t6E+ggt5k2JxDa2VRBC9tm2/5zDSXLWb0TuMv5aHAOku+ey6oOblU8 - TOQt0LXbYp5QLypKCSE8qTWAJDdzBZFexGnc1/fydOi7xt74WxT4+YrR6ZOlk4JNyzKU7UUnxe7Y - sV2nvbuz3MalaLGAordo2rGxFzgKkncZEBsw8wkSUPS/pUlk4EY/bXsNy1MLiWhrCrRQRAC5iqaZ - ucM4oFFMJ16mbNqwzqnHq2hjbTffiI+6ob3MNrO+8cHGCuwEPFIKzANFzzbJArhV39Yq1+vVCb/s - Vs7Tfhk00lmQlIY8KwC4/Ip0G77bNWMSLNgEIXG+aH6/GAKlsi/j9r0WQbx8vTe0LrD51VoWKShL - qXW27D87j9BM4JMcd385irjxgFQkPHmS3C5QfvYyXtpPlDPt00csEDT6g2PbCLpuZcXIdjMw/8dw - TuaXW0dRW6L9zxYqXsrzqyj6/kYRYDyCn1TEItEesrVJvFbWoiSH0ohqSu1CMju7w8ACyjO4hW5t - BSoKtEi94SpiMrzjiIpd09sFbpqzJrZ1FXEN2Ffj0JVM3BJPQr36rhsZde0ts1HiQmcK7wH2Bh3b - oI9pyO6LBCuvX8dNc5ekhsvIbfmYCGwuBUm0ac58FCv5FtfLccLHw+yGKEiswEDKaBanpgG0Mzkt - U7RZHTYNOyjN+tDmsQMFsBezS7RX4z0CGxSIjs7dQa7bvx9Wv564EfuxSbctwaclcxMF+pBwunB+ - kWT1zd3msOaW7gwIvIOwbIZTq8Z+6jHAwRRVptT/dnm7lFQFm1plHogCO0UrYDvMqYzIS/xz/7hn - T7AsihNSgBzSy+t4YPJ32feieQDOE56+C4Z3luIKJitvrzZQN04z6iYZk6uMOrI3bsTtBDIsyST+ - V/3pGzXMbjNw+xkQUta9TsvtwtKgpNg1KDKXVpTxvJ42E1fcn+hr9ALDhuSNx2TgAeVVEGU9vKlE - SOlTEZMDkiEsHDkT7FOs96y2wHh0ESLko92+Nw81iDshS4FKl1SCfnG5boQgh26/q7eK9sDsHrhk - ouphVa5q/LQCIkd6bBWNYYJNerOrGzCv5/7IvepniTDHRdrsjKdjqQwor4KIvV01M1uQwsak3PJb - BVDqMIULbUmkvzLsfyOhdpcenlWUxgJnkYypQYQUHHhnMYKOqZCESdaBzu17tV5TDLL4ZijJaRdZ - 8tAhHREdqt37W1Mq3zg4KHsylftTMi7QkXeT6he1A3b9rp6F7YSeOiKFu9p4ZLcLC49pyjdw/nrZ - 91m1HQWwZ05KMsTjYRE5rywKjtlxyzsu+vKAJKvt/fwpz63O1+e5tJ0+GZLq57h+kXs4RvlRwp65 - hBuYKCTaccdhh3KCLu/hktaVOHpSyqA1AvUoxw40ki338GjePp2z0YOqRzPYef/SjpcJm6e/0TkX - qkyAn8A0GWI5ZXsVMRm719e1+BFtD/1VTpPZrt9H7jgx+ds8RfQ6KqBCQSBl+ICVWTt+HNiNrmwN - DxgWkJQ/sqJjBOlRBMjLCD08Xg9928xkPkw7FyuwX1YeNb3iWudldfmf/ZrbE/oWby04lTAEVCE5 - luNmNIeQTgwo9t9dGavIp5fLChyH8VyftuPb1weLKtwySLPMuxABQqNN3QT+lNBFdLsvcLvQ3DOu - mOCQgzJHukHxZKu5P/6BLYtLgKHB5YD14NfHX8872mmzK+4EUAd6oCsVewCr4LO5mxeI+jlfK5To - 9Ex3tHf1uwTzgoCKTRGU8VJPgWsHZS8uMiBciqbqk1OQxqkARe9MhIeSg+RdthecVqXifKcj3Fay - Qr/YZ+8yhIXQSS3DJMCCXo5K+Hnt1jPAqQSqj1ZmyKhiKwcInC4hXpSBl1crNCfK2cROtXeLENrQ - 8g8Lr2rGlWpXxgluwvm8byyHSvQx05MkR6LvkVA2A+9SpiJ6HdqpiIPXWzJY8xToGnqOoVwXKoiP - 76A6zSpQFiZN9YZMkS7um2U0k7VC45FT3zWQaSklkOh9qrRzIiQ1TNEWQvla1vN9X2/kAdTpdGjZ - uxF+GdYtjTTRhXM5RUZRI0vXQpmGw6WWvRhatEINbzkN5I0rBXLIXuCmQA3IsR6aSIWrnVh+hH2P - 6FcuTgu45/js6OkaXmdGyEbvxql9dlvaQ4l2jwMoz/vpw1wgghumKRfngnyR0ZRpP06QMPNgt9Nt - wglST6qcWQKMSTL0KgpYNu3ILBOA9hGwPN4BqmKJ0l1zu+z+kAeiqGcNAMNP74DOdqJTzL5cttsO - Na7f+mo2wTDP5ZDpHCgDymu5x2dwbGCOAg1rFLN0pQFAmzylPpGHsMA9FzkFmdZuB9N2N+8QRvmK - YODpq0DBxLO4l0+yu3yc8GXSzck25lT3+XLW3PtNeBO0YET51aH0n4yrbRF1tEazfhfkbXXmomSW - RU5vb5fxJvVIb3Ff0cnhidMfI6Lr9OMuCCk4c8ZhUweFm0OZowGd/Oa2xBWdeCAW0TqLZr5cXgWr - 4HzhJA48aJqE1i3mACpXwLAzb4CemwuyidYf3qaW5QwTJrSq2aXBZKNhQxOBRU1Ohid4HymGtCg5 - aPASk32kUZCvT95oPrDZI11UK7isp88nwtiOMgCvmXbLIfvSCTrhZlE4RgvVoxsJcI8o6lsfW3lq - uhnHFocvGKr4bHf1PM2GoBHhOa4zFxGjBOfQwKq2EbV+aIlU5bRMobAC5scwAUcopdv+OqHBy3rD - 3AR3ajmDVABDjg47VmXF0aOUrB55vkyI+lDJh4j6QgKdwV0maZS5MX+sTGIcxlqsHqHr+qaCKx0F - rj4ra8r1/Ae7ORQkKWcx4e/vMOwOb0U6E+oFahHzoQVudVIP7UwR5nlbAzdX214uknKGjjTbSKN9 - XItIw5UWxkWMDLZCr7TNfmh4geL8WRgJYk+A0zLfDLSoZAo0x248ALfJwAdbVW6A6w0+8lU3jxFk - Oqf113cQ5t1pf2FZdDNroSVdO8wG2nyhoGlogkPwOvgSEMWCiVn8UqSXFNigjfUc8Ci4amj70q2H - z1m6UhuoCUdXhRRB06thdUvHJgWiatb+owPM5faNVMVdtT+U9Tb5cMPDWFmr/XA6fUf669g2DHIt - MZ99WAfzRzQUnIeEegZjsEVw3sNwfMOejUqAa6JNlUpuTjkYPo0YYhVkh2q7nQDrj8Vt+p6jKrDM - fkTrPStR8ABtZFnqebNiWDLL7TaUslR7gFEpI/5ALZsZtqLwsF2fp9LOpgDDU1ColgvVeUez1xZ8 - d5RRbtph84lqBrRLaJ+JYbHtwrI4mmg5vNUFCCh5j93ldIWvUUYciBbz43l7aJEj7yoKqQ6Mawm6 - 5CrPstvzof8GU2fV0Szm7JueEqZYbYoQKW0H4tsVFzmnhIruhz2bKsWbAr9RS6ganhQ0GLDxFcCQ - UjLQRt92q6fEef+Fco+fc2bK6e4/qCBMlRPlm8BXBhz/oorS6vJQNPgtbtDBOWgQQRXq5659rsDu - p2E9m8ZRZkN7R+XbTv8J26jbAOFh3B1a2qdQFQDxTT0hcqylZQJMs0MxKRoZbrnr+gbaViBSsOLs - Qh8VItEKSkyKff84C6GcQ7JUuDDydAuHzfSnfkBylDxZmsAm15Jl9wv0S19WA6LCGX9IG9ISDQus - Hi2OzPbACvVAEUSt/TlOpYyO/BgozeWBEZNXEFVTSPOVjDrcDU9WviB/Oo/ZXNLyuBTWBudOJbhs - OO5U4kiXTPv1avpsHFM2aWa5hRwHxTK0qNDcwnXO/kTu9KcBMnuzufLNKsvTphSgwEHbLvJvNoKV - 3bfD+3aHDrZjqzC6TW7BCWXDQkOZOUYEvMj4RWuWRppRWVovCSaRdljvTJo9OSiigAyayFsZtFDL - gq3QRrG5wkLT5kpZOC6g8MPkUFE5eDUdgWJQzxCRQF+EvkwOkLT9wUwTGdR4PPyX/t92f/zn/Ed7 - zP/6Nb5R1QYe2bEaEzLV4Ox9ZVE8/CMlB6VQrClvGIAo4hAejxxxqHnOLM4s+H/aGCNISTzCyqzO - tuORje8VhGgs4wVv44yFXgsFOoF3pJuzuKByd1z3ZSpg8utcKXAk2oATNihATY3s4O1O3/Dq/Nij - fsLoEgClH58NVWjs+75cNbKgbntp36pN+b2bJiihoHJYYPN1wSZo9q+DuJbl9oGoFby7dE1EWNpE - 5nMu9xpDQX6iMC6yhi2cuiVv8T7sgVWAfiVilloSj10hZjCDYm02yYn5Pg7yDv/6cvkEgDnOO5Sy - i54wGtkUUNEpf2PgSp7t8Xj6RM+KxsDqPT2p9lGSBmEHDODQQWSJduj26J2bUgwwSzobCOC0TNlH - hjXnRfyZdTuNpfxi2Hw7zqcrOqF0W+jXs5S9vEbTX9tB/BT78+7cZHfDQZlsVUU3RZMkQ2yFLQdR - fRBlXv1+nImZVZ8oKW6o0WKJYb4upCd87ADqRvG9ebibJEuBH+VACS4CM+ZbdGDu1hTag508c4vv - SgsxUYiUVYp09GMAOs0GOiqCr7C/ip/i+PGLMvub/eGi1Z7YVTxrl8r1KNsojusHQ6Xssm/t8MGe - UcWDLy4gV9Yi0KXD07FpVCijBKdOf2iYZorf7bxf+g8A7BK146pGxmOVeTquUdXwjCXJAAHe6Y0R - rl5QQmPNbcjXo7UvmTof58s0W47iPqV7Xy14FpLUMFLAgNl6VHAC9nT8zzZuTc0ypXvkY7pdFLJx - LxCAzSxM+hscMzmYZTh4PPKILAN/b7v285+/pvaQH1DxD3rYwdO38/blc/26QFlXw4o9m6cVGl52 - LcLqXHqoGmbMywPLZfojkzEVQy1FCWJ7ZpbUjWf3WBUpKCB6s/PwFWGWQDGNEsza3Tj+Bpnt5S20 - rmvl0d1xc8b0nnlOJtyNSOgLgxhCsS2OFo6xhfzT/ohTE3Fauaeo8ywfb0ClBRV+uMoFFoIVsam/ - NsNQHjyvUeMq6HcM2Vto2bMBqwzAvl9NDF1Dky8vIDOoZ6NxUHCwiBCEGNXN5b2eF307gUaAnBQI - rxvKi8JHSzeL/hSLbCQNcFI1pqndAvDKJkEP97KYIR6mcfqUq15W8PqgHBKJfbwzY8IyFAaTGo8/ - cmYP/Qo2OJbUdi6HYgVeMJTqdqcsSBMeyaH7ll/4Dq645mYWZSCCs5xfKoA/5u7sBcl3eG/fF9yC - xTCFkTSlAm2E5mX3Wtv2rY795xNWF40R1EhgfGNNjU5SdDzCcpfVghA7irb8ww7AungT+jOPnoXy - aFDTTgIqc1n3UXZybfdf8s7icbdrwkw5b7TJCyYhJX4RdtwQgYHGJcaJPMXa93f5vv3RD/Lyym46 - r77BOX7/BZ0iP0fDflFqDSiOFcBxRqE7y6YyHUq/c4zooHqSkG3pcNAOnS+apynV/C2XE/tbc21U - W9meffnYyePyYXVZv7FiOOxhUOIM1ladHwXNTIRoms1QIUAuSoD6n+uvP31M1CDpPqQQ4Hz5crg8 - i0JfNte9nNtxaC/yCsIOBOab0o3xC4BnhOuYSoqSB+6WONlxOF2+zsBM0b1HgHLr1SubUC1ICYlh - uW6FJKJdC2Aaa/Y3+haWoAcDchht5xSIFB1FjBIJ0/68XL7xdFroOd/lSnWFTEuU1kAGHkEHdwOB - LhLV4I7vY8/qF3N+vzyhUXs3ObFtyg2fqISIWYYc37ypzO2rUBKifuQAGlvx7mQjZlkL6QDVxwzU - AnoVYclVgsm7yhkEVVuK83imknfZrUc5omj1Nn415i7zoc39XkNt9Eek7B/NfvY8NzLVi+3UQuXL - wJSOku9bbTMG0BkoyqYTGte9nkcJZvV1tWM6Fh0SrvHeLWyGULP2JjjvUJ2FVUCUEfX7af9ZnFZM - iehuo1S2XKSNCMFufiyi6bK79IvA6e9fd3NowXpVpfuv70XGZAPK0Ao2whhgIkTWRNWS4XC84KhD - 8UtRyLJURXU/LO12HjZAjpegk6kGfEIOwt49VsFPrbwBPDQnnOVOJwtCiKiK592Wqy0lUA4Pv6Vo - EHNQygIGsGe+oJd5cEBo+MjGnjVy3efsOKUIiecfDyivgsNh2MtpRquPb0BV/q+0L8tuHEmy/dcq - cgE4Og6f/RMExxAHCAApKfa/kLZrDpBwKiI7y/ReF6oy4RJFwAcb7jDCHlQbFmupFlp+1tPSislA - 51GztKcHLl1UOtsfLk9eEpfjqaITxE3neSmOiDQ9GKCWA2c4NFAkYrA7w8OC9RefNH+YH5ZCClbn - +3yRYGh+UEs5tc2ujK/a7VbeQf38dT2jlzU/01jPgXYwICkH0M0SRoAJnWTk7e5tBxWcWebDKp2K - EJX2S7w5HoNemhGSnJpjJxd6aWm2Gc9iaeDcPcJbmO25gNh6uu3/0NkHRTF4HJV/z50/KZVgMUGe - U+EezeFctRAiiYleA2vJCjUHx+MBjeBYM4Zu6flS88xNDvCUaPMYwan6sWqRikY18YeDK8BflvZn - TYeLZzqbN7KDZjecKjdz1elX2gKBnejoxsd6nDBC191TS98jIqo2mj5h4V4H9WCjjPMp3xc6SqyH - vwLJ/st6uQzjPx9PSKDsWo2YCwZiDzXifPpqKAzCcBTRowzgsunw2GmBU0iWli1tGpIg4kaBBXIp - J8tk2s35Xf5Iroc9hFdxZNK3X+77sJpydcTewgRJGW2hv6zL593fjnKjgPbze23h0h9+IsS+6n+E - lNk3xwubPNcA2Qf1EMHMmvZJRdryATXLHs+iI3s3HDYMGIAfROUe/sEBQJTa4jBhkQS2UfsjEwpa - 487+YRfFDavUy/D7jUOzyd33gXUJ2H+Cto7Z7wg98rCyWIEzLfoAQYgCSegVcBqU4tXm5bY7QIma - 9nvaBJa+5zj+YYJt8u0oS36usLlAkRNcfbtUmMEEppPGsDiBN3PxEpCsUlUR/otW84KPyHWLmyjH - aEs7wstu/GJguEKQllIZScNHhVkL7MPqZSjOvhunkjXUtbQr+BsaWxLLVHMCJNqUtp8HZlbPtfna - LX1t6JVDpJ+eBA+CNJAsXWwOF0waysph6eDc4+SMOC+hcIi4iGkZXhZXvl2GAXLagNXeoWYsnxDR - s6VkBKCbyssEk2DzzuKQ2TqlxGRrOtLQbMoaknAxEpxJdxCUBAXUICyBhC9q8QvzL03pvYFjR8z3 - lVA5hWaJn+UMlpLWwQGxTImBVtMAL1QzGEa4s6qZM/P4DFs7dlRkTR2+/00GtxjCuqubEzN4nqTI - MLmhRmu9cXYaoIVi6KtjB2dvbFP0peN9YSp4evnaKFboQvlJFqR9bI5/1XihPBpbrw02xpfDgC/L - vFJb2SkJDroGkRTi/Ga6ma//VuSgaXStbJYhnQMA6M7S1kU5Cq1+VCHyAElhrj08pZvH7Rry2SB+ - 0lN0Tz1h51Vdc4EKqvJBJqTW/okhBY/dV0pu6ezh6XI+tMhpUa4IQP4uTm73SqcShX6IxdF9oDhf - VPpsz1+CzEl7H2r7MvbtH35YAdZNwRjlCKY8bFk2AnZS1umX9e6T8c6KDylvTIEvqS2tBCZMeFbR - AwBKVD/+/QN32M2le8JCrMfJwZKlVxfRKJP+YOqi2b6yxlXkG9//2lK8t5pq/7QD3LEC9IgiIFfO - ggbIt3EVlTq6N0QaID05ChCcL+gkySQkeBiRr0byGdg187vjcM374v16eGZBDID/CNlO1B8u48Re - yGRGs2TBIlmn8xs+PsCQWCCtJAXr9gf6ZO2qP1YAyk1FFmtSqcZB0Ti0qiKrZIBYK4lhjsO2Aic3 - g8BT/QBKcDoeYEYJr1MkSiK5lMOqQWpQz/30+wekCBkNWrwQNTZQbsjDBM+5aeWNi7b/BD0H1hh4 - 0GHmZyhKDiFqS/OirvMAJesZj+ubvOC6/cxObpOe0CN1odiMThmvKQxM+T5f8l5zQylgKCU+m/5c - /ovNeewf//j3B7Q9IQ4z7kkwKSpAyI3TqITwfSWD8W9uqzNH4lCpMAtbmYioy2f0m4VAGA0Sact9 - HD5RXULvoaLwoi5KQ5Y+CFIonkN0z4oKgmnen8dMqDDhSWKAtl20k70zweX7Ssgp+FivyjfYtqUo - wGG1LwsS683QQRY0IdeiLK+EqmudvE3ISdlGSSTB9rGFONo7IjHaQfH7Xdl9sRaqIByqoedlZJnE - L7nb4NAcmgo1ujS3bqItxXAouYAfbg3lFfoVIcn4zr/2p7EKf4j2M50shKiUnQYEoe3FftWcOzZX - gDBruOujRQ9KtfUWipI1o48xSHQkXJozinbTjvNQ3PEBuWzNgBZWHhVKPTa7VVN2I26H9k9Vqgif - DYrVVWSNJvhdvP8JdhApBaLHqZlKh2XQrVE0D+ZbpgT3PAOSfsz3laxSuxkuoCbORZR4b/onBWV+ - j36dmgbIzuX+cPunH5/KucdNe6nYUZ5lySn/T8VWFmC6DNS4zlxrXcsYw+fdUGWzeY3U4fEZDiDD - pFRkegsDrWT6dcNpCyV5BMFYiskuUfSOoq8UA4J6tk2TRV+7Y8cmGX844dBPVRQ21fSEUnjpfv9u - EGlxIarSCzD85FkQaF0lBFoUm0ehMeBlc5UjZtrmvEX7JSGppKPfzBmxc8CxWJrQOFqSyoMktef1 - BW4kd/XIecUkBt9YC0Au39cyCYDboYFQ+xwG3g9HWi9ouUZauynf17IgcD807//f851RF49KD5QH - jUZl++V8bm6o1ViuSz5ENyztd9B5oM015NtKprD9sQVyxNRchlhmTTAJpZO5Bg2LiWtBVs5rm/UR - QHA66elDwv1bOkUfSxeKpKCf5CshXer0A8Whdrv9gWvleCqhwbvjO7xj4eP5OMt1UlBOszXU2VK2 - OhR9z7Yb79S16fOaFSWas6anXx4ooA8YypYgsVxbNBglCe9td5qoglgapr4fKD6yro+2lhE0uYUh - Q5e8v592HBQ8H4ts5mB9VGhgTgOijFLff+3Fb/kNre7MtouVu2Pc6HCgP6aGtCyT8dCvFD3jw3XY - YfuecEJmacSJ+rxyDnR/cIc03H5Eycz+67AwrCqGKUPTMwW4Vr6sQV7SZrYtp3P8ESsG6JDUGr7g - NAJQTSNj5OzHbTvhPAsCnnLBQ6smRlhe34GgQTKpNscBsayFXiXlVnW9iKwhca4pwecKI8A1SubG - db7+3uSJAbTyTFQNAXbLTmdfth+QNA+f+6N80kJJTfrDu+tIIUqLh/+E+ILBCAowKPLUbhqQr3lH - +tjuv8SfO5ybDsjzOpMYfbRelwoh3tYGG84UR8pAwqvr1+9iG/2k1fHHxaF8AmZTw6NIvew7Bkim - 5zxaa7QHKRhj+/CU8uXfTnuQ1B8/b2jnpPlI84VivvHUoqrg/EwUXYZ8lG94TbfygHwVTKwTHE9q - BsXiU0wB20X0EROLH7OZncxC8nhYyecBhZW7BWg3t3emzSrC/DMAVZvlGbRMJebGKUviKiZyiWUN - E/12T3sGtDQYbx9lnJ3hsAj0BavwtPoBauMMDXqfsXA1ndxBFRiJAP1TOq4CA8B9lGE2z7ehQcs8 - o8AekOFAC5VeU3KAtvP9JAvPt/sVa4Xmo9GjBbr8Fl7R2szK2Ym7iyJFgHbffzAfbiqRObVUDUIh - JkTtWPZET6mIrOK63/y+QvoRyj6QmL63hyi1s6/eqhBDzb7fihUiRQK+p74KiWWJIX4LGZ/ixRtj - KRaFhy9C/hBlefJn33xBKh60pQoqpYvPAP5cW0OZn/Es4+JkecmvX+gBgHgJe2o6ZVSxRl2gTBw1 - AJO4ogJIpggLcF7JwQBju+py2RRyXkx6nN6ojmDAUwzOLhry4mo7LKznUGtZrVbXWfmrqp8MpSkc - 1fCex303jSramPSuXjWlIsjV/wU899FPKjyR1cEeAL2oAp32tLBz1slQBzUf/uvT1/szUmy3OQPM - QQElGlk0Jx8+MAoaoxRQ1ryNs1+ZKJ48nlYD+Lh64tMk+0C8Ukz5ik5JnZiyaxQPFGEEJiMYhTlt - y4dCu8OrT7QMGO06SxNND6C/3PLPzWDZeH9noLPRIeZA04X0i5ViZdcPKqsgHtoOP4LjjYfdhakS - 9FxoP0hLA3IE8d5FvHvOX2phz3Jsz5jONXQAKqQIj2kfAxgIdcqqNjA5lxVPG0hjWz5rKLS821Si - uBgAmtasaqHqaZAElzVCGAZowgpyf4tqXv1KqXpCtAsFdAe3dpHzRHc8j0ydUVCB9Vml8fEuXMru - ARQX0Pz0TsbxfPtqn9y799fd8BcAjUsO7gY20U86/4JnzKxu/BFLoV7orZiQag7rAZfWssCzOW9G - CO9ES8FzhVZ00aOn+NlaOk2S5UBdy2bj5rTbstftbGo672nWefMKEXXlNfrG6EwKMU+XsX/qRqz3 - B5j9ME3NVKXCVUJegBUAu1zN3MRaxgE9jE/IofPu+PR3DF37+McSDIPT3+BXxgnlu2X45zclI09T - 0ADcgJOdB+SroPo33trv8qX9CumRznlafPCVEt4aPSRv/DSArrVkFYybcfNXDRY6aYN9guWWOVh3 - AQNFuyJydimizEInS0gosCRWN0iyFKddNfvnB3Naf4xTi8RUdw8/Rf+fdqA6eMvpAiv88CDB61jv - sQHHrA92T3IpQkTgEVSNPY6VJ2T2Am2z4xfn2dhBp9KiAsweKHBxZx7umvZVJBJ02kLpcGKGuEVe - o2jaBpTFAdCDCJLQX3DXQ1zHlSVPl7xhqc0AmGW+zxdBQHC4laiKcTUCGA31BejDqKLTTNmgtprx - 01gyHNdrFolfmClrhVMj2OT4pvrjTTqJKbe+VparHDFzbl1pXYciDmOYuE5iUXL4/g1t0ErHPwSp - TntK0NzL6esMg8FoeSY/OKJ0wFEaGH2i3MCjM+ZlVaLj7sgVJi4Q3Df4ADlNCqBhmDHf1rJwYH35 - 3Rev6NZ+rh4Fpkc2TdETHYaUYPhk/0uB6e/5Z9u25ebeNYe2nCabYch+jLGa15VP3LeltRtNvic0 - bGzHXcZ0LEhpKkLABGrDlC3RXWcrofDWanXcyTkpt81ZXqoZV213zTUOECrqRyvPJYsqOSxKwo8q - Ic0NbpcOE5p+h12at2HHMMpmj1d065ws1Ryb8QeNtOvxiEMDM7e6Fzaco1DM0VpxaCxmS0Whbtuw - rRx3sWjrdxBFXm4pzgba03CD34ETKqYfxg3eDxQRGMqtZwkMkA3pQzxCmzwiyZbAcD1dqmymQX+t - rk1R00iGgofAtgMwTBaBbVf9/8bHhWWuBj6Edu7tpt9Bto4tHig/4MbbouRCWT/jblCjZ307YQOo - H1HfRW8ScUJYqssjunUsec3bqpYVdU7tDkDdwGKwiDqWWVB0hqIsV7HBkZcpWzfj0D054TXHU8X5 - BE1A6xZWtJY5KxA752K1lnV/b5Thwyp0UidxPjxeIeWPlhIdhZMZq5/+C6VryZO73j6/kOE6wyeQ - NdaoAoHsfbAxsc8eq8TI3LPW/Q8KFut+X8VZS1Ob2pe2RghRIqV9EVXaIKvdN/1ODpHu70swT41m - swNgO7czUljgEIHdoZhJZ74HEN0ihN8wNsi1fuAL1vW546fZMq0IeqMHAFopGzODZ2LziCwGkQ3T - 2YSv6wvx4MT2ibDTgjp5rAAiliU9pycsape5pjplZ3JGp83fLEAEwUSIL0LhGigcobbJrhumKVnZ - gDyhWDIUwHnmWGZfGZHt29BVjqs2GvbrRRvEBVoEAWYAqC3JjtftZThWbgZC1RE51PIjQINyoWId - ESdTmNmvThXjpTmcTsYXmis8NsCaAf0qmQj4adxPViEoOPiSwVnXNKc9K4xT9haUrCv/eTmX3q5j - cz7/RsylUG6i3OruJq00ThgL6fHpfr4KNpT3A9usTJnBQ2QoJs6nTEBcUrM1Wi30M9zsdtvnckED - 6vfTMXfufyCAtrp8HjM5Et2Ju197oCyA9hWadJYBsLWUO9ntPyfJ0SoZWxDrg6eYjrXL+CAWrfLT - +XKr9MzXRrNl/gIBYk/J1dAayFukTF99fT3LC/Hd9jqWL+uwPWBDdU/Ib+UNxK8onEhOTQPyNf9c - dwdICL5Bt2P1QObm0xK80+YjGoE2JZb0M5zmGplJ6dC9rZ70tU/dHsYTYSKDhEdESUGqDyHpgGIN - 9ABk4vrb/rQpwX7thY4aA+gGJAuBal5sN/SDMfkA54QaTGzDnQm62sVryLVCm0xKnofob+x3+rsT - PbiX4dj2zNh9LkmpREelj5RxapfvfwvKofuM+oHSFJyyquGFz/HpVzllbMmVo9nhInMiVO6qS17S - Cq1RrAp6BKEKIRZ1eBoSa9TXAktweVmw2nbn3WQ1V3sErMktnZISPQn4heRKjcdVVEndrjuWFWLd - Qh0K53TYxNEkC1ytDWZy2BYEnJtm8wORFbjHLyfncXM7lsfUx/H2TAle9cvN/V8aY8dzNqaYlCHn - 4BVa4YayDvsj24pmPbxxWwMzxaD1FkuXrqQtrQ+o22Zj+SCEXzTt+vB8wh0g/mXTnR0FMNfjs2nZ - 0H6VPFcpUbEUCk3v/gMI/CkpR9nE0XapXs63nna0mivZiCvTsnZL51rUAdmsVfjr4ByuhEXv3XlT - MhNwgpyyYizsUlEZng8Q7SJ8xwxqIywZa6dhEqgYMx2xdjDF5o/I9vEGFKiA5jiT1ESN3XYzfsqB - VEO3G3K1B6f+vImhNkR5vNO0w/yoINScxlWZsQzNrvkvBMjN6dhxrT4319zCPw8OkMYn2NlqVpWi - q5eszWN75X4RwCQU999JkDHy26aFif22zlKmsoxtNx5QN0lIne7k8wj6hbIaKl+TCYFMpxxRbQYE - 6Gf9u8B6+yaofF+IGri2X3+0+aN9g/JJRU+ITRbHzx30iCZIY1R2CZKA9R1k2Q1bqkNBW3aGrA6H - FRtagg9EuZpZqnBPBheeW3OBXRvoR0Wtke2x2X1LFfbHnGfr2edW30mAnrJHOuCNNfDS1Jwma1l1 - 8zdlqdk4hsLrWa9N1Z6b8dY5oM5mX5l8nTPa+XfRV48qAP9k9IxvWt4MySPgarbDqTwpTl1XsloZ - EVRmR58nlHdr5Mdgj8+/2SUkneigwBu+xmEZuMgqSEGaZYGjwCp7D63IFGsX6FxrysZOt9lBCJf+ - JCw0/IRLkVKi1xi1cdpP92TCRh/HI5RYY0JBl+ZYXSCKEyBBuKEnxdbvfhPoOGq2qHv6DMAYQrAm - vbydESxOhoW6dqaIWSkHttGwm67LUaVkLzp2I3RmYF1QzXGOCsD/0rtEnJN3OplUVn/cjSj911MZ - cBloaNgOG0ohMAD1fxEs5Qu46YkgyZ1XgPTmz+B+ro2ckNU5lpVhP9cNhwSTsHSydtndpaCgRneU - wwFkRkbGGevQiGAhDXwT46JafAjlJXQCZY9DBmg72TfpN5QeA9OVv0qItog7aTpqByM+xy/NCj/k - VpJl2/0PNOA3w4qb3jHD4KYhxrODOrhIaBuhSChDdq32ww+SkKb9iU7kYbiUJ8pqdR2wWwT1bHkB - 2rqmVC+if8NG3jTMS46Tc3vcc/yiwU30xtZlqyjQqZwCty6NraSmeefzmZFQxXnZtyObaWWkDH1Y - uYyCMSpq/DEc91tZpeT3eY+MVJXaXJNuc0p0JgNcHbPdnhA9P7xPnJ1pY66L1xQoRQQHynDsI7Rr - WB92nF67ScW9LnM02h0s96tQQNFJFllA0aRMkLcbOmpRw0W9pYrmwVz1IQGun9N+/5qvXnJy/j58 - PnHpr5CLzREUQJOpwEha+iNcQOtSoRafRCiM/UfzX2TYG7hzQasKOCtWqDbGFW6H9NRTYqnjyIR4 - Y2RkvcPHF6X9DhUy9PSWHA9I/ZrocY4B/OCzzICI9TWcjsWTXq93xT+/HftvHt7ndcWuBTnBmso+ - KtA++2ogn0knAt+3stxnc2B6LfR5FZSiF7UVnErBxXxO88SHsoUInF0xqgtm2EtZBjSLEiQoKwZ6 - eVnIsT9UbCdB4ZIG7Wc5PSjcMHActTULQyRZBrcdt98VJ9bXtbxMflqNcv202zBe2Ishb6fWO12K - gCmI+kN8HOV0HWTmam3XvF8zUxAln7KdqChuN6yOCd5q+gN1C0AbQ+vI/SGcdlhglHZ/ULIWMl6H - Ak7a1EqvExUoeWUlvsDaMCLa9ddlbEqM2+G8xfeiqYw9LqplDxBRKe13mhNyXGSEmdU693iMzb5h - Bf1JGQpPkRgyiFqWJfTdGqpMENym48aGJ9We6KzzOTCJGCfqxu2GTdlmPG5258rZrFWE7qkrCghw - LvLW84hUOWF/q2kOLeMAlp/86/PMhxzWOCWXC/NmCsSNg7SLZ+VdLjaJeIQNnEVZevcJJh4UbAnq - ZJnWkd3kJBOxa9rPyZSTf/m9ERY1bV/KUfKVwo88OYd9C+UYN9WRYbO3TO+Mtk6jvMUqBjJyx+Z0 - ZE72pD9oXXjEQQoHhgfhzGMIwONWBoK7DIehipzyOFS8F+Lp9G+91ypQ6h25UBXZK0xwFr9d/8JO - R4PcqQQUTPnD+UbUng7yX7QDs5Qpvr8udhATNIpB0/18/bY5whQRaNNvmyPwAZQ0v5z2e2b5QJz1 - vn9ExMxR04u17JKGySRkYLdf2VvVlNp1CmsY8uUh+pTva1mV6Lxu2j9hYUNSSA2TsyqXJbuxrPcf - 3oFBynIf2uoUCuyXA0MH3ZCMVVKSne10+OJ8Qc00+jlmgJMGBT0UVufWcM2IBlHv8bil1BGkPMoE - UJC69xQ47vHJ2gj+ONCi+JpJtmtdh/WVQ4GUs/G78w5dAesC0RZxADcNZSL0zdDfKhYDtwseC76H - xwqlN0RZRxYLx+V//4C3zRdt+HIC7LlrVmUJdNvQkW/u+qC0e88/aCkkocdgfJw0E9M0Dv+7LnTp - FEo8uob8ljFz0/u+1RlUCx096JfmPJZV2r5txixwphU3t5c+lJQZsj87DItRnJa99t3luGY1+4QY - hvLbtFAi43JncNqyzp1lM04RranZ77kZR9u410/bBOXtqGvTSol6GqCtDIr72QGPA7UJ1OTnF+UN - OhB0sjuT7yqhYNvmAsm+2YOuhAAYHWPUIBPUQD+KkoMT5ejiuftxXJ85QmdNbB10sdehS+DxZPMA - L2PxvW2OXw10JMCogKHlInzy6hUBMOvE5AZjlMHeVj2lsjiLGHMTjV50AunBaldPxp7OTNIp//tn - /OpoS0U6jkS1ujPHaNNGNz66ZPR0O18lkNv+o9xKIBIqfbld+3Xhgp2t+GmUJ0BEHhD5PudRIsIJ - aPIP9Ytwt3LwDvinBJ9X+yPOx+d4acGLhI/2o9pL75O2RGccYDu4m6YxguLAdXeWP+GxLxvXt7f3 - iaPNJ3t4KHQGqBNS7MG2lhOISQYWGK/cQPQQ0DDBL2VbYAih6cUGjDDsbSkKULp2RzvvU9F+Q6F3 - moU1tUqPU8VBhdo6AOnYCTPKSkF7+kRGjQFmELQrytDWUOwJdaEatUaKvUVWbe32dvjI7vPcI3uc - qDVOLaQsajKnF4qMtaf/3xUICId2f4KiMap6XH9eAOI9nau1hrinZ3MPDPs2UVCUMNbU/l+OnuNX - Zh8z0M0shNv4iSKJCfSL822thbWG3a7H3p3uhnNlLUjT/655eaInnmRd/c1hzXg9mvFg57qYHpll - hAyoCSHkSR+5ry6qsJ/Gt4qlqMGXp4hmUcmj3N/aumZn+gB1XSNrG7YwUQNciN6tWXRz2BpBc3US - dtgGPhUynN7pu1PVmqJRl2YqL/p5pnhH9DiVoqzdM1nfJVkFezV80naEFgeTZmqdUvH9jLE0Yx3G - BOxdslYixLyzSIrmNohasIzYaR7yviyJZcRmtoehZwtZVOconLiHbFoH+tuT1owM5QFayFDbfO4q - NqpH1uSW2t9w9ouUwusA3o6qglT0/LRG3jDVk8zSATFQuBm8NjVTxAEaNbK+16a/VDnCR66xqAFa - NtZEowaED58HCb7EuVlVbP45AzY8mGxwhNHeMj0c92QOcd3Q0O54RIEEDaZY2YWchME46wPeEOdI - uIoiul37UbbUdpvN5xOf4ITeXo0F4XI94F4MibVD8Y+mnp9GSP+Qvr0sejuC4t7xdgJcaG5F1z4V - m4i2EVqrPJdgWSFrE39eTs2leDiHXYOwI4ENTinIPA0A3aF8KUZoIaL2m8cIshMslAef4aFzQJEU - d6Br3k5cLaczXI4VBHombVNT+F/iOKHFTmFs4hMyWqEM3a59kkppuu5JoqZ/G5t/5OiE42qkPE4z - EhKbb6yNL8r+pgaND8TLjM74V4a+5r7LE9QfdRGKe162v5ozq8RNonf3Uegr0Z6WvIX4Iw8wtayF - 0RyPHOPir3UVLfT7cQXI5WvS9O2smW7TVQQe7Y5fJwZkUchKGbZdyJdHoOStQq8HBRIjRmzdDheY - 3XHkDR2I+04ftYWARww2BpbDYTKYUPtrOwyH3HpAFFn7okEdKJB0OckzUhRwvzmXK//WQCAGMC36 - g/lAvH8iWCzI8VHFgm6O0NP7vF79YD18NDf5dsp1LYO4vlZoKZnlvKBdP0HwU5v8vGWiypfuzMBl - JGqucotoM+hseWFYuQOLrJZVXdp1f5HrTYz78/vjfS9xnLQq2Ks6JIbanha6zcBxDtuy4tn0F9j/ - so4SxWtxCWAC36UGORRBiKriH5VW/sPs/42OIooZoDA+CF2oKEWNTWu672pZYLtrVrQd/Sq+V3vs - V1nSHvtG3jpcSgbyLtFbbdKPVO/PzW2VmYgWOsZufvjRoW/rIIgDvkHKYyTVkRYU1JnvZYLRT4Ra - HQMjpUPuAxk8QEGYeGxv8IEE8g9TYC7MOYiVOpVcQE7H9z1+SlSYW22Q9c0eCfME8zVEMYKjGI2J - wToPEizW89fnx8NMaqF8o1j02GrN7I/ZTOrfagu7I/2xcHmLFVvBmYdTLODdKdloQc/kEgdEEkQ2 - Ifume0J+N82hXKjrY8+dFe3u/Yt7aIvKPS1Np6DDlAfkq6ACvuvZvGjWSr5XCSlXoFTBKFgI5wFS - j6P3ftzAViaynAYFIXbpEkE5WnQsL6y5FCmbxutfazBQa1+5ux1m9EC4mIDVPt20QheOX5friLIC - fDxqOC0tg1CNfgptIp67Ql7J5JzejocWf1+cwjbjXIFSrBFM07+Cb3X+OiLVue2hJCGctruuunfb - jDeL+JqiRfpniziRJYVlVb12fFsxCM1AEcrqpdiGhxdfBjaonG7LVBu7/deRvdaeLarg6vPqkld1 - qKcB+SqoTn71m4qBTKGCXOI8Bh0Mx3rfOEzYsEaEtFs1/dtPksz2/f2d9qzZ4Kp2C+VKC2P4oMCi - yCOsUD7vsG7baYoDrOfi0hjB5w8xKAJiHuPYkDzp4ePAZX4L3WZvalPwZVVNAQ6/ZDYEVzJIMO3A - 8ubQr+ZdjgA8rEZ2Gp3BRA+tL02rWqEW5P004HGF9ohaJnyamS0BSB2Fh13c5j6yxcFKucFknuow - N3M9a9FDhIleZHpsHqCd1O1w8026GQZ1mHisprFIQRxc1mBDDeCr8ZWQ+Hm4rOB1OomDhntlIOQA - ONDWbypmXVhZD/2KTBp4cMVyE/OxEh10EOE0XPNdPY0RRMYwhJXOI0g9XGdm6Qwtpq+M7QdSTm7m - lYpqoNvDcKvA0c1YHvquKZTg7ZpiBJqWaDqBLihLXLdd8wVzr1hRaBEeDT8Lewn0EVK+q2SElPV+ - JV+o7f50gArYZF6k7GM/pWjbo/ZE0R839r3M9ZDpYuBmMBnHLPoyYKrT4kX0n+9P/yWpPbYNq7Hm - uAIaqoXEAeUVnqELNfeyhQWhX/vTkwvrx+5PRxnlfHQ0eMouarY+HNc7yq5Z5UGDg66WssQOfxwr - ZTrI+FN+kGFzgih306IZgO2NwtilYQnF0TQ0JSh9JbQNRHjrgdIoBBZ+ynHco33D8pRJAZjMPQWF - QnAUZQ1PWpur/q3nLqefhThK/DyCd3TdPDuUeiFq9AwLrxyWIteoY8GbVDWCX5bGANBTC12rryve - BVxmcMfSsxpyfhBeUnhsSubuvT1/rJguNWOh7nU+Bw0EZWl3YyJg1NMwQQT/8Y3Puz4MT5XlTf+F - Yoed4+1Fnw/HooZ4ip8A2E7oCHbbtyCZhjm+WBgDRxSWaxvheMEjhDCKdvXJ1V0KpytsIEU+BDHW - xK4qijNl0dk4ntcn9FMnNriNMRas4KiU1hQ85CATNg2SMs547WjzNhB8MvTvCrcoWk46oKn86sQ7 - /Hl9HBB+QLBKU9Cw+AD7apMOxiI8CTqLCwkOKdCS0HFb9vmy+aKzNcwX8818FRRvNj0zdMBuhAqP - sstXXasUTGKKDqV1JsqS9+HYISGxHGbRbFLF1/ABbp3IW2yC+4YMu9Lfhoq7JrB0C4sFgQ5lcJ4t - bRUKRCIkVHs5nSp22kZD13pV4B+MB9tYVdm8QQbmWg30CVmckz+Ewz2NAN4ogB/q6Wa+/luJa7Vp - z9hbptKijk6XXHiVPKSiHWss0HMXcfqH7iaHVu66Vm6M3dw2l7xo6UHHZOLyVUQVEx+KODa9rIhy - 3XYHdsng4m+tbV3UgwA89oCEQAoLDB4lo1kejsXJcV71N/EzGZrxWLF3Crdk3QL4BnkCb502yMY0 - BM5EeIZ+7L6eWvPt/sxdb0iB69ov01PHqy7QwZEl9o0QTN22K2w7FPhAUb/oc1EGQRs6YG/YlxBh - y7AOWHfhQcxZrGwKqQJtUbqG7AKUIWXB455iYOtnz8yF+LePdKxZGxKFP9MI62WgxMPHukIVKE3V - xToticGQj6D4A6p3+ADY7AhVIIdhzGZFUxnTPKS4FDIMSp5VzVGckYZyl68Baf+s5KFMoYORlA1B - I+8PUSqHuzme1kieLYe8C9GiiGKv9tH4fDvJYO1f3R+rfBBEA+YXUwyV2R14AgynZMW+u9ilCxDF - sPSH6RluKdKg3g0/MD7u1h1TFC3OooV9gldAAfoEn2bP7nA+yKgll74rrcvabnx7rjGN3Uouuz9c - et4V8kx6APuMDpTOwEwl8raRr6I2YfPrM3Mw1FOxjxJbgD5qD9mmPEALM/zr0PyJDRdThGi0CvCW - ZSOeT7qDakX+KygpLSigDgainiVwmBMnlEFYndmAdCK9J/0kIUVTBQr1IMDXbMQimbmnbcM1zZr9 - Kbm+OIVDkHPw3nDDPptXJllcvT3R8QvaKrhkPv9nXqaO3baS8tOAfBUkB6sVnvZMW02L7ICRjCEm - xwwgbKJC6cCmbT4f66UYhgZPjQqLQvMBsyPdY8KH0keE7V2ksSnOA5KsTXtrjv9m8gUGMI3U5mXf - Hg5yaMlwKrH3Q7fdcmNJTSyiR+pfw1NIU0SkeEAmF4jwkB+offh85sVFpx5tWfQ3sdTY9LrWsu7Q - r9XIhgmWRS7prZUioo4y+ogCYhajAXJAVInp+vWFHZwmjrC3uvicYLmohCHsxygzeWr3TfO8k3/0 - wHDsGPDlnvr4lk4TOhotHfb1PICFugRp1JVRazN19p75UKwIpUNlraunAcCticwU921TggeH1ZDL - i8BjWVV2QA0HLsD5QtxNlkHvdnI5i9XQnrhKM/VO6SE//r4QcIRoONTlIbiK9tOvFuICmE2hujcN - raP8m04or6Ofbuer4BQcm6en3u4+uFsOTIBe1NkMlAy9DWijW0YFGKG7cLc5YCKGJ3s6mqU4y53D - 6T4PEL7Z9nLpAPifirw6+NqXC19FD8X7ACgKDTQyidPj9SOr8OoCMwp2AwAOyrE8dFbplXzC/u0s - t5fYfx0HCMDMQmvuXoWi9A41ZwpdIODEI4zQbnvc9CUyboBNpWfhKc17IcX+i2AGBfbIwTqNsQmF - SBGu4PS1/WAuhAbTMLiylhAUpX8B9y3bponaYOf+2gK+k6bq951qbm0N8yMV8XozBxjDREpU54ef - YX5+h1PfIDfJHxrK9B8TqkZSzfdlqJzm2j9JbrX77vT0LzZbzAjgODFBdCm2QkvVwTPAsGqHEWYq - x9vlU97HbW7XG1KlCeVl3QNSoVCdhI0ddEaZPgg9O8mfeD7tHoaE0T82eEuBuHUmWbTh2UZGRO8d - mnHgwBDCpbXTvugxBk//G0XXxDJ4CSUGAWb4ACnr5ds9Ne1/Igy269MFbR09GWBEa4qsxCVtOBRw - zDSwsrbLqj+9VSz3BkC6s3VZA65tBL8PbDhUJ0Wg67G/sv9tDc5NnYoV5QIyvjDf18+0IUrNwScK - EVwdBFzNMSsEMOj2STgnWrRVYMWqFtyZIHoqX6iOMVuLEuplE6emgFgF2Fmz9mv4H/Xf6WchVdtu - d+xdBAE4irBsdcfN0RZDUaJHU81Pt/NV0o164xRsQkPUS9A5IIzewuUQQ/BSgrANur2WGNDd+iTn - V59OnyiTsWmR0ctcH1Bh73RA58nWuZYmOS/b1aT6yHYSD3WRGBzkiil/RVcqsmlZlK2pYf+1XrhK - maDvw1SALTTyU6bh2pnCKgConlraHji1oqcV0pIVTgs3hpDgyoNcp5aRV5uu/UT4FLnBvWzIGiBb - nLbc2nYxXwQ7wxmCb8u5063QBU5cNKaPvIsLGKgwaZNYJjGxp3qSlUnH/X/QawW0eX3qHrHlgtc/ - BbA2YEeag0sR+OxjPymCI2cMKK4tj5/a5hZiHoKNTITxuPx6sgZ771mT2jEXHjZnBaw5RdSIHPyi - aEcKwiLtdn/+pqj2fh5GBj4GIL8oRrfL+QoePk9hxroLEerrcXjy8e76A4CEZUm2X18HLp14lvj0 - foGRYnqejtxU5/eK4sp/n2e0oikuUSm9jId+LmEJ3tqmef4ih677JtTZrDBF0SV6cCBqVL1gpo0p - mu8qGZiuaffsBz3R/O19f1GJRcMMrMYmpKIIGrRe9Tt+OahZIJBFABLmRUDZOxCX3urAeIxgpnGS - OPLUykPdEzofWdeb6zsPs7O5OGwoGcGBpKXyYO0wHqf6TaDVaQq6qHaYoewhEDmukWFGeoBGWCwY - pTi3wIJj3StDkRatdc/YGic8+I4fRwivOl1BsdHpUGSexsFMeYKmOKETej/w12DeMb2QWPjdsRCl - UsxEYPlXJSRxXo5fSK/ohxF9+cf5jXYX/cdH8EIS+qe4imok134DhDH2dZTqF7IGKId6yvG4fGKn - QFfGMTidBqDtZs/1UGjbUSoZdR0iC45QYOVrWfukaTeQgdSuKMP73HWwFk8rTfdlGhfHfrcBXMfq - pxorPSNYvtIswDYEkOY0TFDo35624j2iOXYNYM0TUq94BFBRh8uDz/eFgijt2LyXR8KvDVqtlhXl - gMlbBvfwBkABTLGiI2s2ipSOj23TPYkZnC+lgvRqaDmJZv+FKiw2R++g00JBm+H7HLnJgpgNZ30r - FHsm1Zl7YUZ5G6AsUquUjX+UnobJqrE/sCPrf6CwvG3ab82F/rRZV9zhARx2sW6BulM1hYf5rhDr - dPk8tmfWTZ0mbLyzBmmXRpDtHOLtaYSVRbnD7UlrE6q3vC2jguX8Up0b8i2aZgwSCh+ldpjDeOlR - dFST7VBkMvzjGAJuGm1zGuKCWL13f/wsv9iva4di9FRWN3e2naFokvYlbVUOxazU0WvoPo+VdxMF - B/m8Wmq8sCUu7eXZbcZygfd7Qg996aQ82L1/bcus5nqVYL/43OzFP/yrOzF5FARV1HXou8VQxFq0 - sUWT++NQJUky6EF7bIZvsfS4PyHCQsIF58ba2eKT6XyhFIXhwZFbbSIMTbM7zfpcOAwfpE8dABGl - uEJzQWByjJKJp7blvNydtoeng6N5e0OpzfkZVn7fW2BJS2ujntDxKAsJXa9/nR5ivNNBsTqevxlo - nSAwN3HKADctoMawH1IW6WANC+ko2w2O5Xn1e3f+CWHx7fQJ9hA9O6x0q9yyQ0ABFe1eQBGx+jWL - wMgKI5eVnOh32J2/xD+82TYcMKLCQlF8eqrXKm1t7ThgpElKASMlmT7bqi6eBPYZiMAZ/4cMOZgQ - KX18uV6vlfkuw0OLADLbtEuxbzHkPWUyPMfN+Z8VUhk6RUDS0MuMB7wN62hrBlqfFp1jKXdBaokO - 8Zwb0n/uKzoqqHqYpNEd5k+QUd3b24Glgi0ykajKKp+jqWZ1PUGXjBES+o4HloTVWY3KqdkqzdPs - Rn5LuSKkYtkrjYcJphUj/jN829If/PCjZ4glhRp0SmuM8FnmR5KH/DqsG+6b6QWh3npsdSGx8ES+ - ma/TDjQeuupONKMpu+iWwivPp2QhcsorQsYy7T6HigHFNaNll7h1RQe1Yd08zZgsmezGCaaYzLDn - /bxwzqBRToVUqwyRFgpurEFr8TNrtTalG6tlJVBQFFArcw5QF8F6fV8/eYIOV4DdQ1W4gRhvIyWr - 2QqNndC8rDuyv5yqyDJMMzOh1oG1pYwOyuR78dkDpBiC+XM84r2+hmw/F61aqu7Ce0MbNoWklaOy - k49oo2nW/bcEoR0vnLPHCqqF1hWcAci9Bw/UNAP6hZUQ2t+AcJJnRSskqZ6FrlCwqZnEtTgvaYFF - NlhiNbcaqARRcHzEGsNey2igRTEFXBOohlssL7Z8FNU4bsdmlD+F3XphbFLiGSFsWxuo38IAB9rK - 35A5NSYYukiQX+P7SbaM95frkHWZc9NelaRS4OQsm9CwJYiVHCbnE2XBDJL31R2DXrNTKY70mO8J - UfTX7eZpi1gdvrlbd+d+jvgEe/XukxWy5hwLblGLZQXaR7IAltXctstiWoIdu3nufLXX/gCjFFbw - MbDxmY9H2u7oRdG6AdkLJUGZK163adirxYFMRgf6MvGGHkDykc85pF6yDXzVwEfnHYruDjYpFUQO - pxngIfPujY9g4vL9OsrKFs3pdzP5z+FQu+MVdDTMHo4KqHTPaZqXObWchlPPCRg7Tt67QxRA0jSm - SMIqFto2ahokAWrfQ/Rp0l5PXZXuHnimsEpWr5piEcswZ5x1QtfmbtWOXfGpt/ExDQUH9teYGx6Z - FLzA3AZUll3AgWhx3AnbIsNwLJ/SaXxCY2PhNKsLrcPItA7QqVwR5hvaNCMmCUagwKWtkUXi44CG - e2LYpaFQOdS22D1po1A162txSQlIEVFb7DCsys7paZMFUXVxLLgUKAqiBws2V8j3hfVVSJiXu9F4 - fEOor7hIUS9Q2woZXwB1k9F/bjLJEiDvNh3ibnpCOO4WnSIFRF9KmpWk+I3JHmNDc/sviT6l7a+0 - nGziLOBl6PacJ9L2R0GKfRR+IBEPcWlwzEDqtohwRbrG42E8M94jsShLYSnJQByl4Ls0F5eS7HDv - D/Iu5+G87rL2JktX3DtezkQNwoUy+ANZm1OGvNnvd+2TetzvZlGqemJ5wBw7UXSkX/qv8ZQVeXAC - 0gZfaD0aWtyWJXO02J2pG7br4i8bd0N2aOFmjn8UIRVq7ypaLP3JwkUEn/2CYQnjO8HrXuT0NER7 - ipIppEfWr3hcLWr4fu3H4kudmht8GqZSRbw3mSm6BECINs5s5BCQ9Igkzi+7zPZQE2KApnmBWARV - Cwq7kIVBrIFqtIje39/OEJPD0YNYKRbStErHOsCqy7AAVS3zsFm1jbyb06xHNDlwIKFXRTHDPUox - 8DHxdDRqGAwxq1SkWX9q3yqDLoeroLxhVIFPUsr5BHUezbEC5aAyt5ffKI5YThhYDsuV2RsEmzii - g4Ebu+yI2sfHbQPePoW1tCIe5r8BGjsGSmoqPrRWRWzl7fEyQq0hmSyLZJ0vqHFKeYqvUf8CPskK - 7RC7Y/ME7W4259/iWbRtM2Bq4gwv8nuFWozTSOB4RFaUE5UXryPTSXEgQQxSpYI5Rf/Leg+No1f2 - npF1kdseRG4f544DxIyWkkkAiVOCDi2bwOBOlAFEhLPhcj7TitKMMXuQ5pxjwa/gLPdMdcgXwRY3 - ZtSumW257f2ghEY5TU5akzDj4QG4imo9bz+ot3SnFtMYWaStog9LCxjIwyhPuwGWE5hESVbR/Bj6 - SRwTKZhdiFVEeIlQBOHZZ4qh+zLKW3feojVEv4bF2KdPULS5U3RtKAMPKFGwFYBIIubXxw/293F1 - fKJtAQAiD76u5x37oKUK/npwVipSmFq7lJNNw9nz9/gL0ZJjRvvTZxhAVWEVT2lFuxL/ge12kP9w - wyqngDrTyU+pQ+myAzvH4FiHTEN4Q8Sy2PWQJvagBpcIIYgNu1eTKJZM9TTAMW4rv7e3wyl7grAB - 6KNrQDsQ0OA0n4ObbuarYEX+vp6xDBKMZSFl9+hD5WGUoXI7/zUbhYk6hrv1EVzMeC9mMzsZWt61 - Tc7ke1GopjRQJvWXHQn6bJSGogBf/vh0Q6mXwxdKwNnoGO6R9/2IUtdXOnYDq5Nk5Qqh0/H5NsBH - w8ExtEI1tS4IU2CLq+TZaoP2RGEPpP/B+um2h03uMtHb9feDPMKNFWrdAYuCTz5ZcrWmIHP25Ks1 - Iu9y06+9piwjKiBeQpSZJxzOqzdwNSmmT3C2KDS1aBUDNIQQgWaxERbetu2lh1qMKeD/tOcDSgbg - LQUF020pZ/SIpzCzhil3dGk5U9DphG3k9KSSTKZ3ePuipX6nf1hfFx8COQlEuZYlgKyXrfi35tBn - QRfsJ/emEwU7NOGNrdF7n/Reogif2jNIZEJRQTfVPX8LA5n9mlOLmmX1BGlM3xwgX/Zsgq4T3GQM - JRwMmEomX/zDzfy+z1gFxH34+2dc+hPaowB7VUGr4mytU2ArB4u+s5XJ5Q3H/U6O1ljt2bx3kh4B - 7ugRGUP1O/gEWVwewUBewR/Y7ju0ZWeV9lAv2SwOUA2FQrpj/QUMVHyNVYHpAKsoRQQZDvFGeZPW - faT/DvRKx1Vb+rqs2/6p9LMd13+uzNGR4FJNpzYO6JehG88QAUSdEcdaLJsWmgFL4M8w+jTJKpHD - dtWyVE6i9LK6e1Da6MBrULWr3XQ7XyUTZAXtmKn04oMvBAkT3F9cDQAHg1CgMiP5lN1RnjU0TWVB - xqRgHommWaJNacfXAa3BaauywmVyGjdvFetqcl/gIQ0Vaqj/AXnB0p6mEopvDvsfqKN/HM5PnjPr - y/gX5Zfnw7cbRnbuUcg67yTdmCzyZUhvR4Ykc9PIibrww7jOCmWsbaiWemsRMBXrwagKeQBfprRk - vek/qruMDPi98/TW0BW0IQX2fDHApope67a9jUDs0BdzVVCPll+Au6SlGFqzZRftJsD/iIwmP2jj - Vyhj0ROMSw04oN+jChGK1jWAVqIC1K/3a8NOligasFzeXDdQUAJMzjrnpgH5Koievn4BDoj1TbHB - PQA0GBJ0QA0z34YZrOQDdqt+V26yJwj8MPYMKtW+foIq1spFzpN4M4ftoOj138YfOGqtDpfhqQ/+ - Nb6BU0Nzkf4vhFAg3+H8qjSoDrQXBZZAEPVfb8dzxaA6kHwXdCsUHMGdY6QULVsjA0E0hy07bM0q - eMsHb7AnaCAPa7YrzeMk9X303mqATFGZNctFUQfg6DUGGG7RieTRu2Y8iN/s7bB/6il2/a3BIY0D - G7RWs5TMRSk8oYyNEUhkokxsoN/cVtDE9WgFB+2XqkXI3zX9E7IsBBKy4J4OCnjb29y9sSEsv4TR - bOBTMaUOEFolU/7thu6bqW936ccqzaHyQ5mEkjvkX67mPghXg5MMY/Z2fUOWmp0RZ9yvopPCvHqa - w4y1YBMVmVnQ5jjAUgu98bvoc3SUZNnaJgP8IO4J+RjN9YTKbwbuVMnc9/AQfXr10SbnkUQYn0cJ - aQPyre68e9ZZH3c8VXEWGHa+WZRRUS9z9BebLHYOvSlJyLX6OPHZi7ZKFWPJtYkRbiusYhtwFUlk - rRvQGJHuBxaRW6xpFDQ8zVP08TWHdqKt+mu3+8FjH963S9DLYhwGoFnpvdXq5e22P6DxyZPTp0WN - EoxwKA2jiBageCarZ39cWBNi0k3U976Bp9dMh4534J1opoNqLYN4vd2Gso9925ybUnxm3w6sVjcJ - tGrKsxdZvaEcRcXoWfmLQ0UZoKTfABVrZ+8er5eYWIdOTILKRu0YYWL/RwmVe01tOKDJ66eyV2EY - iqIvxd2xZu+xbKUmYsHvts0Tfeb2jYnZtm8gfNTcQ7OU3hUyK0pTfEqHQWJoa6plOpTN8dJPdoEZ - pF/G/w7EKL+wC5z+1qZtq/t70PcfMh5tlNok60K+b2XU+rY5sqIp+kB0dNvl6g8ae67i23YaJHgB - Z4p0DFcmNEs7LmdSDfiHYXN5XIWk8n7z2TO/9P7/Js5jVMX4yJR2/bI6XSrKnuigpcQuxQVUL9Lu - YFBu9RWLsFRgMUnOyu2q/0QxWMF8jnZut3ywlPEEh2OUhalkEfDI2TjKuVACgUn1Uv0fThXWekhu - maysa2oZ2W41rio12zo/JqAPFiKNxmrGQVCsqmQPqj/AcFl6Oozj6cAUt0nkgl7cY6eK0DH32gcW - pkL1UwjFWW/3X8wZtEhh53QD04RWXWTj1el2vua1u1n9saATg6OfCkjeWCH5eGi/UBcFFoaW23Lv - gRFr1FgyvI97Gaz3dB5WJWx0aNsLgySgDwuu5FJDBkKGFLpYBlPQo6NxIp28z+GyQRoAgUjEuyYU - eT8cgx2vUeZsRhlb8tYe0GameBBQq/sQpcJrZPlIlM9NqoR98h6Afog55/13sZ1wadcpzREe2xpi - mAjVmyVu3lCBck/MgRraC68xaOthasMD8jW/yHPTMoQdlHn4K5iC86oihKr0jIcXmndeh1uJQzuv - PndVZntkZaX7zE4WVB6I4XMjVIl5Dg0mKDprwG9TzueKqRMindFwRM0WOTJA53pgWoxWs+wFfG3n - 05V+PW3NHtoHGAGDEyXbOlbdVydXU9uOP9Gkvh16ef6/2TZy/aP21G/o8W7Y3vGZIKop0qFoIFmE - rnlAvgqeLvgkmo02rMr/yVuzY2g1nfeQx8oD8nXK3Jrun5JlfczuLYD3Rr3YSMAuRXs/YPv1rKEo - mdDH87a5F4DLkxQCiq8aYaCy3+q/IxY4C6Kg/W2WVSJ0eYJlZZYsElfLIFGXj+PkngHFvEVo6hKW - AoQ6uWbLOlpKtk0fhnaH6G4iC4d7PxWS4vTtQg38o+FZYJzQf+ztAGuMaaYpuwi5FGh8jlmPPAL+ - g5LTAIUjy1o8AfSAZWETQts2YZoAS4lEQmZNeYIYi0Weys6EukQ51sDfqhmuaWWSQv1t+IEBaLPq - M4SORetddc/Zagfvdvov6BXnu1qI0jusNwsa3WPnCLQSX+H+qyOTaHARSYzsx65BXz1MmefiEwz0 - dpTDVpLQ80gy2YL14VnHYdh+bR//+PcJcBlvT3Wm3Wl1/F38m+3w9SddaxconVaJktXA3NZhHIYy - 0902R5aMmSRFo32kY7RnUpAJTgV3u3zgJEqyEvcADIHBpabVPmeVQVMWomtaipncFc00TDANu/GU - eVTf1Adg7wEIvsr3v5Gt5iEeFLqStQASEgVboY4vny1l3iZyoeUOyfKOFSHqGsrF+Wa+5qe7GU4L - n/Plrw6JjjhnHP0S+7L+ZM/HxLxoygbs8vODpqyNpZJfc4VFVPVYfQ4ss7t89+/bsfmu33FkBw7a - bPBhT56KymrnAWrLpiZBRuQZr8/Ekf3H2xn7fGKR/Lg0a4GDoE5TM52CP4QKIsjEbn/8y2qDopdN - lOAYT5nQmsPjSSW0XmA3Ar0ioyOrBWqeBlqo4rset5V+iEwYf2ft0m1asMGryDAgDuQdW5C714wK - WhYw0G6CqLWZBIX/dDuohAX4uUVljcJjwC6sf2g1wDMRCEZ4PxqOm4ysp9v8PrPL3LSFouhYyJ8G - Om+BOaAx1kD2SMTZa4ZP8HRihbcA44bH+0EH1MaAI5cfmZOVp2hrRVMDEQkQEnaBUKHUKxgIm0L8 - w1mpTObmBmawx8vN4PknFxWPgJOruBxaOJkW+uowvuc/M3Oe7p8RKeDGfKdzFM0ZflxW1tNqstqn - y2Wt6n521DoAhAShivoxjbGoGAqjVfH7jIH3RvyXYHnsfmPG5CBI63u0GC2kZayi/dRiYtEWmofR - tXbPYCcF5ALtXp4VGP9w0xj30m/Gy8M47mFBwdIpFG4Z+lPvlHfJ/Nr82j71Udfr02f5bz6/jkB1 - ang1w266LMfgYQEhEbiWEryMD9WcvsYqzGQU2mQXBz+sSYKpHRwFWSw+yfRmb9up7wvIwnySOMdu - jHSSOD/f5uu3fRlVy8gyXRSgrT6LR7TqD3Inj3N/ODEFhmkl2JXuH+nhlIQyC+5Hvoow1m3T/4ko - FJMCv7YOkGHCm+7WT92IsTlDptlOqKpUOFYg5YwQF8MQ4N+jDCL3MfZP+L1zFbl/TqvG1oU0oaGT - T9NUiEyNB9hWFGFftiP2Mg9rhrCEaPDZ4CnKtLzXOYa4SD7ifG12k5Ibdoj7LqEVQpcUasi25/ta - SDvrfx/HygAwlE2K7mCB4G149abW6I8YHD9G5mm9uQ5txXLsT5ohtNehsU6psVXTgHz99hmw0PPh - 3wQB+8vpyRrqc2SIdMbbK11qiBsU8tAcYQfmINR52PzaZ0haTuIeHUSFNUYZilF3/UstY/127Q8a - y93mCwkq9DSQRWCRPiLE8Go1TGqhMM6pkJLtum1/OVfMCkebxvqnAi3q7LABZxN6rAXB0n4buupu - LaaXsocGjmqRjk/o9kKEWGhR1LHr+nSQ4zcWXyI52uQ0r7H8oETt9eu2kbMzbmNbBQCYQf95iGcp - 2IZ5ymlo2dJtQByCbHdf7Ya/+hlSzgaJcwqBXg6X8zt0xNNMLfQF29a4FEG7sGhXCclI+69T+5tW - DJp9d9krnxAVaEpMTcj31H+1U1aoKb0miALW9mUYG1R3DqwWWy8S3+TA73L0LZKebuarYNs+Vrnz - BNWr+zlJMSFNnHQXSWEPAZFW/H74px8/SjfG9rz+o2FrNqNMdGDE72+V9ilYAL7cgA5m+D4Ch0jL - 6cnNCeEoW1iZjBAWEZx38iboMIxvULYw0GwyVtsyvTDeOg+9E+AUnZN5iew+PhG2IQxFm3J+AhHg - rACpf4R8EYGj/ia59h/X2O1cMT6dM3F6JYuyCAvwKufqyelIpt7aMpgiaADUgJOvddGVhysXXCZt - 5APJOiPT8ei6r//kD9Wsy1rM5jSUPhfnfnebCeTAAJtFhz+iWREDPEBmTSFRrW7XnFBjyd5OD+3E - CA17G2yNzR51+TCNEsRQ7TcrkWF3OiLsQ9ciVcarZemAMjysPCgUwjOGq+Ei0jq4JxnWjszOLl0f - KM1RETrKs16WyKO9aXv+anoyGkGYs/gU1tcB+43PRlBghEYzb6s9VtXkoUypYF2wT5L2PsXc4GKZ - T1l+eDi8Y083z+J12im0ug0do2kakK/5XXbt+ANdvfFweSZitw2r4tdTq0g/0dYoPaR5z6gzbMdG - 5g/W9G87pjNMNTkY0d8/BSxjTQEqPCo08xaY/Cvo+nXDmb+LA3PN6SUKCPD3ZFg6MT90IxTDPrVP - 9YXDeQtKHm3C8No2UfvFA8SSou3bodXo0dQTmc22zVFu4t7vzp+YQujJcs3Vl6QwQyGbYWH3jHkQ - 7Trrw77jqJXeHjJDWNw/XrCnU98kOhcxxHKW+D0u1JR8+whjnqdPyTds8rTHHDvOX/NkpdT5Ts9J - Htlarbi8n4u/VgbG3J2PQEZPTo2aAvpHmKIgPhk1xBR4hBKWWc9NifHo9l/jUxeq7c/gObppxRRE - THRFKHqLyucRWlZT7m5NeVBsmJaVs1StFi6aAfocKaloJ+tQRF+Sj9yfjt1sSAgVA/6/vPHReYuO - tdUm1dPtfBX02H9XyKsnAThzF+GhsFtxaxoq0xASS4AdihKoTXNZmJAWvScL0W6N6oV7aTctY/ix - JFBysMtg1tDio78JhaZXAAFk9e7dcT0nS9rPYlL3cVC/TAZYV23vFpCPXwI/cco1Xj6aHuxo5mj4 - u9oaPBVfNe2jsDriu0kWo73fTvJ4e3MZuRmGVcDOP/ewTAXD+6sK7BUe+SpiIO3bkXnVU/nk/wDZ - iGQGAGAPAA== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '245335' - Content-Type: - - application/octet-stream - Date: - - Thu, 27 Jun 2024 10:14:17 GMT - Etag: - - '"28f792a8eec03e8c603a8370a348009c"' - Last-Modified: - - Thu, 30 Jun 2022 20:00:11 GMT - Server: - - AmazonS3 - x-amz-id-2: - - NGjvm19Z+NZm4jaNxBdwgFD2raFRFxTHFlOC4ZAit2CZY28NrKLR2M+be5fFUjWLTQGNbmrH3dM= - x-amz-request-id: - - GT2KTXSXQX3GHWDR - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher_urllib3_v2.yaml deleted file mode 100644 index 03f936bf267..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,5926 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/expirations/AAPL/eod?after=2023-09-14&api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAAQAKWcAA0zSu04FMQyE4XfZmkgeO3sJr4IoKChOAwgokBDvTjZH8f7lJ412x45/l9efj9vn - y/ft/e1reXxa3HwvpqJ1eTixFXnRMWEb0WPbHeuItQlrxJFfW88PuCVq0Z6I4ko4oYzV8z/zAwMK - wLaEijfCgVlnwA5CCSu+AjoIxqxO9LF9Jwy4inZcRft2wgAPQIxZI3Ie24tvgBrBmOU85yschABV - wK551hICvAJiTAbYNU9l0cqilUUriwaLBp6xQ4wZY9cznocUADbq3Khzo2JRsahYVFk0xlk2wgEx - NoveoYRyowNzo3cYMDca40Z3wgAxNu8txlk2woFe9PnvHwAA//8DAOMx7A0UBAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:28 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-11-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-11-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-28/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-12/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-09-27/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-12/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-10-11/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-24/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-09-06/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-10/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-03-21/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-11-08/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-02/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-08-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-10-18/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-01/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-08/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-26/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-12-06/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-04-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-16/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-12-13/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-08/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-01/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-23/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-23/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-06-18/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-11-01/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - cFscMea6jP/64/8BAAD//wMAggb4WjzUAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-03/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-10-04/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-03/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2027-01-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-05/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-12/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-14/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-26/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-28/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-09/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-02-21/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-12-18/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-21/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - DgEA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-26/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-09/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-09-13/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-05/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-13/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-02/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-07/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-06-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - BwAA//8DANphTlB39AAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-27/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - rWclsKvcAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-12-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - RdoSAQA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-31/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-24/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - uyn0AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-12-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - mdX677//r9//HwAAAP//AwAADGOo+vQAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - //8DAKM962j+/gAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-10-25/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-29/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-01-16/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA7ydS5Mkt7WY/8usyQycB169u3G3XmihlR0OBU1NSBMaigxyZFtW6L8bQGYBOAfo - LiSatxlcTHVloSq7vj7vx78+/fjXH778/dPL//jXp59/+fbl5/TPf3368ec/f/708uk//uMP/w2d - AXD/aQyBSf99+u7Tty8//u3zr9fT6fHn//vLl19/OF/6CQ267w18Dy4989u3X7/8LR2UXnqY9MJ/ - /pJP/fGHr18//fu7T7/8+uXHz7/lt/vzD98+n6+l7038Hmx67Y9ff/4tv/Qw9nrwp9++/L/0EzCP - x9++/CRf9keILxBewB/O8H9/HPKn//Xlz+Wg7vHjrP5H0+Ns+h8OoNCO++G3v+XjsHusj8s/en7c - //756z/yNQjhu/TL//z369j8z8e7BHs9LjeBh3s8/vL3b59//fzbt08v1qU7++uXv/w1/TPf5Nef - /8910E8//FoOSZ8rf6Lumvzwui7/fvPtn8+mi6/H5Wk8bP6CP//645f8BXz759fCRfrwX3765euX - z3/+U7qJ9N1//fLtn59ezIFoHX/36c+fv377IT8GBPbfffrLDz/9VB4njCg9/+2vn/Pz3+cfRE/p - V/H5L+V5SzH4f//7u6cwmn0YzTtgDIrFN1G0/GI4fdk4oOjsyKJdYtEcHHhgMYws4hKL9bjGIjcW - Q88iH1awSAeNLEKw8QGj62AMDUaPHLv/XM+mU2wGiWboyCx/z/fItK4nk8GBJNOjIBNM5EamMwYX - wMS4DWZ66TvA1FLyNTL5j+ATli8YJEnXd+pHMMMimGScAtM2mXsfzOu4B5jQYWl7Lu3BPZZcJWij - 0j2Q/Ps/vn69mDz/eULJBeWGoT9shyEfrsfw/DuoHJoiQG+BmN+sceggoOCQQWKYfjkdhtaGuMJh - sNscBrvLId8RkP4F7QslARm9wjBpHRo55CUO02d3mkNXlNqetq7nDSCylI9W6Wqe6Wp6kFgQKwDZ - rJ4rh9xzmMwm6EC0SleXr6kDEe9xCD6D1YGY5LIEEb0kEaLtSHSMsETivkQM2xLRHoR3UCR6wfSN - GVAo2pnZyGYJxZAkhbYbfRYmmkRrl1Cs51Vl/UCxycCLd6mqT3AUiv6BYqh62pbXnSy6gxSK1goW - rWJRSMXb2pl87GFEE8FJGK3SztZ0MHoXya3A6PfFot8Wiy79sS3CSH8EfgF8ofRlR6Ng5KkPg2te - TPIdSFuO7pjIRbumoet5g2A8b7fh6Iv47XGcSEZ8oqPtgUJHA2R5V3l01W95WJLCj4GDb2ppcB56 - 6RgxOzY9kNpcJPIdkIS0xOO+cPTbwtE3jlasRcYXA4fxYcAx7lqLSf25qGCMUy29JhrreQ8YucEY - exbj8VxJhycopl/fwCILFoNE0UsUw00UCV3vuSBp0RiVZIzQQAxg3YpHjW5fMrptyZjUoV+XjDZp - yqyJGN2gpmFE0a6xmDwGwIHFuC0Y63mDYDzvtsEYlJ72Mz39TDBWZ+ViEQWLvgi+BmN7/Ijv+Jsw - Gt+7L5j0MgkarVE4Ou7c6JDc7iUa9+Wie4dcVO4LvQZjsRmteWGbJb2C0c/kIqzZjAlubxSMYLog - aOe/mCUc64kPHOMDx2L4NRqTFDM9ja6p7S7A86ARSoTxYixUszEcsZhYj/9E6PF8TcdmEGyG/Gxn - Qt5V2RQD9Wh6zv5Kj6bS2AG60GOI6JfQtPuC0m4LyvMvvmez/8n55fc/Kd9g2A/nJI02KOgECM00 - tF/isJ744PD8uCeK7d8VeRSiMRQlqmA8X/WmdMx/OzLgqIAMHZDx4VCfz8bqb19xoJsONmMIPY/R - BcUjKSCL0/MAMqJdivTYfVFpt0XlmdFZj4WTyS/xTsvK2PIodyM9OY8Co6j0E0m5nJeBqd4+b1ZI - SuzhjIcf2IzZXagq+eFhF7viJDP9Uypurj9olzYYz89QYYy3HWwyfWKGDKpoT46OC+HYW5GR2C75 - M7wvHHlbOGbBtO7QuJdkSDIfDKRgnMrL1bAjmEFvU/tY98OO13kjjOVmOxix0lduIoFCt43IU/d3 - MFoJYzpU0giCRpfN71s0cvA9jWhJ+jQ2ZwWFaAxdFDw6skuxR96XjbwvG6EZgCuyMRGZvu8x3BOP - Fhjs9LdbAnIW7kkihicKPLglJMeAT2MyOR0iAgkteXhCCTVC2dmSNRoOPjN7kgaFvAtLVFj6R1Sy - v7bDEqXKPiNPt8C01NuQxC7IsI8NUk6isV3YJwYfluQk7ctJ2peTeChvm98AM+Q0YfqNJztGgZnO - iRMy11wcTl8KD6KSZ6lCWnK424EPMGs5BVDzqM/36ULhj1uZBSOrvIRQDNETt/Lru8hM7omX+jvU - CGV3dccmSdc7ZJTvuTeuNyfJJzglmtLxRnDV8YYSn+QlMvdFJu2LTB7qfN5C88zX5OIFHQjK3+fv - GgkC1+XWf4dYUJOZfEg0nUxkn38SOjTZwIxZwp6kcX7lxSUfHl93wKPwd84XdoiyClXeLv9hE4Ve - jx6UlRmDhDRh3UFKEJZ8cNwXn7gvPm1j67leDy8ELyYJAdBVFumcSXp7jdEs7KwdGZ1kFdfiQ+3A - B6JUCXXK7fEqxZ1uhN9ILKY/0Fhlpy1oXZBm69K8BilCkQWNUlupvDB1Usuf7tgtTMH0QUxGwzKI - 6YzS8tRBym6pEgj3BSnuC1J3xNWIekHAJE59+gXrGowe9rvOUHJO3aDh4yzXuOYM1fOG7E42TwSi - UQlRPxGiOYhVCX145vmkBqiv2e7rQqwlQv3VHZO+2BG96LwbvmSKAkrO6v5NJn3oqLQ+LoWLYF90 - wr7oDJ3F+BxLTvo1ywHkQXbGzlC4WTzJ4YAw4XJfdtYDRy/9vOFG5iXVOjTDzPKs1ZPIDc3Yoxmz - t9zJTlGmgaw4DSrGDlElxvm2i8Se+3Qk+8KhAFVWsGGp3aigOgtroO7Lz/1682xUrsaSTgxsVqHJ - C9SghncZonZw3hNAbiJBedUQtdJ5tw9S0TQOzzcqBeNd0bmpjyc5ciyxnzOZaPItn5jmF8kk+Xlh - JfO8uIGJILI/cDukxCb0FUQcWet0iBrLXqs7v+QemX3xabbFZ1I/5obpmdx2TtZnMj01lYj7tecZ - c6fdI6RpTkhWcjw/cZCf1x13VFqZnUScaHZuWPpsCJykYQu6I8mAEp5qu1GJKl+eftBXnSc1fzNf - blFodYvOqyRQUB6RdVZKyyUs94Xlfj8Env6iwPLt7pz8pedsgo4oIR8TLNeszexj6zxQEjZxgmWg - RWF5nViFZc2Zpw8qy8/RKy5nbjuaZnLGBiZ3ej3x7ZXALJZJQ5OVyYml6KWVcpSQ6x00HfpeYlpr - owooOZmfRMe+tzhdDAtsQtwWmeml22z6IaKET9EMB0WdFEoo7YvMZCD6gc3Td9hyhdqBg7eePidJ - iRlV3SVOKzpqRImguetYKkMvMp3KVF4XNjLLxR2YXvrn6O4mK603fRgpuTZGk6l0uSMvPHReqXmD - /WYd2G/WwXBPavpcD8xwwOAMYZhmiFaddDdkLNM3u98pUQ+syryx2TLkj/cRCfTcjDR27QgyH2DG - 1i6R/h0kmCwjRxhkCB7jIbj0t3t3nHN9VXByya1XJR0azNhrc4ywJDL3u3dgv3snfys3rMxsv5U8 - OusgPJnfuRyTaB6ED8vqHKfho8y7SKaTylumOwmjldnA5JYdopISv7ocIZfBCTSd7J+gmkCviPd2 - Jt6u73BeZIecLhK2qKJH3kAHpglhDcx9ibnfzJO+Fb4FJoRc92iidn+IZuVGdklgsj2iG9rA5xl1 - XFPm9cQqMatXnj6pjB8lgGRFXL6XSX2mqeF38q0B92zrvuBMjEtLk0IVpP3lHZ38EKTn83ibTu71 - uUsujux5tNo3d6GvPgqMK8457Hf3wH53D3VdNEulcPzCWZ7pcg9ys/ae/e7b9P3DiOaayBzbb10l - U3VUXPB0YHadkF1WqHpAFMvfzEmS7WqHOxkprmxcWhXNPD9L4/JsEroFZrRCbAYgUs0VVpPZ12ha - u9TnA/t9PrDf50OxEbAUywxZn/swkBn2yZx1+jDMpmeskTl0+lTXnKIaWACHE1yG+riTlxVLblWa - FFqhB1UvvL+sIRmk75Mup97GvCyEO0h6lyszK5LecFD9Ps5pG7MXlkhsV5Dcb/iB/Yaf/NXfkJY+ - Fw7nQAdExST3xei3a5DsQaAD7IzvyATVA8dCj8yh6IdkViMLZsVxXMuH+axAOWvQoQsZ8WBlXpdW - Oq/LG57pHkWPhb8bZfdW9Ol6DKrHgllrctt3owXHKwUesN//A/v9P3xrfkEsSUp/eNZN4+m37Cds - LjpAyWzzg8R00+TPogNUTxyCRsytr+J8I9/Gupz3wtM5L3XkEBf5eNJ2XnrBWUzGDk0Zzbyu7ci0 - MjFJpf79Fpqe+wp3bxFAzTPQchO6muLAjpdcoP3+H9jv/8mhyVW5ScU3p1JUDLqug30X4tkxM3Xx - EYdZYce6mWmn+Z/rfrvxGkaD6WdgxmejXrx2fiyJmmL2siaOw+Px+bS9WxKX3q5PAHlPJEviSJfE - 2VbXkbA0dqktDfbbgGC/DciaexLTmBKkQx3JtPOI0VokMzlTQyTT4mFnAnMtlFlPrAKzjdqAVvN2 - vhPJlvJ0KyOWtpa6W9u0+XnpNd8Acl2HANMesZ+4YVRq0oI0NTnc9cojiJFYPpZJdD2azis07Xfd - zI1FXb7fEwT7PUGWh5iRfQNNSr++F5PrGXX+x76izHGJzVk009qpY77WhTFWFJuK5nnLHZpOtgZZ - mjSq1WDmefXJGneTYNKroiIzyrlEpAo0LUuZeTuYGZJd2YEZkoSSLhCxApNdp8o9MKxkzWG/PQj2 - 24OsX1flpY6YXXaBaHDLrZuSuVZHnF+rVbktuekhmLnmAdUDByMz3TCLKk1nVC2cnU4+gNps7s7a - p5M214WMbJJ50gVyKHNA1+UdnP5ReHQ+j3cddDIUekMzYFCVRgSk6OQuZuQCrNG53yME+z1C6Tca - VmPtXCo16cX4w3oda3em8/RvO+hRFi+d2OAMz7X283bgA88a0Ewf1IrAkaOm4h+3MqlzfzYmxg0a - 3Z2V7JVNp1W6k0Vw9pyUdIvN4m43Ntmp+avJYVdVxC52bBItFbfDfpcQ7HcJpS9mmc1TclKWnJG0 - Tu9Juotmlh9Bq3Q3HXW5ZmzW88ZBWuf9dmS6lhU6b6RLE3WCs8aOXBvu5qiTm46kd35e18AkJTSd - 1Og23s6cR4hCaHpwMgWETncGdRrdOliaGwP7jUGw3xiUf3s3GtA5B9pNzsJpje7mGh1oCUw4YPDO - XZgNRFirGa7nDRr9uuFuxJtRo4ycbz+YhY1ek5leV8F5lBWazqvAkZNjY86/xFsik7l30EMgo0Sm - msiaZ8N1aCanaKnYaL8fCPb7gTzemdPhSjl7TAa3Dml6MyvQXHTQZxFNT/OI5qrMVBHNNmOr1QWf - 78Mqb+5hljevXpBvXpCHTmLmc6WleV5ZwfSgkubpB7177tzNhl/KiZwezGiCjBwhqIAmUDdqy+Zm - 3hUw9zuCYL8jyMflrDlm95ywqHI3gEnThqBgl8jMMw20Lvd+PiXBLpFZTxzJjLLh17f5W+edtAr3 - ybyt16a/6bmYwcgZW7VI+IJSDg325mYCiMCLOTKZSRllh6icn0YkJ8dpqY5jv/UH9lt/0vdxI5bJ - L8aVakSvI+z+lYLhtTGts4BReGXw1pqsfGMeYZAZ8wCqlMOHWSlHlZWBWsXwedYFZZRdFtd1Dcog - J2T61qV2Ps93zUtCML3fE09R2GPp1Vj12OrfcqM6+qWk+X77D+y3/4SbSjznzJ1M1ZSvM5jpZMJF - HQ6D1xOmgcxVDQ6veD1BafBgW47yvA2cDYOrQ/6Dr9XCoa97C6r357yuQhlQQnm9S4PSl8d3oKRk - OvZQZu9cQmkVlAE6y5LWJrfCfu8P7Pf+hPUhwmetMJckdhiYtFP9vQYlZetbQxnn6nut9aeeOMxY - D15iGY3M+wQ7yfu0EGbsuitCGWN0UemVAo+ywOi8tsPSCwUebrs77FhISnJeOuKgNvSA77M+RIgr - 7btmv+tnv+kn0vIgOMzjhJNRmbwdZK3Cw7R5d43J2SS49Lkmkcv3ToI777YjkhWRcSYnn1mUUY2C - iypoGY1sqsiPezkZ7nb7JC9HtEhGDkbG0wFkDSY46nQ3BrYrhRtmv9tnv9knujtiMrk54SXJZMta - TMZ54+4aki6H2zSSft64u8RkPXBkUs2MiV42VESeNFQ0IRnqWpToO9UdrWQy6y0QUFpZtRGlm3N+ - f3eYtCDGXEfrUNqTRlVtgMWuagMTwys5HrPf6LPf5xPjnTlGpZncwoxJPy/BXCwlmkyBM7DfGtlO - HKGMhwij5/eRcfQYZnH0fr4w5FVuj4EcCb86cSsdrjalsMiOx6hWpUQ1VzjS3Y0A5CIIOp1RcAa1 - uYdtl+RBDH4lMGT2m332e33ArBuWkHM8iKXPLwwDjMwrFcLvwPMd/s5AZ80/5juWEzjAODmCAwxN - ZnA8W2uWX4VqU4UJUnDma0Qj2vVWjc67VUXkggkCzuJp93RqV5yoCxJB8Eub9sx+s89+r0/+ruxq - lOhM9ZjSiOWGQYXGHmGCp13Lj7vDet2MBibONkGu9aLVAyfTr71KkOcgmyzGzNfMyoSfEprLMfm1 - 6eygp25leiWsXtbAgcGbs+DYlDLhDtfgZZS9OO0C137zFIQAa7huC9P9BqCtrQEZo0kx5r73A0Cz - dSqb7s+bawPAShcIwMzykCuLAwDUYhVwMhNZ8JRDsUFuQctynO8JTx+x76+IwWi7U1W+pU/RC89c - brxC437zz37vT/4N3mn+cblcmPmIMAwghumm0lVEbRwmY4PvMu/3Gb1OnAxr79p2r3fS/ZIZ2kmU - XRifaNq0V/Bdm0V+scqYXxd3nDo5auvxho1TMLcLjZIJKbR8YNU4aUg5SIXkCqqxS1Jzvw9ovw1o - T2pCmE11fYe1ifg7WptvSs1uZtF1L3GSilwRmnnsW3x12wqyiLgDqiEI5eUSTL7ZBcQQnZVcWqXO - SapzE73ruaSVmLvZbwLa7wHKROjJMf7VyTF0FcBl5TsUwBW4tp2jqQRFN427b0pQxFrWXm5b8upV - gWYma1KhWQ55Aiwf9OokYkDVgJ5rxNTc1+udO2TjzToPNYw4JndJZomK4OyJDdwZoMmwpKXw536D - 0DvWBGEchx29XYBEufUvmcsDsdMm9DVgIUkl0sDm2S7bwNYTR5WPUfVUwjncpcc1TKKgbbQ7USt3 - h3Ng3APX9EBp+2sEScdoVFPdMYpgKCAVM/UGohaiDIcGdFrbg5KqwqcHjk8jTn/Ih2wzSqLw45d/ - fPsvVvdE09lbSzwyzbz3+byOFg94030n7b6/qfBJDdMEmk3TXFH4ZHWROzAoP4msUvPEctYrnruw - 7gDpom0TZRJwloLR9cSKSGwB+jxXE91TRykTuZ9cJ/OxROK8Em4toFS2n/mJTp8ElNaQbCeu2aAa - yemA1yUblHW/Whb1qNS4GbS4UuI3u4IsG0BBJKNT5Zpe6XEQQMJzNZ6AxP0sJsaPBfJcH7LJYxIR - 4yJUmJdmLtfB+VuRJOUT7fKYfRi1Kgjl8vLrzXoPnXUk6T6QUOYd9EBSANULFBSQTgBpnrZcZCD3 - U5gocpj/9UAaPw25r+lsPgIPNuQZAtzU2fXENSCNAtLMdlssAZmdhteD7laxaXSCSE7RzPnOu2ia - 0kEh0FSVcajGbiWfiAWbT7PrBc19WRk+Vlaa6QDsVTIJBjKN3x/l2k5c29WrRaXZFZU5J6ZUNxg5 - 0uh6t55HvbXKmLseeLRdDui0JtVYI1I0RmFK8hKN+wlL9B8qKOPU1V43JCc0vkNOthPXaFRyMu6K - ya7G6EGa08lzJRtzoYko7bgtGvNyFa21WaEIqGBs1XCnaFxS2/v5SPQfKhvjKwM49nGM/qNojEo0 - xk3JmM/RlRxGlhkpsZjQEyiG2wYk2+JG9SiyqjMi1HLR9GPYnXm+kiqjuJ+MRPehgjG3DOzXbMSD - Bhc74mwU5pqWructkajEYtgUi/kc6c1EK0FUMvGqQm4g3peJbBGUTNSDikiBaMTYdQfP5wcXEPdl - ovtQmZibVd5R25Z+pLsm5p71okysJ66QGJRMDJsyMViln6ORG3iDEomBVZvZfZFIyk5kCGr0C6sY - jwliyRS4lTg47qcX0X6oRPRhGuNZc1yc3B1w0jEd8rJaw3adt4ShEoh+UyAGU/MvF2Zy0VlQ8tBH - MbPa892CNQgBlbNilTS0A4QisPO8RKgwuC8M7a4w9N0cledTLvOU/3NWma6u9O8LPfqg2yVeaQpf - jTxeB44duE0Wnm+jZKPflI1+iDmOfeGSSi6WTcXS3U7JUAxZ1PXC0eipbV55LoYkl2tRnf15gsgf - KhyvISh7WpoOEwcKcTZrdVFJ1wNXpKNX0tFtSkdvtOPipbnotXg0sjvC3TYXKRBHKSC9GoJFqj8i - j9IQIPolv2V/fCDyh5qL7j3ikGQBZsHDvUcc1gNXQHRKIrpNiegGiXjNLKokOiUSndyvZ+PNyb/k - nFdRRRnIYdNi3OmP8/P3RvgsREsQ7k8JRPpQaWjD1Hler+DRFRMO9oeu1fOWGFybV7lAYYJIUejs - ISBs4u963sgOB1v2st9qZTRGlUoASXuxlBRdIJ7SUPgs/LRSt3C4LwzpQ4Wh7Xc2NQ4XJwZRAmeY - m+qmuRa7KA2vA1dItFaujrA4WR2xwqGVTYvOCAqtLnM8Z1E3CM1dCKnsFu0gRFbJ6LKuWUAoEn72 - +eSgTOH+/D/ED5WGHLdnsTAdPARwLHbVP500hKVJ/O3IJQpBtidymHQnrlBokjTsE9EspkyrbIs1 - Dwbr/PN+kC+724YiskpDg1WTB0rx+AUljyp6YWd4gXJfNOKuaMzDVqKk0kokhSttX8jnPlpyw6Kd - eZ+i80viMskNo41HnvfaxNVS8evEYZP9dcuN02vXRQcqzzbg2mc7I9yjn+YCT05oOZ9uXLLqSWS8 - O/gPGGWEx5A2HXUpmXJg/PPJ/BnM/cl/CB8rLaeTq8La4sZ4AOu8SxJ4k2VPfsmTbgeuCEvW06R5 - Ok16QVwyqlFBLKf2Mj3Kaq+nSQhIOlu/bw3tjSxA5FhqGMV6vKBBRAEiLRmP+3XfuF33TXE51lg6 - uSnkP+0YdTMizcdgBLcIp7HDVtE43V6/TOd14hBtpCijjayCPDQL8uATKvNaPdu30Mh1eSyLwc91 - eh2jNfxzPm3vLiSLGEXUkb11ElFrNKJeuDfWLkUd9yf/oflQWUl2tuR2TVaWou1hK7ibzZBem7vf - DlyRleTU+mWa9MksSMr0K5Ar669tgQ1DJ1u3yclqCTqvvwUidzNZMoiWPCgQdbWEE+FvQ2sg7svK - 7Y4EIi0r8TVZWUYGWchygfqQzfmF4qxJltfcnpkev/YkazgD7ylyqiPOqU1cebzR883gdcsT2TrI - Kt1y/oR19zKo3csy/nNd3ZFJsr8Qw01rMslHEmFIJlTWpDW6VYZ7a9Li8wkXf8g1kfuzUeOuhKSc - EFVa/K2WWE5WVP4lY9CDpPMQoffU9lge1Ph8mtXaoqd24rjo6brpDk6QihzDRJG3WZSvSU0jp6zl - 3i7BplGj98nILgW0hdVbm56CLHfkxJJW38rVwdhbmAy4IjVhv20Gtttm0N9qfvUv+X86PGkTE7u0 - eBcsMmsJnCQxvA4Xnd/1GC1a2wxRTxxMzOuWG5oY1KggtLNJQdXKPD/YiZNva5jTv6XYVGshzmsb - muhlrc/ZQ36LzNgNOv8+pxWDqvXhKMfvG3I9mXmP4wqZ+/0zsN0/c05iWNLnXIas8UueCTHUWSBP - fR+KS2Am23Co/0E7q/+h5dpcWQBUp/eeN9xhadUEQMTpJp1nsaF0bpAJnUbqQybKUPrFfyPT3CwA - wuBBuDzknJoYoHYwJyHZezzGhZWwJex3z8B290z+GtYlZshOef7TB71Jpx+e0riUC8neEG92GGKF - PF8ougZmPbEp84amGm+B1MYBnvdi2g9mC8JPtquYq8ZmOoiwd81FykcNY0FUSxyRhGcO97eLWpl3 - JEarBKiarHYaonWRfSBcsjv3+2pgu68GTZdEXBnsyyG9W3byNKhmPv981ewcXSJ8xezcdIkap0aO - m0ZQm3Vgui0i+srpGb98SL3Gqam6vIpIqdzNIdE0j4j7iebtNXmYdLvwiQii94pNhSbaDk3rnq/J - K2jui9DtJpv0NbTkzMpofhNy5M/bYeSKmyr39TX2YZhxEWaDAHHN6KwHDmRCkHHNcwRPB6aryn/i - q590dULu6v/yh5OuOsok+XlxoxLUFhO4PWYFgyFhcyYZ6p5Q2UGZvPYlKPfbbWC73Qbc4Aq9HUEy - viwXtzqClA6a7ntaYnK2vx7mg9A3F9g3Jp2eAjQMrbJvL72F2Lh03T7mfHIfb1dqHSSkTk2fBrk/ - AuDuVpPkfoPQ6+gZo6on0pjGTniGCH7JZd/vxoHtbhxYL0A/1brLKQ6P44C1adZ8LQg/na9mp5gu - KfXJeLWKKTe35/E+clYVTSqMqEFq22BK7tblQR2CXmEWo/9YLRg9pw40LO8O7MdAVoTfMXnnqsAI - VB7IdgP7Q758Bcr9zhzY7swBujOwPyl0yqvsXRygpOnQvzUo80hJXY8O0yw6rPlE9cBxhBqpef2l - R6afxTKJvVugDsoqOamt2sn/VoNYgpqdRmqir8ygn+97S1Y6I8KbSKUVR5Siq/Cmo25Uf4Cl4kvY - 79WB7V4d6FpXnxQYleAmmVw5E1h7QPEdPbXFsR7HVu1v26nnPaD0FcqkKSWVqPaS9VPRO/8ntrl+ - RRd3KD0GshyguCRZmn5e3XGJojTd3e3VwRCCaJHAHBNSvToKS+hMTe94qa4D9lt1YLtVB8xgar4F - ZhGXyblgx1pcmv056HnD9TgFY7rydnWib5AhdwyVTKPmo6psUJyGj2yH5SPiDp1XnmkeqOzLjUB5 - 5VAXQ53lmjdLhDEGL8KaELT3Q6Timo6pgxKXCjlgv2sHtrt24sHu90DSHziTlWsanA4fx5FqM498 - cbNoPbAyWVOU5w134wekVRmqgz6bf4oVyNi0d/KGFI5qz45U3VGmzfnuIH4TZPoHPKlJ/KUXXNDo - OhpdsLQUZd/v34Ht/p1w4A2D0r/kDFAChbVB6ac17Ktdttbo+FCYmZO4lC9v5z1g5ApjqObj9S6+ - Z3G6uQRrdD3WfeDlmKvp+9ATJh/9FO3KxmJ4oHmm0e+WFiUWZRkm5KFAb0/yc9ypa0c2rIwdgP0e - Htju4fHainRvSkbK+8gOyzoTaae6GldQ5ISd03nIVxoc10ow64GVxepw5723otFWwugqqvOCtxYT - 8o3G9CI1kkXEgLyk0QsakxF/M/0YrVTTCRo9eVc72q6D0Tq3Fqbcb+WB7VYed5CqJqI3aUxftnHJ - 8tB6+pUWs8XAuXVDq+N0Du9i2Pw6rta41c1jVsV+VPWlnShpyH7ZA7KHlj47b66eHh01j8JodCob - 7uTc3budEkaiCOW9exRZ6Whru2UPFtdU9H7/Dmz379gu3fycRF/K2vgIw6aH+VDoNYMx2WEDiX7q - w/DaduV64LAEL7EmfBirluTwzIeBmlo8L7/8Dm4sktTSZW1jayiTc/KtLGZLDsW9UnQC360eyTga - J/0XBB0X77Z9c4S4JBf3m3Zgu2mHh2ayt7c4sMs00pBS5GkAMi61SuQBzsMgAjt1X9YSivW8IQDJ - qpHMqj4ymtYKVcnoq2TkVsE2TPArhmVr3pH1aywy3Oau93K2eDcUTfRqYhpE1ix2kpFtDCvTB2C/ - cQe2G3f4Ti16cl5yb2P+89KVF4cLI4uL3os/QtAmI79jJkY9r7JYLUYqn7Pr2jkUixNXuq4GPWfj - XoTV3DYlm0D07IjGW5YLv1mmuVmEHvM0wJtS0snQo/EuykQNqNAj+858pODMEpn7/Tqw3a9Dg9J+ - O1GDroTEx3rfw828mTU0c+ZnKEWfFq8tJmrqgWNDWVuueL2NKqqcLaCnGuhxVU6eTQ4POI1ot3XC - gGztEFch8CGV9u0ecHJSUuambonjUE3J3SI7YodrPO5Lyv22HS0p3/ZmEo45yxE0jmY6xmo1lz0u - BKV3xMGHfaBc69OayXi9CysYcYQRsVWe10x2qUG9atNkGluO9kM5kCA9jILFmygCeIli7vuWKOpN - YNTVVaD3vDLYz+z36Wy36eAgGN+Of2OxHxH1MAIobsKmYJzlZLCrlXt3SsY2FLVcREni2J3DzZWp - /Q8HdxwaFDMIhFA8r+xJtCSV9E1XBkMU0W/DDpRUBE1iJxTRhqUJama/K+eDd9kcsp37VpFu7pbR - ChmnbYvL4UVaX/aFcmIQzBzphZbadIwRJqPA0Su5CChxBJQ43nRnnCWSOHptMxo1WpKhc2cwKfUV - 39rs9+Jst+LA2CP2VgNj+vqhBPVA+zNw2InRuOZah8PjkBo8wvb+WZdEo+x3gFjT1cqfQTlMCKaL - 5Mk94TOd6kRVJEhf2/WZ68MLZzs9lorb3B2x5mQgMknDKMvJyxhoIS+xi/0grNX5mP2WnO2OnF7l - XgjwG7qbXtjnmUFuiInnxQnvqfMZxmScX+MQ/FkLi9cDK6HcAJWxSL29c1a2a0f1DV0txcH8uvZO - z8rqnqrNN7W38yRdbDJBpmiM1+rb9Os6g4OnW5AzjvudN9uNN9BFEK/oz6vikvNcK4AywGLwsdPX - ONvXTUs4Jj+ARhxnbTdroch63lhJAS32eL2NFW7NbA4BeH4qLs86mLm4BLVzqeQIe0BRmpf3qiLJ - YxDdN2YYBlhqc0XTt+s6w8DalbyN2e++2W++OVT+8NUAEJaZQq502fvR48Z9OGexSSj+w+8Um6yh - SaOLx1Wvt6l1vLdsTaNziHqjbJGIPY9G4HhzzBVZK5fJ5mVzMo9odB4RXFelC4biyrw1s99587F7 - bswhKyfuBXyM0xW5iZPtitx63tL2L5WoMXvjUU3xn3v+xCTKJPCEPDSD/XhTILpoFICoynFLY5jc - h9gpbJP+QJdCP/stNdsdNbkwc10khqujxoBOZM+DkPTMfOQXkzscc9nJAKWbVJvZsEQlH4zz3OF5 - vz2SRhI5iUI+m8ySPqpRAtFIIJ2TQFr/nqg4GzkyKK+Ye7LvHfokjYmGlgTifjfNx665McVEH/Xx - M/rohaC0r6BOXJtpRobXMjJDHcVbMtGoUgqzN6y3jMftGVSLOfPCD8kgyxT2PSeGIQYZDQcTZJuh - 0W2G0McgjXdLRY9mv3dmu3XGFH9wXSZieDF5a4JuhjWvhMPXsKQjGN1maLZy2Ok8m9v7kyU1jYcb - 7VEbLRRnjTNPgWQQLoxshAUjnGyj8obnR+rwvFmUy8QoYz5Gr2HSIcluT2cOMSEllf0///3/AQAA - //8DAFbpwfqCBwEA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-16/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - gTJnd/7rj/8HAAD//wMAWSnLfwAEAQA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-09-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-10/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA+ydS48lubHfv0uv1QnGg6/aXXjrxV14ZcMQRqOG1FCPZjDTsq8s6LubZOYhGZGs - c5g8Va2+sAez6KqTyfP61Z8RwXj848OPf/7h818/vPyPf3z4+Zevn39O//zHhx9//uOnDy8f/u3f - /v2/IpmI+F+MQWeNMR9+9+Hr5x//8unX4+H086f/+OXzrz/st35Ag/TRxI+I6ZHfvv76+S9poXTr - ZtKNf/8lr/rjD1++fPjn7z788uvnHz/9lp/ujz98/dTdCzbd++OXn39LvzSbgeOH3//2+f+k39Qf - v37+Sd713yC8ILxQ3ADif7+t8fs/fP6jXCf94rYWxv6XYsXwEdOK9oX4hcwWyLcVf/jtL3LF9Itj - RXKu/+XgNcYXm/73mwPKK/6vn7/8LV+Dv0uf/6e/3tbN/+6fp/zcvZPy8+e/fv3066ffvqY3wi4t - 8OfPf/pzuSC9qy8//+/btT/98GtdJ7+o/rL8c3dp/hTqw8fP3cOf/uPTrz9+zl/F179/KYSkd/D5 - p1++fP70x9+nd5Io+PL569/z5TE4THf88dOXrz+U2w3Y9BL/9MNPPx0/m/z41z9/yo9/zL8I7NPn - 8elPt+vxn//83WMqzTqV5r2pDB/JZIasy984Rpyi0gZ7h0qCwlBIqKW7eYpKIDNFpduCiz2VzjyF - ZbTxRuVf//bly0Hl/s9/DZVsWUEZFJSooQQJJc9Qade10n4jraQkay/Gb8bZKSrZmlepjB8N5BUT - Qxw3tvFNqYQNjOuphKegtMF/Z1JpyCqpdKyoZEUlsaQyTFG5rpX2DbUyvkKlSd84vxj3YuzGht6I - ypAgfwG3MeAclWwXqbynlfHxFu7C96WVwRlHEkuvd3CnsES5g9OUWPK6WPIbimW4g2USS3ph3NDM - iaVluodlWZHNC4aNon3fLRzvqeVjLGOE7wxLcE6ppd7Co6ISoqByDsp1reRntBLndvCMkH8h+2Jw - 4zjp7bzu7KQFXaGcM+XGva1Z6Tfw5jVnBy8jiei/M6n0vuwaPZNRMknarARpVrKbgZLWlZLeUCnp - FSiBju2WKL2nOaUkcg+ptMkLhy16eF+lpKeEEinvht8VlcgxCCrV9k16+84XdFDaKaWkdaWkN7Qq - s+kxlkpfvnFKwryR83NS+boHvi9Ytm8TNwduDkqcgzJsFmwPpaWntJIgL/A9UemSWEqtRCDJJavA - kI+SS0czXOK6WOJb+uDu1T085G+dMO/hBufATH9sd8iE4oUnq8DaLfI7k+nvOTzePnZ4yOJlNPO6 - 74cm+ijDQ4jKtswhSoFmkGj6OTTXJRPfUjLv7ON5E0/isxFMKqYJ98DEw1zlitFDMCMGntzIvY9v - F0tPcrQgmfSOXFqfHe8eS3YSS2sVll6al8HOYAnermIJfrPvjiVniNKXzglLHyY38rt6WbDkRGby - osKkIz6pl9mNcrNU0uOoZXYwvisoLWQnp6fSekmlMi+9swLKOKWVsL6Nw7cIpSetdC8GEhebJZ6D - Eu9CSUe8KUm9D2YOSrsYSr/n8zyGEth8b1KJ7BWVTrniTmulFeEhNDCFJa5rJb6dVr6KJeavnJMl - GDfmufgQmXuu+I5l8nqSJRj8257wnANEcM/teQwm5r+H74lLjj44yWUAyaVHzSVKLuMUl+umJbyh - acmvcVnillgoin7yPPwBlfySbUu/GTuXo5HMfJrCkjZPII54+Cm5RGjB9P2GmaPHd8XSF4+mxzIq - 09KraLpncfSY3tMMlmbdtDRvaFqCucNlKFxy+lDmuIQHXJa8j2xZ8uTJ42rgEp47EAfD+J1hyeik - x0M6RhQ0liSOHnHKtjTrtqV5Q9uSX/V4yneO9sUkKfJmikq+R+V+lOmTvZp2pDBFpV89d6R7VOJj - sTTRdlTiHJX4nlQCowwPEUkqddwSpWXJc1CuW5bmDS3L+0wyZi88xMmoZSP8FSo5LZczN930IU+c - wjI7PCy0MtyzLB9jGewrWon/Iq2k9IpkPJ1yNKinElT2kJcH4minsofMumVpnrEsJ0/Ej+88pO0s - mW1z2UPurh9+g4hhC2Hg8OAZS5zL/nXJVlU7eD6+esK0jA7DxB5uvyWYHlQGsCV5AAkqmB6z7dm4 - JD+BJcRlyzLd+oRcXsXSmi2gmzMsH8rljlH6jOPgkGfAJSBOgVlXrGC6CBc8cTwblwF7weRXBFOD - yRJMVGDiU2BSjDKxzXrp9EBU1mU+R+/AjHNkLluX6dYnBJOukplcntEpDw7IvB+5rBzxBiNnnAZk - 2jnJrCtW+7J4ppVMVmTyYzK941fQ5A5NfIAmKTRJoonX0EQPUjMjy/AlqaoJYCdE08Ecm8tGZrr1 - m6mmezEuGTiDzfwJNmuw8TGbk0c9p/BlxB5Nq9DUR+N8QpO96cl0jUy6R6a7TyY/QyZGlNnAya6W - Z+MUUZGZvaOOzKmzcYjLZma69ZupZjmEFCkWt2+TzmQi3T0b781CGpDJZzItTRuaJMgEdNyz6RSb - XrHpBhu6pd7U9A1O28FJGk4v4WQFp5Nw0jU4XRThopL01KFpoxJNVT8RaQrNsG5qhmdMTSvRvO+Z - ZzSTQptBtMgO0AxzaMbN4sDUdAM0pbv+eMWa6WZzLVYlM0gydRgznsHE2O/neR+90eQ7MK0CE0CC - 6RSYUYJpr4HJ3onjSGQr9/PoJJpoqT8lh0lbM6zbmuEJW3P2NLKSGbZgB4fk8Uwm4b0Sin5F686Z - G4OQEcUpzWwL1t3c9ec+oLZzUJJZH+9CmT7kwGElrkkm9N551GQqyYySzPxEPZnhGpnoSZDJ6kAS - nJX7ObnY7+eIZiZnPfl/66L5hKV5zdBMX7vbYoQTmTAgE++fk3cKFwdkjrxzmpXMKMkEcrZzz0k5 - QaScIBo4QVS+9htTeWe/oRkamqDRzNd1aGZSezRJ+ufgrqEJyCLOHigI/xyL/96haYPvHXTyNFM7 - DmHd1AxPmJrsL7KZvngXzqYmuwGbPOcExY0sndhsr6w7/5k8AKor1tQiB6Hb0L3STZ0h7M9wJlu1 - b2vgm25St6Nzsmj7/7zKGJYqSgpVL/11uoiqcaE/PwfPTnhFFkgGOaNzfVqHS77BDKp+3fT0y6Yn - dAbePKrR6FhSv05DNcwFOWP+ghWpUEw6TWqYVdFjwWp4eog1ORM2KyzP9LOosuge71TUdqYnbK6F - 33OMagc1fwhCRffrOjS92OD3J+rQ9Bc3eOOFw07oheXps8A3MIGC6TU0+TpTGurXDU+/bHhi2XGu - gem3cDoVwg0GPtGkhPrNRe2tY9nrTvv7ZBTpWK8KqPex+uqkfHXcohDQ9PMgscM1/aTtFuDcwdup - zJ9AaQtw+w97RMs9ldD9vkZoespePNPDF0NKwNiLp037hTgg8s6LFGJwxvfBzmQNzeS1g183Qf2y - CUplh7vEKKbPGzSj/Todo3POEW3u1IyDtnBGlKcYbevdGGV/wzL9ewtij7ebIJQ3Ou/wGCug5fJC - EnWhpJz4ImSzXFaZpCwhDUkuH1ZFMhEaL3pFAXvRdBFl0aQjJ7wisE5U8gY7lXkEft309Mumpy17 - SI+kfYQkJ4FgXclrNz4Taee2c5v+ivXJkB0SOdeGo67XzoVC3czdJjwiv7Eg0m0DXx1D7Vnkt5s7 - tKO9E2k31/NYLqo87hc2IN3Wx484v55LCultn9sRmJxw0tmy3MXBxD4PzgYzFT5y6+alWzYvw2Yu - CqQJG57CR+n5BwIJc6kdYfOsBTJ0kdKLm3hbr1ZJ3pD78BI3cXwOXayovJGwuTOP3tZuRccNhSSf - P7udxwRgv4HL5KPjnsqnl3qZXlKvly4/es1Txz6IFMlHkXuE5AWfxvkeT4xTpbyw3noQ1lsPpo+O - ru7ghBudurztH/JpB59M8RCdkG7g2AGgfkov64I3QIOtZbwAm7Axoeyune/THhfZw7XWYr+hoBTL - h7cTGrcomCxXVSTjJqzK9CS+QzJuV5I7eDOfPpommZCfqeEoI+0ksjqmOFw3JN2yIZnLheylbdu8 - mHz0oDlMC13NYu+wgZNOpu9xxOGct1MXrLHM5uukhWWUHazauYHaMXrfgqNp5X7H7phAsQoPNxy3 - IA/Oj0ubm1MBPB5nGWqHPXZ1KeGIREAzWiMLeAGdjBKF0k+m6SSHmaI0WG+GCevNMNPndy3Ybgue - 4YQnF5f2Dfkc2pWLeJZv6MDTKpn0KqcD3HYOZrJrcPryTneadroOOO1G0ts5Lm1wNhiPC9zWH52n - x69t4Wxi6DOOIsswERgvY+3RW3EMZMNUnMiuW5h2PYDpNxUnerV10f7N5x4Fm/PaB0/rLCunz3EM - TeZu6q3GiY4Fq3J2O3jYpHBG6YPD0MYEX6t40VSfJ5PVyExWpiRzv7KBWTk8uIzlj6KBafNXcQXM - 9DVI0SRZMBlkIS8Y6fqkzWCmfRGst2qF9Vat6dOJ9hKZx56uszrSQuEJ0SSjQ+v717oqmqSKLbiS - iVBtyf15qGrkHr80A820rQRov35HqThSR/wyB7b7ACYJRstNjdFiTHYBTCgGTGM0bNcimDbntPeM - OjayB0I5n+3Vs7zClt4RYcoBsuuGp102PBE7lXpGPtNCtAypS1DpgBHSZlYhreu1WvNqeCI1edyf - iKV+9hf0dmdNiENXMcViRx6Ypo9SyacTaCJI+UxPLOQTLxudjBLNWKoKOjRRdW+lKHsSWjcVXF9v - KgzrTYVxwebMB3A6wQN5GF2/3zSma4nFRhdRohuhOdmeoy7YegrXzCPkduKzP5NX8aP01IMyytj2 - 9tDiR2m1mnqEJ6vzuLLRyUo4nXSJ0p/FtRKMpJNKOMnKEgwLanePLIWTpujkuEwnx2U6/XRkk3P3 - GLC55bU/Da3A4mis7+0DNsOy2VkXrLrZZNPKODt6fTjpB2SWxnh3e3RkjZS++t4wsnFpFZdecbl7 - S5e6GkUvwAykWsCRamvkQORrmrmAO4d1LsMTXF5I2OSX0np18+Gkmu6J/Zw2y6f9fD+ZWQOzLnga - D9Bhtz9N1IoZRlyamqtJXcQ9veloOzKj4lIKplNgBgWmvZZJfCmuCRYuxjXZr9Pol2ksvuqsStqX - 8v+W/h4HNK7CiDlZUMMYtwGLc/WTdb1Tf619T2gskj79wThikfiRRnpFIigSvSIxKhLd+wXYgdxV - EN06iG4ZxHjpoIdfyOXhO9acdNEPI5iT1iQlpT3lapjG9mVrsi54Fsb9HQsa5Y5NZkCjqwc91A56 - 0p9xzRTOcKkNW5717ILbaCSVxr7T+k40Il6lcT00tD6YIg8bU1karQxx2BHTQI4NuaDTLtOH/RyO - TvctSuLyFI77gq1DTE1uM/JoPHd7lzjCCMdHw6UyXQpHlji2IKVQz8ZjuBROv8aj8Vd5XHe112dS - pI9Mudr3Th99+kzL+QdqZyatM8rTmKfxlGxJ7jkaZbZl6zhI3Wnj7YkUjiNP2zWzMVZ1zJ9ey2Wz - OSojeIyCR2LNo3K0ia5WoEUTjDjfcV4VR5I43wEi0TsY/FSVz/pkClifTMHQVY497h2cwOQXTh/x - qQ0HdSbfiqOtt23uU0dWHG2ZY1kTLI3KsMwtmCSYsdVV9Onpj4QyblGCyVIoSQtleimCy/B+/gxE - d3XjXh9JAesjKdh2TuxMd1bD5Rs9Verm9tZPeNekwz78TNinLnim0algeSnuFBm/PKKRH23b2XaS - 8UiWMslaJtmKnCHek+Pfh8YQ4kUa1wdRwPogivSR4YVgj09/wmX006kRTPpWl2n0m0VdAWlh5F7P - Hn0f6516qh9vt0s+19LIY2msSRmW66a943bAqJLXrBTG/dJGopW6yP49SYSrBuT63AlYnzuRPrFw - oYyM8y6dPsYIepfO0yjWLchsfurDblvCeIsWZF3w5F4f77iDUStjusKfWKQaD7ehJQjtSQZH6rnV - Ds1xZeXRqpMaK5XRXrcfHYmZKDEG0MNJrXRsVNtL4Kk8jPU+/7De59/h7ElNHvrE+YQbcKMzmn1C - z0KGEGvfxsETuZV1wROZ+/ttYDqtkjYOwHy0YefcQVGCyz2i6TkkotqWdOaWAbw//p6a6YRzM8Xl - umauN1R3dl4zOXeuzlFJFbHZS1x4/QjRbjbo4Lhz26Dydg7Lut4ZS6sE05WgYlepwy1g2fVifcSl - 3WTJrZN2pNPJlE6qpbtoR8IWIhmhlh5kPhDI2WaIpT9M87atn0r0XW9cDeuNqz22uq97kaCQnvE4 - sMGcx6f9GxfWc9aSNYqoofTQ1fFer9g5FjzPcU5vWHYt8KSwjIOaxofetq+H2EcFmTQpncpSS5dz - b1O694tJgsWrJzbrXYFhvSuw96U9yayrzWVYYzYpdVAyfaF+VR5HGRZ+GJJcTLCo8ni83Y5DJY9+ - VFv7mEOrOJTq6LWX7aU6+vf0slkkmU+AaNa7ra43Ww0wfYRdJo1Zt2dgn0oYwzANbb70QXOYXtig - a+B86UMYOtkBt1uu5PE0Sg/9SA8fWY+5lY4M9wQpiF752OkG1wuif0dBpHDRXjTr/SvX21cG2zUD - egxiyNNwDQ/8mNAd9lw3F82pG3VwHdjX7UUTxxP00rJWRHuCEsQwEsQduvsspg9SsShFMWhRDFbC - GOgSjHk6TAwsM86scrCd6EYNwVkx6yRODdIz6y0C1zsEpk8PZ8GkJkA+6JYDaaF1BzvHk/VYiQjP - kelhuFUfb7iRGUkVh0UzKl18lAqZ7hJ9raJszRKURKbL+6qwUJKELkCZWJFQ+qAG4XoxUwIdirA4 - 4FRHVbPegW29AVtMGjfbPeguk2mhdSZHBYvRvWlBbe07sL/hjsmgmbRLTKpOGLGcFFQmIysmrQjz - xIvmI2YIDQqlxOwYvTpxFIlt784k13eGyfWOVusNrbIvdOG0xh29BiJoSzLG9dOakUOTX9gb5oxX - Jo833HfD0EJZ/MMzla3PWroDb1HyWI5pjlrFfKPvmwLKjhj7bY1TpZ35drGlx2vqCQlMJ2tq0w7d - qhvszf4UZzlWNKQ2diZmbta7CK03EdoVoCe1/82OQv+b47ukkWFpZ7N07akvOhg3KlS0c2DWFW9g - 7q94Z7P9+/ZUWi9LEO2M5oSBeYTfehz3xSuO+aOKVgKpbEwwWP4o38flMVePFc16e5YnurMA6dru - VxUTSpakz187R62YYOJTzvdAMwGeTP95RTP3t9yBeW7QYuovuhZCj5g8Gsp0UMJ+1NpBqUUSjAgG - gbl4apMLKWWoPDg1eZSiDJWXEVdNI8OcibneE+OJlhgQp+HEY9p3bn/hTp1TgYbNg8JcdyuUg30O - aIbC2Uah3Y2W1xVPPjnkCm8r8QwaTzvA81GFQ7lLtWwBLZqg/fJ8lxRNwEvb+BXNNMFfTFEz62Wz - 61WzgLyFC3WzNleAYe7AqCsdkn83ypicTuYVSW87LDh2fqbTeY8lb1y6xmWD7ngmjSWOsITq/kBf - OFs+Q9u6CZ3Z1MWz+Q6pnWhFkhDgO0bSjccr2/m/G4Pr2zmK/fyXv329EihSgnkvk7cc6GQj7tRq - Ojxb83DKMo8wdIBW08yxixRJp9xIKoMfQInmcZxIJF9ElDCmZ2UVKIpWRoquhC9hc4xdE9+PebnS - EbVvNCAzzNNGLpIwEO3DM++C5fr8UbGTX8FyydkJw/zdJ8puwtjVWSy7uefqBKsgxAGEc3F0I1Qx - cYUyjC77pAZ308j9cdiudDuH3HURJIaerQxZgmombawsdGB6WOmQMVzvF4R2VR2XMPShy0e/6tfk - Limnw5xn3Jq64BSGSgv9SAsnMPQqeTcoNUyPB0EhyK4r3l1qWgV5HoSJAsPAQc0IJ9kRiElOY474 - sIFAwXBdDe2qGvqut4nusjvOKTelsY07pV3wej+1BOEpcO7degJQW3CQAOSk6eiVPPqRPELdo3ds - b8kU3OVdqCxeL9Vxv7hLvJDiuD/rFXGEPnCeqXSBWTUDkm3N0fXxSPAQZ6BcL5hFXtVGRzor7dUU - Xpe/cuJcucKnoaLu2U5q2nD00LnuK1GgV1J4STU1V1rpVrVSB4ESZijT0iSUIKB0Vw1HZjRyx+aS - Oylm3YquqMlOpN7NRv84WbJQuS6VvCqVrvcaZjLLmUorBtThScfDANB6baJ7RitPtYkNS1C1iU5p - pRtq5eMMXjGQxEmhdCx7RzsplOk1XTu4Sa5MBCmUp65pQWzfyWoUQ+vTRza1fa/XyyJ9UyvShid6 - /dg88+hc2fBU4oWcgHfPinRKGe2iMjqjnBmnzMi9aKLDEG4ZvPvD7qIzY3wg6cuYINPI0Yr0CxON - yJeEZIVOUbiujPRNXerkxb6tL2PdEx14L/kyVumgXXSprXaprVcUKqsxD3/unRl71Ww8Rnz3alia - owk1lG3LvcgfB+emNuj1AlnEVTHkfirD4wobn4Qwf8LuFHHkcTXDdAtJOHVDs2ZUYzPdQhJe6YZ2 - vOOOTKWPPNLHRzt0Lqv1fQNekRJkpQ2ZLmYR9rHSiORrRqSOg398LRCeu5teDoOvF8siroojn0ps - xlCGo1SWOd9CRpd9MT/pzJx6CNj3KGzY327XQUBpJa/YjIP2AdJqTB+OpJCl2cjXzMbcrwnBSqFk - OeDBkJNdI0OQ7UxDnAo+wnIX/XRr1wf63TdshlFhzZwopq8LTgWxTMMWkXOq2Fac2bEZZdNnioM5 - YRM7dl5Hgci1ILGSJkkkkbe7P/MVEpmjivSQivRQlPHH4Fjs2fFh5lkBcX3Lhm/qv1AY+s/zmWdR - Z46z6Y4YOxJnO0QeK06RaFTiGfnFvLNEktiYWW7MFNV5DKtI+PHE77M1l2jopb0ZlvvhI+CiDia/ - W89scMPNef+6qbSJzOOQg9qcyY1qsv2UNIY8klL3QYujofKTylgXrJtzPaGmoLry7ZP2Ohq5/WJM - Y1rC3Tqh9f1z01JRDK0TcFKUMnnc2uikILtP7a/jik5GClIniUAGemyUVTe+TPJuM+aBp3yb9fYB - CKtWJJ2649Or5zRUysFKzz4XdKU2PVEem6u3dL8VesbrrgvWFJ96TrO/4Y5Uq3UTR7pJj0TTpq9d - bOCkfG7SpmQWiZ5MvNpvxfsyaaoPi0cv8ymslR37TKRePyfTKcy6KWm+qSm59/5c9K9zTFf7MnsT - 0EX/ui44s38TKsXMvaXX9m9UpzPEt4KwHTRtSZK0JI8nvjKiwZfRpb0paVT0x4KcWucNi1C4nQqF - r/eyQLNqSu4NZ4VC2jt7eXZiS79y0scz+EyShd3cKTBJz4XHnQxM3pqmDFrsatMSh6ZltswOoLBN - ttnDOK3JrgBTWpaoQz6kMs7womWZi3MiyiQLW6I7/dglQOnkYBQpZ+Tm0Fw3M82qmYl+m21tUb73 - kmaxedB7d56p8JYRoP51PR0Bqlh2ubi3Z1GKObQxawzo0LXBhAYvHR5UNiVqmxKlTYmXbUqXTEQZ - LrdlIl2PpY8SS0MCS54KAq23XEGzalLmQUmqkPvVWWCluSmU1EOi0yywcUHDfHbkqZIb7VAx59Mj - ZSl3aCMbVKYFaqsSh1alezSxocwU68j0p2FLUjFRhifxok15xRXHeKkpeaIR4vpgz7hqR+a2UrpH - /h0a3QvbMtzPniY2YJcMcZlGHjTbxS61rYNxTidZN9utvvjxjjsYsZ3m/KGbBKmFEh/RSDoZDfmm - nDtucPNojodJtqOCBcuSvciyCBFBWJZQ5p50Lk40opI7Rzmn2FxvkxZXTUs0p9Ivcy9LMr6YmGdO - R9BxokTssvedx7Vq0/KZ0Z51vZYk6To2nazl7lrt/uGYnzto39dNncV+uKdt5TX7Qh2bqAd6WimV - MvMC3LWpiZekMhBflcr1KZ5x1ZzMskeKxzs0+twaiHFz8VSK6J4Yz12mB+uKLz+Mo8/zKBKBbBvP - 7VVf8vQLJZU8kkpXN26INWq5F0vWGcgsaIQolHK/tqvzCno0t7s2Nt77oDzwMrOzn4EcZQIGOi/y - dmOciQXBes8qiKsW5T4kXRiU4b5O5v67yTs+DfGEcW8BN0Vmtv9OtYh2fNY42zH/WLGiaUOrklWj - EoG1VOJIKjG0YTf7MPIbUs0RTz+QKkX0N9e8v7oD1Em1xKeGL90VS++u9FHLTIZ1uzKs2pWAlyaB - le/b2A34hKQZiyVOMZmUlnToHGjUNt9OEVnXq5t3Sf+/dRUonl1fH1sRvb2XQRIGhVq3fXB1VFm3 - 2dxpITW+87iyEVmu7oAk4YPHd9y9/dUzR1jvnwZh1ZjcP/spr/s25ziffQTd128432byDDx9C5E0 - jWaYRD6HY12wejmubt5xIxGm7AbV7RU3QyfH+9YVaPeO9yrCws9RGLsFXactWwjsF3csqlFg7lqN - dk4NR+nmxOiN3L67Cdwl/GNFJRhCmOJy3aoMq1al72r1p7gMOcnKB52n5oczwWDK/ebEgtNgDo/C - Hc1w2darXIY64tipohuV0ztIECKm6t/ssccDI6pMBj13W8Uo92sbkkHOcriYG0SOZKV2si6F100k - z3PAoUgN8sbP5AbBelM/CKvWpC26cWnjhlKKrgc5jEq3ac6UTOsFzaMd9eFtLTEfRM2P9eqBd4nO - HamTqhUvy02bhlHzfJ5xY9JtNyT7EXW29v3prmr5auXKrtChArofQl6NBCE4IyodAhQNbEzaMiWx - P2MM3HcBcvx4Pl1m0q9bk37VmqTzPLD7Ds4eAhT97Y8vc3CSY+dsSUqO8mlw4tC94elOK9K98aVx - 0xEK2pzYvtP+Ivry4kAog2med6nn2sOOWxan44hRj01k0Whyv7TLXauUHg/zlfKbTCXIykTnohBK - b4JwuwE49tZkSBvdFJTrFqVftii3qMKTDw6+S02B86fgZLdOg5LnAudBToXYTcotDmYxTUJZF6xb - dyKmNU7bSPZN2xiEh7ORO4tloDbRE0uEc/dZNmoRoS3HX7rwZMG/uTfl0i46KeNB5VkvcUlWHDBy - ABAGpfdGVicSh34Hj84+bIFawFw3Kf1yoDL93VzcwZMnYVn3FujX6dQyToEZ066q0yuTHzA40Ylz - e3hdsPk6EatcJhtMyKVRwaDu8f5IB5plCUXcCk/pYmpg7vMQ6n+iina/qWK639h5Phv3dub+Iq5w - is6KuCUZ5wWnjmTcEjCKPvu5/fQUp+uWpl+1NM3mrmJqt3Cq0DGbRPIWIJrOHALNaffCumg6zglo - XbBxanpOKUhOWWJaH+77p5mWPJQtu4op1U69+UMQG/t+XUcmibNHcwuwd49eATO5ZNyDmX1nkVvJ - LJN+jRNcOoaHPSczl27d2nSr1qY5eUAhPiTTy9jO7dschNOJ5hQ0rXg6E08rjrwgnHLL24ptUje5 - Ds3bGPnbc6GS0Pp413LSO9PQzLHQAyjkhiaRJJNZkIksyWQSaOZnvYKmK7H7Dk3jhM2JQbavMqEY - od2ROE9t7evN/WC5uZ+5NIo2Ho1G01/bicwRmDAnmcmTZR1U719YBybzFJh1xToaWWzt4CWX9efj - vcDgRBwdNS7RVS6zmXfjck+YfWVr3+/qMAUnMRWu0f4irmAaDYiYpnHWifoyCCCPJB1yH9VMIM5x - um6CulUTNBvM11I3chv+/JHrMFK/Ur+7z7lHSUxOVWfjgDt5P4VqXbFu79Ty3LL9pVAlhSoMwpst - 5r6zfSMKG6rAkk3wkk2UbIKTbF45jcy7lvHCPTJcNq0+rSjIthkJMdmJcm53X7c6lxtRnsZDvJrv - 1oWzLehzSTPsuzaJJaUvSMc3zdA5AhPm3KO6ZD0rh3YWpCZEtB+Pt2LORqdl6jZ2aDan6WxOUAIK - ClJpgRplgYJg1FwLLZHlIBkl3dpF9hcyjKbveQUuTHlGdt0CtesWqNGZbw/2eftiMBnxOrbUL9Qw - RZk3fE/r+OwbmUHqm6U4q54sayRtr55G+UYmKE7PwSVbnKsbUhmxG0++cWr8XU5NlJx6yamRrpK5 - mHsUWO7zCBRUFZoElcgKUHGqPhLW26nCcjvV/dMQavpwm8ewhdPsiL2G5gzq3PllyDMPzqCOvHg/ - BWpbsYIab1amALF7KgHq2SJlps6JN22bN51Faqxy4o3c542yQY3c5y+W/3COago2waopy6W4V6TF - xYUeq2DXbVC7boMafWh0F02kF+M2Nrr8J28d61s9bIxnC9QMLFAX5pylumI9NjIdmKzAVC58fbzL - 1vSx49I2Lm3HJWsureTSKi5ZcnnN/mQO8nw92Zs+qHZZJLkkkdZu/JwPv977F5Z7//Y8HRHwB+El - ynrk/Tm8ZEauEc+mxsGpo2D/0hqYAeYin3XFltlOnRdvVHTJqMinOUeX0MTOCDUtumS66JIhzaYM - LxkVXjIyvGSuhZfYp81LsGmC6kuNcnieAdHX0lg/01EQOC6jyXEdTeW2twSLsWZyKZnkAZqjANPk - du4S7OfI5wjNKJsgPF6xauZtDPiQTOW0m/PRkc/9+kZgUg/mfS7pPpcXNTN4HyWXPhsTr7ftTz8z - CDAfT3UsYIZ1MMM6mJeSkjKXnPaROS6RZrnkqJsA938y/WHRlNfeVrxxGZ+i0uJjKPGBWj6g8toB - JkfO4tdT6Uh2hwGWUc60sQoLk2nK+2G/TqV/M7l8kLtp8vEgoR5/O6Zy3sKEU++D16ic66xVVzwV - ma9RSfz2WOIzYmkBPSksVdMikDPzsgsjqJxq4w/s1ql0b6eV4Q6W4YViLrAi+E+HJQTowMTLYJLr - 9ZIamHgPTJJg4puCScbKaJGxUYMJGkypl2bKI18fMAHLAyYGZD6IFpns+ZAbhDWfIDNnAw9c8hGZ - PJ9fLF1yyxfIPJ8JQTA8RvOuZtJ7aiaXUieBppcNMQFJoUkCTZpqzQrrUyZgecrEGc0HPjmUXnnx - fCxk1s+FkuSnj/RM5qAQg4KbEs22ZDuv7NGEy2gGsGMyoSMTHpAJikx4hkxnWHk+hDJaZJyyMWW3 - GINT1RjrkyZgedJEz9PkQbrPhWtsB7v5iExCfoCmf0HIkVGyg7Og0ZHl3Iklxw1Ibufo3VNoIrsw - wea3RDP9h5JNVJVrRh6kG89935j0lzR1Srk+fwKW50+c2bx3lJ5buJaWJ6jzjMdk3u8cgzeKklEY - dNv/MZcOJ1M8aItBxDHxDpX6JH1ApbX9CSXMUQnvSGWyTqKMrxtQMUxDqLAUZedpk56qy1ifRwHL - 8ygGkvkallyaC5tceY6nisoxlv5+tRDkWQJo8yFnPDV+e5LLbG+MR0YtqaWzj/r/f2OxDMlbVsEi - kClxos53x9KTwBKn3PL1gRSwPJDijKW/i2UuQOfN4aSF+QBKyqdIhJt3A5981GYrutnUzWRLCdfn - KbF08Kjp2wBK945QRi6HWAJKjgpKUFAGFlDClEe+PggAlgcBXNjCOU+xx5BbndAgn3gE5d00IxMy - lUx74/SBPz4yLSlMQXmKFN3bweNjb9yb61DGd4MS0p9cAL2BkzzsMSp52PgooZwLE603XYflpusX - NvAyuoco948axi9HUGK4R+U+QhJL53w3Z1jmg9opLH0+C57dwB9rJeXkoF4EZ+zK99PK9EdHMVqF - JSq7MkcGeiyDERu4iVMb+Hqna1judD2PZZa28EJQuubBnFa+voGHj2TKBu7LLJFRotsISgxzR+OY - JzbMQqnT3EZWZbTfl1jmZjAqPgSgqVTeTgCQVE6dQa63E4bldsJnKsM4ZSN8xJC/cw4ZI4eDo/EB - lnzHDU8rxuJAlXzJEHQd+qtgzlmWuVpN5goD3YsPPWYTiuX2PbFJtjREEGyq0c2lTEiyKYLqJsxk - bZj1Bq7L/VsHgjkOXe5ocvJwy8g5nPPEAV+vo0wrFtNgLxwXvv0985KnJDOPC5WNO8g8ZV9ieNRb - +Dks95WuTBT3qsFRBqiFLeOtPZzAUgwszfbmFJbLkrncLvOM5bhvR/gIrrgosQxOOY25f4VK+3o8 - PVEJ2TIwXA7czeCo5wkq3RacnFdqn8OSzHfm9iTTwin70oTmi4chlmLQfcJypjDNrHcoXG5QaE4n - kDQOECUui1oam4ccxlN74TGX8RGWlA1WazeAuX0cwlzJj98cCPuS3HPeuPvesPTIATWWLWnDj7EM - Aks3c8pj1vvBLbeDm/V6QnGdbTEGk9fjNJVqGNVgaFXjsv/tPQLtXHYG3o4ua3U53rMjhePdzaHq - SnlwIkhp9BH4PQT3e9c3bO8M6Q2bG4I8QpCdVEaaCQiZ9U5by422lmadvQdvDGsb8b3BZlryhsBN - jDX71sSFGPKJoCCuqxGnMXFWEjeTdmHWWxMtdyb6boibDCxm4qZH6f3nJA63hA9FTZx7RJyXxM2c - Wpv1zi7LjV2+G+L+v8Y14tBYcJq4Fp3BIXEKuCnelhVuuQvG98PbnA33/wRvlMxm7d/mRMX7vEkr - DqccifW612fKXi+c6u1pObn5os79/hdDGGaPSq4RaF5NDPumBHoXUO+x3UBQGBMorbqcTPs///l/ - AQAA//8DAKrHVTEPOwEA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA7ydS49cubHnv4vW1gEjGHzV7mK2d+GFVzMYGJpuwRasdje65TvjMfzdhzwPMiLI - yuRh9kgwjJYqk1lZ+at/MN7/+vDDXz99+fuHt//xrw8///Lty8/5P//14Yeff/z84e3Df/zHH/8T - yVhw/83k/zf5z4c/fPj25Ye/ff71/HL+++f/88uXXz8dT/2ABumjsR/B5a/89u3XL3/LB+WnbiY/ - 8Z+/lFN/+PT164d//+HDL79++eHzb+Xlfvz07fPxXPvRpOO5P3z9+bf8j/mJ/vzLn3/78n/zv8D1 - 129ffpLP+hOEN0pvCJv3+N+vM/78v778uJ/j2D9cZxnD/3FwYnpz+X+wgbXtxE+//U1+Z/kfrhOd - 5f/4/MT/+vnrP3463tbPv3z++3Vu+e/6Oun8+/VO7Pn3L3//9vnXz799y8+OMR/w1y9/+ev1hK8/ - /+/rrJ8+/Xqc4/KPoHxX/HHl7+yx5cdQv3z+/fqyLZ/1519/+FI+i2///Lojkt/Cl59++frl849/ - zm8lY/D1y7d/lodjgvwt/fj567dP+7ONg3zAXz799NP5d0P569/++rl8/WP5B3Ax/zw+/+X4OkQM - //73H55iadaxNL8jlkTuIZgmvQFtBsMUmDSDJcEWU+iwBNdj6XCKStoQkFMZnHnAZVRcUs8lWHrK - JUgqIdyikm5SScELLGOIEkvvJJboEsMSk53BEtMylvmpL2AZJJb2AZTxzcQ3dFsIrofS91D6MCuW - xvViGXoqyUxRaTdHwKm0jMkgmQRQTLqOSSTbkCyPv0gKTCq9ewxlUFAGCaW7B6Wn6ASU5eU5k84r - qeRKiejsDJLRLSMZ3e+HJJj3mKQ/gctC+oY2/1qbnsmwKJQubjamHsk4sN8xTTFZT6z22zyAEp9C - Cc6Fi8q//+Pr15PK4z8rlcEZ/kcLJ0pGo2I0vsao8VI4g2LUk9LN8v01SPMbnIJ0XTfjK7oZFaTu - XUoPBtxbvj2ENDDnA0o9zionDJQz9ZjaOUr9RiBvmc4zTKPC1CpMfYcpJXbNLI+/YEqM0qiwtI+x - TBJLfw9LZxNJe66vmUFdMxEEl4GmuAzr4hleEc8kucSHVNJ+h0vGTtlzmnN+MCPdOz8wEM9Je14P - vKgkxmRSTJJiMgx8n/K6lTYaQnlp4/UwJZVJMgkvKaULNnIkAbxCMilzni+VDEkbHE0huS6V4QWp - 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 - AQA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-06/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA9ydS3McuZHHvwvPUgUyE8++OXzdgw4+7caGQ9YwPIzRPEIj79rrmO++AKq6gMwC - uwF0UTveiTmIZDeaTf74zwfy8c+nT99/fPnp6fIf/3z6+ZevLz/Hf/7z6dPP3z0/XZ7+8IcP/4YE - Stk/KoXWKKWe3j19ffn0w/OX7cvx4+e///Ly5eP61CdUSO9BvVc2fuXXr19efogHxacuKj7xH7+k - Uz99/Pz56bd3T798efn0/Gt6ue8+fn2+PleF92Dicz99/vnX+Em1KNg++POvL/8TP6OvH359+ZE9 - C/4EdCG4ACwh6H+/nvHnv7x8x8+Jn9jOQld/7saByvly4Mdff+AHxk9sBwKq+pPyRPMnCBcT/3cL - OJVO/K+fP/8tPYbCu/jzf/7penD6d/1C+ePqneSPX376+vzl+dev8en+3dP3L3/9/uny098+f373 - 9Pnn/77+88ePX/ZT0ve0Pqx8nB+6fph+CPWX08fVl5///vzl00v6RXz9x+fMR3wDLz/+8vnl+bs/ - xzcSGfj88vUf6eHGOozP+O7589eP+ekKDL57+uvHH3/cPlbp61+/f05ff58+gd7EH8fzX7evo/K/ - /fbuPpRqHko1C+X6g62hrD+z/tLrz9wiUKkbCCr7J3CX+L+BxQb7tgiu3/EKYfn3AITrkwYxhDfF - UJMlgaEXGKLEkBiGYHowNPPaaE7URoB74qj0EtB1iaO9BabP51GkLT63AaabBzP+PIJj2giPaWO4 - D6X+llAGDIFBaZIdqqG0QhsDYA2lJdsF5bw2mmltPEKJrzC5MeQuChenqYtJuMOkvqhwUWbRq7Td - F8t+rfQ1kun3sSOJAkkUSOIRSXDj9hpvM4mPMKmDtoYLpZP22gmhdJ4JJWEPk3peKPWJQmle00nK - TKqLcgtZ7GNS+btepI4nhgWx4UWGBpXGdmFJizFMKc1jQumoQykD/89+S+U0ikNqA2c02e6KUVDO - 1Yz6Pp9Sz+um/ga6CZh0Dt2FcNG+k9FbhF6Zj3GOJ+wjdMCWm5pQvEGo1M0joZbwcULv6OhjhMaw - BRmiDg1nNKBg1GrGqKYeRmleR+kRHUXB6KtCigkBHRFQS/CmD1K8FQutmGq4YMQU6NRYSC24Rle7 - kJoB+37kNAcRv6dASIOIgzAdUGNJB/MOzLzbLumkeemkE6Xz1TBIJ+mM/0fTia4vR2RvRuiJoUil - uWgdlUefSiVEJoB5nQ+JZ492fksmyXvrOZSgOZRa5ogs9zl9l1bivFbimcH5a1DGX7iJGhS5XIj6 - 7HmU/ztQRvfAXpRfHB2l8gEmo8tJLBIyj0EJJRKKX6eNyvWhO5VJjb+ZCdcEwLEMxEMhSBmF2oSD - qk04xHi+C8t5rcRvoZXxd24vSdzcYqkvZXTTzax0rRkI4ZFK06mT23k9TibdRdInpFtIYi2UAsn0 - uBpJPFUptQbuVZIWaUwn0pjElVJT6EES5pUSTvQqbyEZnUq6QESyNzovLuotKDUuQTdyRg0o9RyU - 9oZHqe9CqV0NpSlQ0i0ozW0oH0oZEaDXHEonw3EroWS5de10F5TzOgmP6CSNQIk5ZQSm4VNSC8p7 - 5nuF0nenjHAOynQbslNJgkojqKQDlU6bikpbqNQVlSL+Tt99DSUJKPVDUGIwLEUEOU1ZQYnpqpQZ - b6iVEsh3QanmlVI9opRDUGp1IR/97EZuXTegdLdufFhYohqBjjlCSboXy+3EPdDRtQk3gksnuDTH - +FtbW4EZCpimThRJuRRkGkGm5WTSEJnolWa3PgBkOZmGZy+jfDK3ErtuItW8WqpH1NKdBKZ7RC0D - Nky4b4DZl2AvJ+5g1okh4VrKBLs/GnENVLCEyrX0FZYu39vt/8mQXDiaXkAaOKRuDFITDIc0IDFI - tciwIzPpEGwPpBCm1TM+dR5SEKHPq8nLFQC/3parA6TQ9DNv3gJVSHl9NOnQ8DNBd3ma5cQrpNq7 - ClItKLUcUzha9aCwMuu4UwpVAAQg0uycUh6ggwjQwTBIx0w8EvJgiFTgQuqA5zLBhtrEYyDognRa - SeNT5yHFIRMfAVC0GDgqKeK0khqdVOgAafnO6qtK6jLx+4mlqOMa5azWkVMqonR0xyjdqlAgTdnr - jSasMkeIwsSnx1VgogATuXriGJigkCXZrSLmewIZDiZaW99PGoU9vif4efX0D6inMRzMwtKrv3WM - 9skeyDQt59P0Op/OH68oTcP57E6ybwfuySNjKufTcS6diNSPXKJ2oQKzuJ6m4tJI15N7nsLxdDxO - T27kAJbRYtZyCaQNqzZCm76ZikptmE0PKnTJpZ+XSz8tl3Cg8tXy4Pqy7+B4wmIaTHYRmbwm6XVC - k8i+xNF+3m7OA+65I1gCIzJ+zOx5/Lhxa27UnmTH9JPOIMFCO5Hx++VKmR+2EwkLC9Lji1BFJGTZ - HCIyh2c7kpSC8BpJnb3KCklnsEIStO2qygQ3L5RuWihpEaHQq3Uc1aUKIAgiq2OqauEuInEJXrqY - 8bgWkdCF5H7gHgaFsMdBemHxuV40yxvphVrxud8vI012BzNJtOweZvx+OZHrw3Yk80MLkvFVKyJp - 1KVUPrmMO5CGILCwR2ebUAEZTEqW7EBa63uux8HNa6Sb1ki3iLCHbgPpLkiLtdJu28W3NJJnkl4N - UkL8I5Yq6ZZWZZH1PUyWA/f8ut6R9JmVwqRf2EWky+9E+pNeXYkMu0baDO9KpIvOIyMyMI20XCP9 - nj7avppoHkFSO+ZMOqDAsuuUE5sFyehOQ42kRtdltue7emC+qwegkqPOMMekX4ZMr4MqDBUoA3Xp - ZPylKHk5nmrgjlCGvnrM/cDddJe2nlQoz6AEWjwz3bDoo+l2ex5zffxqcVUW2c12R+tsXk0Yrc8q - llwJU475pJ3TMMypCazgzescl1XuJTjuXnqo+3yiIemp4YD5Ph+Y7/MBU2lej3Zql6LxYKR2xoMa - t0Cmz5zrGFnKkAfcgg17bvry7fuJe8yj9nsgsItlmEaVZgY9PuDIaXbgNqR8dn5X3HT689w4jX8d - XEC3RxY4df5xV3S6pQ59EstjdBIZX7eheY/a8pA88FoOb7HOFXl0XXjO9//AfP8PqsWO4gnpriVI - PMPiG3j2xT8tPBFbNUamz9s80FkugxCWUMMZX8czOBGWYz6TdjYxe9UZJqwvg+IHgWkosWAoP6tg - GtKHhVJEbuvj12EQU1sn3WO4p3jNcEhOVh0OIYQ6b+Sd64J0XkPn+4HQHEL0HkiDkxqKOgvRbJAO - h6w7rt7dwQHtjNJBJN0LpLaEQOsLueztVJTa3SGtLod2/xP9cr1Kj2/aFEpN/nuvwMwP3MHcHlyR - 6dJvbQczufWDYDqn6lq4YNHwumEjcu0GTI0m6b5c+3xbEMy3BdExp3kHTYi/+xgNyhshDC0vtIvM - fHsTZLAOzev0LjLLgSWheSWT1rxUIZOofGLNOqjyiQrNPVinHO2vQXZ2JbdoPTqk3LavDyxoBp7U - jN9JqDVzJXmITK3q+Ch4w/1OhVwzSTt2Uxkdgy4w5zVzvheITFaQgZjdpp9gcDKtGX8LLb+z7xIo - Wj1/INO2YnbTWzu8HVjKPHYyTfEy1xdyWasqMu1yzGymG9INKJ8PWMlcc0UbmtH+sItK1uq7Pa2k - lfQeD20PyG+4ZJZ0+p2ONAQpCnWuM/6OQBQkBZ7rNLmDqNxWWtUF6nxDEMw3BGkoONwJ43HLLUWn - XxspoBSW1p1QF6ZRWYITmOp2Ar7PtO8HlqKPPdeJ4qYyfoIF8Rpa5Uhg73Re6KSf+jVINS2aQRqu - 2c7t68Bv1CPUY2Uf0Wh7y8VUcw9UWHnyiExMdVf6c747COa7g6J/0J1ryu1BGlPgqUg2raUOn4YD - +oCaattKNk2r6U6pKf7m+jpOUGqblN6DNFolnpNPvkYNptYCzKzZO5eR47GaOWNyF1rhMoiuNQBh - 5IlhGSPdHizn+4Ngvj9oaoaM9s0YqCsFn266UQbq8ZO+IZS9Je7bgT0TZAyKICg+Xc2MkImhl2YF - cqy+OP5Z1HfpOuQYryBpYP/E+gA/mvG0yhoWEwUIopfSC7UEYnXvAbvUcr4/COb7g6awNNkrmjPf - MQI59F0Y27yt7DPf+4FdVEo3M770HJVGXg8Zv+iKRKMliZanjVJL6iCJJlhOIvHsZgSJd2BEX5OR - 2Jc3mu8KgvmuoDkQw9Koeuu00DFiBVnXbtuOZKeJ3k/sQdGiQNGqEhMNsWiVZNESi8bjj4ndAllg - eSKzXl4OkOi04VFOQNEKJAo6CJC1l/s+SZxvBYL5ViBrlnL/d9+B9Km/nKJ3dmhQs82ajj6ZNNHu - yIpM6xY1q5L7eQfvcXu7FZheWG6ryyf63cd4LnEoM4XlAl0KZHxC3XGx/X0MUOkVIadSgxEN5kHo - I7BhHDZ0CeR8MxDMNwO56qb6fuxtLogXZRc6TMa0vko2zYQ1FgSXDpvpy/64xranHqzvuIDpaGGt - QBGoCS6dWnhU4/T+iRW8IHJCTvFL8/h3OJK8jM7S8/tqkFEW3wIlL11nhW+qC8Z5jZxvAJqy1o4e - JM/LvI9rX+nY/oja9Zpr5zl8kZpjMXCHsXZ6Yb0TjpcVORFSO7Pf8axfx7djT5sx9NR8W898V88c - efMXNunm7zAky8OiZy3xfl4PdV5Ingtz1HklrhK95tiJFKMXkufGJC8G3Wi4LfZwGN7Gh704rEss - FXjfU/Or5rt25pt2phiMv8pGzntA/GTU7G3LHRzIJnZHzX5NmhQMvSmfGONQX0srNs5WX3Pn0Av5 - iy9UY+jX8rW3kT9So/o335gz35cTKPeHdPmBsM2qwvjrcrIIaMX/vPKKAPPRyaG6YvcBt7dbWAwk - WAyqxeI9LzCohelhoF0gV9LWyshCYhCK6N1YeBIthvHaMUl0YgywKDo3bEI6UNdMFzXflzPflhOC - bIK4xaS/kE+XWi7IJojQjJj7CtPS2CKQGhlydeNBI/sqK/YDD3OGgl8s68sJUiFDUyHvUlm6Hjbq - PCvnDVpSyfUxYPYW30Yf63LzLnmcb8eZ78YBpYuZvY+iS1fUKizg5RV1RPqB27/42ycZJoNqX750 - Wuz9yINGbu+5quFVtLA2sfhm7DiNKT7U+rWm7/SqtQsZ5NVLfnoNp8sPGFBM6xSw+0Af5NWLmO5i - jGYzNAB7Ejpqvk9nvk0npYIG7qnNhUy6vXLhUGyudLtVp7Oc4nhPDcoWHR4GNbx6Ub295RpUz0FN - 78UeQL03XDWd60StuRJ31elkyadhfIIa9C4xFUZoHuUQhJsZxyDK0lzX7EA137XzSNMOZWvUQ2ia - xR8uCLmSAg715so/EPtE4UO5cQIAqlr4GS1F20Z0e9MVo0C8nSxdLRzLee+KabqQ4InHdDJHVNzT - QGnf2R7ghioqRsx7JHMw86jme3QeaNEBfyjvebXhFtJES8KLSj3HXkIJ9FCxpFeHJh2wVbnGREi+ - HXlwN69vuoay6nnc3o4pn6kqJu9iGZ8msfQcS9DXsp7rA8zuhm6PwLfj0rtBLOfbHua7HlJhUBiw - 5i5XnSWrdZhMgLpS3TOKIwHt0qBytjiyNDjKGl7AA5Q4B2V8GgkoUUAZf0ysIzw9h0OJuIxZ89S8 - wOsrtBL1FaIuUltjWX2Fuutufjhxs94vf/v6xjlL32oU680R0UEhQ3sWdWeOiFR33nxNblUJSzdX - 5uPDjQgo4CFn5EXKiDU9eDsEpIp+tC0TV9/nJLpIGeWZghuQubjcA8uhu7tlFh9OXKr39jy+QQ79 - sf6G/hy6EUTiJJEyReQdD3S85hR6IyiEQQqDzVpcYajJ8TAcvbzKqetytTN3r3I+nLhUbwRDX8/i - 6xqQ7nJzE8oo3LXLKvq00kZtk2bbwwNFkfuBB1/SizmWXiilu6eUHss8ahcye/sdIxtF4JGDuT2Y - XTIyMp0d7GMIgI4LpGhjQB58W8NabbS9v+Tkw4l79d5cHl8rsOiF0GtZcubaiaBeCLcDu+orhD66 - SX1M5/BUkHPcTDs5dsBZVg7pYLA30Vt7wFA0J+a7xZpEwMBJvJsG+nDiNr03J9H6qjBnvPZRBVmY - 69q5897ix+3ALhCFINpJ19EJOXRCDq2UQ6dY66Ed9RY9KRJ2Gg3XQyJBITEK/f3m7Q8n7st7ewof - 1cPDoD/b7lToF0TT7TBaIYh2UhDjOYxDK/xFq3crvNfhMrNsYdAsO++qi+4MIiget5DhemiCqgNp - HfDuXfeHE7fivTmJJlTp6kE9TF12eKgFb+e/fVfkUk7sAlEIopkURCtr0Cyyy20TrvrX7lJwg63Y - PkYp3CwDIt/spA3rJ4QYT9fZxugf9mE4L4j0TQXR1GMhhwPolN2TVT/GVhI7HEHvJ3b1bglBNJOC - aIQgGsdr0IwURCME0YxG0DZ49IxEkmtCNfJqSKOxFkQD91u3Ppy4+u7NSdRhfgJvqzfGNOf4TfbG - 3KRQqKGeVEMj1dCIbKKW/qEB3kCo7eDAchcdt8AwVEasezBi30PQrJ7C3V+o/OHETXcjFK7xDbsW - dJzB8jTKi+Nt+hGjlpfVqWv9kdDFybofbR8LXRyr+rFqb/vXvD1GC33Uk/qohT5qx1usRX5R8+hZ - wyCVNjqDyMURvBdDp3geR3Nv0UR17MHyrG13I1iSO4yUfLWGwuVltZB+cXBo26JmCUXvzKnjWrFH - RqaUAw+3glQN211fR4nFYvERE8MoKDqHNyamiNiapHZqoZ00Glwbqhd9N024MWI4hWGXMb0m/Kz1 - d0OU4vH2Ory27iFx6qM1SiOoFBzmmD8cc8sRvfRwzM1m9OY3tsGKcgqVkbBiC1Z/7wKbhISScDFJ - aCgJD5NGQ24TuSGGJ5LnsY7ldzSaTQawCroSkGetwRuBE+1h7CmYV+H0GU51iS8XDoNP09i5adue - LqAP89HUvNu5n1fmTu1kbu+5IlPKKDZl9C6ZGOSgfRLaiSIMJ3FLg6PSmYZKAmPTcKfTil22XrNb - GoCuIHy+D5YvwhtCU3f3PVAu4YU8TTbISQHYFs0+LmPccKjgRdMuNe+bF72feLg9xOJjXl9HYNkU - zHub6OPPUUw6dWwE73HSKXc6cVQvKcohN+cmiGX0tupPXGdP1XNOreuB8rTFd0NQqmoH4n0q1wm8 - aciSpLI9Jrr/DkcW7aJqXSb2X+Gwil3akSzVuGsVWhDjK8C1VpL4e0jKMQGIfHTk9joVk/z+Bla3 - ZQRKgzwS8t4EljcHEpOh84C2Mr08/oy6qJwfGRBmpRL00YrfKLRIGz+yGw+yMQeoacNdVw4zBgru - 0CQGplm26/oWk+wn7mb8KoD5TbMQHbRkE5tsYpmuv8ZT13n4bi+R1NfcOXtcoZP40HLgo/m21x1Z - /IDe8Gw6omWKCQZ4DlM57ZmP6Xt8zNPW3Q3RqUoteNd+EptHJ9OxF6dZvNu3+CG7SodWnKYh77Pj - +4FXNN2+KDSI7SSB9+H4xvDdUO0mKWvF8viKaxsO76mNj2KDVcLVZl/LyFlzgx9d4qSVYdlMD0hi - 0511Ui2r6x2Au6sePpy4524ER5uXT9c43llzZ1KPg/aHWT/NHkbok8qwwCFrZJu3jgBdPJYTd7/S - 7VJpihCueXZRSm4ayUy0Zb+y22fo59h7u3IUI6gcm59veFuD5XGOHl4HaomF4NZ5hiMFzafzmVDv - HonRH3Xp41lb7oYSRIsokry/5C65S7LnJgYWjXl9rjfO0U6WBVXfV8FRuy513M/bDbc3xatcHCuT - xOX6tes70cc+RQxYBpTv25swb/DcvMq8r7EKvtkN+PrIKvTePczrl8cK08B7YPeO2lo+hSUyxx1K - WzuUac9dl0aeteduyGQvZsxk526WAIcoZzENJn2XRub2GKmR9Tc2WplRDqxWNZWdYrlWuXInxXZv - yJu3ZbNNHiOxmdzFX1US8ibwV9aBro8rzmR+bGW59+z69cuDShk8cyWjI+mZK0lGy8pdVYXfQE73 - VKqdtuxuhEt16E80t7nUef5JXf/9l23Z8AMbvVNX33Fvsmtt9MY+Z3I/sWxzoF0u13XHhUwl9oyo - 5bpkme1psrtcpmC3rE7WZXWyyFauj9vJXB9byIxfdmx5shk04hqqVbXvV9RYtjKaeeFUhjoEj1FR - l2Ketd9ujMyy/7VLMSkl1vRh4MC6Vv1AJp9Ufqv3GqRkxhNbq0G7ydxOLG6lLWCSWOlNyMHEcAAz - 6lO10lvbHcyyQTn+23MutWVcEnAu2fCgdcP9CJcOgOXQlSPem5h/WOz2ka2a931YnrXXbgxLNCNY - osrD5bW8eYznNPq5wfdNyw+LOxQVqebSRepzL/cD9+C7ghKJQ4nAoYQGlPl++YoTFSixMImaM0mc - SeRIIpdKGFvWQCp4VuWrNHneLuvEuob4d8mS6L4vXXnWHrsxKKF3BvSarfR5RfFhBnR9TgUl2R4o - U8CsZTlRPLGVRdddOxzKibsVx8qI7+7k9ZWEEYfjskWdi3OuSKV/X3GqjDhYYcQhMDBBGHHwD5Fp - crl5RSZ6EoW/Asz4g6p3MDnsisTP2mI3CKYIxW+lhnwCk1LgKENxVaWYarV0nWCiaoDZCMYBu+Sy - nLiDWXMpsBRqqY5q6chWVFKhskCpgmCSOJMCSWRIpnuYoTtw61lvTjK1oodWZIdAs820YKlLLM9a - YDfGpJJrwV6rz9h+4dmE+0N9Rn1zOR7zuKiM8m6n/tYKlDb0eZb7ifutIxQod+quL+QFlccEkXGm - onKHUrmKSs/mDQQJKWNUOQ6p4ro5uNUhxnPKc0iR3z+q7E0xSIFtYNKqSzjPWl43CKnpF85cq6Fo - 8UEOaFHtnLrrvuNpRD9Fimvh7O6hCLyMSFWMGsGoFYweV3tX6aIVsAqmHVIj7LlynEsjuLSPiKe2 - lmun8mLKmtwLBoqvGwn3R6d+OHFf3SCWuh/LkLDUsFho2PNWfTBRlz3XS7RPRyxbdz2mb1nYQTpd - qLDUAkvhZ6pGsihAhWWJflTlZiotseTxjxJu5vXj65fHckUGSCPn0iKvIco1w6y0jU2zikF8Tz/F - aQvrHuPyVgDkL0pflI9+jizXSHHevEmPP+XQ4LIxfN/wavb7J+7JIqy4FGH5zun1rRzT60C+4lIX - LqnikiSXmnNJgkviXI6l141xGDiX2oiplIbnMCOIbA+O6RpHcNrGukEuB+a1uByYm8WFhl7Op9dT - a42VpRo16ZWr2UulqAVW18WzTA+rF7rDJVGFZYl/VJUtUjK1LpxLkS5S+BCVwYJQSwIxXU0M840Y - Miq16sphnrW+bpDKgdS6TcuZTFi0P+YwyzkzaolG3pC3qeytUN/OO7T5VMhdXwXvIulsB5JCKOk2 - kvAIklajJo6ktN9isJXSjhFJoLuIPGmN3YNE3orJKc/k19GRP95DtpC0qi+DCe14pzEFsHcHLYg9 - duohJvMi7BaUdaIIbkMJp0JpleE3PQpEk64CPjwjFbrVVILruhw/a4vd2+mkT3WWKZKghvVu6+Q9 - ofR54P/Z5pviecx8G+ZVjmNZxzrYhlIoJeAbQuls0FYopVjNrUSkoz1jErtGrZ22zO4xJrGQcAKV - JtxgMjVTXgNmbNz1nMikrjPq34ZJeEMmPTmUQinuH+W4XqUDSwuh7kkLnbXm7jEmjZ1CUgzeaAzo - KFDWn71hqIl6+CO/IHHnEUv5eQNAdqdTTd1ozy543VgrGWvfstbrkTuE64dDK2eNFS6kqrob7XXQ - eQ0h1PVCMfTuY/CcNXcPMvgagpQdSJW6TAxIB/INEMSu1pwGgrecxfsApqffbBpr4XfLLj+Mn0Mr - Uj154ciGn2njB5y/nqD6rFV3bz5X6FHYmmVovUtFVOgeIzQseK8TJ5PeNz3Bx4iL0ZcBPtsvxcjS - 6npxGaMYcdTlCp61x+7tohOX2m6QFlsP5zsDwobggel1+oxpr2s4w+JC2+JK/m55fY/yh8aQl/yF - m14fACvuUdQVHp+1ve5fUfH6blISa/b3oHdvyRuRDVrmCKXeyctntilREfbxNq130y00vxfe+lJ/ - kTfqHhb5r8qbpgDSvqLUNxS8ITHeemg7aaHc7562VkVipy1Vi/Hu/4A3+Jbypp0Vt3LKlsSebgUQ - 6HkA2zUj96xlcf+SwGHfdVtq34P/58ClcnGQCZNiT6kNnOPAdSncSWvgfvfAtSLW2WjhDnD4VhbV - viFxgQKJ8kGwZb6oaxAH+Tus8sRpi/B//va/AAAA//8DAGRVeI083QAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-29/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-09-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-05/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-01-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-11-29/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-30/eod?api_key=MOCK_API_KEY&date=2023-09-15&delay=eod&include_related_symbols=False - response: - body: - string: !!binary | - H4sIAAUAKWcAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:29 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/securities/AAPL/prices?api_key=MOCK_API_KEY&end_date=2023-09-15&end_time=23%3A59%3A59&frequency=daily&source=realtime&start_date=2023-09-15&start_time=00%3A00%3A00&timezone=America%2FNew_York - response: - body: - string: !!binary | - H4sIAAYAKWcAA2ySXW/aMBSG/8rk6xA5H05x7kCdqkkbW4c6UU2TZTlOMBg7c5xCivjvO27CNKpd - vs97fD59Rp23Ys9ap4TsUPnzjCruJSpRitNshuksIShCynjHW+mUrVBZc93JCNVO/u6lEQMEV1zp - AeJsKw0qk7sizucR2qpmOylKIqTtMagsnqcREtp2MkgS4yRCL1b3h6AxTQnNiyTGEeLVjl0zkpjM - EzKya15gtJjYlDyNaUaSEf0tkcdJQkf23zo1F946gEF0rVaeOe6VnUilXlQlDUyOgxRbbhpIMcPx - XRYh2IqQxrN/MMY5TFir2g/MHy07Srm/Nk2LOOzinTl2n2awi8sv6EGK3ikPmz0jBXUDYLzZuWYH - Sxb20HIzsDcHBFttiofXr+CMt5SnsZcxoDs1zL5+cTTc52oBXy3W94tHYIaHhaBF22r54ZMRbxWq - gD4+roPonZvO/LS+B+CV2EsXniy+fZ76sZ3ykt045VN4XatGAVguHzDGS/pMNunNk3f+5vtzHgbZ - cifhgLzrbiKSNVnNf8whAj7sgbuBadV5ZRpUetfLC0wjT561PIxoeq0vfwAAAP//AwDK5YGL4QIA - AA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 04 Nov 2024 17:10:30 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_unusual_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_unusual_fetcher_urllib3_v2.yaml deleted file mode 100644 index fb9032b9b59..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_unusual_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,39 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/unusual_activity/intraday?activity_type=block&api_key=MOCK_API_KEY&end_date=2023-11-21&minimum_total_value=10000000&page_size=1000&sentiment=neutral&source=delayed&start_date=2023-11-20 - response: - body: - string: !!binary | - H4sIAGI7fWYAA8zU3U7CMBQA4Hfp9Wj6s7PT7tYXMNFEozFLGQ1ZKN2yHwIS3t0OMVHYAI0X7K5n - p6dnX9ttSVubmW1I+rolzWY5LR1JycP98xOJSFssbdOaZRVCggk54Xwi2COHNIaUAVUSX/q0TWVD - xtSV+aIflq1x2cq4LkR5whBRq69wU7z3UcYiYla2NnObVXWRHzIphsS89KGnvD30kWUiZoInd0xo - YOEJS5hmkZk2s2ubd21R+v1sTTEi02J2+gZoEpHG+v57fF/X2y4s4UKlzs9s7TaFn3/2cTSZUbaL - fgPDdSqBcuCXYETCpMbe4QcMDMBgqKhHYCSHAKMEjMKgVFQNwqCUVN8ejFQxS05OzBAMKE3lWRiN - 4zCg+QgMKKTs/2DOu2DKJA1bcdEFJFcA4gqXJPSvj1my7+flDEuiEyqGLxJqCjfHgsA1u4pFybj/ - EYyz4JlrpGLRmw6wKLEH+zPLWxTy121WhV5J6jvndh8AAAD//wMAhrSB85YFAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:54 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_price_target_consensus_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_price_target_consensus_fetcher_urllib3_v2.yaml deleted file mode 100644 index 8396352594e..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_price_target_consensus_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,38 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/zacks/target_price_consensuses?api_key=MOCK_API_KEY&identifier=AAPL&page_size=10000 - response: - body: - string: !!binary | - H4sIAHo7fWYAA1yQX0vDMBTFv8q4z11J/1ht3qboHM6tiMOBSIjppQtrk5Kk6hz77ks2RTBPueeX - nHvu3YPjpkHHeiMFMqGVRWUHixbo6x6cFFs0QGEyqeYQgdBdz9WOKd5hUKtqfjuaLW48kqoerDM7 - 1hg99EwN3fvpZ1KWnm5kswGaXl7EJIJWfwJNijzcO+TKgySJ8zyJwDquam5qVuOH5E7qAIs4J0UE - TjveAs38s05bxwwKVI7V3IUsKUnzMSnGaQ7BtZZnXxKaGC4t1kDV0Lan9mj+yp+ZgO5BejHUbLEu - pt9Lb/R/Ab+D932Lo5kSsddalF66f1lVD0/ksVquru6m6+vnrAxJhNx6SPzJUpKUGRwOb94Gv/zK - eYPnEIcjAAAA//8DANXI/92HAQAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:18 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_reported_financials_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_reported_financials_fetcher_urllib3_v2.yaml deleted file mode 100644 index e457a71133b..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_reported_financials_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,129 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/fundamentals?api_key=MOCK_API_KEY&page_size=10000&reported_only=true&statement_code=cash_flow_statement - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/fundamentals/fun_PQ0RrV/reported_financials?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHM7fWYAA7SYW3PaOBSA/4rHz5DxldsbaZJuZtNACWm7u7PDCPs4aGJkV5JpaCb/vUcCG5MY - to7ZzqSAdCSfT+dqPZsc0oRLCGcRZYQFlMTCHPzzbD7NeTyT5MEcPJv6w7wFec2CZAk3iRBmy2Rk - CZthg+pxHJuTGDdRwwGHkEocyhh+DMxMhPiDzIXkJMCBCB8ELVPA9wz0CrtlhpDKhTlwXlrmisQZ - Dvpd33cs/e/MQgG6BCZowlBHlsXxS6tK0QtIOSCJREH8HoP6MmThcImk9Kce3+lfljYICw2yL7ZD - CmFei8gpiNwSUafn1QW6WxAO50RA+CFZprjgFYKeb8+VgBGUJAx4Ut+hEYVbSdHv2HUpRnIB/DZh - ARGLjSNdFuptQbRIMzfyqtS1+93a6qKKHPBIL2Dzec2GQZBkTIoJBEBXZB6XNM/nDF5MtgwGshmM - X8B4O5h2t+t0m9Pos96hlCL6C7Aw4QZLWBsVC6HEJJrxdCp5bMfu1I6Jt0DXbAVMJpyWWfYHG6je - rVTdd09kiFEKHGOWPQyFAClehYQRZJwjh85Pyi7F71y6AVmviszz3N7pImZM1gfCJS1m3p+h+tVe - 1clj/oTWuaFkTmMq93zsuInivSXvp7StSkzXc2snAyzZHzAJj3myoiGE5+t7rByIWvhgIOnqFaRa - YDwAUyJYZuZrI8nFDVKWLwjV82vgVdb/juP3/Lp46G0oJsU0GQbfM8phuCI0Vm52lfA7EsMdoHG0 - vhcwlzvGccaDBVpdGElkLAl/BKlWGaKQb9jiOFWMjm95tXsctF0AEIorniw/EblVb4zd3BYe+50P - JI7FKDpMXyLfbmdEuB+i5xv+3kHUdmW38hy6XqfROSi4Y7ivjL2HLFDy/6L1qmg9165d8944NjJg - EMr1GHWTaPFLHE2VSAlzu8aIsKQTtUxQ3Rsia7pd3jJStYFOXVDaoomr+9XQvdpVJQdAc5aNrZOu - qu7iUMY6QTNpd6oouk7/RBn3qP5vMy7NxQ9k3Pqu2a3iszt27ZKSW2kCsdJ2mkzJ01cqF4skDlFh - FYv/8RKz56iSPIHqpfVmhkxUK20ItQNGpZQxKFHlwspd5dogPwgPm2bnXmVW6nXfXYBG0QVV9mah - OMAZ5vM69vJfmgqfr8QaMvUrHdh3382ElpxAui2UowhtuUzYnUyCxx3iTkCn1EDLGGIr1ADHsaqz - iuvVz6WlXHItRKZUGkU3CXuYAl8eKxV0K63QJMoaGHXyzcteufvZfD/GVdn81KCZFHX/EMNOYk/v - hvaobGhc26/deJfNUYZR/gVcXUuNSarTeSVPUIjhGwXKvX33rn15U9mjtN1+r1GPUgojXZ+uNrdu - v1vBalNU9h5t260NcaCCHdVfV7BM3UpRZkS55KmKl1PZYrQ7tmXXbjKUpurvcpd4J1hqOQ2w/qgJ - bK72B0qSY+A0Cd++OgZxpmrf5ROmQvYAE6xll1EEQSkq80XqgNS9WEv/X87/ujDw4tF6vtmx7Xoa - uxyz9a8lN5d4U1Wqx4SGtyBfmT7FUV3mNvfDm6p+gmsxp7pt8Xz32C3fvy0zylhIVPyRWGHQEJ+G - Y7PxZ2vCv+BDhUQjKYFZkIRaN+SYRXHyY1ZMoVhERUDi2RoIV0VJRdl2KNW+gAs/O39NL1BUrlO1 - T37NvnkGl7MQd8NxXOy2batt2TiDpb807rUtt+1a+nEx+tH+lN+2nKnjDCwPA+EMmf9GQSpmqmMS - eGiSZ3hmWaoWvdq107adqe0NPHvgWWfdnq+WqntjwtbFseDv2e23zsefIwVBg0fMRANzOBzflG5x - 0hRfk9ANznAsBopDf3y9H/85sT6NR/e9q4/fzqdu31O700ecVKbBzGP3XfPl5eUXAAAA//8DAJ7W - nNh8GAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:11 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_search_attributes_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_search_attributes_urllib3_v2.yaml deleted file mode 100644 index 6ea81cfff6b..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_search_attributes_urllib3_v2.yaml +++ /dev/null @@ -1,48 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/data_tags/search?api_key=MOCK_API_KEY&page_size=1000&query=ebit - response: - body: - string: !!binary | - H4sIAGg7fWYAA9SYa0/bMBSG/0qUT6AxAVVB0G9liSagKxcxSDtNlZOcGrPETm2nlyD++5xek7Qd - mdQm7Uf7xI4f+/Vr+7zrEmGh136968TVa3Gp08Qt3rT0I50iH1SdiTglFAvNhi7joF1TCRyE1BB1 - tSc0BKEdmFfXT4eqiWqvWoBNpCoIiST4QGXHYW7ck4M8J/SQJIyKVFyOgjjeJRRRhyBPBQPEVUSv - 0dDz1KfQC4E6MCt3kSMZn5Vs5KFEcNqbD5ITR3UVUjWcmh4KV/84SoBWoj59jMoAJdQNhRpdUaQv - o1NjkCRVFNrD8YP2nbOBfE3x9FgPz2rLBpsPZAoWAHdUlwhDmu82OjOGVgF8m1VoXrxn66VJ8QLP - AFtqkmkxplGf07mqWrKY0UU7sHiCeX3VZrTg63oMyTSagSt1b7R1tM2uWy4yho1eP6vJFXrcNzFW - ossf51kv2ShXSSbSxPeDRkKKDUbx1yfgvrZGlJ7cxx2ndHlHi8UsYfepxWw0cEalPxDHhKZU6s+q - yl67gLMukcgmHpGjz8VqRKy95C4b5dvsov0nnonrdxcZkzHqq2zGRftmoCau3rS3zlaaibYGlQRc - E+Q6X6Gwl/6ppNm6wUURlmCdJyP7/sJa0uea67SL9vHBwPEJui2KsRybca27qrtsMyvOCBft6Smh - 3kWc4m0jlnvQX1qoBUmlxkmJgBMB2jPyQpjZjnZgPh9nshP9ifPsAHRfDXX8swWwH3qSBF72dYGv - 2EXxuJuVcW5aO+oFS3kLRTjPPJnDAKiAlJYlI9MwDHdgaR3WBx7L9l9nSjXib0b20bht0M0uai5O - 5Ui3NEfu9GiSTzxSN4eAgxpjDDHOM9Z9xiWJJhUHE0c7zHjZDqz6pynHXmTWz3MkV4ufiYKzzE3r - /M9bVvoNEEL7hgJz+Oku8NSnDgpguI/7/mV0+tjOPsPLgC/BC2yrHVQTiZZ1R5m6scwOs5TA+zv0 - Msp9oj1GPkvlXYqELukUV6Z/c5Jg/klBmR242j0Hn4S+0OpCgJxDhtN4MA27624t03F1xCuA7MzD - edF1yaTqIf73eLrmc3B6tpgB/YuemAB9NpZpt+kRrPS634pb7c9OEO+H8Qx+/AUAAP//AwBIw/g6 - VhwAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:00 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_share_statistics_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_share_statistics_fetcher_urllib3_v2.yaml deleted file mode 100644 index 139f6972858..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_share_statistics_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,95 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/weightedavebasicdilutedsharesos/number?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHA7fWYAAzI0NTY2MbAwMjAw0DMAAAAA//8DAB00zBcNAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:08 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/public_float/number?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHA7fWYAAzIytTQ0NDM1AAM9AwAAAAD//wMAWSojCg8AAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:08 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/adjweightedavebasicdilutedsharesos/number?api_key=MOCK_API_KEY - response: - body: - string: !!binary | - H4sIAHA7fWYAAzI0NTY2MbAwMjAw0DMAAAAA//8DAB00zBcNAAAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:08 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_world_news_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_world_news_fetcher_urllib3_v2.yaml deleted file mode 100644 index 29387efa78f..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_world_news_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,362 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/news?api_key=MOCK_API_KEY&end_date=2024-01-03&page_size=50&specific_source=yahoo&start_date=2024-01-02 - response: - body: - string: !!binary | - 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 - AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:48 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/companies/news?api_key=MOCK_API_KEY&end_date=2024-01-03&next_page=MjAyNC0wMS0wMlQyMzowMDoyMC4wMDAwMDArMDAwMHw4NzMzMjUw&page_size=50&specific_source=yahoo&start_date=2024-01-02 - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:13:49 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py deleted file mode 100644 index a10769baafa..00000000000 --- a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py +++ /dev/null @@ -1,547 +0,0 @@ -"""Test Intrinio fetchers.""" - -from datetime import date -from unittest import mock - -import pytest -from openbb_core.app.service.user_service import UserService -from openbb_intrinio.models.balance_sheet import IntrinioBalanceSheetFetcher -from openbb_intrinio.models.calendar_ipo import IntrinioCalendarIpoFetcher -from openbb_intrinio.models.cash_flow import IntrinioCashFlowStatementFetcher -from openbb_intrinio.models.company_filings import IntrinioCompanyFilingsFetcher -from openbb_intrinio.models.company_news import IntrinioCompanyNewsFetcher -from openbb_intrinio.models.currency_pairs import IntrinioCurrencyPairsFetcher -from openbb_intrinio.models.equity_historical import IntrinioEquityHistoricalFetcher -from openbb_intrinio.models.equity_info import IntrinioEquityInfoFetcher -from openbb_intrinio.models.equity_quote import IntrinioEquityQuoteFetcher -from openbb_intrinio.models.equity_search import IntrinioEquitySearchFetcher -from openbb_intrinio.models.etf_holdings import IntrinioEtfHoldingsFetcher -from openbb_intrinio.models.etf_info import IntrinioEtfInfoFetcher -from openbb_intrinio.models.etf_price_performance import ( - IntrinioEtfPricePerformanceFetcher, -) -from openbb_intrinio.models.etf_search import IntrinioEtfSearchFetcher -from openbb_intrinio.models.financial_ratios import IntrinioFinancialRatiosFetcher -from openbb_intrinio.models.forward_ebitda_estimates import ( - IntrinioForwardEbitdaEstimatesFetcher, -) -from openbb_intrinio.models.forward_eps_estimates import ( - IntrinioForwardEpsEstimatesFetcher, -) -from openbb_intrinio.models.forward_pe_estimates import ( - IntrinioForwardPeEstimatesFetcher, -) -from openbb_intrinio.models.forward_sales_estimates import ( - IntrinioForwardSalesEstimatesFetcher, -) -from openbb_intrinio.models.fred_series import IntrinioFredSeriesFetcher -from openbb_intrinio.models.historical_attributes import ( - IntrinioHistoricalAttributesFetcher, -) -from openbb_intrinio.models.historical_dividends import ( - IntrinioHistoricalDividendsFetcher, -) -from openbb_intrinio.models.historical_market_cap import ( - IntrinioHistoricalMarketCapFetcher, -) -from openbb_intrinio.models.income_statement import IntrinioIncomeStatementFetcher -from openbb_intrinio.models.index_historical import IntrinioIndexHistoricalFetcher -from openbb_intrinio.models.insider_trading import IntrinioInsiderTradingFetcher - -# from openbb_intrinio.models.institutional_ownership import ( -# IntrinioInstitutionalOwnershipFetcher, -# ) -from openbb_intrinio.models.key_metrics import IntrinioKeyMetricsFetcher -from openbb_intrinio.models.latest_attributes import IntrinioLatestAttributesFetcher -from openbb_intrinio.models.market_snapshots import IntrinioMarketSnapshotsFetcher -from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher -from openbb_intrinio.models.options_snapshots import IntrinioOptionsSnapshotsFetcher -from openbb_intrinio.models.options_unusual import IntrinioOptionsUnusualFetcher -from openbb_intrinio.models.price_target_consensus import ( - IntrinioPriceTargetConsensusFetcher, -) -from openbb_intrinio.models.reported_financials import IntrinioReportedFinancialsFetcher -from openbb_intrinio.models.search_attributes import ( - IntrinioSearchAttributesFetcher, -) -from openbb_intrinio.models.share_statistics import IntrinioShareStatisticsFetcher -from openbb_intrinio.models.world_news import IntrinioWorldNewsFetcher - -test_credentials = UserService().default_user_settings.credentials.model_dump( - mode="json" -) - - -@pytest.fixture(scope="module") -def vcr_config(): - """VCR configuration.""" - return { - "filter_headers": [("User-Agent", None)], - "filter_query_parameters": [ - ("api_key", "MOCK_API_KEY"), - ("X-Amz-Algorithm", "MOCK_X-Amz-Algorithm"), - ("X-Amz-Credential", "MOCK_X-Amz-Credential"), - ("X-Amz-Date", "MOCK_X-Amz-Date"), - ("X-Amz-Expires", "MOCK_X-Amz-Expires"), - ("X-Amz-SignedHeaders", "MOCK_X-Amz-SignedHeaders"), - ("X-Amz-Signature", "MOCK_X-Amz-Signature"), - ], - } - - -@pytest.fixture(autouse=True, scope="module") -def mock_cpu_count(): - """Mock the cpu_count function so recording works.""" - with mock.patch( - "os.cpu_count" - ) as mock_cpu_count: # pylint: disable=redefined-outer-name - mock_cpu_count.return_value = -3 - yield - - -@pytest.mark.record_http -def test_intrinio_equity_historical_fetcher(credentials=test_credentials): - """Test equity historical fetcher.""" - params = { - "symbol": "AAPL", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 1, 10), - "interval": "1d", - } - - fetcher = IntrinioEquityHistoricalFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_currency_pairs_fetcher(credentials=test_credentials): - """Test currency pairs fetcher.""" - params = {} - - fetcher = IntrinioCurrencyPairsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_company_news_fetcher(credentials=test_credentials): - """Test company news fetcher.""" - params = { - "symbol": "AAPL", - "limit": 50, - "source": "yahoo", - "start_date": date(2024, 1, 2), - "end_date": date(2024, 1, 3), - } - - fetcher = IntrinioCompanyNewsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_world_news_fetcher(credentials=test_credentials): - """Test world news fetcher.""" - params = { - "limit": 50, - "source": "yahoo", - "start_date": date(2024, 1, 2), - "end_date": date(2024, 1, 3), - } - - fetcher = IntrinioWorldNewsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_equity_quote_fetcher(credentials=test_credentials): - """Test equity quote fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioEquityQuoteFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_options_chains_fetcher(credentials=test_credentials): - """Test options chains fetcher.""" - - params = {"symbol": "AAPL", "date": date(2023, 9, 15), "delay": "eod"} - - fetcher = IntrinioOptionsChainsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_options_unusual_fetcher(credentials=test_credentials): - """Test options unusual fetcher.""" - params = { - "source": "delayed", - "trade_type": "block", - "sentiment": "neutral", - "start_date": date(2023, 11, 20), - "min_value": 10000000, - } - - fetcher = IntrinioOptionsUnusualFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_balance_sheet_fetcher(credentials=test_credentials): - """Test balance sheet fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioBalanceSheetFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_cash_flow_statement_fetcher(credentials=test_credentials): - """Test cash flow statement fetcher.""" - params = {"symbol": "AAPL"} - fetcher = IntrinioCashFlowStatementFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_income_statement_fetcher(credentials=test_credentials): - """Test income statement fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioIncomeStatementFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_fred_series_fetcher(credentials=test_credentials): - """Test fred series fetcher.""" - params = { - "symbol": "$GDP", - "start_date": date(2022, 9, 20), - "end_date": date(2023, 9, 20), - } - - fetcher = IntrinioFredSeriesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_calendar_ipo_fetcher(credentials=test_credentials): - """Test calendar IPO fetcher.""" - params = {"status": "upcoming"} - - fetcher = IntrinioCalendarIpoFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_search_attributes(credentials=test_credentials): - """Test search attributes fetcher.""" - params = {"query": "ebit"} - - fetcher = IntrinioSearchAttributesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_historical_attributes(credentials=test_credentials): - """Test historical attributes fetcher.""" - params = { - "provider": "intrinio", - "symbol": "AAPL,MSFT", - "tag": "ebit,marketcap", - "frequency": "yearly", - "limit": 1000, - "tag_type": None, - "start_date": date(2013, 1, 1), - "end_date": date(2023, 1, 1), - "sort": "desc", - } - - fetcher = IntrinioHistoricalAttributesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_latest_attributes(credentials=test_credentials): - """Test latest attributes fetcher.""" - params = { - "provider": "intrinio", - "symbol": "AAPL,MSFT", - "tag": "ceo,marketcap", - } - - fetcher = IntrinioLatestAttributesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_equity_info_fetcher(credentials=test_credentials): - """Test equity info fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioEquityInfoFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_index_historical_fetcher(credentials=test_credentials): - """Test index historical fetcher.""" - params = { - "symbol": "DJI", - "start_date": date(2024, 1, 1), - "end_date": date(2024, 2, 5), - } - - fetcher = IntrinioIndexHistoricalFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_historical_dividends_fetcher(credentials=test_credentials): - """Test historical dividends fetcher.""" - params = { - "symbol": "AAPL", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 6, 6), - } - - fetcher = IntrinioHistoricalDividendsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_company_filings_fetcher(credentials=test_credentials): - """Test company filings fetcher.""" - params = { - "symbol": "AAPL", - "form_type": None, - "limit": 100, - "start_date": date(2023, 1, 1), - "end_date": date(2023, 6, 6), - } - - fetcher = IntrinioCompanyFilingsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_insider_trading_fetcher(credentials=test_credentials): - """Test insider trading fetcher.""" - params = { - "symbol": "AAPL", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 6, 6), - } - - fetcher = IntrinioInsiderTradingFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -# Disabled due to unreliable Intrinio endpoint -# @pytest.mark.record_http -# def test_intrinio_institutional_ownership_fetcher(credentials=test_credentials): -# params = {"symbol": "AAPL"} - -# fetcher = IntrinioInstitutionalOwnershipFetcher() -# result = fetcher.test(params, credentials) -# assert result is None - - -@pytest.mark.record_http -def test_intrinio_key_metrics_fetcher(credentials=test_credentials): - """Test key metrics fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioKeyMetricsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_share_statistics_fetcher(credentials=test_credentials): - """Test share statistics fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioShareStatisticsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_equity_search_fetcher(credentials=test_credentials): - """Test equity search fetcher.""" - params = {"query": "gold", "limit": 100} - - fetcher = IntrinioEquitySearchFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_financial_ratios_fetcher(credentials=test_credentials): - """Test financial ratios fetcher.""" - params = {"symbol": "AAPL", "period": "annual", "limit": 2, "use_cache": False} - - fetcher = IntrinioFinancialRatiosFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_reported_financials_fetcher(credentials=test_credentials): - """Test reported financials fetcher.""" - params = { - "symbol": "AAPL", - "statement_type": "cash", - "period": "quarter", - "limit": 1, - } - - fetcher = IntrinioReportedFinancialsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_etf_search_fetcher(credentials=test_credentials): - """Test etf search fetcher.""" - params = {"query": "factor", "exchange": "bats"} - - fetcher = IntrinioEtfSearchFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_etf_info_fetcher(credentials=test_credentials): - """Test etf info fetcher.""" - params = {"symbol": "DJIA,SPY,GOVT"} - - fetcher = IntrinioEtfInfoFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_etf_holdings_fetcher(credentials=test_credentials): - """Test etf holdings fetcher.""" - params = {"symbol": "DJIA"} - - fetcher = IntrinioEtfHoldingsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_etf_price_performance_fetcher(credentials=test_credentials): - """Test etf price performance fetcher.""" - params = {"symbol": "SPY:US"} - - fetcher = IntrinioEtfPricePerformanceFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_market_snapshots_fetcher(credentials=test_credentials): - """Test market snapshots fetcher.""" - params = {"date": date(2022, 6, 30)} - - fetcher = IntrinioMarketSnapshotsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_forward_eps_estimates_fetcher(credentials=test_credentials): - """Test forward EPS estimates fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioForwardEpsEstimatesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_forward_sales_estimates_fetcher(credentials=test_credentials): - """Test forward sales estimates fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioForwardSalesEstimatesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_price_target_consensus_fetcher(credentials=test_credentials): - """Test price target consensus fetcher.""" - params = {"symbol": "AAPL"} - - fetcher = IntrinioPriceTargetConsensusFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_forward_pe_fetcher(credentials=test_credentials): - """Test forward pe fetcher.""" - params = {"symbol": "AAPL,MSFT"} - - fetcher = IntrinioForwardPeEstimatesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_forward_ebitda_fetcher(credentials=test_credentials): - """Test forward ebitda fetcher.""" - params = {"symbol": "AAPL,MSFT"} - - fetcher = IntrinioForwardEbitdaEstimatesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.skip(reason="HTTP request is too large and unreasonable to store.") -def test_intrinio_options_snapshots(credentials=test_credentials): - """Test options snapshots fetcher.""" - params = {"date": "2024-06-11"} - - fetcher = IntrinioOptionsSnapshotsFetcher() - result = fetcher.test(params, credentials) - assert result is None - - -@pytest.mark.record_http -def test_intrinio_historical_market_cap(credentials=test_credentials): - """Test options snapshots fetcher.""" - params = { - "symbol": "AAPL,MSFT", - "start_date": date(2020, 1, 1), - "end_date": date(2020, 12, 31), - "interval": "week", - } - - fetcher = IntrinioHistoricalMarketCapFetcher() - result = fetcher.test(params, credentials) - assert result is None