A Hybrid Model for Stock Price Forecasting Integrating XGBoost and LSTM with Financial Indicators | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article A Hybrid Model for Stock Price Forecasting Integrating XGBoost and LSTM with Financial Indicators Shivendra Dubey, Rahul Sharma, Sachin Malviya, Sakshi Dubey This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-7396543/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract This study introduces a strong hybrid ML architecture capable of forecasting stock movements in both short-term and multi-day scenarios. To overcome the difficulties of volatility, non-linearity, and time-dependence in stock markets, this study suggests a hybrid stock price prediction model that combines XGBoost and LSTM. XGBoost uses benchmark trends and structured financial data to predict the closing price for the following day, while LSTM captures long-term patterns for 22-day trend forecasting. Data is automatically retrieved from Yahoo Finance using a ticker-based system mapped through a custom CSV containing over 1,600 Indian stocks. Key features like Open, High, Low, Close, Volume, and index prices are used, alongside calculated financial ratios such as Beta, Sharpe Ratio, EPS, and P/E Ratio. Experimentation showed strong performance XGBoost achieved an R² above 0.99 and 98.25% directional accuracy, while LSTM yielded an RMSE of ₹37.71 and R² of 0.9762. The model successfully identifies short term trends and volatility bands, outperforming traditional methods like ARIMA and Linear Regression, offering a scalable, accurate solution for real-time stock forecasting in Indian equity markets. Stock Price Forecasting XGBoost LSTM Hybrid Machine Learning Model Indian Stock Market Tata Motors Time Series Prediction Financial Ratios Figures Figure 1 Figure 2 Figure 3 Figure 4 1. Introduction In today's highly uncertain financial world, stock price prediction is an important but very complicated activity for investors, analysts, and financial institutions. Reliable forecasts enable better risk management, investment risk reduction, and best capital allocation strategy. But stock price behavior is driven by an incredibly large number of variables such as firm-specific behavior, macro fundamentals, investor sentiment, geopolitical factors, and world financial market trends. This inherent dynamic and interdependence of financial markets pose a basic challenge to conventional forecasting models that cannot identify nonlinear dynamics and temporal correlation patterns in stock market behavior [ 9 ]. As machine learning (ML) and deep learning (DL) technologies mature, data science breakthroughs offer new methods to improve forecasting accuracy using data-driven techniques instead of conventional statistical ones. [ 1 ] [ 9 ]. Long Short-Term Memory (LSTM) networks and eXtreme Gradient Boosting (XGBoost) are two powerful modelling approaches that are combined in this paper to create a hybrid model. XGBoost is proven to perform exceptionally well with structured data and infer feature importance with significant accuracy [ 1 ] [ 2 ] and therefore is highly appropriate for the analysis of monetary indicators such as P/E ratio, EPS, Sharpe Ratio, and Beta. However, by identifying long-range dependencies in sequential data, LSTM, a recurrent neural network, excels at time-series modelling[ 10 ] [ 4 ]. In combining the two models, the proposed system utilizes the strength of both structured feature analysis and temporal pattern detection. The two-model system attempts to address the limitation of single-model forecasting solutions and produce more accurate and actionable predictions [ 2 ] [ 4 ] [ 7 ]. The context for this study is the Indian market, with its distinct blend of fast growth and developing market volatility. Tata Motors, a specific leader stock on the NSE and a member of the Nifty 50 index, is selected as the case study example. Liquidity of the stock, its exposure to the home and foreign markets, and policy and economic event sensitivity make the stock an extremely appropriate candidate to test model robustness. Using financial information, historical stock prices, and benchmark index information, the hybrid model seeks to offer a comprehensive and accurate short-term short stock price prediction solution. This project not only contributes to the practitioner domain of AI-based financial analysis but also bridges the research gap in hybrid modelling frameworks for Indian equities [ 3 ] [ 4 ] [ 6 ]. 1.1 Background Because it may guide investment decisions, reduce risk, and increase portfolio return, stock price forecasting has long been a central area of research in finance. Forecasting future direction of price is a very difficult task mainly because financial markets are highly dynamic, non-linear, and risky. Conventional statistical techniques like ARIMA and linear regression tend to overlook sudden breaks and long-run correlations of stock price dynamics. Better computer techniques and increased data availability in the financial industry have made machine learning and deep learning models viable alternatives to traditional models. These models have the ability to discover patterns and connections in past data that traditional models might not be able to identify right away. Long Short-Term Memory (LSTM) networks are best suited for time-series modelling with temporal dependency, while XGBoost is especially well-known for its speed and accuracy when processing structured finance data. The hybrid methodology of implementing XGBoost and LSTM allows for both the use of static data like technical indicators and financial ratios and sequential data like historical stock prices. The two-model design can better understand price behaviour and capture both short-term and long-term trends in market movement. Due to the size and intricacy of the Indian stock market, adaptive forecasting models that generalize across companies and industries in the market are highly demanded. Such a need is met by the current research with an automated, scalable, and fault-tolerant system for forecasting that integrates historical market data with leading financial indicators to enhance predictive power. The case study selected—Tata Motors—is a good choice because it has an active trading status, is relevant in the Indian economy, and is responsive to global and domestic drivers. 1.2. Motivation Financial markets have grown more complex and interconnected with asset prices reacting in real time to firm news, macroeconomic news announcements, and geopolitical events. Under such conditions, linear statistical model-based forecasting techniques tend to fall behind non-linear market behaviour and instantaneous regime shifts. Data-driven methods based on machine learning (ML) and deep learning (DL) have the ability to combine massive, fragmented data streams into predictions that can be put into practice. Autonomy of pattern discovery from real-time and historical data can uncover hidden signals that human analysts miss, and consequently enhance decision-making under uncertainty. Stock prices are driven by two complementary categories of drivers: static, cross-sectional characteristics (e.g., financial ratios, risk measures, benchmark index movements) and time-series patterns (e.g., momentum, mean reversion, seasonality). Single-mode ML models like XGBoost excel at processing structured, tabular data feature-ranking and modelling nonlinear interactions but lack native support for sequential dependencies. In contrast, recurrent networks like LSTM networks are masters at learning sequences but offer minimal interpretability of which input variables control their predictions. A hybrid model that marries XGBoost's feature-ranking ability with LSTM's sequence modelling ability can thus deliver accurate and interpretable forecasts.[ 11 ] Financial metrics like the Price-to-Earnings (P/E) ratio, Earnings Per Share (EPS), Beta, as well as Sharpe Ratio capture a company's valuation, profitability, volatility, as well as risk-adjusted returns. In combination with general market direction (e.g., a benchmark index performance), these inputs enable more comprehensive identification of drivers of price. Addition of these fundamentals to a predictive pipeline enables the model to distinguish idiosyncratic movement from market-wide behaviour, making predictions based on both company health and macroeconomic conditions. Such a comprehensive picture is necessary for investors who need not only directionality but also a call on the economic underpinnings of such trends. For active traders, portfolio managers [ 12 ], and risk managers, short-term forecasts on a timescale of days to weeks are essential for determining stop-loss levels, entry and exit points, and position sizes. Hybrid ML-DL models can produce such near-term predictions using static features to estimate value underlying and sequential patterns to predict price momentum. Additionally, addition of risk-adjusted indicators like the Sharpe Ratio to the feature set will enable predictions to include expected returns as well as volatility to enable more comprehensive, risk-sensitive trading strategies.[ 13 ] Sophisticated prediction models are standard at top-tier financial institutions but typically outside the technical reach of retail investors and small funds. With an end-to-end hybrid prediction engine completely encapsulating data ingestion, preprocessing, model training, and visualization a straightforward interface can be built (e.g., using Flask or Streamlet). This platform would democratise access, encourage more informed involvement in the equity markets, and enable more users to take advantage of cutting-edge ML and DL approaches.[ 16 ] 2. Literature Review 2.1. Traditional Forecasting Methods The linearity and stationarity assumptions that bind traditional stock forecasting models like ARIMA and GARCH limit their ability to represent the nonlinearity and volatility of financial markets. These models also lack the integration of external variables like economic variables and sentiment of the investors, which diminishes their efficiency in practice [ 14 ]. The development of machine learning brought in models like as SVM, Random Forest, and XGBoost, which are particularly good at recognising subtle patterns and interactions between features. In structured data contexts, XGBoost in particular is valued for its precision and interpretability. Concurrently, deep learning models particularly LSTM networks have proven to be effective in identifying time-series data's temporal linkages. Hybrid models incorporating XGBoost and LSTM leverage the strengths of both methods to provide improved structural analysis and sequence modelling. Although the models have demonstrated success worldwide, their use for Indian equities, particularly against market leaders such as Nifty 50, is a frontier that has not been widely explored. This research fills that gap by developing a hybrid framework specifically for use in the Indian context.[ 15 ] 2.2. Machine Learning and Deep Learning Approaches Machine learning (ML) and deep learning (DL) models have significantly enhanced stock market predictability by being able to identify nonlinear relationships in vast financial data. ML algorithms like XGBoost, SVM, and Random Forests are designed for structured data and deliver satisfactory performance, with XGBoost being particularly valued for its efficiency and feature selection. [ 16 ] Long Short-Term Memory (LSTM) networks are one type of deep learning model that works particularly well for spotting temporal relationships in sequential data. LSTM's structure allows it to identify long-term relationships, and therefore it is highly effective in predicting price trends, volatility, and returns without needing extensive feature engineering.[ 17 ] Blending ML and DL into hybrid models has been the most successful, with tabular features being handled by XGBoost and LSTM capturing temporal patterns. These models are more stable and precise than individual methods. Most of the literature that has been done is, however, on developed markets, and hence the emphasis on region-specific research becomes more important such as this study on Tata Motors in the Indian stock market.[ 18 ] 2.3. Related Works Table 1 Review table of the related Research papers S. No Title Methodology / Technology Outcome 1 Stock-Price Forecasting Based on XGBoost and LSTM [ 1 ] XGBoost feature selection + deep LSTM Outperformed ARIMA in MAE, MSE, RMSE (Forex series) 2 Attention-based CNNLSTM and XGBoost Hybrid Model [ 2 ] ARIMA → attention-CNN-LSTM → XGBoost Higher accuracy than standalone models 3 A Novel Decision Ensemble Framework: Customized Attention-BiLSTM + XGBoost (CABXDE) [ 3 ] BiLSTM attention + XGBoost ensemble MAPE ~ 0.0037; MAE ~ 84.4; RMSE ~ 106.14 (Bitcoin USD) 4 Forecasting International Stock Market Trends: XGBoost, LSTM, LSTMXGBoost LSTM, XGBoost, hybrid; backtesting + grid search [ 4 ] Hybrid outperformed combined metrics (indices) 5 CNN-LSTM GAN for Stock Movements [ 5 ] LSTM generator + CNN discriminator (GAN) Norm. RMSE ~ 0.029; improved directionality 2.4. Hybrid Models Due to their ability to leverage the advantages of both machine learning and deep learning, hybrid approaches have become the most popular methods for stock prediction. XGBoost is very good at handling structured data as well as ranking features such as P/E ratio, EPS, Beta, and Sharpe Ratio but cannot extract time patterns. LSTM networks, however, can extract time-dependent patterns but have low interpretability. By integrating these approaches, hybrid models increase both accuracy and interpretability. Overall, XGBoost is utilized in the first stage to identify and screen significant features, which are then inputted into an LSTM model predicting from historical sequences. This two-step model reduces noise and improves sequential learning quality. The result is a more robust and precise prediction. For example, in the Tata Motors case study, the hybrid model exhibited an R² of 0.9961 and next-day RMSE of just ₹13.19. Such models not only outperform lone alternatives but also possess practical benefits by providing insight into the significance of features and market forces. Hybrid systems also consist of modular and flexible components like Light GBM or GRU, which can be easily replaced with little modification. Additionally, this approach is extensible to other assets, making it a useful short-term financial forecasting tool in current markets.[ 18 ] 2.5. Problem Statement Short-term stock price forecasting is still a difficult task because financial markets are unstable and nonlinear. Surprising market dynamics cannot be modelled by conventional time-series models such as GARCH and ARIMA. They are thus of little value in dynamic environments. Machine learning models like XGBoost have performed better in modelling nonlinearities and selecting useful features from financial and technical data.[ 19 ] They are lacking in modelling sequential trends over time because each data point is modelled independently. LSTM networks are well suited to modelling temporal patterns and learning from sequential data. Though powerful, they are computationally expensive and need large data and tuning and lack transparency a drawback for decision-makers who need transparency. These limitations are especially pertinent in emerging economies like India, where stock prices are affected by sophisticated local and global factors. Predictive accuracy must be combined with economic interpretability. The gap is filled by a hybrid model that uses LSTM for temporal modelling and XGBoost for feature selection. Merging structured financial knowledge with sequence-based prediction, the two-stage system offers precision and transparency crucial to actionable stock forecasts in the Indian market. 2.6. Research Objectives The main goal of this study is to create and apply a hybrid stock forecasting model that optimises the precision and dependability of short-term stock price forecasting in the Indian stock market by combining machine learning (XGBoost) and deep learning (LSTM) techniques. The study specifically seeks to ascertain the intrinsic value of an equity and its market behaviour by combining benchmark trends of the Nifty 50 index with structured financial ratios, such as the Price-to-Earnings (P/E) ratio, Earnings Per Share (EPS), Beta, and Sharpe Ratio. Because of its significant market capitalisation, high trade volume, and industry coverage, Tata Motors is utilised as a case study example to test the model's performance and usability. By combining financial theory and predictive modeling, the study aims to bridge the knowledge gap between data-driven learning and fundamental stock analysis. Another overarching objective is to contrast the complementary strengths of XGBoost and LSTM models XGBoost's ranking of feature importance and ability in dealing with intricate nonlinear relationships, and LSTM's ability to capture time-varying patterns in stock price fluctuations. With this hybrid approach, the research also aims to develop a structured framework that delivers high predictive accuracy (as quantified by R² and trend correlation) and yet is interpretable and actionable among traders, analysts, and retail investors. The research also aspires to visualize prediction output, contrast model performance within a 22-day window, and offer extensions such as real-time prediction, macroeconomic incorporation, and user-facing dashboards, thereby laying the groundwork for further development of an integrated, AI-driven decision-support tool for equity investments. 3. Methodology 3.1. System Architecture The forecasting pipeline is implemented as a pipeline of modular, organized components that facilitate end-to-end prediction of stock prices. The operation starts with the user entering a stock name as an input. The input is mapped to a pre-existing CSV file (EQUITY_L.csv) of more than 1600 Indian companies and respective Yahoo Finance ticker symbols. After successful mapping, the system retrieves historical data from January 1, 2015. This includes the chosen stock's Open, High, Low, Close, and Volume (OHLCV) data, as well as benchmark index data for the Nifty 50 (Open and Close prices). Once the raw data is obtained, it goes through a feature engineering stage. It is here the system calculates daily returns and retrieves the target feature to predict the next-day closing price, i.e., Next_Close. Data cleaning and joining result in a full dataset to train the model. The forecasting issue is divided among two complementary models: The XGBoost model is asked to predict the very next day's closing price. It is trained on OHLCV feature values, daily returns, and Nifty 50 index prices. The model uses a 90:10 train-test split and yields high performance measures, achieving an R² value of 0.9961, a Mean Absolute Error (MAE) of ₹8.57, and a Root Mean Squared Error (RMSE) of ₹13.19. The model predicted a closing price of ₹661.28, which closely approximated the actual value of ₹663.[ 20 ] Long-term prediction is carried out by the LSTM model. It uses only the 'Close' price of the share, normalized and reshaped to 90-day sequences to model over time. The model has two LSTM layers and a dense layer, which predicts the next 22 trading days. After the model is trained for over 20 epochs, it produces a normalized RMSE of 0.0330 and predicts the share of Tata Motors in the coming month to be between ₹642.12 and ₹673.47.[ 21 ] Both these models complement each other to create a hybrid prediction model. The XGBoost model identifies patterns in structured financial features for precise short-term forecasts, and the LSTM model learns sequential trends for long-term forecasts. The application of two models increases the precision, responsiveness, and usability of the system for investors and analysts engaged in Indian equities. 3.2. Data Preparation OHLCV & Benchmark Daily open/high/low/close/volume for TATAMOTORS.NS plus Nifty 50’s open/close. Financial Ratios (computed over a 5year window): β = \(\:\frac{Cov\left(stock,\:Benchmark\right)}{Var\left(Benchmark\right)}\) Sharpe Ratio = \(\:\frac{(Ra-Rf)}{{\sigma\:}\text{a}}\) (Ra: Annualized average return of the stock, 𝑅𝑓: Risk-free rate (default is 7% or 0.07), 𝜎𝑎 : Annualized standard deviation of returns) Earnings Per Share (Trailing Twelve Months) = \(\:\frac{\text{N}\text{e}\text{t}\:\text{I}\text{n}\text{c}\text{o}\text{m}\text{e}\left(\text{T}\text{T}\text{M}\right)}{\text{S}\text{h}\text{a}\text{r}\text{e}\text{s}}\) Price to Earnings (PE) Ratio = \(\:\frac{\text{C}\text{u}\text{r}\text{r}\text{e}\text{n}\text{t}\:\text{S}\text{h}\text{a}\text{r}\text{e}\:\text{P}\text{r}\text{i}\text{c}\text{e}}{\text{E}\text{P}\text{S}\left(\text{T}\text{T}\text{M}\right)}\) 3.3. Financial Ratios and Their Significance in Stock Forecasting Financial ratios are significant when evaluating the performance, value, and risk of a firm and are thus a critical input to stock prediction models. Beta shows the volatility of the stock compared to the market; 0.8 to 1.2 is generally the best risk-reward situation. Beta is higher with more risk and potential return, and lower with stability. Sharpe Ratio measures risk-adjusted returns and the degree to which an investment is rewarding its risk. A value greater than 1 is preferred, and the higher, the better. It helps investors to compare various assets or portfolios. Earnings Per Share (EPS) is the measure of how much profit is per share. An increasing trend in EPS can indicate sound financial health and operational efficiency, which is always preferred by long-term investors.[ 22 ] The Price-to-Earnings (P/E) Ratio establishes whether a stock is cheap or expensive in relation to its earnings. Even though P/E between 15 and 25 is typical, industry context does come into play. Low P/E could suggest undervalued or non-existent prospects, while high P/E might suggest future growth. These ratios collectively enhance models for predicting by connecting number data with business fundamentals to create more realistic and practical models for predicting future stock performance. 3.4. Algorithms and Techniques The model employed in this study utilizes two complementary models XGBoost and LSTM to address different aspects of the issue of stock forecasting. XGBoost, a gradient-boosting decision tree, can handle structured input features like price, volume, returns, and benchmark index easily. It builds sequential trees with minimal prediction error and provides feature importance ranks. XGBoost in this project worked very well with R² of 0.9961, Mean Absolute Error of ₹8.57, and Roott Mean Squared Error of ₹13.19, and high accuracy next-day price predictions generated with engineered features.[ 23 ] Stock price series temporal patterns are learnt using LSTM networks, a kind of recurrent neural network. With the gates and memory cells, LSTMs learn long temporal patterns in time series. The LSTM model in this system was trained on 90-day sequences of normalized closing prices to predict the next 22 trading days. Two stacked LSTM layers with 50 neurones each made up its architecture, which was followed by a dense output layer. The model had a normalized RMSE of 0.0330, predicting between ₹642.12 and ₹673.47. The hybrid approach XGBoost for feature extraction and LSTM for sequence learning enabled accurate short-term forecasting as well as substantial trend analysis, providing a good platform for further system development to broader financial applications.[ 24 ] 3.5. Extreme Gradient Boosting (XGBoost): The gradient boosting paradigm is used by the reliable and efficient machine learning method XGBoost. It constructs decision trees in a step-by-step manner, with each new tree using first- and second-order gradients to swiftly and accurately optimise by correcting the errors of the prior tree. Features like regularization (L1 and L2), parallelism, automatic missing value handling, and the ability to use custom loss functions make XGBoost extremely scalable and resilient against overfitting essentials when dealing with large noisy financial data. Its simplicity of use with popular libraries like scikit-learn and TensorFlow makes it viable in production environments in the real world. In predictive finance, XGBoost excels in identifying complex, nonlinear patterns of association between structured inputs like technical indicators and financial ratios. Not only does it yield high-quality prediction but also offers feature importance scores, which improve interpretability a top concern for finance practitioners. Its stability and efficiency make it ideal for tasks like next-day price prediction, trend classification, and real-time signal generation. XGBoost is a useful tool for stock price prediction in dynamic market conditions because of its capacity to manage massive data volumes effectively and produce insightful information about feature relevance. Why XGBoost is Useful in Stock Forecasting ? Models Nonlinear Relationships : Stock prices are determined by nonlinear relationships between a given group of financial indicators. XGBoost can model these relationships effectively.[ 25 ] Feature Importance : Gives insight into which features (e.g., P/E ratio, EPS, Sharpe Ratio) contribute the most to prediction, helping with explainability. Scalability : Can handle big data very well with thousands of features and millions of rows great for financial time series. Noise Tolerance : Can tolerate noisy or partially missing data, which is prevalent in stock market data. Fast Iteration : Fast training makes it applicable to real time or near real time forecasting systems. 3.6. Long Short-Term Memory (LSTM): A particular kind of recurrent neural network (RNN) called Long Short-Term Memory (LSTM) networks was created to learn from sequence data without the vanishing gradient issue that conventional RNNs have. In order to control the information flow over time, LSTMs, which were first introduced in 1997, use finite-capacity memory cells along with three gates: input, forget, and output gates. The architecture enables the model to store important information for long sequences and remove redundant inputs, so it is extremely effective at handling time-dependent patterns of activities like stock price prediction, speech recognition, and anomaly detection.[ 26 ] In financial applications, LSTMs are well-suited to learn the temporal relationships present in stock prices. Unlike normal machine learning models that regard observations as independent, LSTMs learn both short-term volatility and long-term trends. LSTMs also enable multi-step forecasting, allowing prediction of multiple future time steps such as the next 22 trading days so that they are practical for planning. While they require large training data and optimal parameter setting, their noise robustness and ability to learn complex sequential dynamics make LSTMs a valuable resource in finance forecasting. They are typically used in hybrid architectures with models such as XGBoost to enhance accuracy, generalizability, and interpretability. Why LSTM is Useful in Stock Prediction? Learns Time Dependency : Uncovers relationships from historical price series. Manages Long-Term Trends : Maintains context over weeks or months. Forecasts Multiple Days in Advance : Suitable for multi-day forecasts like 22 trading days. Handles Noisy Data : Deals with volatility and unusual price movements quite well. Minimal Feature Engineering Needed : Trains on raw price data. 3.7. Detailed Design Methodologies The architecture of this stock prediction project is to create an effective, data-oriented hybrid model with high prediction accuracy and interpretability for tomorrow's stock prices and short-term price directions. The system has a clean and orderly process from user input, data retrieval and preprocessing, model training, prediction and evaluation. Each of these operations is coded in Python on Google Colab harnessing its cloud-based responsiveness and easy access to computational resources. The whole codebase was written in modular style so that each of the subcomponents data retrieval, feature engineering, model training, and evaluation—can be debugged, reused, or optimized separately.[ 27 ] The first step is to accept a stock name given by the user and cross-identify it with its corresponding Yahoo Finance ticker from a custom-built CSV file containing more than 1600 Indian stock names. This provides the user with the flexibility to analyze any listed company. Upon identification of the ticker, the system automatically fetches the historical data via the yfinance API. Daily 'Open', 'High', 'Low', 'Close', and 'Volume' data for the selected stock are fetched. Simultaneously, benchmark data for the Nifty 50 index (^NSEI) are fetched to track overall market trends. This two-data setup configuration enables the model not only to identify stock-specific trends but also to account for systematic market influences, leading to enhanced prediction. In preprocessing, some engineered features are generated to enhance the dataset. The Return feature, the previous percentage change in closing price on a daily basis, is calculated using .pct_change(). A Next_Close feature is generated by shifting the closing price by one day, which will serve as the label for the supervised learning task. Benchmark and stock data are merged on the date index, and all the rows with missing values (due to shifting or calculation of returns) are dropped. The chosen features to model are stock price features (Open, High, Low, Close), trading volume, the daily return calculated, and the open and close of Nifty benchmark. This feature set, apart from being well-engineered, is the input matrix X, and Next_Close is the target y. The data set is divided into training and test sets in a 90 − 10 ratio for the XGBoost model. To forecast the closing price for the following day, the model is trained using the eight features. Following training, the test set is used to make predictions, and performance is evaluated using three important metrics: RMSE (13.19), MAE (8.57), and R2 (0.9961). The model is also used to predict the price for the next day based on the provided data point. The predicted value (₹661.28) was compared with the actual closing value (₹663.00) and indicated an extremely low error, validating the efficiency of the model. This part of the design methodology demonstrates how static financial data, coupled with gradient boosting, is capable of providing high-precision single-step prediction. Parallelly, an LSTM model is trained to forecast stock prices for the subsequent 22 trading days. As LSTM models operate on sequential data, only the Close price column is utilized and normalized with MinMaxScaler. To allow the model to learn long-term price trends, the data is reshaped into 3D arrays of type (samples, time steps, features) with a sequence length of 90 days. 'Relu' activation, two LSTM layers of 50 units each, and a thick output layer of 22–22 days of future pricing make up the model architecture. The 'adam' optimiser is used to train the model across 20 epochs with a batch size of 20. Upon training, the model had a test RMSE of 0.0330 and was able to predict a price range of ₹642.12 to ₹673.47 for the next month.[ 28 ] The last step in design is visualization and interpretation of results. Both models' predicted values are printed with actual test values to check for accuracy. For XGBoost, a DataFrame is shown comparing actual and predicted prices. For LSTM, the predicted values are reversed back to original scale and visually inspected. The complementarity between both model one addressing structured feature-driven learning and the other temporal dynamics modeling guarantees the end system is balanced, understandable, and robust. The modular design also guarantees it is easily extensible, and future iterations can have extra indicators, macroeconomic indicators, or real-time dashboards for deployment. 4. Results and Discussion The XGBoost-LSTM hybrid model produced highly accurate and interpretable short-term stock forecasts. The XGBoost model, trained on Open, High, Low, Close, Volume, daily returns, and Nifty 50 benchmarks as features, was highly effective for forecasting one day ahead. It produced an R² of 0.9961, Mean Absolute Error of ₹8.57, and Root Mean Square Error of ₹13.19 on the test set. It amazingly predicted the closing price of Tata Motors the next day at ₹661.28, compared to the actual price of ₹663.00—an error of only ₹1.72, or less than 0.3%. Such precision indicates the model's stability and the potential it holds for real-world trading applications where timely, feature-based predictions are valuable. Building on this, the LSTM model offered strong sequence-learning ability through forecasting the next 22 trading days from a horizon of 90 scaled closing prices. It yielded an Root Mean Square Error of ₹37.71, Mean Absolute Error of ₹30.26, and R² score of 0.9762 with a normalized Root Mean Square Error of 0.0330, indicating low relative error. The forecasted range of ₹642.12 to ₹673.47 closely trailed actual market movements. Visual comparisons of predicted and actual prices indicated that LSTM accurately captured short-term momentum, reversals, and direction of trend. Minor offsets were detected in situations of extreme volatility, but general model performance was helpful to traders setting entries, exits, or stop-loss levels for multiple sessions. The complementarity of LSTM and XGBoost rendered the hybrid model dynamic and accurate. XGBoost gave insight into what were the most influential features on next-day price action such as recent returns and benchmark trends while LSTM captured temporal patterns lost in fixed models. The multi-layered learning architecture compensated each model's weakness, providing a balanced prediction as well as being comprehensible and trend-sensitive. The successful deployment on Tata Motors indicates the versatility of the framework and is a precursor to applying the system to other equities and asset classes. With some minor extensions like real-time data feeds, macroeconomic inputs, or sentiment analysis, the architecture can be evolved into a scalable AI-based decision support system for a wide base of users from retail investors to institutional analysts. Table 2 Performance metrics of XGBoost and LSTM models Model R² MAE RMSE XGBoost 0.9961 8.5728 13.1923 LSTM 0.9762 30.2573 37.71 Nextday Forecast : Predicted : ₹661.28 Actual : ₹663.00 Error :≈ 0.26% This sub-1% deviation illustrates strong predictive alignment for dayahead decisions. Table 3 Direction-Based Classification Metrics of XGBoost Model Metric Value Accuracy 0.9825 Precision 0.9807 Recall 0.9845 F1 Score 0.9826 AUC-ROC 0.9825 Next One-Month Forecast (LSTM Prediction) : Predicted Max Price for Next Month: ₹720 Predicted Min Price for Next Month: ₹650 Table 4 Comparative Analysis 5. Conclusion This project used a hybrid model of XGBoost and LSTM to enhance short-term stock price predictions in the Indian stock market. Traditional models lack the ability to keep up with complicated feature interactions and temporal relationships, but this two-step solution bridges the gap. XGBoost produced high-accuracy, feature-oriented predictions with high explainability, while LSTM retained sequential price patterns for multi-day forecasting. They complemented each other to produce an end-to-end, modular solution that can be equally useful to traders, analysts, and retail investors. It was built with scalability and user-friendliness in mind. The user would be able to enter any stock from a list of more than 1600 Indian stocks, and automatic data extraction would be done through Yahoo Finance. Both technical indicators and financial ratios such as P/E, EPS, Beta, and Sharpe Ratio were used to enhance the model's grasp of risk and valuation. XGBoost did well with an R² of 0.9961 and an extremely close next-day price prediction. LSTM took this further with correct 22-day predictions within a feasible price range, allowing users to accurately forecast short-term trends. Above all, the cloud architecture rendered it accessible and convenient to deploy. Hybrid model design is adaptable and can be extended further by including real-time information, macroeconomic data, or sentiment analysis. By synergizing machine learning and knowledge of the financial domain, this project has achieved a robust forecasting system that meets the trade-off between accuracy, interpretability, and usability. Its success with Tata Motors paves the way for future use across other equities and makes it a useful decision-support tool for data-driven investment decision-making in India's vibrant stock market. Declarations Funding: not applicable Clinical Trial: not applicable Consent to Publish declaration: not applicable Ethics declaration: not applicable Consent to Participate declaration: not applicable Author Contribution Designed the study, developed the hybrid XGBoost-LSTM model, performed experiments, wrote the manuscript, prepared figures, and all authors reviewed and approved it. Providing research and writing support. Data Availability Data will be available on request References Vuong, P. H., Dat, T. T., Mai, T. K., & Uyen, P. H. (2022). Stock-price forecasting based on XGBoost and LSTM. Computer Systems Science & Engineering , 40 (1). Hu, B., Guo, H., Zhou, P., & Shi, Z. L. (2021). Characteristics of SARS-CoV-2 and COVID-19. Nature reviews microbiology , 19 (3), 141-154. Din, F. U., Aman, W., Ullah, I., Qureshi, O. S., Mustapha, O., Shafique, S., & Zeb, A. (2017). Effective use of nanocarriers as drug delivery systems for the treatment of selected tumors. International journal of nanomedicine , 7291-7309. Oukhouya, H., Kadiri, H., El Himdi, K., & Guerbaz, R. (2024). Forecasting international stock market trends: XGBoost, LSTM, LSTM-XGBoost, and Backtesting XGBoost models. Statistics, Optimization & Information Computing , 12 (1), 200-209. Kumar, A., Alsadoon, A., Prasad, P. W. C., Abdullah, S., Rashid, T. A., Pham, D. T. H., & Nguyen, T. Q. V. (2022). Generative adversarial network (GAN) and enhanced root mean square error (ERMSE): deep learning for stock price movement prediction. Multimedia Tools and Applications , 81 (3), 3995-4013. Kumbure, M. M., Lohrmann, C., Luukka, P., & Porras, J. (2022). Machine learning techniques and data for stock market forecasting: A literature review. Expert Systems with Applications , 197 , 116659. Bhandari, H. N., Rimal, B., Pokhrel, N. R., Rimal, R., Dahal, K. R., & Khatri, R. K. (2022). Predicting stock market index using LSTM. Machine Learning with Applications , 9 , 100320. Yun, K. K., Yoon, S. W., & Won, D. (2021). Prediction of stock price direction using a hybrid GA-XGBoost algorithm with a three-stage feature engineering process. Expert Systems with Applications , 186 , 115716. Hoseinzade, E., & Haratizadeh, S. (2019). CNNpred: CNN-based stock market prediction using a diverse set of variables. Expert Systems with Applications , 129 , 273-285. Sonkavde, G., Dharrao, D. S., Bongale, A. M., Deokate, S. T., Doreswamy, D., & Bhat, S. K. (2023). Forecasting stock market prices using machine learning and deep learning models: A systematic review, performance analysis and discussion of implications. International Journal of Financial Studies , 11 (3), 94. Sahu, S. K., Mokhade, A., & Bokde, N. D. (2023). An overview of machine learning, deep learning, and reinforcement learning-based techniques in quantitative finance: recent progress and challenges. Applied Sciences , 13 (3), 1956. Mintarya, L. N., Halim, J. N., Angie, C., Achmad, S., & Kurniawan, A. (2023). Machine learning approaches in stock market prediction: A systematic literature review. Procedia Computer Science , 216 , 96-102. Ma, Y., Han, R., & Wang, W. (2021). Portfolio optimization with return prediction using deep learning and machine learning. Expert Systems with Applications , 165 , 113973. Suárez-Cetrulo, A. L., Quintana, D., & Cervantes, A. (2023). A survey on machine learning for recurring concept drifting data streams. Expert Systems with Applications , 213 , 118934. Dubey, S., Singh, S., Dubey, S., Nair, R., & Sharma, R. (2024, December). Magnetic Resonance Image Analysis: A Healthcare System. In 2024 IEEE 4th International Conference on ICT in Business Industry & Government (ICTBIG) (pp. 1-5). IEEE. Dubey, S., Singh, S., Verma, D. K., Lodhi, S. K., & Dubey, S. (2025). GenoCare Prognosticator Model: Host Genetics Predict Severity of Infectious Disease. Scalable Computing: Practice and Experience , 26 (2), 924-939. Dubey, S., Verma, D. K., & Kumar, M. (2024). Severe acute respiratory syndrome Coronavirus-2 GenoAnalyzer and mutagenic anomaly detector using FCMFI and NSCE. International Journal of Biological Macromolecules , 258 , 129051. Dubey, S., Verma, D. K., & Kumar, M. (2024). Real-time infectious disease endurance indicator system for scientific decisions using machine learning and rapid data processing. PeerJ Computer Science , 10 , e2062. Sebastião, H., & Godinho, P. (2021). Forecasting and trading cryptocurrencies with machine learning under changing market conditions. Financial Innovation , 7 (1), 3. Hou, J., Wang, Y., Zhou, J., & Tian, Q. (2022). Prediction of hourly air temperature based on CNN–LSTM. Geomatics, Natural Hazards and Risk , 13 (1), 1962-1986. Metwally, D. S., Ali, M., Alghamdi, S. M., & Khan, D. M. (2025). A novel hybrid model to forecast the stock price based on CEEMDAN and support vector regression. Journal of Radiation Research and Applied Sciences , 18 (2), 101385. Ferreira, F. G., Gandomi, A. H., & Cardoso, R. T. (2021). Artificial intelligence applied to stock market trading: a review. IEEE Access , 9 , 30898-30917. Ge, Q. (2025). Enhancing stock market Forecasting: A hybrid model for accurate prediction of S&P 500 and CSI 300 future prices. Expert Systems with Applications , 260 , 125380. Tuesta, S., Flores, N., & Mauricio, D. (2025). Prediction of the Maximum and Minimum Prices of Stocks in the Stock Market Using a Hybrid Model Based on Stacking. Algorithms , 18 (8), 471. DUBEY, S., VERMA, D. K., & KUMAR, M. (2024). Identification of Unique Genomic Signatures in Viral Immunogenic Syndrome (VIS) Using FIMAR and FCSM Methods for Development of Effective Diagnostic and Therapeutic Strategies. Economic Computation & Economic Cybernetics Studies & Research , 58 (2). Kumar, D., Sarangi, P. K., & Verma, R. (2022). A systematic review of stock market prediction using machine learning and statistical techniques. Materials Today: Proceedings , 49 , 3187-3191. Anushkannan, N. K., Wekalao, J., Patel, S. K., & Al-Zahrani, F. A. (2024). Design of encoded and tunable graphene-gold metasurface-based surface plasmon resonance sensors for glucose detection in the terahertz regime. Plasmonics , 19 (6), 2827-2846. Sun, S., Wang, R., & An, B. (2023). Reinforcement learning for quantitative trading. ACM Transactions on Intelligent Systems and Technology , 14 (3), 1-29. Additional Declarations No competing interests reported. Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-7396543","acceptedTermsAndConditions":true,"allowDirectSubmit":true,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":511992699,"identity":"da057bf3-45f9-4c54-8f6e-ddb740acb9a0","order_by":0,"name":"Shivendra Dubey","email":"","orcid":"","institution":"Manipal University Jaipur","correspondingAuthor":false,"prefix":"","firstName":"Shivendra","middleName":"","lastName":"Dubey","suffix":""},{"id":511992700,"identity":"fa92816f-9013-4ef6-ac5e-e74f03f5ac82","order_by":1,"name":"Rahul Sharma","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABNUlEQVRIie2RMUvDQBSAXzxol5OuGYL5CycZYrDYv2IJJMsFBaGLBQ+ETEfnQH6F+AcSDuIidc2QIUXIXBRKHSxeTIPUlLo63Lfcu7v33XuPA1Ao/iP6T6AlSwy43csAMYDeQQXSaFfR/lYE3r3br5jxffWWT+FqEHMihsaFYetBeZRPC8PupwyWE/FbIUVmxTQDJyqeiaDYxU7kE0SzCjt8zLRo3lX0SwvRHhDIaa0gTHIP5InAJBkzdBx2FDPy3xHdADFr5QzfbZWNVF4WDH12Ffm4hYIQCKkVwKJRgrAOZBWtq8jMGxTMdHKae9cpx09yhApEMBNyqAVL+dzf09gjoqshOcndh/KD347svqe90pUY2QM3LdeT805jDdvf0bisK9fku4E2OMy6yYRWUSgUCoXkC1AFb0UcqP8NAAAAAElFTkSuQmCC","orcid":"","institution":"Manipal University Jaipur","correspondingAuthor":true,"prefix":"","firstName":"Rahul","middleName":"","lastName":"Sharma","suffix":""},{"id":511992701,"identity":"fbb3d27b-ca8d-4140-b9a0-31987e7c147f","order_by":2,"name":"Sachin Malviya","email":"","orcid":"","institution":"Medicaps University, Indore","correspondingAuthor":false,"prefix":"","firstName":"Sachin","middleName":"","lastName":"Malviya","suffix":""},{"id":511992702,"identity":"f6038521-96a3-4757-a426-78b1c0f77144","order_by":3,"name":"Sakshi Dubey","email":"","orcid":"","institution":"Manipal University Jaipur","correspondingAuthor":false,"prefix":"","firstName":"Sakshi","middleName":"","lastName":"Dubey","suffix":""}],"badges":[],"createdAt":"2025-08-18 06:53:28","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-7396543/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-7396543/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":90878340,"identity":"f3432f1f-135b-498f-b68a-1026aa58a3d6","added_by":"auto","created_at":"2025-09-09 09:22:10","extension":"jpg","order_by":1,"title":"Figure 1","display":"","copyAsset":false,"role":"figure","size":73092,"visible":true,"origin":"","legend":"\u003cp\u003e\u003cstrong\u003eModel Architecture\u003c/strong\u003e\u003c/p\u003e","description":"","filename":"1.jpg","url":"https://assets-eu.researchsquare.com/files/rs-7396543/v1/982f56af2033f2b0ec1be503.jpg"},{"id":90879272,"identity":"a286a1be-f314-46fe-b8c1-0bfacb55a928","added_by":"auto","created_at":"2025-09-09 09:30:10","extension":"jpg","order_by":2,"title":"Figure 2","display":"","copyAsset":false,"role":"figure","size":117412,"visible":true,"origin":"","legend":"\u003cp\u003e\u003cstrong\u003eActual vs Predicted price data of XGBoost Model\u003c/strong\u003e\u003c/p\u003e","description":"","filename":"2.jpg","url":"https://assets-eu.researchsquare.com/files/rs-7396543/v1/0bb873f452dba50f7afcf676.jpg"},{"id":90878342,"identity":"657fa1dc-df1a-4f10-be0b-c180f4055db0","added_by":"auto","created_at":"2025-09-09 09:22:10","extension":"jpg","order_by":3,"title":"Figure 3","display":"","copyAsset":false,"role":"figure","size":125737,"visible":true,"origin":"","legend":"\u003cp\u003e\u003cstrong\u003eActual vs Predicted price plot of XGBoost Model\u003c/strong\u003e\u003c/p\u003e","description":"","filename":"3.jpg","url":"https://assets-eu.researchsquare.com/files/rs-7396543/v1/1bf98d0fe329608bc7087ab8.jpg"},{"id":90879974,"identity":"48da58ab-f108-4a90-ab05-8e32e35d9ae2","added_by":"auto","created_at":"2025-09-09 09:38:10","extension":"jpg","order_by":4,"title":"Figure 4","display":"","copyAsset":false,"role":"figure","size":69116,"visible":true,"origin":"","legend":"\u003cp\u003e\u003cstrong\u003eActual vs Predicted price plot of LSTM Model (22 days)\u003c/strong\u003e\u003c/p\u003e","description":"","filename":"4.jpg","url":"https://assets-eu.researchsquare.com/files/rs-7396543/v1/45620fb306eebbe63ab46086.jpg"},{"id":94489958,"identity":"7f4fb48e-59a6-47fe-b535-0fc799b851ff","added_by":"auto","created_at":"2025-10-27 17:06:41","extension":"pdf","order_by":0,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":1781072,"visible":true,"origin":"","legend":"","description":"","filename":"manuscript.pdf","url":"https://assets-eu.researchsquare.com/files/rs-7396543/v1/0684efec-0eeb-4c3f-8433-3f42a5732ea9.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"A Hybrid Model for Stock Price Forecasting Integrating XGBoost and LSTM with Financial Indicators","fulltext":[{"header":"1. Introduction","content":"\u003cp\u003eIn today's highly uncertain financial world, stock price prediction is an important but very complicated activity for investors, analysts, and financial institutions. Reliable forecasts enable better risk management, investment risk reduction, and best capital allocation strategy. But stock price behavior is driven by an incredibly large number of variables such as firm-specific behavior, macro fundamentals, investor sentiment, geopolitical factors, and world financial market trends. This inherent dynamic and interdependence of financial markets pose a basic challenge to conventional forecasting models that cannot identify nonlinear dynamics and temporal correlation patterns in stock market behavior [\u003cspan citationid=\"CR9\" class=\"CitationRef\"\u003e9\u003c/span\u003e]. As machine learning (ML) and deep learning (DL) technologies mature, data science breakthroughs offer new methods to improve forecasting accuracy using data-driven techniques instead of conventional statistical ones. [\u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e1\u003c/span\u003e] [\u003cspan citationid=\"CR9\" class=\"CitationRef\"\u003e9\u003c/span\u003e].\u003c/p\u003e\u003cp\u003eLong Short-Term Memory (LSTM) networks and eXtreme Gradient Boosting (XGBoost) are two powerful modelling approaches that are combined in this paper to create a hybrid model. XGBoost is proven to perform exceptionally well with structured data and infer feature importance with significant accuracy [\u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e1\u003c/span\u003e] [\u003cspan citationid=\"CR2\" class=\"CitationRef\"\u003e2\u003c/span\u003e] and therefore is highly appropriate for the analysis of monetary indicators such as P/E ratio, EPS, Sharpe Ratio, and Beta. However, by identifying long-range dependencies in sequential data, LSTM, a recurrent neural network, excels at time-series modelling[\u003cspan citationid=\"CR10\" class=\"CitationRef\"\u003e10\u003c/span\u003e] [\u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e4\u003c/span\u003e]. In combining the two models, the proposed system utilizes the strength of both structured feature analysis and temporal pattern detection. The two-model system attempts to address the limitation of single-model forecasting solutions and produce more accurate and actionable predictions [\u003cspan citationid=\"CR2\" class=\"CitationRef\"\u003e2\u003c/span\u003e] [\u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e4\u003c/span\u003e] [\u003cspan citationid=\"CR7\" class=\"CitationRef\"\u003e7\u003c/span\u003e].\u003c/p\u003e\u003cp\u003eThe context for this study is the Indian market, with its distinct blend of fast growth and developing market volatility. Tata Motors, a specific leader stock on the NSE and a member of the Nifty 50 index, is selected as the case study example. Liquidity of the stock, its exposure to the home and foreign markets, and policy and economic event sensitivity make the stock an extremely appropriate candidate to test model robustness. Using financial information, historical stock prices, and benchmark index information, the hybrid model seeks to offer a comprehensive and accurate short-term short stock price prediction solution. This project not only contributes to the practitioner domain of AI-based financial analysis but also bridges the research gap in hybrid modelling frameworks for Indian equities [\u003cspan citationid=\"CR3\" class=\"CitationRef\"\u003e3\u003c/span\u003e] [\u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e4\u003c/span\u003e] [\u003cspan citationid=\"CR6\" class=\"CitationRef\"\u003e6\u003c/span\u003e].\u003c/p\u003e\u003cdiv id=\"Sec2\" class=\"Section2\"\u003e\u003ch2\u003e1.1 Background\u003c/h2\u003e\u003cp\u003eBecause it may guide investment decisions, reduce risk, and increase portfolio return, stock price forecasting has long been a central area of research in finance. Forecasting future direction of price is a very difficult task mainly because financial markets are highly dynamic, non-linear, and risky. Conventional statistical techniques like ARIMA and linear regression tend to overlook sudden breaks and long-run correlations of stock price dynamics. Better computer techniques and increased data availability in the financial industry have made machine learning and deep learning models viable alternatives to traditional models. These models have the ability to discover patterns and connections in past data that traditional models might not be able to identify right away. Long Short-Term Memory (LSTM) networks are best suited for time-series modelling with temporal dependency, while XGBoost is especially well-known for its speed and accuracy when processing structured finance data.\u003c/p\u003e\u003cp\u003eThe hybrid methodology of implementing XGBoost and LSTM allows for both the use of static data like technical indicators and financial ratios and sequential data like historical stock prices. The two-model design can better understand price behaviour and capture both short-term and long-term trends in market movement. Due to the size and intricacy of the Indian stock market, adaptive forecasting models that generalize across companies and industries in the market are highly demanded. Such a need is met by the current research with an automated, scalable, and fault-tolerant system for forecasting that integrates historical market data with leading financial indicators to enhance predictive power. The case study selected\u0026mdash;Tata Motors\u0026mdash;is a good choice because it has an active trading status, is relevant in the Indian economy, and is responsive to global and domestic drivers.\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec3\" class=\"Section2\"\u003e\u003ch2\u003e1.2. Motivation\u003c/h2\u003e\u003cp\u003eFinancial markets have grown more complex and interconnected with asset prices reacting in real time to firm news, macroeconomic news announcements, and geopolitical events. Under such conditions, linear statistical model-based forecasting techniques tend to fall behind non-linear market behaviour and instantaneous regime shifts. Data-driven methods based on machine learning (ML) and deep learning (DL) have the ability to combine massive, fragmented data streams into predictions that can be put into practice. Autonomy of pattern discovery from real-time and historical data can uncover hidden signals that human analysts miss, and consequently enhance decision-making under uncertainty. Stock prices are driven by two complementary categories of drivers: static, cross-sectional characteristics (e.g., financial ratios, risk measures, benchmark index movements) and time-series patterns (e.g., momentum, mean reversion, seasonality). Single-mode ML models like XGBoost excel at processing structured, tabular data feature-ranking and modelling nonlinear interactions but lack native support for sequential dependencies. In contrast, recurrent networks like LSTM networks are masters at learning sequences but offer minimal interpretability of which input variables control their predictions. A hybrid model that marries XGBoost's feature-ranking ability with LSTM's sequence modelling ability can thus deliver accurate and interpretable forecasts.[\u003cspan citationid=\"CR11\" class=\"CitationRef\"\u003e11\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eFinancial metrics like the Price-to-Earnings (P/E) ratio, Earnings Per Share (EPS), Beta, as well as Sharpe Ratio capture a company's valuation, profitability, volatility, as well as risk-adjusted returns. In combination with general market direction (e.g., a benchmark index performance), these inputs enable more comprehensive identification of drivers of price. Addition of these fundamentals to a predictive pipeline enables the model to distinguish idiosyncratic movement from market-wide behaviour, making predictions based on both company health and macroeconomic conditions. Such a comprehensive picture is necessary for investors who need not only directionality but also a call on the economic underpinnings of such trends. For active traders, portfolio managers [\u003cspan citationid=\"CR12\" class=\"CitationRef\"\u003e12\u003c/span\u003e], and risk managers, short-term forecasts on a timescale of days to weeks are essential for determining stop-loss levels, entry and exit points, and position sizes. Hybrid ML-DL models can produce such near-term predictions using static features to estimate value underlying and sequential patterns to predict price momentum. Additionally, addition of risk-adjusted indicators like the Sharpe Ratio to the feature set will enable predictions to include expected returns as well as volatility to enable more comprehensive, risk-sensitive trading strategies.[\u003cspan citationid=\"CR13\" class=\"CitationRef\"\u003e13\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eSophisticated prediction models are standard at top-tier financial institutions but typically outside the technical reach of retail investors and small funds. With an end-to-end hybrid prediction engine completely encapsulating data ingestion, preprocessing, model training, and visualization a straightforward interface can be built (e.g., using Flask or Streamlet). This platform would democratise access, encourage more informed involvement in the equity markets, and enable more users to take advantage of cutting-edge ML and DL approaches.[\u003cspan citationid=\"CR16\" class=\"CitationRef\"\u003e16\u003c/span\u003e]\u003c/p\u003e\u003c/div\u003e"},{"header":"2. Literature Review","content":"\u003cdiv id=\"Sec5\" class=\"Section2\"\u003e\u003ch2\u003e2.1. Traditional Forecasting Methods\u003c/h2\u003e\u003cp\u003eThe linearity and stationarity assumptions that bind traditional stock forecasting models like ARIMA and GARCH limit their ability to represent the nonlinearity and volatility of financial markets. These models also lack the integration of external variables like economic variables and sentiment of the investors, which diminishes their efficiency in practice [\u003cspan citationid=\"CR14\" class=\"CitationRef\"\u003e14\u003c/span\u003e]. The development of machine learning brought in models like as SVM, Random Forest, and XGBoost, which are particularly good at recognising subtle patterns and interactions between features. In structured data contexts, XGBoost in particular is valued for its precision and interpretability. Concurrently, deep learning models particularly LSTM networks have proven to be effective in identifying time-series data's temporal linkages. Hybrid models incorporating XGBoost and LSTM leverage the strengths of both methods to provide improved structural analysis and sequence modelling. Although the models have demonstrated success worldwide, their use for Indian equities, particularly against market leaders such as Nifty 50, is a frontier that has not been widely explored. This research fills that gap by developing a hybrid framework specifically for use in the Indian context.[\u003cspan citationid=\"CR15\" class=\"CitationRef\"\u003e15\u003c/span\u003e]\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec6\" class=\"Section2\"\u003e\u003ch2\u003e2.2. Machine Learning and Deep Learning Approaches\u003c/h2\u003e\u003cp\u003eMachine learning (ML) and deep learning (DL) models have significantly enhanced stock market predictability by being able to identify nonlinear relationships in vast financial data. ML algorithms like XGBoost, SVM, and Random Forests are designed for structured data and deliver satisfactory performance, with XGBoost being particularly valued for its efficiency and feature selection. [\u003cspan citationid=\"CR16\" class=\"CitationRef\"\u003e16\u003c/span\u003e] Long Short-Term Memory (LSTM) networks are one type of deep learning model that works particularly well for spotting temporal relationships in sequential data. LSTM's structure allows it to identify long-term relationships, and therefore it is highly effective in predicting price trends, volatility, and returns without needing extensive feature engineering.[\u003cspan citationid=\"CR17\" class=\"CitationRef\"\u003e17\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eBlending ML and DL into hybrid models has been the most successful, with tabular features being handled by XGBoost and LSTM capturing temporal patterns. These models are more stable and precise than individual methods. Most of the literature that has been done is, however, on developed markets, and hence the emphasis on region-specific research becomes more important such as this study on Tata Motors in the Indian stock market.[\u003cspan citationid=\"CR18\" class=\"CitationRef\"\u003e18\u003c/span\u003e]\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec7\" class=\"Section2\"\u003e\u003ch2\u003e2.3. Related Works\u003c/h2\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab1\" border=\"1\"\u003e\u003ccaption language=\"En\"\u003e\u003cdiv class=\"CaptionNumber\"\u003eTable 1\u003c/div\u003e\u003cdiv class=\"CaptionContent\"\u003e\u003cp\u003eReview table of the related Research papers\u003c/p\u003e\u003c/div\u003e\u003c/caption\u003e\u003ccolgroup cols=\"1\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"No\" id=\"Taba\" border=\"1\"\u003e\u003ccolgroup cols=\"4\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eS. No\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eTitle\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eMethodology / Technology\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eOutcome\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e1\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eStock-Price Forecasting Based on XGBoost and LSTM [\u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e1\u003c/span\u003e]\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eXGBoost feature selection\u0026thinsp;+\u0026thinsp;deep LSTM\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eOutperformed ARIMA in MAE, MSE, RMSE (Forex series)\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e2\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eAttention-based CNNLSTM and XGBoost Hybrid Model [\u003cspan citationid=\"CR2\" class=\"CitationRef\"\u003e2\u003c/span\u003e]\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eARIMA \u0026rarr; attention-CNN-LSTM \u0026rarr; XGBoost\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eHigher accuracy than standalone models\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e3\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eA Novel Decision Ensemble Framework: Customized Attention-BiLSTM\u0026thinsp;+\u0026thinsp;XGBoost (CABXDE) [\u003cspan citationid=\"CR3\" class=\"CitationRef\"\u003e3\u003c/span\u003e]\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eBiLSTM attention\u0026thinsp;+\u0026thinsp;XGBoost ensemble\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eMAPE\u0026thinsp;~\u0026thinsp;0.0037; MAE\u0026thinsp;~\u0026thinsp;84.4; RMSE\u0026thinsp;~\u0026thinsp;106.14 (Bitcoin USD)\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e4\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eForecasting International Stock Market Trends: XGBoost, LSTM, LSTMXGBoost\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eLSTM, XGBoost, hybrid; backtesting\u0026thinsp;+\u0026thinsp;grid search [\u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e4\u003c/span\u003e]\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eHybrid outperformed combined metrics (indices)\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e5\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eCNN-LSTM GAN for Stock Movements [\u003cspan citationid=\"CR5\" class=\"CitationRef\"\u003e5\u003c/span\u003e]\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eLSTM generator\u0026thinsp;+\u0026thinsp;CNN discriminator (GAN)\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eNorm. RMSE\u0026thinsp;~\u0026thinsp;0.029; improved directionality\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec8\" class=\"Section2\"\u003e\u003ch2\u003e2.4. Hybrid Models\u003c/h2\u003e\u003cp\u003eDue to their ability to leverage the advantages of both machine learning and deep learning, hybrid approaches have become the most popular methods for stock prediction. XGBoost is very good at handling structured data as well as ranking features such as P/E ratio, EPS, Beta, and Sharpe Ratio but cannot extract time patterns. LSTM networks, however, can extract time-dependent patterns but have low interpretability.\u003c/p\u003e\u003cp\u003eBy integrating these approaches, hybrid models increase both accuracy and interpretability. Overall, XGBoost is utilized in the first stage to identify and screen significant features, which are then inputted into an LSTM model predicting from historical sequences. This two-step model reduces noise and improves sequential learning quality. The result is a more robust and precise prediction. For example, in the Tata Motors case study, the hybrid model exhibited an R\u0026sup2; of 0.9961 and next-day RMSE of just ₹13.19. Such models not only outperform lone alternatives but also possess practical benefits by providing insight into the significance of features and market forces. Hybrid systems also consist of modular and flexible components like Light GBM or GRU, which can be easily replaced with little modification. Additionally, this approach is extensible to other assets, making it a useful short-term financial forecasting tool in current markets.[\u003cspan citationid=\"CR18\" class=\"CitationRef\"\u003e18\u003c/span\u003e]\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec9\" class=\"Section2\"\u003e\u003ch2\u003e2.5. Problem Statement\u003c/h2\u003e\u003cp\u003eShort-term stock price forecasting is still a difficult task because financial markets are unstable and nonlinear. Surprising market dynamics cannot be modelled by conventional time-series models such as GARCH and ARIMA. They are thus of little value in dynamic environments. Machine learning models like XGBoost have performed better in modelling nonlinearities and selecting useful features from financial and technical data.[\u003cspan citationid=\"CR19\" class=\"CitationRef\"\u003e19\u003c/span\u003e] They are lacking in modelling sequential trends over time because each data point is modelled independently. LSTM networks are well suited to modelling temporal patterns and learning from sequential data. Though powerful, they are computationally expensive and need large data and tuning and lack transparency a drawback for decision-makers who need transparency. These limitations are especially pertinent in emerging economies like India, where stock prices are affected by sophisticated local and global factors. Predictive accuracy must be combined with economic interpretability. The gap is filled by a hybrid model that uses LSTM for temporal modelling and XGBoost for feature selection. Merging structured financial knowledge with sequence-based prediction, the two-stage system offers precision and transparency crucial to actionable stock forecasts in the Indian market.\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec10\" class=\"Section2\"\u003e\u003ch2\u003e2.6. Research Objectives\u003c/h2\u003e\u003cp\u003eThe main goal of this study is to create and apply a hybrid stock forecasting model that optimises the precision and dependability of short-term stock price forecasting in the Indian stock market by combining machine learning (XGBoost) and deep learning (LSTM) techniques. The study specifically seeks to ascertain the intrinsic value of an equity and its market behaviour by combining benchmark trends of the Nifty 50 index with structured financial ratios, such as the Price-to-Earnings (P/E) ratio, Earnings Per Share (EPS), Beta, and Sharpe Ratio. Because of its significant market capitalisation, high trade volume, and industry coverage, Tata Motors is utilised as a case study example to test the model's performance and usability. By combining financial theory and predictive modeling, the study aims to bridge the knowledge gap between data-driven learning and fundamental stock analysis.\u003c/p\u003e\u003cp\u003eAnother overarching objective is to contrast the complementary strengths of XGBoost and LSTM models XGBoost's ranking of feature importance and ability in dealing with intricate nonlinear relationships, and LSTM's ability to capture time-varying patterns in stock price fluctuations. With this hybrid approach, the research also aims to develop a structured framework that delivers high predictive accuracy (as quantified by R\u0026sup2; and trend correlation) and yet is interpretable and actionable among traders, analysts, and retail investors. The research also aspires to visualize prediction output, contrast model performance within a 22-day window, and offer extensions such as real-time prediction, macroeconomic incorporation, and user-facing dashboards, thereby laying the groundwork for further development of an integrated, AI-driven decision-support tool for equity investments.\u003c/p\u003e\u003c/div\u003e"},{"header":"3. Methodology","content":"\u003cdiv id=\"Sec12\" class=\"Section2\"\u003e\u003ch2\u003e3.1. System Architecture\u003c/h2\u003e\u003cp\u003eThe forecasting pipeline is implemented as a pipeline of modular, organized components that facilitate end-to-end prediction of stock prices. The operation starts with the user entering a stock name as an input. The input is mapped to a pre-existing CSV file (EQUITY_L.csv) of more than 1600 Indian companies and respective Yahoo Finance ticker symbols. After successful mapping, the system retrieves historical data from January 1, 2015. This includes the chosen stock's Open, High, Low, Close, and Volume (OHLCV) data, as well as benchmark index data for the Nifty 50 (Open and Close prices). Once the raw data is obtained, it goes through a feature engineering stage. It is here the system calculates daily returns and retrieves the target feature to predict the next-day closing price, i.e., Next_Close. Data cleaning and joining result in a full dataset to train the model.\u003c/p\u003e\u003cp\u003eThe forecasting issue is divided among two complementary models:\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eThe XGBoost model is asked to predict the very next day's closing price. It is trained on OHLCV feature values, daily returns, and Nifty 50 index prices. The model uses a 90:10 train-test split and yields high performance measures, achieving an R\u0026sup2; value of 0.9961, a Mean Absolute Error (MAE) of ₹8.57, and a Root Mean Squared Error (RMSE) of ₹13.19. The model predicted a closing price of ₹661.28, which closely approximated the actual value of ₹663.[\u003cspan citationid=\"CR20\" class=\"CitationRef\"\u003e20\u003c/span\u003e]\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eLong-term prediction is carried out by the LSTM model. It uses only the 'Close' price of the share, normalized and reshaped to 90-day sequences to model over time. The model has two LSTM layers and a dense layer, which predicts the next 22 trading days. After the model is trained for over 20 epochs, it produces a normalized RMSE of 0.0330 and predicts the share of Tata Motors in the coming month to be between ₹642.12 and ₹673.47.[\u003cspan citationid=\"CR21\" class=\"CitationRef\"\u003e21\u003c/span\u003e]\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e\u003cp\u003eBoth these models complement each other to create a hybrid prediction model. The XGBoost model identifies patterns in structured financial features for precise short-term forecasts, and the LSTM model learns sequential trends for long-term forecasts. The application of two models increases the precision, responsiveness, and usability of the system for investors and analysts engaged in Indian equities.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec13\" class=\"Section2\"\u003e\u003ch2\u003e3.2. Data Preparation\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003eOHLCV \u0026amp; Benchmark\u003c/strong\u003e\u003cp\u003eDaily open/high/low/close/volume for TATAMOTORS.NS plus Nifty 50\u0026rsquo;s open/close.\u003c/p\u003e\u003c/p\u003e\u003cp\u003eFinancial Ratios (computed over a 5year window):\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eβ\u003c/b\u003e = \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\:\\frac{Cov\\left(stock,\\:Benchmark\\right)}{Var\\left(Benchmark\\right)}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eSharpe Ratio =\u003c/b\u003e \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\:\\frac{(Ra-Rf)}{{\\sigma\\:}\\text{a}}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"BlockQuote\"\u003e\u003cp\u003e(Ra: Annualized average return of the stock, \u0026#119877;\u0026#119891;: Risk-free rate (default is 7% or 0.07), \u0026#120590;\u0026#119886; : Annualized standard deviation of returns)\u003c/p\u003e\u003c/div\u003e\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eEarnings Per Share (Trailing Twelve Months)\u003c/b\u003e = \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\:\\frac{\\text{N}\\text{e}\\text{t}\\:\\text{I}\\text{n}\\text{c}\\text{o}\\text{m}\\text{e}\\left(\\text{T}\\text{T}\\text{M}\\right)}{\\text{S}\\text{h}\\text{a}\\text{r}\\text{e}\\text{s}}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003ePrice to Earnings (PE) Ratio =\u003c/b\u003e \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\:\\frac{\\text{C}\\text{u}\\text{r}\\text{r}\\text{e}\\text{n}\\text{t}\\:\\text{S}\\text{h}\\text{a}\\text{r}\\text{e}\\:\\text{P}\\text{r}\\text{i}\\text{c}\\text{e}}{\\text{E}\\text{P}\\text{S}\\left(\\text{T}\\text{T}\\text{M}\\right)}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec14\" class=\"Section2\"\u003e\u003ch2\u003e3.3. Financial Ratios and Their Significance in Stock Forecasting\u003c/h2\u003e\u003cp\u003eFinancial ratios are significant when evaluating the performance, value, and risk of a firm and are thus a critical input to stock prediction models.\u003c/p\u003e\u003cp\u003eBeta shows the volatility of the stock compared to the market; 0.8 to 1.2 is generally the best risk-reward situation. Beta is higher with more risk and potential return, and lower with stability.\u003c/p\u003e\u003cp\u003eSharpe Ratio measures risk-adjusted returns and the degree to which an investment is rewarding its risk. A value greater than 1 is preferred, and the higher, the better. It helps investors to compare various assets or portfolios.\u003c/p\u003e\u003cp\u003eEarnings Per Share (EPS) is the measure of how much profit is per share. An increasing trend in EPS can indicate sound financial health and operational efficiency, which is always preferred by long-term investors.[\u003cspan citationid=\"CR22\" class=\"CitationRef\"\u003e22\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eThe Price-to-Earnings (P/E) Ratio establishes whether a stock is cheap or expensive in relation to its earnings. Even though P/E between 15 and 25 is typical, industry context does come into play. Low P/E could suggest undervalued or non-existent prospects, while high P/E might suggest future growth.\u003c/p\u003e\u003cp\u003eThese ratios collectively enhance models for predicting by connecting number data with business fundamentals to create more realistic and practical models for predicting future stock performance.\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec15\" class=\"Section2\"\u003e\u003ch2\u003e3.4. Algorithms and Techniques\u003c/h2\u003e\u003cp\u003eThe model employed in this study utilizes two complementary models XGBoost and LSTM to address different aspects of the issue of stock forecasting. XGBoost, a gradient-boosting decision tree, can handle structured input features like price, volume, returns, and benchmark index easily. It builds sequential trees with minimal prediction error and provides feature importance ranks. XGBoost in this project worked very well with R\u0026sup2; of 0.9961, Mean Absolute Error of ₹8.57, and Roott Mean Squared Error of ₹13.19, and high accuracy next-day price predictions generated with engineered features.[\u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e23\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eStock price series temporal patterns are learnt using LSTM networks, a kind of recurrent neural network. With the gates and memory cells, LSTMs learn long temporal patterns in time series. The LSTM model in this system was trained on 90-day sequences of normalized closing prices to predict the next 22 trading days. Two stacked LSTM layers with 50 neurones each made up its architecture, which was followed by a dense output layer. The model had a normalized RMSE of 0.0330, predicting between ₹642.12 and ₹673.47. The hybrid approach XGBoost for feature extraction and LSTM for sequence learning enabled accurate short-term forecasting as well as substantial trend analysis, providing a good platform for further system development to broader financial applications.[\u003cspan citationid=\"CR24\" class=\"CitationRef\"\u003e24\u003c/span\u003e]\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec16\" class=\"Section2\"\u003e\u003ch2\u003e3.5. Extreme Gradient Boosting (XGBoost):\u003c/h2\u003e\u003cp\u003eThe gradient boosting paradigm is used by the reliable and efficient machine learning method XGBoost. It constructs decision trees in a step-by-step manner, with each new tree using first- and second-order gradients to swiftly and accurately optimise by correcting the errors of the prior tree. Features like regularization (L1 and L2), parallelism, automatic missing value handling, and the ability to use custom loss functions make XGBoost extremely scalable and resilient against overfitting essentials when dealing with large noisy financial data. Its simplicity of use with popular libraries like scikit-learn and TensorFlow makes it viable in production environments in the real world.\u003c/p\u003e\u003cp\u003eIn predictive finance, XGBoost excels in identifying complex, nonlinear patterns of association between structured inputs like technical indicators and financial ratios. Not only does it yield high-quality prediction but also offers feature importance scores, which improve interpretability a top concern for finance practitioners. Its stability and efficiency make it ideal for tasks like next-day price prediction, trend classification, and real-time signal generation. XGBoost is a useful tool for stock price prediction in dynamic market conditions because of its capacity to manage massive data volumes effectively and produce insightful information about feature relevance.\u003c/p\u003e\u003cp\u003e\u003cb\u003eWhy XGBoost is Useful in Stock Forecasting ?\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003col\u003e\u003cspan\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eModels Nonlinear Relationships\u003c/b\u003e: Stock prices are determined by nonlinear relationships between a given group of financial indicators. XGBoost can model these relationships effectively.[\u003cspan citationid=\"CR25\" class=\"CitationRef\"\u003e25\u003c/span\u003e]\u003c/p\u003e\u003c/li\u003e\u003c/span\u003e\u003cspan\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eFeature Importance\u003c/b\u003e: Gives insight into which features (e.g., P/E ratio, EPS, Sharpe Ratio) contribute the most to prediction, helping with explainability.\u003c/p\u003e\u003c/li\u003e\u003c/span\u003e\u003cspan\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eScalability\u003c/b\u003e: Can handle big data very well with thousands of features and millions of rows great for financial time series.\u003c/p\u003e\u003c/li\u003e\u003c/span\u003e\u003cspan\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eNoise Tolerance\u003c/b\u003e: Can tolerate noisy or partially missing data, which is prevalent in stock market data.\u003c/p\u003e\u003c/li\u003e\u003c/span\u003e\u003cspan\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eFast Iteration\u003c/b\u003e: Fast training makes it applicable to real time or near real time forecasting systems.\u003c/p\u003e\u003c/li\u003e\u003c/span\u003e\u003c/ol\u003e\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec17\" class=\"Section2\"\u003e\u003ch2\u003e3.6. Long Short-Term Memory (LSTM):\u003c/h2\u003e\u003cp\u003eA particular kind of recurrent neural network (RNN) called Long Short-Term Memory (LSTM) networks was created to learn from sequence data without the vanishing gradient issue that conventional RNNs have. In order to control the information flow over time, LSTMs, which were first introduced in 1997, use finite-capacity memory cells along with three gates: input, forget, and output gates. The architecture enables the model to store important information for long sequences and remove redundant inputs, so it is extremely effective at handling time-dependent patterns of activities like stock price prediction, speech recognition, and anomaly detection.[\u003cspan citationid=\"CR26\" class=\"CitationRef\"\u003e26\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eIn financial applications, LSTMs are well-suited to learn the temporal relationships present in stock prices. Unlike normal machine learning models that regard observations as independent, LSTMs learn both short-term volatility and long-term trends. LSTMs also enable multi-step forecasting, allowing prediction of multiple future time steps such as the next 22 trading days so that they are practical for planning. While they require large training data and optimal parameter setting, their noise robustness and ability to learn complex sequential dynamics make LSTMs a valuable resource in finance forecasting. They are typically used in hybrid architectures with models such as XGBoost to enhance accuracy, generalizability, and interpretability.\u003c/p\u003e\u003cp\u003e\u003cb\u003eWhy LSTM is Useful in Stock Prediction?\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eLearns Time Dependency\u003c/b\u003e: Uncovers relationships from historical price series.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eManages Long-Term Trends\u003c/b\u003e: Maintains context over weeks or months.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eForecasts Multiple Days in Advance\u003c/b\u003e: Suitable for multi-day forecasts like 22 trading days.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eHandles Noisy Data\u003c/b\u003e: Deals with volatility and unusual price movements quite well.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eMinimal Feature Engineering Needed\u003c/b\u003e: Trains on raw price data.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e\u003c/div\u003e\u003cdiv id=\"Sec18\" class=\"Section2\"\u003e\u003ch2\u003e3.7. Detailed Design Methodologies\u003c/h2\u003e\u003cp\u003eThe architecture of this stock prediction project is to create an effective, data-oriented hybrid model with high prediction accuracy and interpretability for tomorrow's stock prices and short-term price directions. The system has a clean and orderly process from user input, data retrieval and preprocessing, model training, prediction and evaluation. Each of these operations is coded in Python on Google Colab harnessing its cloud-based responsiveness and easy access to computational resources. The whole codebase was written in modular style so that each of the subcomponents data retrieval, feature engineering, model training, and evaluation\u0026mdash;can be debugged, reused, or optimized separately.[\u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e27\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eThe first step is to accept a stock name given by the user and cross-identify it with its corresponding Yahoo Finance ticker from a custom-built CSV file containing more than 1600 Indian stock names. This provides the user with the flexibility to analyze any listed company. Upon identification of the ticker, the system automatically fetches the historical data via the yfinance API. Daily 'Open', 'High', 'Low', 'Close', and 'Volume' data for the selected stock are fetched. Simultaneously, benchmark data for the Nifty 50 index (^NSEI) are fetched to track overall market trends. This two-data setup configuration enables the model not only to identify stock-specific trends but also to account for systematic market influences, leading to enhanced prediction.\u003c/p\u003e\u003cp\u003eIn preprocessing, some engineered features are generated to enhance the dataset. The Return feature, the previous percentage change in closing price on a daily basis, is calculated using .pct_change(). A Next_Close feature is generated by shifting the closing price by one day, which will serve as the label for the supervised learning task. Benchmark and stock data are merged on the date index, and all the rows with missing values (due to shifting or calculation of returns) are dropped. The chosen features to model are stock price features (Open, High, Low, Close), trading volume, the daily return calculated, and the open and close of Nifty benchmark. This feature set, apart from being well-engineered, is the input matrix X, and Next_Close is the target y.\u003c/p\u003e\u003cp\u003eThe data set is divided into training and test sets in a 90\u0026thinsp;\u0026minus;\u0026thinsp;10 ratio for the XGBoost model. To forecast the closing price for the following day, the model is trained using the eight features. Following training, the test set is used to make predictions, and performance is evaluated using three important metrics: RMSE (13.19), MAE (8.57), and R2 (0.9961). The model is also used to predict the price for the next day based on the provided data point. The predicted value (₹661.28) was compared with the actual closing value (₹663.00) and indicated an extremely low error, validating the efficiency of the model. This part of the design methodology demonstrates how static financial data, coupled with gradient boosting, is capable of providing high-precision single-step prediction.\u003c/p\u003e\u003cp\u003eParallelly, an LSTM model is trained to forecast stock prices for the subsequent 22 trading days. As LSTM models operate on sequential data, only the Close price column is utilized and normalized with MinMaxScaler. To allow the model to learn long-term price trends, the data is reshaped into 3D arrays of type (samples, time steps, features) with a sequence length of 90 days. 'Relu' activation, two LSTM layers of 50 units each, and a thick output layer of 22\u0026ndash;22 days of future pricing make up the model architecture. The 'adam' optimiser is used to train the model across 20 epochs with a batch size of 20. Upon training, the model had a test RMSE of 0.0330 and was able to predict a price range of ₹642.12 to ₹673.47 for the next month.[\u003cspan citationid=\"CR28\" class=\"CitationRef\"\u003e28\u003c/span\u003e]\u003c/p\u003e\u003cp\u003eThe last step in design is visualization and interpretation of results. Both models' predicted values are printed with actual test values to check for accuracy. For XGBoost, a DataFrame is shown comparing actual and predicted prices. For LSTM, the predicted values are reversed back to original scale and visually inspected. The complementarity between both model one addressing structured feature-driven learning and the other temporal dynamics modeling guarantees the end system is balanced, understandable, and robust. The modular design also guarantees it is easily extensible, and future iterations can have extra indicators, macroeconomic indicators, or real-time dashboards for deployment.\u003c/p\u003e\u003c/div\u003e"},{"header":"4. Results and Discussion","content":"\u003cp\u003eThe XGBoost-LSTM hybrid model produced highly accurate and interpretable short-term stock forecasts. The XGBoost model, trained on Open, High, Low, Close, Volume, daily returns, and Nifty 50 benchmarks as features, was highly effective for forecasting one day ahead. It produced an R\u0026sup2; of 0.9961, Mean Absolute Error of ₹8.57, and Root Mean Square Error of ₹13.19 on the test set. It amazingly predicted the closing price of Tata Motors the next day at ₹661.28, compared to the actual price of ₹663.00\u0026mdash;an error of only ₹1.72, or less than 0.3%. Such precision indicates the model's stability and the potential it holds for real-world trading applications where timely, feature-based predictions are valuable.\u003c/p\u003e\u003cp\u003eBuilding on this, the LSTM model offered strong sequence-learning ability through forecasting the next 22 trading days from a horizon of 90 scaled closing prices. It yielded an Root Mean Square Error of ₹37.71, Mean Absolute Error of ₹30.26, and R\u0026sup2; score of 0.9762 with a normalized Root Mean Square Error of 0.0330, indicating low relative error. The forecasted range of ₹642.12 to ₹673.47 closely trailed actual market movements. Visual comparisons of predicted and actual prices indicated that LSTM accurately captured short-term momentum, reversals, and direction of trend. Minor offsets were detected in situations of extreme volatility, but general model performance was helpful to traders setting entries, exits, or stop-loss levels for multiple sessions.\u003c/p\u003e\u003cp\u003eThe complementarity of LSTM and XGBoost rendered the hybrid model dynamic and accurate. XGBoost gave insight into what were the most influential features on next-day price action such as recent returns and benchmark trends while LSTM captured temporal patterns lost in fixed models. The multi-layered learning architecture compensated each model's weakness, providing a balanced prediction as well as being comprehensible and trend-sensitive. The successful deployment on Tata Motors indicates the versatility of the framework and is a precursor to applying the system to other equities and asset classes. With some minor extensions like real-time data feeds, macroeconomic inputs, or sentiment analysis, the architecture can be evolved into a scalable AI-based decision support system for a wide base of users from retail investors to institutional analysts.\u003c/p\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab2\" border=\"1\"\u003e\u003ccaption language=\"En\"\u003e\u003cdiv class=\"CaptionNumber\"\u003eTable 2\u003c/div\u003e\u003cdiv class=\"CaptionContent\"\u003e\u003cp\u003ePerformance metrics of XGBoost and LSTM models\u003c/p\u003e\u003c/div\u003e\u003c/caption\u003e\u003ccolgroup cols=\"4\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e\u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e\u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eModel\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eR\u0026sup2;\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c3\"\u003e\u003cp\u003eMAE\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c4\"\u003e\u003cp\u003eRMSE\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e\u003cb\u003eXGBoost\u003c/b\u003e\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e\u003cp\u003e0.9961\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e\u003cp\u003e8.5728\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e\u003cp\u003e13.1923\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e\u003cb\u003eLSTM\u003c/b\u003e\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e\u003cp\u003e0.9762\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e\u003cp\u003e30.2573\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e\u003cp\u003e37.71\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eNextday Forecast\u003c/b\u003e:\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003ePredicted\u003c/b\u003e: ₹661.28\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eActual\u003c/b\u003e: ₹663.00\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eError\u003c/b\u003e:\u0026asymp; 0.26%\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThis sub-1% deviation illustrates strong predictive alignment for dayahead decisions.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab3\" border=\"1\"\u003e\u003ccaption language=\"En\"\u003e\u003cdiv class=\"CaptionNumber\"\u003eTable 3\u003c/div\u003e\u003cdiv class=\"CaptionContent\"\u003e\u003cp\u003eDirection-Based Classification Metrics of XGBoost Model\u003c/p\u003e\u003c/div\u003e\u003c/caption\u003e\u003ccolgroup cols=\"1\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"No\" id=\"Tabb\" border=\"1\"\u003e\u003ccolgroup cols=\"2\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eMetric\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003eValue\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eAccuracy\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003e0.9825\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003ePrecision\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003e0.9807\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eRecall\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003e0.9845\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eF1 Score\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003e0.9826\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth align=\"left\" colname=\"c1\"\u003e\u003cp\u003eAUC-ROC\u003c/p\u003e\u003c/th\u003e\u003cth align=\"left\" colname=\"c2\"\u003e\u003cp\u003e0.9825\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eNext One-Month Forecast (LSTM Prediction)\u003c/b\u003e:\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003ePredicted Max Price for Next Month: ₹720\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003ePredicted Min Price for Next Month: ₹650\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e\u003cp\u003eTable 4 Comparative Analysis\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArQAAADgCAYAAADyvvUSAAAQAElEQVR4Aez9dZhdx54tCK59MJk5pQQxM7NkMRhkvKZ7ry9X9St43fX6+3q++Xump7tfvap6VXXJzAyyZDEzM0vJzAwnT+asFemUZZkkW5CS4kiRZ0PAL1bAXrEiYh9Xl/1YBCwCFgGLgEXAImARsAhYBO5iBFywH4uARcAiYBG4DgSsF4uARcAiYBHorQhYQttbS8baZRGwCFgELAIWAYuAReBuROAO2GwJ7R0A3SZpEbAIWAQsAhYBi4BFwCJw8xCwhPbmYWljsghYBG4fAjYli4BFwCJgEbAIXEHAEtorUNgDi4BFwCJgEbAIWAQsAvcaAvdHfiyhvT/K2ebSImARsAhYBCwCFgGLwD2LgCW092zR2oxZBG4fAjYli4BFwCJgEbAI3EkEfhSh7eoCrLMY2Dpg64CtA7YO2Dpg64CtAzdUByx/ugEOeSME+YYJbbCzCwXlzTib34AzedZZDK6/DlwsakR+eQsuFDbautPL287l4iYUsqzO2XZ+z9RV9dn57LsvlzThbC+vf7Zfvf5+tQcrlWl+WTNyVL623d4z7banfO/H75LqVrQFOtGpEdN1MNsbJrRt7Z34Yl8Z/rQqB3/8zDqLwfXXgTc2FGD13lK8vj7f1p1b2XZuQtzvbC7Emn2leHFNni2rm4Bnb+gn/rwqF6v3lOH9LUW2TO+RMr26XumZvGp3Cd7fWoQ/3YP5uzqv9vj6n7t3M1Zbj1SgvimAjiAl3VtBaKXQFla04Fx+o1FpNeq3rsFiQUXgh+rBpS9Vv4tFzRav68Drh/C8lfel4hVVtuJcgW3ntxLn2xn3uYIGM7uWU8r2Z8v1nuuD1Fbzy1pgytc+n6+7fG9nG7Rp3RhXKq1qRaCjE123SqEVSRZXVvzW2XUzN1wHWIFUOW84HCudDXOb6xu62JHc2jTdLgd+rxshvm7ndbtYQ76epsftIORLP/Lr+RY/V9cNReBhvD1h3DxmVq7kRfflX98+rwuhfjfkR9e+zbkchza6EBHqQUSIx9hq7HC5voqT9RP8fFv43nKtkzZ+ZcutL9uv0vp6edrrtxAPUwdVtnK3MJ2v1SWbjq3Tt6gOsD6r7zZOxz/gXD9w3962CFgEfhICNvB3ISASmZEchiWTk/DzRRn41bJMLJiYhLhIH8ghTbCwEDemDY/D84v64oWlmXhwWgoGpocbgms8fMsfr9uFQX0j8fjcNBNu9IBoiLgqzvgoH1LiQuD1uBBJgjp/fBKemd8XwzIjDam9Njo/Ce/wrEgsnZKCeeMSMXtMAhbRRrms1FDj3UPCnRTrh5zSMBftH4uARcAiYBG4rQhYQntb4baJWQQsAj0IaKF/TUO7UT8nDI7B/PGJWEHCOqJfJHwknI7jICMpDDNHJWAhSeT8CYmIj/ahrimAYGcnRCTdLgcu+tN3z3mQUqTiHpoVxTiT0C+VBNjvRnpCKJZNTcbMkfGICvPAT1U4gfGJiEp9ZTS49tMdJgWj+kWhpLIFJ3Pr0dwWRL+0MCRE+0mMHfQnwV5Ou8cPivnSbpiPbArxuSAy7XJAku7ATfLbY2fPfZHrb0sb9mMRuN8QsPm1CPwEBCyh/Qng2aAWAYvAj0dA03SNLUFU1rUjr6wZNQ0B9E0KxeShcUiM8SMi1I3h2VEgP0UH//hIclvaOqGNqQP6RFApTcb8CUkY1DcC40gmpaLOHp2AmAgvWkg6g8FOQ5ZFKgf1CccT89KpBqdg0tBYkuR4DM2M4DwZUF7TisaWDrN84NrcxEZ5aVMYskiKR/SLRlS4F2fzGrHnVDUamgMYQdL82Ox0PEAyPpl2TydZTqTtyXQzRsZhAe17gMruECrAiTE+TBkWZ9TeRZOSzL2HZ6SZ776JoYaYX5u+PbcIWAQsAhaB60PAEtrrw8n6ujcQsLnohQho0f/Z/EbsO12DYLALI0hixw2MxoisSMRGeHChsAFNJL4yvUuLqRwgNT4Ej8xMxdMPpGMAFVKppM8u7ItHZ6chjfe6/epvt9O62+RYP+PzkiB3mY0GYX4PxjAdKcD90sKNkio1tcdJOdWmBG2mCvW7sGJ6Kn6/IgsPM91Qqrsi4m6SbMUbzriCXZ1mN25ClA/LqNiumJYKqbhSbmXXAKYhEv30/D54dFYaiXIoslPD8PicNDzEuJPj/N3G2r8WAYuARcAicMMIWEJ7w5DZABYBi8DNRkCvZtlzuhoitrGRPiqeSZhIJTW/vAWFFa2GhPakGQh0Us1tR5ASr9/rht5TWFPfbpYg+L0uuDS/3+OZ3wGS5OLKFhRXdsdTUNaCvSTPp/MazPIBhRFBHUzVd/nUFDw8I9W4maPiTZxbjlTi4x0lOJVTj8gwD+aMScBjc9MxdmAMRHgrqDC3dXTiYmET9p+pQWS4BxOHxFLN9aCptQMNVH8jQz0IC/Ggpj4ALTVoaO7AtmOV2H6sypDgUQOikZUSRmvtf4tAb0HA2mERuLsQsIT27iova+11IODQjxy/bvv/O5Xubc/oTU6wswvIKW7CrhNVZo1s3+RQpuDgZE4DWtuDPP7qP72a5QFaJ6u1p93OgfOVl+89kn8Xez7xXsUlzy6exER6oU1qIpZyqXEhGEiSGx/lxe6TVXhpTS7e2FCIU7kNRgUe2S8K4SFuk25P2h7G001e3WaNbkewE9uOVuKTnSXIL282dktkFgkXqdVSh0BHF3weF0J8PbHgvvgotyqL+yKzNpO3BQHVKRcrFf9fSe/q4ysX7cE9iQC79XsyX9eVKVV07XrWFOeEITFGVRmaGQltEOmJoMfPqP7R5r42rwzsE24eZD1+vu9b4bVrW2lItdFaOj0EvytMHB+eelBOGByLfpyO9FJxwj36ud5sSdHSznRN3QrDb3NaQ5meGIrYCC+0q11rL78P5+tN+0b8OfSclhBiyI42/vDU/v8BBPwkcjERPsSSTLrcDg6dr8UJKqH6lbIDZ2tQXd+GUE7ve1wOiaODUL8bWhLQThLY3t4FLQvolxqOQSSeOlZd0ZrZEIZR3I7jmHW0DGyUXIq6Zn3ukIxIaKmA/IjM0hvJcz3eWF+Al9fmG7dmXxmVYWAGldrRbP/NbZ04dK4GRy/WmnW/FbVtRuFtCwThOA5U9mrfsk3LEaLDvRiQHgFtZFOf4nW7xGWhj+7pbQ3ZaWFUbt2Mrw1l1W26dd844ZKZHEYi775v8mwzevMRYNMzz+yBfC5PGxGPOWPiMZ3feo6qjWmQ6ve5bn7CtzFG5dHD/lH94G1M9q5L6u4u5ZsAtyqJ1uA9Na8Pfv9QNn6xJAMjqLxIMVH0oX63eaDplUJ/eDgbyzglmRjjNw8w3ZdTZZPT8bXOcRyE+F1m04rieHh6KpJiQ77mjV7gfHlFD2Kt6XthaQbmjU9CBBWgL2/dt18iMKMHRGHRpGRIORvdPwrPmdc4ZWDC4BhkpoRi3thETBoSg4F9I8z6xBXTUr6BswAUzsJbx3LXnutaj5M/uZ7zH/qOi/Jh6ZRkLJmcjPho/5Uy/aFw33df6ct9r59rbn5fnq7xekdP3SSpKfEh0DR+mN+NPhyQ1DYGsOlQOUQmT1MJ1QavmEgfznM6/9D5GrRzal+Dm5qGdk7XV0I/8BIR5kFHZycOkwyfK2xke3Ob6f7iqlZeqzEKb1cnSEZroeUD1Q2B7jRD3SipbMWJy/X0Qw8ErrKuDRU13a6Wacie6rp21iU/pgyNxSQ6tdH1B8qx+XAlKklqtXxh3+lqE0co27p+Nnj1nlLsP1NtiPoo9idePowUt97BLNBDmV8NnrNTwpiHBqzdV468shbdui9cOLGfMTIeTz3QB/1J6lUXvi3jqvtyN3rv2/xfe43F/Y02qrTkrvWrc+Off/hfp7fb2fS+BQG1q4F9IvHY7DQ8tygDk4fFQv1FVLgHEpEenZNu3mqiAWVPcJWvXM/5t33rvlzPPR3L9Zxf+606cfX9a8+v9i9/cldfu/pY9xS+55rO9WzRhlNthtV5zz37/XUEXF8/vb/OpNZU1QdQUtVmNoloLd3wrCgzutOrfKTcZCSFYiDVnySS2D4JoXAcB0UVrWhq6TDqkK5npYQjmyqRNqroYafKKKIstTWbKqsUWq/HMRtZEmN98PHYxXj0EE9PCIEean2YTniIB/VNHdA0pdSjeBKk7+ro76+SAjQ9K3Vs+7FKFFS0QJgmx4SgnORj14lqSM1rbe80sIjI6NfsWtuCiGbHpulr7Z5X+WSSQPRPi0BKnJ9xeJHB8348T4zxQa9UUtmJbGi6OZtlqtdGRYV5f3AHeojPZcj1jJEJmDoiDqOyo0z9AD8q62iqdapLSl92JEb7zKYgncsW3dd1lbvSj6bd6axv2aw//dPCjaqoOqU6KkKncMmcEpfdWfSjcLovcqi6pHDprFshVCppQq/8393+SEyPV2HzkUqzHlXLC06SYO7ktYaWABpbgjh2sQ5vbizAi6vzsPFgBUqrWyEFdCOJ719X5+LDbUVmjavuv72xEGfyGiBS+dH2Erz8RT52MC75P36pDq+vz8d7W4uw51QNjl+sx4fbi/HaunyzpKCJaV0NlJYjXCxqxEc7ikk4yyDl+GJRE3aeqMK6A2UoKG9GC+vc/jM1eGNDAT5mXCLV+oW13Ser8SqV3leYvpYb7GCYKhJjU8ccoI7E/SjzJeL+JsPuOlmFptbg1cnfs8fq06Rczx6TgImciTIkhDMrV2dYdTkuygspuKr/PXXZcRwzO6ZzXVc9j6W6rzajNmDaRayf7d4L+VH4BLY1tQO1FZ2ns13pmvyqrSis3nesdpXF/qA/VfU0+lEY8CN7NbDqSzVZfYf6kygOomI50FJ8ikdhFY+upSeGQP7V7mE/twwB4at69OjsVPO2k2a2n3X7y6DB5lb2J2pzeaXN0Gv82OTMTE0K60YWn9dyqi/qTz18HidQgMhMDjWDatUPbRLNZv8fz7qTyGe/ZoEURkRZbbinn1X5axOqniMim6nsc0U+VUcklCk9iWPXpq/niuqI7intDNYtvekkneGVluIVCVc70LFEEm0klbAje8Qnbhmwd3HE9zWhVblJMWnrCOISH1SHztWis7MLI0lG5OLZUUpF0cOnisqN/IpsdtCPVMMR2ZF4Ym469P5MvS5IKu+UYbGIZuesCvvIzDTomgiOKuXV0wXRER7MGp0AvbZnxqgEs8t51uh46FVFaoB62Mu+2+Z6cULtgU6cymkgCalGVX07dK6yEOHQhp9qDkoOcir4FKeqk9j5iLwm8lvTTFl8QD0+O928tF87yfU+0+cX9cHPqAzpRflLqPr+nGrv8qmpUFg92KTCLZ+egqnD47B8ajIeGJ8APVz5LP1WlLoHPmEYkhEBsOdKZtpThseaAYzCuDmjKpsempGKXy/LwuLJSdASlpWsH79ZznPaoOmyuWMTqADGIJsEdTFV3hW0YdrweDzJ2QPt6JeCqU5uNqfUXliaCe2Wf2hGGp5dkAFtVNL9VpTu4AAAEABJREFUhROSjEKsuvUY861lGnrQohd+tAZWSmt+WTPkKkn4OoJdRuls5ICRoisJbQeKKlugB1MuH049/lQH6jj4u1TchJySZg5KW5HHeOQ0yFFc8qsw2gzWzMGN1q2WcQBUxAGR0lVdkn/jh2puC/1cC5MGmBrwiqSqjzhf0AjZouvsBox3hSthePkRKVXdFDHX+Tn6l33yr7rldbsMIa+i+qsBWE5xM/LLW8zSBRPZPf7HYf7iOFAflhVpCIba6ASS2kF9w80GPN42A8EBfSKg9qLXnq2Ylsr22pczZ5GIJ8mdyX5zGWfK1H6fW5gBtWm1LylYahcrODsziDM1iyYm49fLMzGXszcJJCZjBsTg54szoFk49c3PLuhr0hjUJxwzOEWtN1FINVY/obY1Qu9D9rqQnhiKRROTsIhta9HERLa7vlBag2nzI7PS2KYzsWhSEuL4vFAfsJAza+p33C7lFvZzixBQvzZhSCzGD4xBB2du9p2uwVm2N/Udau9atqRZFA049azQsrTH5/bBvHEJ0Kv0npyXjrGDolluPowfHH2lbmiWTXXg18sy8djsNDwwPtHUE52rn42hOCHyuXJmKn69Igsr6UeE8/mFffEc65SpK6x7v1ycicfnpptBmfptpb9yVjpm8zm/lP37Yvb7GSTRYwdG4zmGVd1UvV7JOqXjaXz+RFJMUVsRvxCnUL3qzxkN5f0WwXpXR3vfE1pTeqztNVRMtPFDCkwC1bppI+PMUgOt77vwZSMxfvlHJCWVI/jl7DinUY2rJNmVIqipRRGP0f2jTdiF7AQ9nGqUwlRQ0WzIMoObjlu/TLRyViqny8MgJVFKgRqSFADbDQqlr5wIfl1TAPXNHV9d/NpRl1G3CqmcN7cHIXVFDV8KuAiGRuIjsqONAnu5pMmonVOGxRsVJ58qm9QVEdAMjpL7Uw1dNiUZ2vFezzQTSU71a1Kj+kUbRVX35RR/LAcuqgtSazTwKaluw+ZDFWgiMRpOpX/S0Fjz0O7o6DIkpoW2Dc+KxNCMKE6Je018YwZEQ37TODIP4cOzqKIN+nnVCYNi2dF6oXopBUA77gfyIa+OWqqC4hnLsB43qEY2opa2am3xg3z4x9EuEb6RnOpePCmpm1h/DS97cicQ0CD1+GWpxAXQkgTVaQ2A7oQtdypNqWFSrjwul1HSNNgQYZzKh3c8ia5Dw0RaNTDTD2BU1beZwU4kFdFUzqrozRLLpqSw/XigN2KonksF0247h2COYLtTO9GDzc/ZCfXFGiAGuzqhwdKQjEiozUnV1WBGb7zQPoXRJBXyJ5Uv3O/GZBGlQTHsIzzmncUiNa2BIM7kN3KGzQWRVw1imjnwUpxasx/Ndiei0coBuAZOHRqRMT/2/61BQMtW+iaFQEuO1LdWU+yQIHV1auW1rVA5J7Ef19tLxpPAqtxKq1sweVgcHqEgoNk4tc1BfSMpSkSiqbUDNQ0BDM2MwuShceZVgiLJKuMpDBPDgYsGo0mMcwyf9dqroThVp7R2V9fLa9uQQB6hej2AAya9VvBhChqj2We383kQzTiWUixRGrJ3IGcFBlMQaeQskerZcPbdk/T88LnMLGSAhD0Q7DRLr07lNHKG+P6YzRE2N+LU7m/E/z3rVxVaZFbTiZreHpEdRVKaYNSTQipEut+TeRdZjKaJszl1IZWmtpENoLEdqnBp8aEQ4enPUVR4iAd6pY/IblmN7neZKERINDLTFLOfFdZhKZzObYCmWtvYGRpP9s8NIyDFr4MNXwoZn5dwHIcPsU6ojNQhFFAJy6Ga19Kmh1uneR1ULs/b+KDye91mw5GmD6V0Sk2TCn+hsBFHLtZCnadU3F9I4aF7en5f6FVLmjLSA3pIZiRCWJaqAw1UDvVwm85BkXm4uhxo3eb+M7WQOqjpLHVW6jSlPmazrkgZauSU2bmCBqi+ifh43C4MogoUHuqBbNHDUh22CL5DdESg1+8vx9ubC3H0Qh0ykkIRz040lPWujVPh+zgVfoFT5h3sCKEAsJ87iYBe36V2rnI5yNkgKcMiZHfSptuddnJsiCGUmrpVnaxp6n7d2uj+MRhDpU39YXyUH5p21WvO1FZ3HK/EmxvzcfxyAwWAUGiA6mLgi2yb77Duf7a7DGoLanu8bJYHBdlh653GjuOA/0E+a/oCHTeTsOhtGm9vLsKqPaU4X9CEE5fqzTIQtU1NM/vYlkNJiKWs9ecgNy7SZ/qRIxdq8dbGQmw9Wmn6Dy0VUZ+itieVLjMpDOozJHLQhNsN732Vnsq3meJBBzv4EJZVNJVT5xoEHDhwsf/VO57Vz6orrKptNzN91JpYn8KQQPVe/SrQRTIbNDM+xSS8eo60UYRQOxVh1blEEi8DdnCwon4YLGQ933M4e9TEwY3qV3G1SHQLSWcHNFiSQKFBm575IaxXWi6QS2FFM8K1rP8dtB+O0u6AZpzM5lBSBfllUuZHYjo4c6XnWxMJr/oRkzbs51oEXNdeuN/OVQE9rDWqZKowWgOnqWtVGKkHOg6wMqlRCBs3Gwf/m0rWyArsIoJ+rwuhXje8Hhea2jog5aWRFU/xxYR7oM4wkqTEzXQUXq4t0IUAR2q6LvKhdA+zs9SvD7lcDtgO2THzi4ewnysIOI4D4ec4Dvj/yjH4cehUNrrugP8cmM6s+5zHDuDmCf9DTmXnYgDny3A85HR3kOXSCT3M2L/hEIniwbO1EBk+k1ePg+drjTtKkquOR52h1NkCTnfrF6TOU83XA7iCqn12ajg0VaT12IorR50Yy1idp+rMlqMV2HuqRrdM3dGDsJUDmkSO/PUQTSQ5DbCeiPS4aLA6Uz87bh0rA5rqVofOvpU2d5lpa3W6eghrOl0zDqdyGtBMosx+l7m8e/6rXMJC3GZTVVyUD9/mRPRdKry7IFsyk0V4F1h6a0xU3qWyjqNCpoezBu/5pS3QWscLhU0sXy9mjYqHCKX6XtVZKV9DsyIRQzKp/lR1u7m1Uxyie+17erip2yId6hMUrovkwONxqKx6qdy51UzYjzqmHzBtH4D6c6lwnWQ3ilMzLNkpYWb9pIuGtpLEqL2IUPjYp6udedwuDO4bYfworEiIx+VAZEdT2urLNaXcxdYsRVDnTMr+v4UIaMbuOAciBWUtkHg0PDsS2lfg97mMABBFgjuIZZbO2a8AhY7GL5/XIVTgQ/0e1g3H7M1Q+cIBWPSsKzB1hUXLC1285phnjPoj8OOiJx2bbx7Tg/HvdjkM60AfF6+bc1f3ueNinWO/3kanPo1V5MoSOm1A5W04+sdwCiLnMCKHB3Kqi6qnLt7XksRocgpxFnqx/69BQFhec+n+OWX9MB2fdlonRPuRRcVVZFREQJ3UjuNVUOeVRGIhciqVTZU5gSO6Ck4paONKOaeZNfLqx85Va213najG0Yt1OHi2xrxoXSqsph0yk0PNesB2EhSpbZeonInECm1No00YHAM1xlA2NnWeUomVljpbl2q3PN7nTuWlqT4pOHrgqUNT41Z5qIGHkOxFhHk52Og062xjIroHEyKQ6sxE9EQuAxxINHLAoQes1B5NASm+MHaEeewcj5DEdvBhN5YPX009ajmIynbPqWqsoyIqp7VZNVTlJwyOhZYLlHBUfja/AScu10Obh6TaaDQt9XZU/yizq76JHao2r53KrcfxS3XmfaZm7S/DnMypx2WqxSpqLWWIJ4lT+WsQpHQ0Ko/lNFVafIjprLUcQp1cNDtt5V33j7De6ccCIsPcmMSpMilemh7jM/6uqznKk5aCaEDwxJx0aF2ZpvM0haz2pOU5equFn2Xe2zOn9q5+QGWqOtzb7b0V9omcjuL0rKZt65sDnDptZDupM8roec5KVNUHoLY4gf2glLKD52s4VdxiSKSW0WjtoqaG1XbUv4awrS6elGzeKjKa07iKv5xtUO1Xg0Wlo0GQ3lLRxUalY/3ghdqJ2rravs/jEo2ASIL6BZWT2wU0UsGtaWhHKPtixat++hxtFDF6cHqqWVM5uE+EaYcaUB7hIPUc234llT+14xpOV98KDG2cX0cgQJJ6mH31Z7tKzEbQ7NQwaJnf1GFxmDAoBlOHxWJYViTCWI55HDxtP1pllhJo+l8zANo8vP1YBdX9VlPWeiZoMKNnTGSoF3WNQQocnYiP8pIneFDHmTf9gIrqjsgydS6ofil++engBc3Wqs7omaSBk57j6sskjolTKI5hJN6TaVsm1fwQ9l8hfjd5RhBtnFWLY7+vmQnVU3GO6DAPmqhCq17Xsd30SQzhoC/MzAZ+HQ17JgRc+nM/O1W2qrp2nM1r4Mi/C1K7jrCRfLS9BCcv10EPII2sthyuNDuZRWLbOdJqbO7A+oPlnH4qQD5JkNZMvbe1yLxAXaN2ERftntYriDStrMr8zqZCrN5TAm0WuVDUxGm0Ary3pdCQm3xOh2utbRk75WMkO+9vKaJ6Vw2RLWPE/VxIV+Vd5SU8P95RTOyKSAKbzJpkx3Eg8ldc0YJPd5Zg7f4ydjYdaG7rNK9q+nB7sZnO0QBF5abw+VRV61iO2hn7CTvFAoZVJ6dd7e8Sf9UDTTWdzm1AUVWr6dxaqd7IqQ5wlgja3HP4XB30QBZxlEok8rvlSIWpL+sOlKOWDziR0y7A2LBqdwm2Has06sAl1oPPdpUapUp1SuFVFz/YVgTVwU2HKvAep0ZVd0SoG0mKT5H8vs+6tusk6wc7UcdxoM79KB+s2lmv/F/gdGwep8GkYKjTZdJ31X8tHVG7FLmfNz4R2iAhopNX2gS9Rivc74He7qApPWWMEEAYu3hA/qJLxvGUzeerKy4e6pq5yT86dvEPL/Ps6/91XXHy9tduyK+5xwP+v3JPx7ruOI5Jk1/wkDRpjeXSqSkYRLXIcZwr/u+XA+XY7XLMA/vwuVpomY+mi1XXVW/Vzt7dXIiPdpQgj/1gE2cUtnFK/9Uv8swA8gIH/9rsozWzZ9hPv8s+8/2txRCxVb8pkltOMnkmrxGKZz3bnK6tO1DG/rkQe9RO2GerDX/EfmD13lJDbFhIEGkormzD6r1l0PKFdQfL8Qnt0Jsn1h+sQH55K7RE5I2NBVA7Vdu8XNxs1u+6+PQUMVK7Ps+ZGfX55/gtYnO/lO2dzmcdRQW9iu+VtfmmDKs5EBHhjCAR1GzngTM10FJC9euf7ynD++w3iytbob7+7Y2FfB6XoYJ1Ryrvx3zmr6afUopU+Xym69mst5CobqnMda66pf60mYOeHezD395UAD0fqjkg23S4gnWoAKoL1fXtWH+gAnqOqy/WMjLVqzfW50Ob17RM4fjlOqPw55c341M+f1azXpbXtJrX+MlOzV60sC1UUjz7jPff3lgEDa5kfwufa3ca+96YPptkbzTr9tgkKV9EVERBlVEdpBTamsYAG0EjyVBQr9Ei4aw35HX1nlJsYId3/HK92aCkir3/bC0rbhldOfSqngpWPnXUjayIik+doN4xqfg/Z2nHtN8AABAASURBVPhtx6pMJW7mfal469j5fkwCtvVIBTStXcLGpPVdakgKo2tSGG8PIr07FZWXBgM7T1Thi31lWMMOYPuXeOrBKLKnEftaklnhKrXkNNVQlZn8q5z18Nx4sNyE1/tDpaTL71rGd+xSPUQq1ZkJe3VAG9lJXS5uMorv1ejoQVha0wYNcDYcKmcdqYPS18NMSqs6I9mndPVArGFHK/tb2RHJBj3UVa7NHH0fuVhriLnqjfwo3u2cHdjEeJUH/diA8qD6pI5Qdq/hA1j5yKFtyrtsa+UI/zTJt+qOOkit71N9VDq6fzc5DQ6EZwPbiaaKZXtdYwcHAUHO2HVh/9lqCEdNMWdxulgKnt5Yod3mo6SIh3oglURrk7W2cfrIeEweGmt2K+vNDzERXqP+aRf9kslJZte6XqVG3oUoPgy183jhpCTz9hGpxEkxfk5ruqHNeHPHJWLZ1GQ8PDPV/IiHpjul/k+gWr98WjIWM5zCZCSHYSJV/ifnpkM7mycNiYM2kciv8nO/OBE+KVOajVBbU3soZz8p8aCn/1U7WcP2vO1IpekHq0gIDpyrJbksxioO+ESE1TdrIKn2uJ5k9WOS0y2HK42goDbQSJKx/2wNiWcJNh+uwA72DSZOkmORDMWhdNZxluVkTgMHqN0ba+qpfMk2rUfXusYT7N/V/tUPV9a1mXZ9gn3DKg5E1VerH9HeiAHpkXhmQV+s4GDF53WgfKnO3i/l2hvyqf5SAkNOSRM0CFpNQqr+b+OhCuw5VQMRVwlS6gNVlns4y7aedWcDn7uqK9UUG1Rm6lvX8rkhp4HJ3tPV5hmxnn51rmfOGva5Gw6Wk3A2kh80QXVE1zSTK6KpNHUuvwqjsKpvB8gRxBVEqreyLuq5sp7pa/Cj66pb65j2OtZL+ZVQoXCbmIfLFCU0wBMp33SoHDs5AyzCrWdFb8C/t9ng6m0G3Y326OGrBvNttpt7bHX8TwX4mz50XWHl75t37ZU7hYDKRZ2GyuZm26C49ZDvidecX32BN3SNX1f+X3t+5ca3HMiv7Nb3t9y+ay4JEjkZ7Pe6oOUby0gY9TaHeirrUuTSEkLx2Jw082omqfdaz6xXsmlKz/ulOvrE3DSIVIr0isxKMZ3AqW2REb0pIikmBMtJSuZPTIKW/eiVZ9qRnBrrN69Q0/KG0STJI/tFGQKjOLSEYPnUVPNaPr1yTerr40xn5qgEaAnS4L7hEAkOI7HWhhS/1202JWkasidPuCc/NzdT6hc1eLw2VtVt0z51cM1NhfmWy9f4+ubp1eXybeEVb3e7ks8uqrztRpyooUoo9biAMz7fFu6bKdkrtwoBlY/Uf32rlL4tHVOOd7CgVJ9lw7fZZq/9NAQsof1p+NnQFgGLwG1AwEXpVOvNtGPY43HMy9IDgSBGZkdiIpVPyrbQL4lJkdaL8fUWCTfnuts51RwV5jUWSnV5k9OMWtIjUiuC6nK7oB9wEDlKiQ0xbyjRGl0R5VyqI5uPVEBKoRQ5Lf+R2iNbfCTLevNFZkooEqJ9Zk2bpjozk0NJgsONfVL+tGRF5LuNtl6miiSlsJlKojHI/rlrERAfMlPFnF2TgixVt5V17a7NkDXcInAPIOC62/Jg7bUIWATuPwT0rmati9RaZ03RtbV3GhBEVsP8LqN+trQF+d0FN8mvpvXdZLTaOKcd6SK6FwqboI17OtZ9EeRQhtX096ec1tZUIciMo8I9ZtmBliVIBdb6Na3d1PSgwob53VB4kRoHjrGjtLrVLDkqrGiFXtU2aWgc9MuCRi2iVCS/gY4us9ZZxyaQ/XNXI6DlRVoGUdMYgAY6d3VmrPEWgXsAAUto74FCtFmwCNxrCGjvlN/rQK6LJFO8UQS1vKaNSmwtauoD0LSd3v9YUtVGfy5oGYDIaBMV0JySZmhNsTZlidRqvaYwEpnUuuWCihbIX2K0H3r7gH6OWuS2ivHqnsftwrQR8Zg7Jh5aniA1d+LgGGj9rHbEiyRL1ZVNUnb1RgZd07rm45fqoLjio7zQtbb2IBwXoF8X0vIE7YKWLbfB2SQsAhYBi8B9gwC72fsmrzajFgGLwF2CgI9T+iKAXpcLequDXjguxTQxxm82arZyCl9ZOXaxFp/uLIY2U47qH23eBbn+QDn0lgmtqQ10dJpX+mhTnn7sQgS0qSUIbZhbvacU+iUqKapaOqBX7GjTnTYHbT1agfZgJ0b0i4ZeF9VKRbi0ug0nSFa1KamkssW8hUS2iRhLp9Ur1LTsQLuQtx+rhDYZStHVRpQTlxoMqZUq3EOuZb91FgGLgEXAInBzEPhphPbm2GBjsQhYBCwCX0NA07kiqesPluMvn+fhlS/ysetEFURMtamix7Ome7Vz+KPtxRBx1JtEVu0uhZTbqvp28/aRvzK8dqcXlrdAm0WkrBaUteDjHSXQPYXVjmW9IUJvuTiV2wC9wuml1Xn0U4ytx6qgHckHztXgr7z2xoYCaCe1/LzIc725RGsoP2e6skE2K26RcJFk7b5+fX0+RKDPFzZSOQ72mG+/LQIWAYuAReAmIXDDhJaCiZmiS08MQZ/EUOssBtddB1Lj/EjgNKx+yMLWnd7ddvTTzvFRfvOjEXeirLR8QIqn2yXts7u383pc0K/upSd8hZ2OYyN9cNGfSLCWFGh9q1TVhGi/+QU2hVY8UmjlX/lR/PKnMG2BTnhcLkj9TWd71gv+9VYCbSiTC/G6oGtK2+U4Zo2uXtUlP10A9Os/UeFeHgFaBtEZ7IKUWC1DUHo9+dAyhvgoH5SGbLgTLoEKt96+ILvuRPo2zdDr7i9vFCuVqeqw6uqNhrX+b125WGx/PLYxkV642e87zlfPAdPRfsefGya0PkY+Y0Q8Hp2VhsdmW2cxuP46sGRKCh4Yl4inH+iDXy3NtK4XY/DorHQsmpiEny/qe9eU0wtLflyd+q5wL7B8vuve99Vfhfu++3fq3guLM7BkUiIenZ2KXy37cVjdKdttuj9cXi8sycDSyUl4ZEYaemsdtOX4w+VoMTIYQTjMGhmPqFA3tFTsOzjs1y67vnZ2HSdSNDT9ph8U0IukrasxL9S2OPwwDscu1pld3inRXqTHWtebMUiO8iAuzIO0GFtOvbmcbsS2VJZlfIQHiZEepPP4RsJav72/HaSxT1X5JrHt2nbb+8vLtqkfLqOYMBckzmqp2HXQU7iux9PVfkRo9S7F/WeqoZ9ws45E7rR111MP9GssZVWtaGxqR31Dm3W9GIPG5nY0twbQ0HiPllUvxv6WtY3GNjQ1B4yr5/EtS+d+xLaX5LmpJYBGlnG9bbf2+dJL6uRP6WdaWjtgXn2otVxXE9HvOL5hQqt4OtEF7dTV5gzriEWXdddTD/QzpV2sO90OPLJOazB7paNR/K/mbsuJKAiLu90xG1f+s8uy5Uo07vYyvdZ+Zqm7XFnA196z5/Z582PrwJ0Kp/p8I+5HEdobScD6tQhYBCwCFgGLgEXAImARsAjcSgQsob2V6Nq4LQIWgetAwHqxCFgELAIWAYvAT0PAEtqfhp8NbRGwCFgELAIWAYuAReD2IGBT+U4ELKH9TmjsDYuARcAiYBGwCFgErgeB1tZWNDTUIxi0PxzyfXg1NTUi9/IFVFaW05tWp/LrNvwPBjtQVJiHgvwctLe33YYUb38SltDefsxtihaB3oyAtc0iYBGwCNwQAiJLR4/sw4fvv4bCglx0adf4DcVwd3nu6upEY2MDRE5/yPJAIECiX4eOjg50dXWhsqIUu3ZuxoXzZ3j+Q6Fv3v22tjYcObwPB/btRBNtly1NjY1obm6iHbePWN+8HH0zJktov4mJvWIRsAhYBCwCFgGLwHUg0EVyV1xUgG1b1uGLzz/Evj3bcC3R6yKRa6OCW19fSyJYj9bWFkOiOkl8W5qb0VBfB5GstrZWyOmaVETd13czSZe+FY+IYUtLs1EZFY+IZaC9HfLb2tLC+Bug8x7TdV3+lbbi0bnu6VvXlbbiaCfh0/VrXTvjlvIsJ/+Ku7SkCBvXfYYjh/cxL60m7UCgHfKj+JQH2arvs2dOYPPGNSgrLUYHyW10TBxGjZ6APn0yriQVpKotzBRWeZJtutlFbHUu7NqpqjY21qPtS+x0X/6Up3rip2/Fo+v61rnCthA7fXs8HgweMgJDh42C1+dDWVkJNm9ajePHDtLuOsifCUMMFb6zM8i8tUB5FuZKv5nqcpBKr9Lojc4S2t5YKtYmi4BFwCJgEbAI3AUIiPCcOX0CjuMgNa0vDuzfhby8y4bkyXyRLpG5Qwf34OTxw9i/dyeOHz0Ikb383Es4fGgvjh8/hF27NuPM6eMozM/Frh2bcOjAHohAFRbkGbJ89MgB1NRUQwRs/dpPsWfXVkOe13/xCXbS/6mTR7Bn91boXDaIIIuE5eZcwAnGL2VSxFJpiDwW0MZD+3eb+Pbs2oJzZ08Yki2be1x9XY0Je4Kk79CBXUxvOwqoQO/bux2ffvI2Fc+90BR+SXEh9u/bgf28vnfPduzeuYWEsRgi+hvWfoKtm75g3o7xPN/4z8u7hLq6WpNMQ0MdZPvhg3sZ3z7mfTPOnzuNxoZ6XL50HhvXf46tm9caXDesW4Xt2zagorzUEPrz505h756tOLh/J/18gdMnj6K6uhKnThzBmlUfYNOGz0142ZNz+YKJr5wKcW1tNfHbgs8+eQeHWS5Siw8f3ou1qz/CoYO7DcFtI8GXXYcO7EZVZRnxOYWNG1ZBee3iAMUY38v+WELbywrEmmMRuBoBe2wRsAhYBHorAiKrhYX5KC7Ox5x5i7Fw8YMkajWG2Inoyu42qq4iSSJDUvekZBYXF0Bq5BYStYMHdsJFMlxXU4WSkkK0UYkUYdy8aU232krlUwR3B4mcCOapE4fx6Udv4fChPRAxFVF7/91XsHf3dojEXrp0Dp9/9h5ycy7i4oWz+GL1x7h4/qwheiLC7771Es5JNWX8O3dulImor69FEVXma4nahQtnIEJaQ9scx4WiwjyThl72K7Ltdnngdrtx8eJZbN6wGlKIGxpqsebz9w0hd+CgnapsB1VNn99PwtyJC+dPQ0r2+bMn0U5s9u/dgXVffAr5iYqKxulTR/H+Oy/jFL8L8nMZ1wfYtGk1KivKUF5egrVrPsKxowdQXVVpiP5F5k2ZEMH/9JO3UUTCffbMcbz37suGWNfUVBqsS4ntxvWrsHP7RrRQFe+i+ttM9dbldiMkJMQMMDaTeG/fusGQaQ0GNADJz78MvWde+VWabe2tzEfvXKJgCa1qgnUWAYuARcAiYBGwCNwQAiKtx6icFpJESTUUweyierd/305cJJkU4RWp83p8hpDt3L6J5KoW6X0y4fX64PN6IUJ6kCqgzxeKjIx+iI2LR1h4OAIktqJN0dGxJFyhEBGOiY1Ddr9BiIiMMtPn8xc+iAmTp5NUujSFj4VLHsK48ZMNOauqqjDqal7uRUTHxKJv3yzMnDUfgwYPY9pQtQzeAAAQAElEQVRe+Hx+o5YeoLopUtqH96/NvGxUng5QVS6iUpyRmY2UtD5UovsgLCwCaVSkda0P8zN85Dg4jkNyXEdSX0fCWYHY+HgkJCQjNjYeAwYMRkbWAPSj/aGh4QhySr+2tobkf4exd+zYiRg5egImTJyGgoIco7JmZQ9AXFwC0pnO3HlLMGv2QvhDQlFBldXt8Zi8JCWnQksdNHCoKCuFl/nK6jcQIf4Qs7zg8Sd/iaUrHsPosZOQkpKOYEeQtoebMoiMijZ5GDBwKKZMnY0ZM+ehqqrMkO6LJPMdgQ6MGTsZSUmpGDt+Mh5/6hfIYh5cLte1UPWK895p1W2CxuN2IHdtcm6XA5/HBZ/3GsdrboZhnTVB9O1xX+OHYRTn18IznItxmkBf/ukOy3Tovycdxf3l7StfboZTfPJ/5aI9uG0IBINBdqQBs/ZJa4quTliddYCj7wAVBK2N0vnV9+3xnUdAZaKyURmpLK+2qIsKRUdHgOXbThfAtfev9muP7zwCKh+VY49T2XWRPN15y+5PC7rYfi5RmaylejmeJKxvRjYGDhqGefOXsT21Uz1cixrec7ld6DdgIOYvWIHQsDAqqdvMdLcI5/BR4zB12hyjCG7a+Dk0/S1y5jgO22MnXYeJS2Wt/lft2XFc8Hi88JGwuVw8dntJUEmOdc57brcHDr/lVyqjVEifz0cy2R/TZswl4Z2CWJLEEUx7ztzF0PrU7VvWc9p+F+q/XAaALz8iozNJIlPS0nH4yD5I4S3MzyEZ7TQqpdKQKltWWkRifh7t7e2IjYmDn2psB58dIoT0SIWzE4GODigfgMP/dKy7WpvaRuLe2tKMlpYWo1RHkcCHhYVTBO6C4zhwudwmr8qzhyTWzXN0dqK5scGo0FJuIyIiIXIKhlL7UJoul8cMBEKovno5cHA5LjjkE/KDnk8XiHHQYBwSEobpMx8w5FVK7o5tG5GUkorMrP5wuVyMsuuK6wne275dvc2g22WPn0RySEYkBvaJgJeEsyddh/UsKtyDYVmRmDsmAfPGJmLKsDiMHxSDqSPiMJXH/dMjEOZ3kwy7kBLnx8QhMcaf/I/qF43UuBD0Tw/HdPp/YFwiZo6KR2ZyKNymMnWnFB3uZbhY6P7s0QkYmR2F2AifqcDdPsBjmHCD+0Yi1OeG/dxeBLrY4aizPnXiCHZs34BTJ4+ZRfKyQvca2aFo2khTRpcunTW7RXXPut6DQGNjPc6fPwVNWWras2fdmizUa4akDmlt3ZnTx4yyonLVPet6FwIiM2qLx48eJFFahwP7dkHrE0VYepel94c1wl1tZxOn2TtJbEePmYjhI8ZiJEni+AlTER+faEjrts1rzTT95UsXIAVx8pRZ6EPiKxJWVlYEEWKRt4mTZiA8PBKFVEGDVAWlylZXV7Ccd5o1rvJfXVmJ/NzLZtpd7bq6ssIsI6iqKjdLE6oqy1HFMNXVnGJvqKPSWE71MQM+KpbbtqzFts3rzBrYnJwLqKUyKgXS6/Nh4uQZiKKCq2UQLVdtuFJJaomB7BjGvA0bPppxVpo0PSTUcpcunTNLA07yGXHyxGEqszWG1IpUFhflmXW0Xp/XEOUTxw5Rec1FJe1tMPZVwu12Q5u0tGlrF9VrrYnVmt8UKqm6Xl9fx36plvFWo1L5o6uvr+VAoRpah6u3FmhZQgsJcWewk37rcPH8GYNjc3MjsSplXqsNka6trUZtTbXxo37Q5/WRw7iRc+k8LjMfARLrlNR0TGIZ1RGfRj7fRo0ab9RcxX+IKvonH72FC+dOGQKMXvhx9UKbbrlJIq1pCaF4aHoqHpyWSgLqN+Tx6oT7JIbiqQf64BeLMzBhcAxiIrwYSgL8zII++CWvjec1Kadut4NxA2Pw3MK+eJL+s1LD0OUAkWEezCEhfmFpBl5YmomFE5OgOJSG1NvhJMzPzO+DXy/PxBNz05GREsZbHC5Bjof8H03Su2BiMh6ZlYpM3nfJcF63/28PAixGdJLUanpn1afv4U//8X+ZTlpTULJA97VTVBsKykpLdMm63oYAm1MDHwrbqMD8+7/+f7Hui4/5MKg0SoPKT4rMnt3b+KC8BF7sbdZbe65CQION8+dP4523XqTKt5XEoY13VYr8sv9vKwKa9aiuqkR0dDQyMvpRFPIaFc/luEhMIzBp8gxMnDTdEB/1lyGcJm9rb0UDSVK//gMxd/5SZGYOoN9IKpPNVDyDGEciPG/BUvTpmwkRX5GpstJiSEEdM24yhg4fhda2FkOwRJqjYmKgth0eFgGdS6FsbGhAVFQMVdjJRrHUrv6HHvkZkpPTSSZz0NhUT8VxAJKSU0zaTU1NnH1rx+jRE/AAbYqLjScX+KpOhUdEsF8AFeQ6JCYmY/HSRyCimUXVcsHiBxETG8v7XRg1ejwmkJRLgZVyLFIoXHwkzLJ9zLhJaG9rZ1oBhFIJHT9+Cm1KhYvK55x5SzB/4XI0tzSZtbiq5wsWrsDw4WPYJXWaQUJW9kBoDSuN4/l4pKVnIC4uEbPmLDB5aW9r44BiDG2YDq3VlRI+cxbvJSWjuZl57AiyvbRjwMChGD5yLPRRHCqHuPgEEt4gFLdIeibzNmjISFOG6SwLx3GMiiuSe/TIfpwgeW+lmoxe+LkvCW1EqMcorqP6R2Eciek4qq9hVFxVPuQvqGkIoKSqFW6Xg7AQD8pr2rD7ZDV2nahER7ALCidC6/e5UEp/VfXt0LGH/osqW1BU0YL8smYTR01DB8JD3Jg4OBbDsyMhApwQ4zMKruM4iGD8juOgpLLVpKv0ZYefCvLYQdGYMiwWo/tHYxJV4PBQq9IKm9vmWC7qxEaNmYi+GVkoKS7AO2++CI32NcKOiIxCv34DkczRtNZShYdHQB1aDRUC7YTV7ld1+hqt3zabbUJfQyAqOgZSjgYOHopGqrWrP3sfn3/2AcrLStjxhyAjsz9SqEr0pWoUzQekphBFcouK8pGfdxlaFyhlSQ+Zr0VsT24rAi6XGwkkFBksJ4/Hw4d4KolPNjS1e60h7Zz2raJ6p/YnV1tbdYVYadORlLi6uhqjXKmctWu7saEeKucKs/Gm1BxfG689/wqBUE6Ja03l87/8WyxYtALxCUnkQw4cEjS96eChlU/j7/7r/xuPPvE8hgwdhanT5+AxHk+mGqolCbM4jZ+W1ockchmWP/iEWb+5fMXjkFIrYiry+vwLf4tnn/8dlj/0JJ557nd49ud/IMmaiQcWLMevfvsPZgmDyNfseYvM+YJFD5Ks9ocIou7Pe2AZiV9fQ/p+/ft/xO/+5n/DUz/7FfuDMUhISDZLIx559BlMnjrbENWJk2fCHxLyVSZ5JEIsPzNnzcfsuYuwdPmjUP4Sk1Kw8rHn8HPmX+FEYH/1m7+nnb/F8gcfx3M//z2eeuZX6D9giCG7zz7/e6x4+EkMGjwcU6bNwgu//XtzrjqdnJyKhYsfxmNPPo/pMx4guV2BcROnISqanGHEGPycOAi7AYOGYsLE6fjFr/4XE3bYiNF4eOUzULorHn4Kjzz2DH79u3/EoiUPs0wexB/+y3/Dw8xfamof0070rHr6ud8Y2wYPGc7nVhpE9p9+7rcGE8147Nm9FceOHjD3xoydBA+VaMKAEOKS3X8QxnJgkZnZD16fT5d7nXP1OotusUFuks6M5FD0SQpBXVMAkSSJk4bGIis1HLrXk7yIZRfVUscBRIDTEkKQkRyGUBLfuqYOVNUHSF66jHf5NQf603PCW/XNHdh3uhq5JLdJsX5MHxlvlhD0TwvniLQL5wsaqQAqEDgS6/7WXxdt7JMUioHpEWhuDULkdsKQWGiJhEsGydN9724fACoPdWDqKNLS+2Lt6o+hHa0iruzF4bhYSRyHI/A2s7N1/drPcPb0cRw8sAvvvfOSWfTfzFHy7bPYpnQ1Ao7jIDwiClovJxVIirp2QYvYdLdxF4vRgTZLaMpvLVVcvRro1Mmj+OiD17Fl0xpDfiypvRrVO3TMtuY4Dkyb+xYTmpsasX/fdmzeuBqaUtZyoI/eex1HD+/jIKYY67/4FG++9meonDWdrHvvvv0S1btcDngasHPbBk5LbzM72W15fwvAX15yHAdut8cQHpEel8uFno+Ode0r54HX6yMpCkN0TBwi2BbdbjdEfr0+H8LCI3g91qyvVVjF4zguhIaGQaKBj35Cw8IMKdN9Dwc0HhItj/n2XLHhq/Oeax7If09c0SSIPn8IHMcx1xVvGIl5NG0K5bf84pqP8uinuhwZFQMpvx6m6zisf3Ral+rz+U1cChtCfyG0WXlTfuUcR35dkD/5dxwH7m/BTeHDqDTHxMYRp1Bjo+N83a/nmvy6XG6Td6WpuBWvn/nz0MarncvtNvG53N3+dU9+wY+OZVswGDTLDnZu32iWJEhxjotPpI/u/2oLocRo4sQZGEaSrXS67/Suv67eZc6ttyYqwoPhWVEorW7D7lPVaGwJmnW0UkAjqdxea4HaaWZKKB6Zmcqp/zSzlGAvSequE1Vobgte6/1r512dwIWiJhw4W4uW9k6M6R+DRROTkZUShtySZtQ0Br7mv+ckMsxNGyPRwvg3H6lARW0biXAYZoyMQ3y0D06PR/t92xBQox/GKaAnn/4VMrP7Y+OGz/HFmo8hRaerk6MXDmS09klEqYVTR5qWGslpLG2KkCoopUidwm0z2Cb0NQTc7Pz7UmV/9InnzfTkoYN7ILJakH8ZwWCH8au1beu++ASFBbno338wpFC4+PDRRhCtow6y0zce7Z9ei4B5fdLGNVAnOXzEGAwdPhpFhflYRyLbwWnX5JQ0lm+OuRYbG4/m5kazRlNKfHVVBaTcJiencQAUCce5h3pa2I9F4LsREEHVOuiVVJ0XLX4IAwYOIVn2XAkgwpyW1hf9eT0yMrrXto37itDqjQTDMiKRnRoGdVUijGU1rWaD18QhcRicEWGuXylFHnSSlFbWtaOeaqsIb4jXDQq3aA90UlUlkaGf7/sv0nvwbA0uFjYiKtxjVFpyH+SQ0HYEvxneTQUiKyWMJDvc2BJgOhW17VDfOmFwrFkq4ffdV8X2ffDe1ntq1AMHDcOjbPQDBgzlQ/JjrPrkHVTxQdjZGUR+fo4Z5WrKTFNJmuLJ7jfIkF6ttdV09m012Cb2NQQcx4X09D5Y/tATmDZ9Hg4f2IO33/wrRGpVfpXlZdCGBy8VDpVfalo6hgwdAW0eKyzMhfx8LUJ70msQCHKwoWUD586eQnFRPqKpxklhyu430Ew7l5UVo7mpAVLo+/TNgt71ef7caU4xSw1zwbzc/+hB6GE9aMgI+Kl09ZrMWUMsArcYATfVW/V5IrIa9EldvjpJ9Z16/snf1dd72/F9w4y0gSszORRjB8UYMnmW0/1n8xqx5Ugl1dpWZCSFYNboBKTEh8Drdjg6ceDiA1CUs7q+HZsPVxjXFghi2og4zJ+QBC0j8HpcUNyO44D/Gc4FkVJdF/FUXCVVrdh37SUf8gAAEABJREFUpho1De0QOT6RU09luIPhYD7ksAzn8NxBQozPrJktqWrDqdwG5JW3YMeJSuSWNiOO6uys0fEk5OHGrwncO/7cs1ZIVdVUdKC9HYFAgGXsICOrHx598nmz7uvM6eMoLswDb0DTRWHhkSRIuZAyq7V8Ch8XlwBtNnCpgsB+bjcCet9j+5VXq3UhKSkVy1Y8iqUrHkdJUaHZaR0IdCAiIhIxMbEoKS1CZWUZVH4dHR1mqjEhMQUu133TXd7uIrqu9DQgDLINqj1qE0xbWwu0YaipqdGUoXZ8+3w+uKmqa/2zXv8UaG+D2mZCQiKnteMgVXbsuCkoLiowr2AaMHAoZs1egONHD0Avox8ybCTLOxr2YxG4FgH15XobQWlJEbTuWn3DtX5+6rn2YFRVlfMZksMBWONPje6+C39f9NAiEkkxfkwaGoe4SB+n8NtxPr8RJ0ksz+Y34DLV0rKaNiTH+iEVNIsKrvzXNgbMpq8Qn5vqTBfWHijHxkMVZqnAEKq5U4fHYXDfcISHdG8cq2kIIDHajz6JocigyhpPAqq1sBFhHhy/VI+dx6uw/VglCkhSRYbD/R4UV7agtonhaF92WjgmUYVNTwgl+Q3gUnETTjCcbL1U1IQihtN63tH9o5BI/5Yf3fr22k4iW1FRatZQlpLoVFONVarp6RnQ9PXDK59G38x+Zo3UoEHDoV2wzc1N2Ld7m3nljH4fe9bcRYYEO5YQCbrb6qSqVlaUo4blptfvFBcXQg+iWA4yFi99GD975jdUYUchJDQUKanpmL/4Yap0UabsDu7fhWJOV4+fMBUjR46Fm0TpthpvE7uCgMqxproKFVTRtYu7rLTYvOlg185NZr2s1jmLwE6YOA0zZs03syZ7d23FkSP7zUBk1pxFpnw9Hg+GDR+FIVRh0/v0NctPpkybDW3+6dd/MLSJ59YPXK5kyx70QgREWrX0RAOoq80LcnCr14zpLRtahtTY2HD17W8cq++vra2+sqTpGx6+5UIF+6q1qz/Cu2+9iEIKJSLR3+LNXvoOBO4LQtvFzGvq/9jFWny2qxSXSRSDWkvA6xU17bxWgv/8NBdvby7CORLcxuYgzpLwvvxFHv68KpcktArV9QFDPj/dWYI/f5aL97fIb6PZHLaDRPWvq/Pwytp8Q5KVVlFFKzYerDCEVBu7SqjSfrKrhHFVoqG5wyxh2M5wSveN9QU4RXLdQGKrNbdr9pWZ9AMd2rLSZdJYRzL9R6b76roCHL1YB8VJ8+3/W4yAy+VA71TUrtwRI8fB4/UyRcc8JLuVvsexjEqfpmuiomOg1690k9xs6HzWnIWYSQVIU5mwnzuAgIOIyCijpk+dNhchnEruGQhqk8eceYvw6OPPoW9GNkltGCZPmYnHn/wFhgwdZTariCA9sGAZtCnQcZw7YL9NshsBB26PG3rlkHaWa4NmRkY/pKX1hZYVqGw18Ejl+SIOStQmk5JTjSI7e95iszteywgcx4Ha6vKHnsDyB5+A/GRwQPrYEz+HdseHhITCfu4NBERI26nQ6+0VwS/XyeuaVFA5HcvpWINcHUuMOHxoHwdL2yDlX9eERjAY5EA4AP34gH5+t7Sk0LyCS/cUVmkoLfkXCW1srMee3Vuxh4Oqhvp6CmKd9NplyO3VfnnR/O/q6kSA4omXAy79IEMhB9LNzVahNeDcwJ/7g9B2dZk3GoikHr9cZxTStvZO86aByvo2M7V/+EItjtBdpBJaVtNqSK+Io66fIcmtqGuDCGY5ldwTl+txhKTyXEEj8qma6r7Cyr/CV9S2mdd2nSBJPV/YaNJuC3RCpLaqrp3xdFIlboPCKX6Fu8R0S6raIP+KP6+0Gc1tHaDpVITbobTkV+mcL2giIQ6Ye99W1vbazUPASwKbktqHD9IxGDR4GKKjYw2ZVQqO40DLDLKyByA8PIIzmw6ieX/I0JEYM2YSho8YC20uioqKNvcUxrrbi4DUtoSEJAylKqfX3OjY49GgpNsOkV0RIpWb4zjQrmepdGPGToQGMAMHD4fWYrpc7u4A9u8dQcDlciGabUttcPzEqRjN8hk8dAQGDRlOxXU09KtPIqfyFxefYK7ppz71Ls9stc+IyCtt0OfzIzOrP0Rk3W632U2vVxKlUKG/I5mzid5UBLr40JSarxmWHds3YvvW9XQbUFyUj/r6WmhDqN6CUUTSKCV2/76d2LL5C+gVbmdOHcfHX77Z5MSxg1A8VZUVOHxoD+TvxPFDqK6q5LO3C/qnMHozgNJYu+Zj7Nu7DfoRiKOH9+PD914zr3g8efww6qjUlhQXwdi0bQO+WP0h49yLFs7mtbS04OyZk9i1azOOHz2AwoI8BALtNxWT+yUy1/2SUdZx6CX5nZ1d5rvry4yb67rW43iBh8aP8csTffOyCaFwV+L58p7uX+3k92o/OldgfSt8z/HVYYx/erhyjcf8L69sPMCV60qTN/jf3LN/bjUCjiGwLpeb3+4rD0Vc9XHxYes4zpUrOndzpO2hs8sMrsByxw5UHq6e8mNZXWuI47jgOF+Vn+M4cLs9UPm5vsU/7OeOIOA4DlxfluM3v79ehi6Wm8pP7dBxXLj2o2tyAMwt+Xecr+qAuWj/3JUI6D3SGzeswg4SRzfri9TVHdvW4/13XzGkVu8IX7PqA7PuWs/RSxfPQdP8hfk50K96BaiUKowGPlJat2xeQyK6G5qd8/p80A9EdFKx1RKEA/t3ml8hFDE9d/Y03nv7FVy+dB56nrdTHdbz3uv3oby8BOu++ITE9RSaW5px7OghvP36n3GMpPnwwT3YuO4zNDc1ISQsDAGGU9x3Jfh32OhvtvQ7bJBN3iJgEbAIWAQsAhYBi8CNItDZ2YnCwlwqpdvNUqNp0+di5qz5nF0bTlK6C3m5l5AQnwgNYDqCAURGRiIpMdmcS3zQ0qOklFQkp6SbZUf6GV0RTv3AzrjxUzF58kxkZQ2AmzN38p+eloHBnCUIj4yEy+kym0n1K1ppnNWLi09iPGnoP2AwKsvLceTQXmjMpPT1E8F6BVZ9fR327tmGxqYGTJoyAxMmTofumV8ou9HMW/+whPZWVwIbv0XAImARsAhYBCwCtwWBdiqsUju1uasj2AG/PwTdv2TmQiAQIKl0oYuWdJH86kBvQRERNlOhvG7+U7rt6upEXW0Nqqur0d7eysudkOKvTYkuMtO21hbol+eKigvg9XiRlJJmNgd3dgWp0GrNLIMwHsWtn+ytb6jTBbNef9qMuZg2Yx5C/KGoqa5ES3MzpAo7jgM/7XW53F8zhwHt/+tAwHUdfqwXi4BFwCJgEbAI3HIEbAIWgZ+CgOM4SKG6OnDgUFy+eA57d29FXt5lQzy1/nro0FGIjo4hWezCyRNHsGf3Fpw9e4LKajlyci5BSwy03Ki0tMj8upyWrcTFxePgwb3YuW0jTh4/hKLCPJSWFZlfm9OvQV66cJakt8oQ06bGBly+dAG1NdVQ2KLCfCidsLAIaP3+rh2bzevidmzdgBPHD0N7NDKz+qG0tBBag6tXz126dA5VleXIoz0NhgT/FETur7CW0N5f5W1zaxGwCFgELAIWgXsSAcdxzBtJHlr5NKZMn4PiogKcI2HVu8Afeew59BswyLxCcfbcxUapLSzKR3JyGqf6pyEhMdEoplOnzYHIbzMVWG34Xfnosxg0aCi01rastATZ2YMwbPhYs1lUSxq0ibS5uQnpfbKgN9roncfxCYmYM2+x2RTcEegwmxCffu63GDV6AvST28XF+cjIzMbI0eOxcPHDmDN3KQlxlUkjMjIG2tAYExsLdDmwn+tH4D4jtNcPjPVpEbAIWAQsAhYBi8DdhYCU0azsAXjw4afwwILlGDN2EmbNWYihw0bB7faYV7ktWPQgnvzZC1i06GGseOhJPEOyOXPWApLaZEyeMguPPfkLzJj5AElqJsaMn0y/v8Lyh5/E3AeW4Mmnf4XHHn/ekNM585ZARHXJspVYuvxRc/zAwhXQm1MU35PPvMB45iE1rY/x/+zPf49f/eYfjL9pJNwREZHIyMjGg488hSee+iXmPbAUD6/8GZ59/ncQsY6Mirq7wL/D1rrucPo2eYuARcAiYBHojQhYmywCdykCLpfLvEpRRDItPQN657SuKTuO44KIpO5JSdW9uPhEhISEwnEc+ENCIEW351WMIsixcfHQj+loLW5CYhKiY2LNkgKFSUxMNiQ5NDTMfCtul8uNkNBQxMcnISw8wsTrdrtNuLT0vkhISIbX64c+Dm1VGF1PTklDHG1ROv4v7ZEf664PAdf1ebO+LAIWAYuARcAiYBGwCFgELAK9E4E7SWh7JyLWKouARcAiYBGwCFgELAIWgbsKAUto76rissZaBCwC9ycCNtcWAYuARcAi8H0I3DChdRwgPMSNmAivdRaDG6oDUeEe+H1ueNwueD3W9WYMPCwfj8uBvnuznda2629HKks3256b5er1Xn84i/Hdg5X6VjlbvndPmdn29d1lpf4KDmAcfvhzhdD+sNduHy4y2phwLxJj/EiKtc5icP11ID7aj8gwD6IifIiOtK43YxDFNh5uy+reqqdsdxEs00iWbTSPe3P9s7b9uP4xIszLPlZi048Lb3G3uPWmOhAa4oEG4I7jdBPQH/h7w4RWv1Fc3dCOkupWFFdZZzG4/jpQXtOGjo4u+KkOhfg9sK73YuD1uo2KHkJF3ZbTN8rprq27UoP8vnsnP7Zufr0sVb4+9q9+27/etW3U1umv6rTHrV91c9DV2YXr+dwwoe1ivC3tnWhs7rDOYnBDdaCptQOBYBdUNzv5xzpi0Utx6OoEujjPQ/Ngy6n3ltONlo36b4kSNxrO+r876kAXC5j/bZtlx2XrbG+psz/eDtVlueshs/Jzw4RWgayzCFgELAIWAYuARcAiYBGwCPQWBCyh7S0lYe2wCFgEfhQCNpBFwCJgEbAIWAQsobV1wCJgEbAIWAQsAhYBi8C9j8A9nUNLaO/p4rWZswhYBCwCFgGLgEXAInDvI2AJ7b1fxjaHFoHbh4BNySJgEbAIWAQsAncAAUto7wDoNkmLgEXAImARsAhYBO5vBGzuby4CltDeXDxtbBYBi4BFwCJgEbAIWAQsArcZAUtobzPgNjmLwO1DwKZkEbAIWAQsAhaB+wMBS2jvj3K2ubQIWAQsAhYBi4BF4LsQsNfvegQsob3ri9BmwCJgEbAIWAQsAhYBi8D9jcBtI7SOA3jcDnwe1xWn3512uZxvlICLnuVP93n4jfu3+4JslC2y6Wqna8pTb7DxejCRrfqdb7frm5hfT/j70U8wGEQgEKBrh46vxqCzs5PXA2hvb0dHRwA6v/r+Ncf29A4goDJR+XWXUQe6rvodRR2r3HRPfuT3Dphok7xOBNT+AoF2095UZh0dXy/P64zGevseBNQGAuzvhK+cxbgbrO6+ogOtLS1oa2v7Wj/S7ePm/BX+wr2F6ai+35xYf1osytk40HsAABAASURBVLvy3Nraesvy/dMs/Cq066vDW3sU4nOjX1o4Zo9JwPJpKVg4KQljBkQjPsoHEcae1EUOUxNCsGBiEmaPTkBMhLfn1h35FvdLiPZh/OAYLJmSjGVTkzFzdDwmDY3FrFHxmDEyHgP7RCA8xAPnjlh4fYkKf+H90PRUDMuMhIjt9YW8f32pIVdUlOPA/n34Ys3n2L9vDxoa6k2j1r26ujocPXIImzetx4kTx9HY2HD/gtVLc15XV4sTx49i/brV2LZ1EyorK0z5ydzmpiacOXMKmzdvwKGD+1FVVXXlnu5b13sQ0MNdbXH37l347LOPsIVldvnyRbS2tvQeI+8BS6qqKrF//x6s+uxjbNq0Drm5ORxAtN2BnPWuJEUyz509gzfffMX0FzfW13cZwUNx/FCuampqsGnjOrz77hsoKMj7Ie+35X5zcxN27dqOrVs2QkT7tiT6IxO5bYS2I9iF9kAQI7Ij8djsNMwdmwC/z4XW9uDXHiIuMloRyNH9ozA8KxJRYSSKZIq8DDnlk6dXjnV+tevxc/W1nmPHcb4Rjpd6bptvx3HMd8+fLh4EOjqRSFK7fEoKHp2VjozkMDA75vvxOel4fmFfjBkYDTcVaHq/8t9xnG+kp5uO813X8TX/9IarPzqXu/qajnXNOJ1c5cw1p/uC3+syAwoR84zkUEhp7r4DyIv84pqPrsn1XL76uOfavfztOA78fr95aK5Zswr//M//P6z94nPU1FSbbPt8XjQ2NeHw4YNobGiAx+M11+2f3oOA1+s1/cue3Tvx3/+f/xPvvfsWSooLjZru4b2OjiCOHT2MispyqDx7j+XWkqsRcJzutlhUmI/333sLRziQVNm63Z6rvdnjn4iAMC0rLSWhepMD+b3Qucvl/omx3v3BJWBIzNi1c4fpL1pbr5/kt7S0cuB8GpcunTd90fehEQx24OKF89i5fSsqK74afH9fmFt9z3FcCAkJoQuF44gt3OoUf3z8rh8f9MZCihSW17SjLdAJqa4etwsVNW1obOlgIX8VVwhJbijV3Mq6dpRUtaK9owuZJJATBsdSJY3FqH5RmDI8DtNGxKNvUijcLocgA5EkviLA06mYSj1NjQ8x9xRXv9Qwo6jOprI6eVgsUuJC4CPBS08IxcQhsYw3BgPTIzC6fzSmDY+FwvaoxpqhbGzuQF1jAKF+N6LCPeb45OU6nMyph5ckdhTDKayWINAcxJP8jiXBnTEyDmMHxiCWKrPsjIv0YhzPZ9DGqcPioDxJNZV9QzIiMIm2jBsUgwHp4ZgwJAY6jgr3mnQH0L5pw+MxheEyU8IgQiocx5l0uq8PZhyyUfkTBtNGxEHfij+WaQc5RV5Y3oLq+nZ0BDvhJwb9qZpPpT/hpnyY9Ii/rsue8bRHeZtOvJV+GjFTXr4qsbvz6HqtjomJxaDBQ5Celo5qKnivv/6yUS9qaqoQFhaO9PR0RMfEID4hng0+BBqFFxTk84F7EIcPHeAoOx8BTpNeb3rW381FIDw8Av0HDERWVj+0sxxWr/4Ub731uikXLwltSkoqVMaJicmIiIgwRLesrBTHjx3BwQP7+BC6QFWi+eYaZWO7YQRcLpcpp6SkZAQ5CImKjkZycgoHIb5vxNXKqdE8KouHDh7gYPMQijmAaW9vozpfiVOnTtCd5KCmCIUFBTh+/ChOnz6JivJyNDU24tLFC7hw4RykwInEfCPye/xCREQk4uMT2GcF2B4iDcYej8dgc4FE6wgH78IsPz+PeFagrraWKu5lnDt3BkVFhWbG6tixoxz01/C53mWccBWmBw/uI95HIKW9o6OD7aoFOZcv4dTJ45D6efjwAZSXl6G5uRk5OZdxgO3vEPvQcpZNMBhkmTRC6ahfPcpBaFFhgWmvPUWi6fr6+nqcP38WFy+eR15eDtXmvTh75rSxJy8vl7NsPD97mmk0mWBSH2XbgQN72V8fhNq+bGugQKHrqi9nWD8uMM6wsDCEhoYabFSfCtnPa/bnEtNq4MxdIBBgXSsyff8hzvjIvgbGs3fvLrzy8p+xYf1ag5Xqp0n8yz+yu7a2xtTDS6x/TS1NaGtvJz7Nxv/x40eg9Ovr68xyBym3Z5mH4uIig5NmmXRNg7xjxEVxqe5qmUBu7mUcpC2HDu1HIfFS3jSrIWxU7ws5QFR5Cs9KzkZWVVYawq7z6uoqU37CPjY2FklJSfC43eaabDnL2a39+/cauxsa6q5cP3PmJNvdARw9egSlpcVfK6Mvs3zLvly3LOZviVjksJN/uniPXwQAxvH0yn8XGaGWHIzqH4VhVGhjI31ITwzBo7PT8NvlWVg2LQXzxyfhF4sz8PDMVCTF+kkYfVgwIYl+0iFi+MC4RDw8IxVZJH4idD+b39cQOx2/sCQLy6cmQ0sd4qJ8WDE1Bb97MBvPUmWV2voYFdeBfSJYcM4Vmzp51Emj+d+Q5/AQN9ISQtA/PQzhoR7UNQVQXtvKguvi9VBoWn/hxCQM7hsB2bF4cjKGcpr/kZlpeG5RX4zMjiRhjcWvl2ea+xlJYSSxEfj54kyTx6ce6IMnaMeyKckk86EQMX18ThqGM9xUkvkn5qaT7EZDBF1hDPEcHIPJJLsi40smd2MxPCsK8j+ShDuBJHtIRiRGD4hGBnGJifCZe79YksFwsUY5f3p+HwgbYZqdFoZnFvTFb1ZkYSntWDQpydi7nHiJsOM++TiOQ+XVg9S0NDz6+JMYMmQYPv3kA3z80Qeo4vS1HrRq5C6qGOpAtm/bjNWrPkFebi6OnziKl1/8EzZuWMfO2C5HuBNVxnEcuNkJR8fEYMmSFXjggYXYQfXjrTdfRT4fcGrluu92u6COWw+Ejz9+H2f5gNbD9m2S308+/sA8hPWQgP3cMQQcx4HL7aZzwePywOVy4dqPCMTmzeuxbt0aFJeQXJAkvfbqS9i5czuqqiqwjjMsL734R4isiDy99+6beO3VF0nGCkhymrGN7VdLi0Sqro37fjh3HAcutwtul1w3xrW1NVjzxSqzbKeCquHmTRvwb//6383AXkTpzTdexb/8j/8bq1Z9TPy24NVX/mpmsjQ9XUURYM2az9jmtqC0pITfWw3emtW6dOkCXn/9pS9nTt7EZ59+ZMjXFsa/Z/cODi7O46MP3zPxneZAZOOGtSZeCQb79u42fjs7g+j5qP89dfIY/vSf/4Y//fF/Yvu2LVBd+OMf/w2vv/Yitm7dhE2b1+GlF/+Mffv2mD55y+aN7M8/xPlzZ/H555/Q30skiZdI0k7gz3/6d/zzf/8/8f77b2PNms9ZR4oMNp0k1+VlZdiw4Qts2rSeJLiMcTVi755dxr5zjEv179///V+Yzm5cvnQRJ44fp79SQ6y1br/HZpHZS7yvvB8jGVWdVL8k7DqYjtTaV17+i3ne1NXVkUy3G5KuJTcaCLz+2kvGxs/5zNm2dTNeZN3WLGKVlo4wj2+/+RoHDMegey/xWaQBQW5ODt55+w38M2esVn32CXbt2IZXmcZ//ue/QuW8ffsWg/nHH71vRJzz7Atfe+UlfMryaWxqJMnOIVaf4uTJE8i5fBHvvvMG29sXRlFez3antDTg2b59Mwc4hyES3ZPfW/39zR7hVqf4HfGzHUHqbCeZoxTR6HAfEmNCoI1M9U0dCPO7IVJWVt2GswUNCCOpHEqClhwbgn7p4ZgzNgHJJLcVVIHbOzoNQdSa3Rgqk1InO3ittb2TBNiHoSR6hohSdXVTYU2jmktqjS1HKvDpzhJcLm7iw0309ZvGukm4B5GoatnEEhJVtntsPVKJvadqoBBSZmdSgQ2lyllKW+V/RHaUUX8nUx1OIIm+UNSEoooWiHyGMl+lVKqrGwKIj/JCZL6Wdq07UI71ByqYfxe0llh5kbLaQPLcNzGUZD/KLHmQSi2ndGoYh9fjcAAQikyq17reTkW8pqEdilODiFSq09FUjPtwkLBoYjKJbBTz24zjl+ohnBbyWhYV7da2TqNGx5L4FtJWYRLDcFLB5e+byNzbV9xUKQYPHopf//r3GDd+IknqWrzDhqxRuoiQyI6UAXV+gY4AJk2eilkz55iH5IcfvMtO7RIHPJ33Nki9OHeO4yA1NRVP/ew5LFq8zKgQr7zyF0Nc29vajOVlnGoVmZWyMmbMOMye8wAiqVitWf0ZFYeD7BOCxp/903sROH36BNauWUXl1otpU2dgKl0ZFfdVn36ETs5KDRw0xAxOCqiuJSQkUlDpInk5iVL6KaM62NLSjOzs/oiJjqF44fTejN4my9SvVVC527p5A1XaJowZMxaJiUnszy4a7Pr0zUA71USpeRkZmZg9ey5cfEZKbW2garmP6uTGjeuQkpqGGTNmY/yEyUYxXf35pwZfkVCRr+EjRmH5ikcMYVu3brUpo5DQUHh9XhKoyxDpk4p7jDMnKqMkKvWxsXEAviojzbjExydCtkh5HTFyNKZPnwWptiJYo0aOMed1dTUkmEeogLZAaqlmcZI5UyPlcs+enVA/EB4WgQaqvXV1tRg3biIWLVqKtPR0dHGWMyfnEr4gwW9vD2DW7HkYPmIkleoarPrsY2Onz+uDn1P0+fk5JPHF6Etc4qh6a5Zo0KDBnNkLQ8+nsbEBG9d/gdOnTmLM2PGYNn2mEU1CGT6U+R86dDgV80RcvHQexUVFqK2t5cCsEn36ZkJ1WeRY5dM3IwszZ82Bx+PFIara1dXVzF8z8fMhJSXNJKe10ZeoACteqclqF+npfTB12gxEREZCyrowVTlFcLZq377dqKquRDiP66kOlxQXG+K+g4RX6qzyrfyPHDWGeQqnetyKs2fP4AyV2yBnUdJY5tG3uR31GkIrAjiyX5QhaUGSWjUk6EMWxjoEXoKIajnJX0VtG1l/F0R2fV7HEME4KrkiuVqXe+xinSGnZdWtKOQUe3FlK8maD7EkZHyumXBsc4yzyziRvktFTdh7uho7T1ShuLIFskHJX+vYJ6K0qg2VdQF43S6E+DyGXKsR+zwuJMf5ERXRfU3LLLYfr8Kuk1UoqGhGXpniBVXcEMSSaJfQLi1bqKhjfhgxs8qphk6cvFyPHQx38FwNZG9ijA9ShSNCvRAZXk+ye76wEWfzGnAmrx4JVF+1fEGKtLA6ndtglmsM7BMBXdfSChH3oBb+GtoNs0QjKc7H+B00NHegsSUI2Rsd7kFMuBf6qAyEeRmJeVV9u8FEhNkt8OThZrm7JB6328Pp60F4+pmfY8LEyZBSIVKrjqGTwBcU5EFTZRERUYiJiYE6sIHswKprqlBZWQ7hCfu5cwiwMaWyk1356ONYsnQFicwpvPLSX/iwuECy2okKKu5SRDx8KMTGxCGRU2zDho9kX9OBEk6nauBy54y3KX8fAu0kVZUsP5GekpJiREXFICo6ClnZ2RDRKicpa2luxmQONAcMGARNzx44uNc8iDWVrIe0VMG4uDgMGz4CPr//+5K7b+45jmMwik9IQnlFmWkrIlFA34QfAAAQAElEQVQiM2PHTUBfEquEhATE0w0cOMT0j/Hx3UsWRFa1ca+aKm1sbDzLIxpDhw5DQmIiNBXt8/kMWYuLizekcDyFAj2eRNoys/pB588990v86te/wxCGU5+bntYH26i8bt22icS10pDpnsLwUHRISk5GdEwskhKTMWDAQGRzcBLHMo0l+R0wcCAyM7MRwUFqa2sbBzhBhIeH87kXMP2zy+VGF4mG+mmFiY6JQVJSCkTYRo8ZS1sT0Mn7+RwMHeQ0fhPVyhQS4fDwCFTXVKO4uBCpHDSPHTcejz76JP7hH/4byfAEMygW2Q4hQQ0LCyfhd/eYTCJch3Pnz6KzqxPJySmIjmaa/Paz/rkcF1LYXy0kmfb7QrBu7WoqzhvIX9wYPXosREaFZYzy1n8A+vcfaPItsiqntNxuN6T6dvddDvuyAKKiohFHzJW/fgyXTYySk1MNFllZ2cjuNwBJtCHANhUIdCA2JpaYxsDlcnEA0GKecS0tLSYe5X/+/EUYNWo0wojleJZheFiEUa937dqB+oYGDlICV/J7qw9uK6F1mJqbZMhhrtw89lFNdPM8gtP2o/pHYdZoNgwqmC42IsdxSLYAl8sx3w7DyPEULt4DT/TNL0jBbW4NkqR5Ecm4KmrbIQLmp0qqNaxatxoZ5kEr1Up0OQj1uUiCffB5XXAcxxC1Fqq3ARK+DjrWWab21X+l4XaB6QKq7OUk1BsPlWPr0Up0kMhoDaqWOUSHe40SGujoorrphdvloKi82VwTCS8goW1s6YDy20gC+eH2Iqw/WGHu0yttAdRgWmlLO22VLfVUZEU4Q/xuQ4JrqMKWkdQbckrbD5+vw+YjlSYPA9PDqWr70NIWxPbjlThwpoZpudGf18P1FgaHeaJzMZzi1OBA+YkIdRM3N/wk5LVUh6up6HaSXTuOAweAw7y7Haf72AFxcHA/fYRRRyBA0tMBdRBZ7Gyl9M1fsBjnz58z6zEdoqNOVJ3FxYvnUFVZaTpKTbfoejzVINXl+wm3XpNXTp2oHORkkzrvhx5+FE8++TSqqUBo+jkQaDeDkASWU0FBLkpKi1neHOSxU9dDJiUt3ZS9wlt35xDQdK/Un/ZAGx/OHaaMRFRPnDiKPZzyDSdh8HBAojKtr28wfmStHrxxCfGIi4/HZJLaosJCQxBGUBmcv2AJ1akjZn3m6NHjEM0HvsL0Vner7QpyqruDrpPT+er7QqgWJiYlopEE7jSn/j0kjosWLSFhHGRM6dIDk88Lc8I/CtPJ56KWYiWTKAUZj6b0W6h+t7e3mXaUnt6XRC8CIJGTX4VxHAfxLJ9gsAOHDu6DBiYq21LOnFRwQNJJv4s5EH3ooZXQ9c1UjWtqKqGwTNb877GlC2z05gqT+PJbfbRjjrv4nO2EFHmpwVr7K6IbHR2NdvbzUowbqJwau5g3xe84DrqYJ8flYNiw4ZgwYSIOHtiLDz94BxI0IkiSPV4vtJTiIlXQRoYvp+KvuLpoS2dnh1F85be5uclYoT8+v9fsvdBa1rNnT6OFRLGFA6/WtlY0felPy9wmT52Og4f2mbd7ZGb2Q0pKioIzH8wn//PxA5oIOEyNONXWVkNvqThx/BiEdSIHJMwA+7tq1NbWINjRQWAYkP/hwHycngNzBnSyTA0GPBcGnYzXy7YVQ6KvgYqWa1xiXrXE4syZ01AZ+fw+LH/wYSray6hOl9De9SY9RnFb/pOq3JZ0jMI4mFP1ESFeox52kDhOGBKLhROToDWac8cmUu10kwR0QlPbtY3thpilxIdAU/MiaZpyjyPhTaEKWkviJVIYRdW1kFPiWi5QWtUKEWORSy0jEDEMdHSirjlg4m0kmbxU3IR6KpJSazX9zjKj2tpO4ueBrl2LBusv0/dTVQ01xFNkMi7KS3XWwRf7yrCBaqk2jA3NisRE5ievpAU7qa52siGIoM8ak0Cy6EGY34NBzL+UWS2NyEgOxfCsKMwbm4DhmZFIjPHTjjZUUglNoOIq0itbipmnLSSslwqboM1iiyclQ8S1k4bLX1ZKOIRlbmkzjlCZrqprh/KeFBuCuqYOnGe4M1RyfSTvbpeL6nKrIa7CU/YfZRhtABvVPxrlHAh8vrsMOSXNCOfAoI5kupoEOikmBHFRPnO/iURc5eNnfLLvXnct7FTUeNXpXSB51dRVJzu2NBIckdoXXvid2TSmhixl56mnnkU7SdAaTnuu/vwzNDP88hUPox9HvY5z25rbvV4s150/kdjc3MvIy8tFQX4eSctZUz4xVB2k0v7+b/6OD6fJCCMRSqP68+jjT1HlSIFenfP555/gcs5FzJ4zzygtGsxcd8LW401FQOVYQGVMU88qB61L1NrmD0go3nzrNaxe9SnaWlswg9Ouy5Y/xAd3FaeAP8J6Tue6XS4sW/YQUql2efhAluImFW3gwEFmunUmp8LHcVp5xMjRnMYdDIf+b6rxd1FkJcVFZpe9l+SssqqS7eWMUfiKCgrR3Rde4iD+rFFJ16z+FMeOHkEtp+WDnGJWmVy8cM70eUESpsLCAkyaPAVS8M6dO43PPv2Y7Wo9yVgqFlJ11ICjprYWcByj+jU3N2LosJGY98BC5Obm4KUX/4R333uL6mkFwkLDmO4Z7N2zkyphK/pRjRw+fBTbbSSDO9AnQDKak3uJz8Mg/bRBxPLy5UsItLWhiQRTm9rUD7S3B9BEcl5dXQX1A9XM54ED+0y/EBUVBdUzEfBAezukRufkXIKIqeIKkuhHRUVj7NgJrCtDsGvndnzBvr6Lz4QHH1wJ3X/rzVfxxusvmzxJyEiiypuZkYVLly7g5MljkHIte+XiqJQuWLgEIpwfvP8O3nn7dePPcRyoLOrq6oxyOoWDsGwKKdnZ/agYj+agwIOiogLUMA9ul4tp5TDcRZLmBtrcAQkqEZFRnPFtw0EODrR0IDo6lsp4iVk/XldfCw8HJjnE6/Kli9CSAtX73JzLjOcC6pmui8+r/Lwcnl80KqvKtKys1LSZwYOGckD4Of764n9Cb5BR+XjZtkSgjxw+RDLciSFDh2Lo0OEsozBl9ba42/aElfpZTsK0el8p/u2jy3h1bT4OX6hFQXkLzuU3GnL4/lY2Jk79Hzpfg7+uzsNr6/LMtPr5gka8ubEAf1qVi92nqnHwXC1e5P2Xv8jjlHsDiVYb1u4vwx8/y8E7m4uw9Vglp/mrcTa/gQpoOf74aQ7e2liIj3cU48+rcvDKF/k4cqEOl0ua8O7mQhNOSw2aqWxei7oGMA3NQZPmnz/Pxb9/fBnbj1VRAQ5ASxk+2VHCa4x/QwFOc/r/QmEjPthWjL/Q72e7Swy53X+2Bg0k0x63gw4SeY/bRTXZAxFcrcMdmhWJi8z3n1bl0b5caBlCR7B7vWULlWctP/jL6ly8vj4fW45WQLZqWcKuE1XYfKQCJy7X46Ptxfh8TylEbLcfr8J+qrNHiO/bzLchxIz/k10l+J8f52DdgTIUVbYaBVflsI1Ks2xU/OsPlhk8z+Q2EON8/JX52He6mnhWGZxeW5cPDQq+a0nGtfjd7eduNnpNq61Y8YhpyOGcXnKxA3EcB3GcynrwoUfw5JPPmE5ao/QlS5bjF7/8DUaNHsPpuAwsXfog5s6bj8jIiLsdirvSfhdHpImcftS62cUsm9jYWD4M3CYvIrFz58zH8z9/gdN1A8wr2rTu8oVf/Q5TpkxHakoayewDULjExKQrD04T2P65rQiozUVwSlNrDP/hv/43PP7EzziQHAoNFEeMGImlyx7EzJlzobWVKx58BM888wveH4JMTjEvJZnVOkG/P8TYnMgp7yc58HzyqeeQkJCITE6z/vwXv8bixcvg9fqMn/v1T3hEhKn7//hf/3esfPRxaC2xNnMJ/+nTZ2HixMlUKEcilARTqlxLSxMeJN4v/Pp3JHiDoCn/Rx97Cr944TdIS++DdLonnngaj3GgmJWdTT+D6X8ltBZXavkjKx/DH/7mv0D7EzwkROpTH1n5OP7hH/4J+l68aBkWUEEfQmI0f/5is8a0T98MU1YPP/I4pKriy49sTElJxS9+8Wv2yU9DdSErM8u078ce/xlkWxbLWu195aNPYsiQYXj2uRfw85//GtOmzTQ2/uM//hPmL1gEDW6ee/4F/Po3f2Ad6w+/34/sfv3wq1/9HsqPBkXPPf8r/D3t1FKIVAocCxYuxj/90/+BZ579BZZSSZaQMWjQED4H+uLnv/wNHqcNQ4cM57Mg6kuLYeqb1nn/4W//Dss4EFM+Fe4Pf/h7TJw0hUSyncS1kGpyKWT7fGIQH58A5VXE+uGHH8Nvf/+3UDrJySl49LEnoefPmLHj8BjL4Q9/8/eYNXsulrJ9qN089NCjhmQ+SJX797w3dOgI4pKC5Uz793/4LxgydBhSGM+KFQ/j9xzsDyHufYn308/8HL984bcQ9prVUJq/IjYPPLCIg5Ml0PKTVA4YF5KcT5gwCZnEXeWznM9N2Xklw7f4wHWL478SvabQi6ikiogdpSoop41IIm/HLtVB5yKuWiqQQ4XwGP0cu1RvCFpeWbMhbT1+5O84wyic1si2cYq+hkriqdx6Q+SOkqyWVrcaVbaECqcI3zmSYhHQsyTPp3LqUcL7PfeUlohoA5XbKwZ/eUAhFFKDdV/+ZIMUz4raNjPNX85v5UHXZVctVU2lrfN9p2twgmnVUSlVdFI8T1Mt1VrdXSeqsY+k8zSJY2F5K7TpyuSJ+RYpbWWeFEaEWsqy4t5/thYi8/kcBDSR6BYQz6MXayG7lEctIWgLdJIcNxLPWqPYnibJrqbqW0E7le+jjF8YKE9aZqG0jl6sxxFiJoyEgcpKqrexhzifJ0nXvWMMe5zkWbh1kJjLvnvd+Xx+ZGRkYjwb6ahRY8yUmDqTnnyrsWZx5Cwyq2t6IAwfPgKTOaLW5jG98iucJBjoVhFgP7cVAZfLjRStaxs73qisKXzgeThI6TEiNCyMD4p+fDDGwHEc+PjgGkDlbvKUadCDSp13bGycudcTxn7ffgRcLhdiqWaNpIoq8jF12kxM4gNfBEuDD5VVMqdhHccxZTly1Gi2wWmmzFWeoaGhV4wWaVWb1oNa8YZwSr1fv/5mDeMVT9d7cI/5U10fMXIUCd4MjB8/CSkkKa1tLWgPtEPT4QEqr/4QP1J5XaRp+PCRGMO2NWnSVPTrNwDp6X0xlucTJ05Bnz59DWFL4GBQiqb86DsjMwshIaFmMCFlfPLkaQzbH+prHcehUBCPceMnQuRt6rQZTCvVqJQibVPYLhW/+uLk5GRD7HqKwO12I42zLKoLIljpJNNKawJtUXw61wYt2aY41Bf07z8A02fMYl4nGlItv1IVs6mEqs+fxH48k4Mi9e8ZVFlFMpVf5U1rdGXfmDHjIPIcSUVUm9vmzp2PGTPnIJP5VF/j50BKhF19igihrvXYrO8w9kEi13PnPsBB2WzW26kUT6ZDzxUpxW+9+Qr0JoIBAwdTxnNDLgAAEABJREFUnR1jBuSO042T8ilclQ/lT/lU/mSr0p8+fSbjmwblSURzBMtWGIwaNZbXp0J5ULhRo3vOByG9T18KMt3nildtZdy4CaY/lN8wzmZl8Zk3a9ZczJu3wMQdxjyoLx06bIQh4irnUaPGfON5qfzeSue6lZHf7rhFPqUcajr++9IWSfy++zfjXo8t+u7s7DKb0z6lQrrvTDUamgOQGqxNXe9uLTRKtUjkD6WreOR6/CluOeVXa1y+cZ3p6n7P9e/6VnjFez1+vyuO+/m641xLVh12tO4rHQ/sp1cj4DjONwiriI4ekI7j9GrbrXHfjoDjOKb9qQzxLR/Hcb5W5o7z9fNvCXJfXtLSg8kknCsffYJktY/ZSOXz+UisRpNwLkJiUvJ14eI4jikPtStcx8dxnG/4dxyVkesb1/ETP46jeB0Ti+N0f5uTH/HHcZzvtM9xvi9uxzwzhI/juODQ6TgxKckQ7Zmz51BpnUd1NxI38nEcB47jmCCO41w5Nhd+4h/Zp/blOM6VmBzHwbddx236uG5TOvd9MiKwUmP1ii8tAdh+rNIotDnFzWat8HeQ7PseNwuARcAiYBGwCNwZBBzHocqWQMV2JjRtr30DWkYlZVaqpeN8RWbujIX3bqoii1JWNXU/depMzjxE37uZvUk5s4T2JgFpo7EIWAQsAhaBO4mATdsiYBG4nxGwhPZ+Ln2bd4uARcAiYBGwCFgELAL3AAKW0N5AIVqvFgGLgEXAImARsAhYBCwCvQ8BS2h7X5lYiywCFgGLwN2OgLXfImARsAjcVgQsob2tcNvELAIWAYuARcAiYBGwCFgEbjYCdy+hvdlI2PgsAhYBi4BFwCJgEbAIWATuSgQsob0ri80abRGwCFgErh8B69MiYBGwCNzrCFhCe6+XsM2fRcAiYBGwCFgELAIWgXscgRsmtHqPcniIG9ER3qucPbZ4/HAdiArzwOuxL+K+K/oUW0x3RTFZIy0CFgGLwD2LAJ9D/A+IeOKHP64f9vJ1Hy5GHBfpQ1p8iHUWgxuqA0mxfnjcDtrag2ht67CuF2PQHghCrrW9w5bTzS6nOxUfy7K9oxNtbbb93av9jylftt17NX82X/dXf9zRESQB7YIhtTz6of83TGiDXV0oqWrFxaJGuibriiwGF68Tg9zSZlTXt6OusR21/Lau9+JQ19COpuYA6urbbFndQ3W1sSmAhuZ21LJ8a++hfNm8sExZng0qXzpbvt142Hpxd+PQ3NKBzs4udP0Qk/3y/g0TWsXcwQQCHV0IcLRvXafF4TrrQQfrjKmcHBR1WofejEGXKR+AX73azt6MYW+zTWXa7QC1w95mn7WnCz8VA5WviYPPaPPNBmy/fzquFsM7g6Hqs+GqrMfm+wf+3Dih/YEI7W2LgEXAInD3IGAttQhYBCwCFoF7AQFLaO+FUrR5sAhYBCwCFgGLgEXAInArEejlcVtC28sLyJpnEbAIWAQsAhYBi4BFwCLw/QhYQvv9+Ni7FgGLwO1DwKZkEbAI3AEEtFZRziyav5J+F0+7HQ/MVfnp7Ozk6Q9v0/nKb6cJezv/yEa525nm9aTVg8lPse1mxPFttsomuW+7d7dcs4T2bikpa6dFwCJgEbAIWARuIgKBQABVleXIzbmIy5fOo7S0GK0tLWhva0NFeRlyLl9ADq9XlJeaa9XVVThz6hiqqyq+l9S2t7ejqDAfRw7vRVFRAYJBvX7pJhr+PVG1tDTj/LlTyM29eFvT/R6TzK2OjgDKykpw4tghFObn/CjbAoF2lBQX4vjRAygszDPx/tg/IsZyCi/Mzp09yTpwDoH2Nl26K50ltHdlsVmjLQIWAYuARcAi8NMQ6OhoR17uJXzw7qt47eV/x6mTRyFy09bWikuXzuHdt17EG6/9CefPn0ZbWwuqqytw9swJVP0AoW0lqTx4YDdef+U/DfkKkDj/NEuvP3Rra4uxNy/n0o8ijdef0o35bOMgQYOB9999GQeIjbC/sRjAsmnB0SP78d7bL+MESW0PIb3ReDpYHhqk1NZWm6CtHMRcYBlrUNNKO83Fu/CPJbR3YaFZky0CtwMBm4ZFwCJwbyMQEhKGlNR0EqVmo7rqOCo6BuERkUjvk4Xm5kbU1lYhOSWN16KQnp6BaTPmIY3fjtP9uvvOziDJbiuV3WZ0dHQY5TYiMgqpaekM34zGhgYEAm0Q0QwGu+/jqo9IWQfVywDVRzlNe8uJdF193k7lsIXES9e6ujpNDF1dXZC/dirCUpX1HR4eiclTZmLk6HHwejzGX5AKcRuJrrHhSxt1I0h7FF+Q13rCK07dk9Ox0lU42ajznutBxqnrbST/wqDneoBkUTjo/GoXFhZG3PoSiw5iUm9w0n35VTxyirMnDd0L0j5dbyPJFCZhYeFISEg2eDexbHRN4QPETvbpPEi72miTwsn2HtsUn5z8a7Dy+WfvQyQ2QHsjIonZ1FkYM24SwkLDoHgUVn51X/EpXqCL9geYftvXBguyWX5bOZBpZ9oKr7Rut3Pd7gRtehYBi4BFwCJgEbAI3HkEHMeBx+OFx+uF44gOkLCQOIrMdHV2wuE1t9tj7tfV1WDfnm3YuGEViovzDSGTyrd96wbs3L4Rmzd9gXfe/CtWr3of56jiulxuuFwO8vIuYd2aT/DqS/+ONZ9/SOJcacL25L6xsR57d2/Dyy/+G9bSn5ZA1NZUY+uWddi4fpUJv2f3Vqz+7AOef4aPP3gDxzltX19Xi0MH9+DN1/+E9999BW++8Wd88uGb2EVb1n/xKY4dOYCOYIeZolc869d+htWr3sPndPl5l5Fz+SLjetPYvH7tJ3jvnZfxxqv/QZX6CAIkyLJh397t2LZ5Le3+wKiiF86dNsS8ID/H5HnLpjX44L1XsX7tZ5Ddcuu++Ai7dm5CO3HsyaO+haXfH0Isu0m2rsmOtWs+woa1n+Jj2r7m8w8gTNtIYC9dPIutm9Zi88buNLbwu6GhHj6fF26WCbkl6mprsG2L7PsQZ06fQHl5qSmjrbRZbjXLIj8v5wreIp7lZSXYvGE1ZOehA3tw9vRxnDh2mOef4PBBLRHJx/at66jY/wfz/T7dB+b480/fw/59O4nh+3jtlX/HhnWfQXVC+ZStO7atxybG+947rzL8ejTU1ymLt9W5bmtqNjGLgEXAImARsAhYBHoZAl1UYqsNCRR53LNrK8nibhKkEkOGHFrrdrtRWlKE3Tu3oLS4iNc7sX/vDmwmqRPBioyMxqFDe8y1diqGjuNQ6QsachgdE0si2Iy1qz/CxQtneL2TMXb/93r98JHonTpxFHt2bSFJqjUKptb1dgY70drcjFMnjkDE1+v1QUsZtm9dD6XR1NQA2aup/MiIKERGRSNAtVdE9OTxwwjQDpHP8+dOweVxM45GiOidZHy6d/rUURLTTWhiGrFx8Thx/Ii5X1pahG0kdXt3b0UE44yNjUdOzgVcuHAaxYX52LxxNS5fOgu324PKinKI2J5gei6XC37mxefzw+G/7hxe/dfhiRy/+F9E8PzZkyS5XlRVlGH1Z+9BSzouk8xKQa2pqTQKuhTkkycPo7qyTDwWnVSoK+h//74dyCc5j6KN8fGJ0NrmbcSmsDAPXg5SWqiYNjc3say6mFr3f6m8USwPx3EhPiERyrdI6UGS1WNH9qOVKnhpSTHz+LnJcwz9Ko5PPnqTZP8opOA3NTYaonuBBD+fhFmku4R1wk1FvLAwl2HXEKszVOibWJ41pm7V19dC6XRbcWv+WkJ7a3C1sVoEbi4CNjaLgEXAInDLEHAQGh6BjMz+GDhoGN1QZPcbiKiomC9TdBBBwqilB36fjzPPJEj8L8LU0FAHEbmY2FhEhEchMSkFqal94CaB9Li96JuRjYmTpmPU6Akkta2Q8iml8MuIERISguEjRmPGrPm8VwWRzNzci4iNjcPEyTOQlJyKrOz+hqx2BoOGFGktr8htKtOJjoqFbH1gwXLMmbfY2B4REWmiF2mLi09An75ZcLtccBzHLK9ooiosIhcXn0hCl8D0x2LGzAegJReVFaUoKSnEwf27oKnzoUNHYuq0OXjmud+ZPFRVV1ANPYbOri6I7I0YNQ6TaGd0dAyiSf6mz5iPseMmw0NCaYz4rj/ET3nrm9nP4Ac4JPINqK6uNGRQxD+9TwZGjRqPZQ8+hmUrnkBcfBJ9AQEqyIcO7DZKa0pqH4yfOB1p6X0MZrLj4vkzOH70IHwcLPRgAX4cxyGOUUhiGYWGhSM1rQ/DZSCF35FflnV4RAQSkpKhpRvZWQMxYdIMjGQeO0mihdckno8YMQaNVGArK8uRx7ISMfd4PQbLceOnYNyEKfBS+T9z+hi+WP0xifr7VHRXoSA/92vkmibd1P+umxqbjcwiYBGwCFgELAK9BAGt62uh+qb1fyJRbW2tkNNxLzGxl5jRhVASy+SUVKT3yTROZDE8PBzkQLSxy5AuKXCO8yVt4I1+AwaTRMVDywpKigsxdNgozJ6zCDEkow74z+XAz3ilwBrV0gUSwaCJj3+u/A8Li8CUabMNwdq4/nOjFA8YOIQELsG8eeHYkQOo4/R6v/6DkJycBpdsIKF0udzwUBUM8YcilAQtNDQMXq8PbqrJjuNAyqbWiZ4+eRR++hFZj6KS3EVy5uJ9+ZNtIVJV6UTCOju7oOUWWptbRKWzvLzExBkWFoZ6krg2KpgtzS0klQFkZQ/A1KmzMWrMRIQxfcdx4CaRd3+ZPr7xIYs1GisMuZcae+7sKTNYEJahTMOk3dFBtbWS6muuqa8il1ojqyn+LuZbaSQmpaKL+Th8cA/9XYbquJcEdtKUWZgydRbq6mqxbu0nRlVtv2b5gzGL8XQZ12nIvtvlBmi/43LBQ/s9JKT+kFD4OIDxen3wenzoxskPD6/BAWRrsLPTKLHK1qDBwzB1+lwMHT7ahHO7PfD7/fCrDlC1drtcuJWfWxv7DVhOHBEb4cWUYbF4bE4anlnQF4/OTsOSKclYMT0Fy6elYMKQWPrx4WZionQTYvyYOzYBT8/vg2WTk5Ec678By2/Mq4uVICXOj9mjE/CzB/rg2QV98OisNCxlusumJpvjxTxOjPGpvtxY5D/SN01CmN+NuCgfK63OfmRE91gwNfbionyzRunjD17H3j1bOWXVAF2Xq6qqxG5Oka369F2O5ndDHe49BsFdn52qygqzpuzjD980aoYUBZWdMqYpzMOH9kJrw7QGUOvPuviA0D3rbj0CUvb0MP7ogzeo4nyEsrJi07auTrm9rc2s6/vgvdewYf0qFLE9BoMdV3v51uNgMIi83Ev48L1X8eH7r0Plrk0yO7dvgKac6zn9+a0B77OLQWKpaW21BU01q72I/IjMVXF6u6GhgYpmC2pqqtHU2GDWRQY62tFAhVNlo7cdVFdVcPr9vHlVlsMHXFNTPXRd/WEgEEBzUyO03rWhoR4imE08V9iroXYcB6mp6ZhOlbSrM2jIYY1sa3QAABAASURBVFa/QXAcBzVULPPzc0jwynGRU/FKr6y0GMePHTR1RuVaV0f7mG4nw8pO5aGlpclMdRcW5LHeFKCstAhSEutY9pcvX6QSfJwEtZ7EshkNDCvluKW1mQpwO1XjMIynqlxVWYm33/wr3V84xf4hKjnNrw1x2f0Hss/fiddf/SPefedls1Sita3FEEu9gUDLBWpJwK/OY5B1soFpt7W2EpMGpl1LxTIHesbIxvy8S2jlgKugIIfqaASV7SxoOcdrr/6HeQvFsSP7jW2NLIeOjiD6czCxdMVjVLUrzdphLXnQsogzp48jrU9fzJqzAFLYpaJ3knT22OI4LkP+u8hATxBDLc2opNIq+1tbmlHHslZZaYNdI8tMx2qrwWCAz796iChLnQ0Gu4lsn/QMJCenQssw3nztj1CbU7t2kcyOJtF/5NFn8NgTP8eKh55AFlV/x7l1HMPVk8k7/c2BAto6OkGMMHVYHB6fk4ZhmVGoawzA63YwZ0wCfrUkE4snJyEmwnfFXBfB8XlclNZdcLkcc52XzLGb57om56UfD+MxHr78I38eN8MxWEpcCB6anooFE5OQEO2H7smbm3H4vC6OWJwr13RPceqeiyf69jF+fYMffV99zktX/nfxqC3QiYgwNxYxrZWz0pGVEobapgAamjsQHuLBiKxIxEYyjw6g+GW74tMxg5v/OlY6soMmGPuUP8fcBXTvit1fXtOX/CgufbuJh+JRWtNHxmPBeE6/MF3FJ7/WwTR8t8dDMrsdL/7pX6DNA1WV5ebB6+fIUx2FOll1oBrFWsx6FwJ+qi4hVG2khLz4l/+Bjz98A4UFuQjyQe6hAuFh2V6+fJ4P60YqCn4a79DZ/7cDAbUXD5UfrVN8g8Rgy8bVENnpSbuLDwWto/yIg0kNKLWZJTQkjP3w1Y8t9ag9Ib76dhwHUoXy8i4b4qEHs5sKVExMvJkWVbl/5fv+PRJpETmawCnruQ8sgcvtQjMVbZHEdpJRKX2z5iw0ANXV1SAuLgGz5y5GPKe+NSiooHoZExuPdJIaLUloJNHdv3cnVKYejxsPzF+ODE6p63p0dCwWLXkYKSSu7YF204eaiL/842F7HDN2Mh55/DmmsRCREZFwscykqi5e+ghSmYbW6c6dvwxzaGtERBSkGE6dMRf9Bg5BW0sr23WQ9cPB1GlzMWzEWHM+dfoczJm3yPTlWVkDsHjJSowaPR6hoaEYPmIM1czZUKtXHdGyiClUisMiIkgIF+LZ53+Pvn2zSf0c9Os/2Ey9983MxiMrn8GyFY8b4uml3UOpTA8YMBRwXIZEnzt70hBWMCS+/EhhFcmbSgWz/8ChUN7mzFuCmbMWICIyEkOHj8GDDz9lbBoxcgye/8UfMIdYe6m6RhCLMWMnmaUC4TyeOXu+IbRZ2QOxaOlKCKOW5ib4qYImJCTShlqm6kCEdzLV2hAqrbxg/rtcLgxk+isfe5Zl0x9+9pFetsMp0+Zg7PjJCLBsYlmmCxatMMtHGqj06lxll5iUgsaGOsTFJ2DxskeQRCKblJyCx578BeY+sBQej4+4hmEYFdoM4uQ4QtYke1v+uG5LKteZSHNrEIUVLYbY+r1uQ/BO5jTg2MV6NPFeVmoYxg6MRlykl0qiC+kJoRjH80lDYzGLiuf4QTGIocorUjg0IxIzSNKmkBxPorI7e0wCpg6PQzLVUZfLQYjPhQHpEQwXjzEDohHLcCE+N/wkry6i4iNBzUwOw2TGLad4BqSHI9Tvol+fCTNzVDwmDokxfuZS4Z00LBaD+0Zg/OAY6HwC74ks4qoP+2iS9A6U17SxQcMQ8eqGAPJKm9HSFsTpvHrsOV2DxpYOk5fRA6KMaj1leKzJu+ILpZraPz0M00fEYwrtG5EdhWnM20TmU/lPosKsPOmebM9gPpQv5V1YTaadcsIoNT4E88Yl4OEZqZhMrMYRQ5F7NzG6yuz78tBxHDOdNmDgUI54M9DBEeq6NR9jLZ12omo6Lp3Tc/HxiehekxTGh0GTUStOnjjMabP9uHj+tHlI6+F8X4J4hzOtB0U/Kj2ZWf3hZWevTSyffPSWeZG8l514ampf83BO5lRrVGQUO/OAUU1OnTyCY0cPmJfI19VWs6123uGc3HvJ6yGbnt4XCYlJ8Hg9nAlZD00Nd3R0mMxKGZKC3qPcJiYmk4zGQ4NIXdPu7COH9kEKU011Fcuoy5RfUWG+2WWvDUxSGrtIKjSAqed0scPOPTwsnO20GZqKlsonxa+B90RCpHJJXVT7liKm97KeP3cKB/btNO//LCspYvs+B23GUf0QyTPG3qV/fGwT2VTNFix60JCfYSRVIk+a+hbpWUQiuWTZSogwxcUnYvSYiRC5HDlqHPu1BqNIyn/fjCyzjjUzs78hQXFxiVBcS1c8iklTZiKNZHQkSeSyB5/A2HGToTCO802yExMbh2kkVlLyXG43HMcx8c2bvxRLlz0KkTMdL+GxyOhQEicRrRlUduNVj6gKak3qgsUPYs68xUhJSceQISOxdPmjmEciPIm2LFr6sCFfWvs6Z+4iKO8iq+l9M02Y+QuWk8RmQfVt1twFePSJ50k0nzRLIoSB1+uD+pPFxOXJp3+FBx95CmPGTYGIZiTJpsic8igCD3yVR4VTX7SQtk0jqU0iERxO0r2cyqWI61Tme+nyx6hSzzd4DSFJVtyPPv68sXHg4GFm/euQISNMGQiL1LQ+5jVqIq7Cd8CgoYYgT5g4DWPHTSKWc5GW2ofk2YWrPyKmCxY9hHkkof0HDjHkeAHrwNwHlkHnYxh22YOPY9yEqUhKScOo0ROgshs3fipSGN/oMZOwXGU5fgpiSH4H0TYpsE/+7AUsJdFXvkSUr07zdhx/PZe3I8UfSMOMt80fICrcg/5p4RhOwpZI1bSBJC+ntMUQXU3bPzkvHU8v6IvhVDSldv52RRYmkEyGh7gxblA0fv9QNl5YmoE5JJtLqez+dnkW5oxOQHSYB4NJeH++OAMrZ6ahH9MQCfRQsQQ/InO69tzCvhDR0/F8qpfyPzI7GgnRPuj8bx7uh6ce6AORzeXTUvC7FdlYOSsNk0gsFe7Xy7Iwnnb4SI7xtY+6WI3duiDe2CcxhDYmYuGEJMjvgTM1aA90YQHPX6AqPZqEe2S/aPyC9i6elASlP4T2/2ZFJv7mkWw8MTcdK6guzxmTiEEk1EunJGP5tFRkpITRziTalEqiHYkHxiXiF4xv8rBY2hVrlnAkxPgMxumJoQgP9SCeg4UwEmb2I1+z+H4+cbNjTU5KhTrRYSPHYsvmL6DXoWiKWg3IxYckCJimdnbu2AS91kYvqBapffedV8wUZyOnie5nDO9k3lU+kZHRVH0W8YG1hFOVh6Bp6NycC8Ysh+UnPyJSIikasIjcXLp4Dp9+/DbL+gNUlJcZwmQC2D83DwG2G5GfaXzASxXU65WkxErNOnn8EMorSjBw0DCEhUewiTmGzBbk52DH1g04R6J5+tQxvPv2i+aVQxp4nD511KwbPEuFTOWrJQoBKo0q26KiPKPQa11heVkxldvdePXF/wlN0TZT3dLyoZf/+i8QUdasy+ucPn3lpX8jed0J7ex/+S//Yl4Ppc04u9jOX37xX6G3AbS1td08PG5zTOrbwkjw1T7kRDS9Xi+klhqCxnaj6+HEP4QqX881fcdSrR09eiKn50OhV2AVcKpcCvugwcMxlqQ1hkRHYSMioqA0FLfOw8MjTfzfllW1wxDOqCj9nvu6FhoaDu2ulw1y4eER8HGGTPEqzgimIQKlthzK8Lom5w8JgYf50f3IyCj4SOAVRk7xRPCaris+XYtkfnVN9xzHMf5FTOUUtsemnnRimUdN6wsz3XO53Ka+SoXVmwd0rce52M+EhoWhJw3Fp3CRtEF4+nw+o/h2p+0iCXWb81iSfN13MW43CbvaQqTsZJ7lt9vuKA4SvsSZ8cXSLpWP0pOtPTb0fLtkC3FSvF6vz6iqkQwnFx4eaeKKNGlEmnvy913nKisXbZNdsXHxzF8UPJz56knrdn67bmdiN5IW6xLiorxYOFGELA1a17qfRO+LvaWorGuHm0xQrokkV+qtjjOSQiHX3tGJmsYAwkhsg8EuHLlQCxHhOBLRTJK8RCqYUnNH9YtCWXUrNh0qx+ELdSSRncZEETrdn0j1s7apAwfP1qCE/kaRVE4bEWc6VqnJ4aFu1FBd3X2yGsVVrcZGKbD76b+sts2c90kKg59qsIn4W/44jkM7PUgnqRWpdhwHwc4uZCaHQiqv1rWeuFyPk3TRJJtzqDRLQa1V/kg8I0I8KChrwSc7irF2fykx81G5jUMs/UrxZb3FwD6RGNQnnPaEICnaDynbnUyjpKoFheUtyKdrDwSh8y1Hq3CpuIlqZBfuks9tMdPldnN6JhuPc2pFuzx37dyMjz54w6zN6tT6pK5OXLpwFmtWfWA6gLkc+WoE7+V0lFTdvJyL6JK/22KtTeRaBBzHQRwfwMuogGgq7eKFM9DaOKlvHR3txnt5eQlUVvX1tZg+Yx4HMCvRJyML27dtIAk+yOnLbuXQeLZ/bhoCPp8Pw0eMxZTpc3CSyvj+vduhwYTIaX9O82ZmaRe426TX1tZKIroTGizqYZ5CtSg0LBxlZUXQ8gQNRuqoqE+ZNgfzFz6IIUNHcjbPCxGHJE6XekgImpuaEM3p7+TkVGg9pchsfEKimWWprqpER0fA1BXHIYEOdmIsp3pVZ9wMq81PUh4XUM3q5L1TJw+jtaXJ2Ha//YklaVq45GE8/8u/gaavFy15BIs5/T2e6qDIp+M49xskZgZBSyxEZh3n/sv/nS7wXktoRQwra9txNr8BIm8uEti4SB+Jms+sqW1q7YCWJ/j9LogM+r8kjQ79OQ4r0pd8rLW9k+E70MrpfM48QfH4qJhGhXshEtwW6ERrexddEJ1KlCXi87oQQ0IoxVbkuL2jiw+zLhNW4UKY1pfRQ6pxHUlvO+PRtHJ9cwD1TQEoXtAMNxGWOYz2W/93klhqucH6/eXYcbzKLDWQjRFUkSOomAaYdoAEvYNkSH7DSGClQDsOI2eMzczXyZx6aJnC8Uv18HkdRIR64fM4aGPeNx6qwMcku+cKG3H8Uh1O5tQhPsqHKcNiqcxGUJXtflDgyw/hg+vLuL+8ZL8MAl0sTgepqelY8fCT5hUvRw7uNYpPWWmxqTsiRFpT5vX64CYBFoHKzO7PutcKTU321C8Tnf1zRxCIjokh0VkBrX8rLS406t6li2fZvoOoreHAtaQQjuPAzYFIKBWMrKwBRm3Qq3Q62QZhP7cEARHMufOWIiMjG9oIoxfxi7CO5ZSmz+e/kmYg0A7NjHQEOxBNUqrp8oce+RnmzF2CJqqsebkXSV59CJF6x/ITsXCzLbpcLqqEERxshsNxdfedLn47cKBuX85xAF1zud30G06hIQzx8Qmcck01S48Ul0icpopjYuI4xdy9RCUYDF6xr/cf3FwgU/LOAAAQAElEQVQLha0UyiQODjRFHxoaCsdxbm4iNjaLwHUi4LpOf7fFm4sNIcznhpeEUwkGSOaOXayDVFmR1+FZkdBU/qj+0Wb96+RhcchKDofH7eIDqUt81ZC1+CivUUUdRiJSKgLqJ0kFLyjuTpLIippWkthOpMSHcDo+gspuGB9cLvi8bpN+Ge83NneYZQ+a4o+O8Jk1rgXlLebbS8LoMH6RY8XvdTtwHIfhXQhhHnTdcXjOvLhdLvr86r+b9oZ43cbunqulVIC3H6tEXlmzUWgrSeZLq9tok4M4EtB4knkvw5XSX3VDO8M6Jj11xF0mki5DqhROhFrEOzHGZ/JolFraItJ/Nr8Re05VM4SD7JQwRJI4i4wTEhJhD/qnhyOeSrbL5dCP/S8ENF3Zoo0SLS3m4SdVSIRo/sLlqKosNztfhVZychoSqQJd5lS1dq7W1daiqakR+glIXXe5XIrOutuMQLAzSBWt2TiRD5ESrR17eOXT6CRJ1euGpMrFcGpPm1uKiwrNDnltEpFaK/+67ibRuc2m3/PJCfcWtisprxmZ2Zg7fym0dlbLA0aOHm+IZHt7OwKBNmhJgtvlRkJCErTuVcsKtENfO/Bra6sMCRXRzLl0HqdPHUdhYR6qqiqgHflVlRUM32rUV62rVbn7/CF8ZnShpLiAivBZFBTkoZmkuJp+GxvrOWMXQKCjg8+WDnR0dphj9QUi06pH2rGvuIIk1/d8QdkMWgTuAgR6zROWfMuQq7SEEFSTsJ3Ja0Arp8FjSeSOUVlctasEmnoXMR2aGUml1osKTuvnlTYbRVTT5FIqA1QzRQBdjPAcyZsIYIRROjtxlnE2UD0VATx4vhabDpezg+vCqP5RiCUJzuFUey7jE8E7cr4Oa/aVQUsLtNFL6uv6A1JRKxHgVJOuy0aRxTgSzsaWIE7n1qOdqmhijB8NVG3PUV0OBLvMRrKeukCzEEf1NzrCC5FjKdC6Fx/tRy3D1NG+TrLL3NImrNpdglNUVPskhCKN7sTlOnOtVESXBPp8QSNkb6jfbUi0yK1sWn+wHPnlzdA622kj4kjKvZCSG0qiHcO0G1s6qNTWY9/ZapRWteEC1Vut261n+lraEer/8dVCebmXXGtrK8pLS9DS2oLKqnJUlJeS1HYZ4rpk+aN48ukXoGlNf0gYtJj+oUeeRgiVIf1EYPdOXw8WLnrIbDJwHOdeguauyEuQ6ll5WYl53YwGF4UkLSJR+kWhmXMW4pnnf4fxE6YhIiIayckpUJlmcor7+NED0JrK2ppqzJi1AMNGjIHI1F2R6bvEyGZO/RcV5iPIKf7S0iJoY9bEiTOwmFPXs+cugjbq6DVJIrIaLGqAWFtbjQmTpmPkqPHQK4c++/hdqKxC2P66NzGthAYme3Zvxb69O9DW1kaVNdHsOC9jGlJ9w8MjoNcQaUPn6NETzMamg/t3o7W5BRqstrSxzbPOREZHI4J+y0pLUV5WCtUZhS1jf1BRUcp0YhEaFgFtSFOduktgt2ZaBO5ZBHoVcwmSyBVWtOLDrcX442c5VGbLUFHXhrrGDuw8UYW/fJ6Ll77Iw86TVThyoQ6vrcvHn1bl4O1NhXh9fQH++Gku3ttSTOLaiL2nq/GX1bl4Z3MRSWE9Nh6qpN9cfL6nFGUkhJeKmvAOw72yNg/rON3/0TamuSrXxHn0Yi1ySpppRxHe31pk1teu2l2Kd7cU4nJJE6rrA9jAqfw/0f8Xe8twkXF9sb/MxC8yebGoEZ8xnT/z/pbDFain0nt1DWoLdBry+6qxP5fEugI19e1Ui0Cy1O2zqTWIXSeq8fIXBSbvO5n/V9YWmGt6ldnpnAa8tCYPrzAOEdIgibNCVjcE8AWJ+F8/zzW46HjH8UoS3ybspjK76WAFjlL1/nB7MdbS5iqme5pE/40NBXiTbjPtLWIZiFQrPuuA2Ph4TmkuwoiR4+D+UqVzHAdaJK+1strtmZiUzOnMMOh1KiK52umakppudqdqN6rW+Vks7wwCYWHhmDJtDrTxyM+p6B4r/FToJk6agZWPP4eMrGx4vD6MHjMBTz39K0Oa4qkEzpj5AObMW2SUQk6J9AS13zcDAY7vpH7Pnb8MgwePgNvjgcioBhVz5i1hewo3m3KmTJmF53/5tyyTqZCqmpnVHz979jd44dd/hxWPPIUVDz2FceOnICIyypTxL3/1d3hgwTKMGjUOjz3xc/zqt//A+1M5CE02A5blDz1JkpuE9D4ZeOJnL+DBh59iuDlmN/vv/uZ/M229/8ChWLnyWSxb8QTLPo7+E/HwIz8z51pKlJCQjJWP6v5jiI6JA8DM4IY/NsBNQCBIhVyDnmaq6y2cSZOK3smZl/b2NrS0NFNkaqNw1cHBTeuVc92XP4ULBAIIcuDbxoFMs+JgmECgnc/iru7rFDUUj+63tDSZuLr9t6HHvwY0ivPqNBVG93VPgpiyasIxPl1v5cyEzq9cb2sx9ul6gLMSCtNjo+KSU1zyb923I9BrCK3URSmHuaVNOE/FUOqjvgs1xd8eNAqjpuN1XWS0pKrVKJwXSSa1SayaxOwiiWRRZQvqqHJK/ZRfkb1cqq6Xihuh84v0X00FuIMEsJrk71RuA05RWb1EdVYKrtKoo1Ipct1IUqm0tPZU8dTzOtuJiV9qruK7wDTzFD/j1bnizyEZvvhlHhSvli70wK981jYGDGGWfznFrU1lHVR+e/zpWzaUVrcaNfVkTj10rGttJMSFzKfwuUCVVnnVNYWRk3p8ubgZIq6Kv4GEOtDRBWF2hqqxlG6l2djcvfarg1iU1bSZzWDCUmkoHuuAkJAQZGT0owo7CoOHjEBCYvIVUit8fD4/H5QpfPiG6RQejxeanh4zdhLGjJuM1NQ+5pq5af/cdgTcHIDolUFS0YcMG4XUtL7wen1X7PCQRGntX3h4JBzHgcvlNuUpBXD8hKkkuv3hJ/GF/dx0BDTQ0BrYoSwXvZJIRNHlckFrVXVPZZOckobBQ0dCA8QhQ0fBbOxiG4shiRw+ciwmsIz6ZmTB6+suU6/XazbyjWXbU7iBg4aaXedx8Qmm7JWW6oIGmx7Go/hHj52IfgMGo0/fTAwdNhopKeno0ycTQ4aNNC4jsx+ysgfweBTdSHztnLYpDg/r0U0HyEb4gwiIZB47csBs5tR7jD/+6E0cOrgbVZxN08v9337zr9APaeTlXsK2Levw5mt/wq4dm6FlKufPnsIXqz/E6VNHjdOGws0bVpsfWtmxdQNqORugpWOrP/8A7771EtZ98Qk+ev9N6NVy586cwJ7dW7Bl4xp8/OEb2LNrq3m/tdLSDyvoe+2aj/D2G3/F3t3bDfFtaiLXOHkEO3dsMnF98N6rOHJ4H/RDBWfPHMem9Z9j987N2LDuM5w4cdjMIhxmXrZs+gLbt66nrR/h8qULhmj/IDD3qYdeQ2jvU/xvbbZt7BYBi4BFwCJgEbhHEWhuogB27hSVzRZEx8bh/NkT5hcBtXwlMioGly6cwdEj+03utZZer1vTm03aqd6WlhVDS4o8bi9ycy6Z5WQa+JSWFGLTxs+h18NpnfSpE0ewb+92Kr3tZrBVWJhnfrVO/twcQOWQZG5Yt8qsuxdxFvksKsqn+JGC8rIibNqwCqUlRThx7JAhsjXVldAbb47rfM3HkD17d28zJFaDZ72OrL2tzdizmWQ2L/ciwsIjzIC7leqxyYz9860IWEL7rbDYixYBi4BFwCJwPyFg83r3IRASEoq+GdnweD2oq61Be6DdKKvBYJDK/FCMHjuZpLIYhYW5cHP2hawQesewFNay0iJo1k1voulLlV9LyPQ2kzaSXammWo4Ql5Bo1k7HxSWa5WTzFiyDpv0LC3IRGhKGmOhY8+MDEydPh2bmEhKTEBUdzRm9kZw9mEbb+hk1uKamCidPHEVxYT5CQsMgVX/GrPkYPXYS/ccgNi4eRQX5hvCWlRYjIiKCLhJ6y8bpU8ewY9t6BJi36JiYu6+QbqPFrtuYlk3KImARsAhYBCwCFgGLwE1BoKq6AlI6tfEzMTEFco7jGNKpZSATJk5FZEQU1q7+GAV5OZgzdxE6SAzXfvGRIYiDhoyA1NoTxw4i5/J5iNSmpKRDS1fkr7OzixzYgdvjhs/nN07EWOTSHxKCYSNGm1/qGj5iLPwk1y7HDTmvxwORbLfbA3Txv9Ya8kBrcLVOfNToCZgzb7Eh3T6vDwMGDsWKh5+A3oe8Z9cW7Ny+CW2trRg7bor5VbNAIAAtjzh8cC+0zAL2860IuL71qr14CxCwUVoELAIWAYuARcAicLMQ0NIC/UKZXvWmd303N7dAm6dEXpsaG6E18yNGTTDXkpJTsXjpI+ZHPDo7ghg0eAS0KVHEMZ9kt7a2Gs3NjeaNKHpVnJYh5OddRqC9nSQ4AC0VkN0DBg2lcpoELTN49+2XsWbV+zh2dL8J19zSJC9oamqCUXnbWgAH6KRirHXg4STXX3z+AT5871Ws+uQds9ygsbEB+lEeD4ntrDmL0H/AEAQ6AqioLDP3tcZ/+owHoI2Izc1NJi7Yz7ciYAntt8JiL1oELAIWAYvAHUPAJmwRuA4ERFgfmL8MmVn9obWnU6fPwaw5C5GS1gc+Kqpak6rlAA+t/Bn0ureExGTMJmlc9uATZlmA2+1GdEyseSuGNoI6LpfZgDh33hL0zcyGh/e1LGHc+MloMW9QCCArawD0y2h6Q4peD6o32GijofmBiaQUTJo6k2ptCGprqpCW2hdTp82B3x8CbVJ8+tlfM/4x6KKKHBsbZ14/p7dtyK4WktU6kupRYybQnuWQUhyfkASRdaALCxatgJYphISGXQcy96cXS2jvz3K3ubYIWAQsAhYBi8BdjUB0dAwJ7CLoR1KmTpuLmbPmY8WDTxrS6A8Jgd6a0advFmbOnI+U1DS43R70HzjY/LS1wirzoSSIEybNMK9tE5GdOn0ep/+fwpSps6ElCQuXPGTOdRwSEmrI6tDho/HIY8/i6ed+gyXLVhq1NzklFTNnL8DDjzxtXhOnN2PMeWCJsU1v5IiLS8CYcVNMOk/+7AXMX/SgeWNGbGw8pkybjXnzlxvyq2URQ4aMgMj6XIaXm25eH0iSnZFt8iS7rfsmAvcrof0mEvaKRcAiYBGwCFgELAJ3DQKO45j1riKaPp/PHEup1frZnkyI1Hq8XjhON91xudzoPneMF8dxIP+KQ0qql379fj/j8pnruian647THcZFJVd+QkPD4af66qaS63K5u1VhEmnZ4vF4IT8i1j1h3fSndPRaOh8VZBfjcRzHpBXCcCEk13rXssvthu7JTwhJdKiuf+kf9vOdCLi+8469YRGwCFgELAIWAVgILAIWAYtA70fAEtreX0bWQouARcAiYBGwCFgELAIWge9BoFcQ2u+xz96yCFgELAIWAYuARcAiYBGwCHwvAjdMaF0OEBfpQ2p8iHUWgxuqA8lxIQgP8cLv8yDEb11vxsDvc8PnMJNrnAAAEABJREFUcVhWbltWvauu/ujyULvzeT3wsWx7c92ztnl+dBn7vG7bZu+R9mrbgQdejxsOSafjkHjihz+uH/ZyjQ9G7DUPOhdCfNZZDK6/Dvi8LoT63YgK9yKagyLrfL0Wh8hwH8LDfIiK9PdaG2398d1w2USEeRAR5r3hcBbrG8f6TmAWwfKNtOVr6/c98nwNDfWAfBbX+3F9w+MPXOjq6kJ1fQAlla0ots5icAN1oLymFW0dnXC7HbhZS63rvTi4WD5ytox6bxn9mLJxscf3sGx/TFgbpvfXBRcFJ5WTLePeX1YqJ+u+v5xUn7u6HHTxH67jw+7tOnxd5aWrCwgEO9EWsM5icON1QD8lqDp0VZWyh70RAbbz3mhWb7PpbrNHbc8W7d1Wajdmry3jG8PL+u69CFypy9fZad0woe29WbeWWQQsAhYBi4BFwCJgEbAI9EIEbrlJltDecohtAhYBi4BFwCJgEbAIWAQsArcSAUtobyW6Nm6LgEXg9iFgU7IIWAQsAhaB+xYBS2jv26K3GbcIWAQsAhYBi8Ddh4A2p7e1taGtrRU6vvtycOctvt0WdHZ2oqWlBR0dHbcsaUtobxm0NmKLgEXAImARsAj0XgREMurqanH0yGGs+uxjfPzR++Z744a1kDt+/AgCgfY7koFgsAPBYPCatLvQ0FCPnTu24c9/+p/YtXMHSW3bNX7uvVPhECQetyJnqgPBb+B881JS/CUlxfj44/fx17/8By5cOHfLBiGW0N68crMxWQQsAlcQsAcWAYtAb0ZAymZ+fh7efut1rP3ic5rqoG9GJtLS0xGgirZ58wYcPLDvjhDGxsZGHDy4H+fPn72G/DjweDxobm7Eli0bcfr0CRLuAG2/N/+rjKRqnj59EqdOnrwGi5+e5zaq3OfPncHZM6dvGY6O48Dn9aGUpPYL1rPi4qKfbvh3xOD6juv2skXAImARsAhYBCwC9ygC9XV1WL3qY2zfthn9BwzE7NlzMX78RIwbNxEzZszCrFnzkJSUYlTS0tISHDt2mCRzn/murKzg9HEz8nJzcOzoYVy6eN587969E3l5ubzXgvLyMhw7dgRnzpwybg/vnTx5HE1NjQbR9vY25NOvwh86tB/nSKwaGxtQX19PBXYrXnrxz9i8aT3jyyGpbjVh9CckJBRJySkI5Xcw2KlLZhpbNp48cQz79++B0qmpqUFRYQEOHz6I48ePoqqykv4CKCoqxOlTJ1FRUQ7ZUFiYD9mwd89unDt7Bo0NDaiqqjRhdP0483CEcZSVlSI/PxdHjhzCgQN7cerUCaMWywBNo4uw6ZrSUr6lRBYXFaG1tQVSwc+dPW0GCIcPHUBZWQmkXCqscfyjOGTvCdqqNE4wL8LwEP2//tpLZtAh8pmbe9nYq3TkZ9/e3Th69BBV9kOMt9TYf/ECy4PlpXIypLi5GZcvXYTyoYFCLsutgfnU+euvv4y1az+H0hV+J04chcLp/vlzZw2WOpc7eeI4lDfZp8FOJTHV4OPSpQtQvvbv20OM8ohruyHfCnOGZDw377KpEx0dAXR1dpcZs3zT/7tueow2QouARcAiYBGwCFgEejUCeSRn27ZvgZ/EcOTIUYiMioLjOMZFRkZhxszZmD59JklbAz784B2sW7vaEL533n4DX6xZhbLSUmzesgH//M//F9599y3s3bsL7779OkS+cnMukzSewB//41/xx//8N2zbuhlr1nyK//j3/2GIj4jr3j278AHjPXnyhCFJr7/6ElZ9+jGKiwtxkQTpJImVpqqrqqq+oR46jgsudzd9CXIq/iIJ9fp1a0gyT2IfSdWLf/lPfPHFZ7hEEvfuO2/glZf/ggIS1/b2dhw/dhSbSJTLy7oJ95bNVHpJurcwL//xH/8CYXKSxPulF/+E/+f//v/go4/ewzrGLeL/yst/NWT7wP59Xy552E7C2oqcy5fwzjtvYteu7ThLUvzWm6/hr3/+DxwlqcynCq40Dh06SGJ/2vh7mxiWlBSxfnTRdf8Xmf3oo/dJlvcZEim8RRSLCgpINo+hsCgfRVQ3tTzkP//zX/Hv//OfsWb1Z/iCZHTD+rX4t3/97xCmDRwU7N+/l/f/B44cOcgBQi22s5yV58uXL5owb7z+Ei5Q/S4oyIdIqmwsZtwK9/JLfzHkuLm5iVjuxitfngvjl1/+M/7lf/xf+OTjD7B69SqcO3cau3fvgAYrIvCffvohXn7pz7x+hthfwEcfvsc49kAE++LFC2ht+Wpg0p3rm/u3u0bc3DhtbBYBi0DvQsBaYxGwCFgEvoaAFNpaqphhYWEIpXMc52v3IyIiEBsXD8dx4PP5MXjIMPTrPwCVFRVG9RQVE/Gtr6+FvhcvWYERo0aTtJ0y6mxcfAJaWlvQ1t6GiZMmY/6CxagoLzfK5zmqsW+99RrJVh0WLV6CBx9cifCIcLz55isoyMvDkMFDEce0R4wYTcV4AiIiIr9m29UnDQ312LJpAw6QxIWGhSCZqrLSvHzxItLS+2DI0GFGcSyjytxCpVIK8eAhQw2BX0NSpun8SMafkpKKBqrDl0mCld9AewDNzS2YMmWGsS8lNQ3h4eEYMnQ4EpOSSFzP4iiVUYURKdyxYyv69OmLGRwEhIWGGqUyOjrGkLkNG9Yi0NFOZTkZobyXm3OJxL0I+uGAnrxUURU+cfwIBwolSKYCPWLEKKSlpmMEBxupqakYynRncpCRnd0PzU1NJtgCYvrUU89h1OixKKfiXE3yr7KQfVKspUqfO3sWSj8hMRHLlj+MJUtXICu7vymz0WPGGZuHsmznPbAQgwYNRm1tDWrrahEbG4fklBRU11RRVW8y553BoFFfNdB59NHHEewI4os1nxt841necfHxJl8njh+DSO8hKu/jqPovXfYQJk6cBL8/xNh9q/64blXENl6LgEXAImARsAhYBHonAiKcIiwiMCJCQZKVqy3VVHl9fZ25JNJbVFhoyKzf7zck1+v1kuTEIjYmFtn9+iMtLR1JiUlmvWRXVyeiSeaiqPSKlGVkZCE1Jc2QyNa2VpSWlJDw5SIsLBx+f6ghr0OHjjBqZ1lFGTT9LsIMdJH0dR/hOz7NJKlFVHUdl4OEhCSMJKn+xS9/i4WLliKOpGzq1BlIpF0bN67Fzp3bzPKFwYOHmm8tP/AwH8JhytTp+N3v/xfMnDkbSSSsEZERSCGRHDZ8BIaQFKeS0IaFhqGQqqaIcWhoCMySBwdISEok6Y4w0/rFVF5DOUAYO24CMvpmmuULzVQ7RRAzM7PwyMrH8eSTzyKFeOCqT2paGqbS1vLyMnz80XsQGWxorEewM0gUiARhcLnciIqKJrGOIN59MHrMOAwhOY+JjobH7aY/emKcLpeLZeQyyxoUn6b+tfZYZTZq1BiICMcnJNJn9//uUIDL7WY4pzsx3nI5iseBm9ejmW4kXSpJ9hCS6xEjR7OcAqiurjTkOJXlv2jRMvzil79GQmICCf9puF1uKFwY8VB98/q8uJUf162M/KfE7XW7EBHqQVT4Vy7U7zZgu1lxw0Pc3ffCPPB7Xbz+41NzMT6lFRPhhdfjQoiPcTPeSDrFHeJzQceyJYT3OGC9rsTkz39VWIWPYpxhzIfSvDYSx3EQxnwlRPsgpzzKr2zwup1v4GHiuwofhVWYq6+HMH1G+7WkfMSrJz899gjTr3m6j0/UGasz17RYQ0MDtEZIi+e7OJyWa2lpga7Ltba2mk7jPoar12VdZdROVeir8mvgg7KFD8ZOui7zIOu518KHYScfGL0uE/eBQUFOFUtpUjtqaWn+znakXfZS1eSvpx1eDzwiRdXVVSgpKaaq1Mb4g0ZJksKoe9cTx73sJyMjE/PnL0ZHIABtANOUsdavNlH9E2ZHjx42m7K09nPrlk1U6RoRQ/Lq9rjNOs3S0mLzLSyDHR3Et5MEL4gOlquuab1koCNgrmm9aLBT9zsQpKoXExsLESNNQ2saXOmqn02mSpqe1gcizVIDRcREOlvY515dFroXoIKqdHw+H+KlDBYVmqlute3mpkazbrWTxDqDZHr6jFm4RMV2Pafm0xh/clIypMomJCSYdbw9634bOF2vehZob4fiNt/ER0sVjhw5ZHASwYyIjITL5UJNTbWpU2Ek5rHM08WL541SnECyOGvWXERHR0HEsY0k/sTxo6hhfWxlXrSmtp191NV5qqurQzTxfWTlE5A6e+DAPk79HzF2CD/V5YKCPNRREReuAdoYoG2Kw+P1we3xoKysFLm5l82640aS4Wra5w/xI8jBipY9aDnGqVPd62CLiwsUFJ18rlVVVUBriZVnXVT5d8eTa3BUPhsaG2lLAIFAO4Isb/kTSfUR/7NnT6O8vJR9axuk/DNKlkkCCosKcIyqcxG/1e7U38qma8tTcd0M57oZkdzsOETAIknUJg+NxeOz0/Hk3D6YPz4JKXF+ViIYAju4bwSWTknBA+MTeT0ELgX6EYYoWDwJ5IIJiXiUaQ3qG45+qaFYMiUZj/F8ZL9oZCSFQvcfn5OOcYNiEEpSi+v4mLgjfZgyLBaPzkrHz+b1wZyxCeiTGAqfh6Ogq+LwkkgP6hOOxZOSMWNkPCYx7/MnJGH5tBRkp4ajL21YSpt0f/boRDw0PQ1PMb6lk5Mxa1QCVkxNxZwxiRiQHoHZoxMgW5XerNHxiCZR70nKT4I7YXCMyZvCP0BcM5JDDZHv8XO/f7ezo9Taq48+fNesk1r9+adQgxRRCrADOXvmFN575w2s/vwTjtbzEGQHfiOYWb+3FgE97LQe7Is1q6DXxHzw/ju4ePECO+IA9GDQ+r6PP3ofH33wjnlgt7a23VqDbOzfikBTUzNOnDiGd955He+/9za0nu9aj62trdi1cwdee/UlaINQOdWrIB/O1/q79lx+FN97774NrVcs51R3S0srRMw2bVpnHtLXhrnfziMi+Axd+iAefuQxoyKu+uxj9mmfGpy14UfETtP3WnYQRQWwjIRFpDciPNIsQRBBrOA0dzin67WRKj8vB5qqjqQqW1FRAbUzP6eY3VT3RJbUJiMjoyk+OYiJjqFK+QwV1Fhs27oJmzauQy2nuh9++DGMGj3GqI/Dh480g5FLJIntV5E/1Yna2lpEMY5gMMDBSgCzZs3DoMFDIdL21puvmnWboVRTo6KizBT/5ElTzbIHkXgpmv6QEEM0l3L6PYFT5Ws+/wxvM5xIZ0hoCETe/D4fQuivmIprgOQxlmQzkvGpXqkeppB8azBcQQwqWC+1QUpqcW5uDvub89jIPO3eswsDBgzE9BmzTV/z2msvY+3a1WhubkIs1WPHca5UOxF6EUMR+OiYGIwZMxaZmZmQfbK5jvgcO3bYtJOI8AiIiOaRvLYTm5TkFEyYMImqdx4x2AAtr4iLSzDPphQqwQsWLkEdMXvzjVfMGlrFlZycihimM2DAALP04+KFc4iPi4fUaz3/Nm9iPCTIUtkbSfTzWL4i8W63C6VlJbKnynIAABAASURBVMS9Hf37D+CgaBHq6mrx9ltvsE99FxroDOg/ECtWPIJ+VO63b9tiNrSVFBdBRL+FIkIz86/nKW7yx3WT47tp0bUHOhEIdhkC+cjMVEwbHo8QEkkx/w5e9/N4SEYEPAS3qS1IqR0ku44hZj4qkCKILqfbHDcPvFQ4PXRuOi/JpLnP6/ISQcVURHBYVgSiw72Mw43xJK4rSCZFnH1eN0RsH5qRitEDoqC0VQ8Vn49E1Mf0dKy4ulPs/itbW9qDVJK9eGBcAh6ZlYbU+BDUNgWgPHT76v6bnhCCJ+elM59xaGwJoqC8hWoSMHZgNPokhiCV90VsG1s6zHTAtBGxWDkzDUMyo9DcGqTNDgakhbGzAOKjfJhL4vwQcRMpH54VBdnoMKmMpDAsnJCElbNSSYpTkZUSiua2TtrTybv2vxBwu91m9N7c3ILP2MmvWf0pqquqWR5dECHSqPPEyWPweLyIYOftcnGqh4Ud5INWqoS+exqrvnWuka+cwisN624dAg6VEykm+lZnKkJbkJ/H8lPT6TKKyvFjR9BGpSGaHbrX6zHGqGxUfionlZu5yD+2/AjCLfgvZUfY7+ADTxuHPmdb65niVnIqA621fOWVv+CNN1425CaCJMzF8tW97nIJ8KHN/p/tT2Hkuu+xn+RTIefyBRw+uI+zLA1srx7zWqoMKnZKW+Hl5F9Ox3I6Zk1hWw+auLvrRYc51r2rz5Xe3ewSObWuKfDf/PZvMJVT7omcmo+NizOkZtq0mQavoZxe/u3v/hYrH3ncELMXfv07/PZ3f4NJk6dgytSZ0BTz6LHj4PX5oLck6Hz4iBFI4RT9M8/8HMtXPAwRWCmjz//8BSwkuVI6c+bOxx/+9u8xYeJk+k3FgoWL6fchs/wgK7sffveHv8PKlU9gGIltJPvZHpz17M3MysKvf/MHhllCFTQamv7+L3/3v+L3f/gveJikeOWjT5DATjHE23Ecxp+GZ597AU899SySSP4cx4HX68XkKdPxX/7+f8UvXvgtlj/4CFY++iRGDB+FlJRUrHzsKYb5JVKZD5/fx7xOxz/84z9BJHgh8/B3DPfzn/+apDMbFRVlhrwtX/4wZs6aQxwm8Vnswik+J7RMQTj8/T/8Nzz22JN46OFH8cD8RYbQ9uRJ3yKHS5YsZ3xZ6N9vAJ559pe0bxpSOZX/zLO/wBO0ffTo8Rg2bKSxS+UWEhoKh/+E9XPPv4CnibeWTjxK2//b//7/IqlciQEDBmHlysfxj//1v+FR5m8JBzFazyxyGU8y/8STz+JnT/8cY8dNNIOCp372HB57/CmD3xNPPo2/+/t/woIFS5DNMtHgR/eTDYaAymU5ies/MG9PPfUMVjy0EkuXPYjsfv2N7f/4j/87FGbkyDHm3v/2T/8H5s1bYMrMcRxl+6a6Xklo1TeJuB06V4NdJ6sMwUuJ92MgFUwRUR8JpJYInMlrwNajlaiub4eWC4zpH42pw+NI5hIxb1wCstPCST5d6EN1c/qoeF5LxBQqn7NGJ1AJTcKI7CiEh3gQHupBFeO4VNSEusYA6psDJHlBCO8ugOl3oIlE0sUL/A8vCbEU0wlDYjGdauoCEsTJw+IQT6XXof+e/8pHQ3MHKmrbSM47ofCVde2orG0ngezq8Wa+YyO9yEwOQ1Ksn/aGmLSPXqzF9mNVKK9pQ3FlK9btL8PmwxU4V9CIFpJQh6VX29CO45frsGZfGbafqEIR/RVVtuBCYRPKq9uQlhAKKcRJMX6zbELkVgOF1nYSWAeobghA+HVwkGAMsX/Mgy8jM8s06sfYMWgKbveeHajkSFwqhEbn2gCxeMky0/HpIaepHim3mibat3c3pEi0c1RfzGkwkaejnK7S9eKiIovwLUZAhCeJU4qLFy/Hs8//kp1uJPbs2WnUC5VTXl4uJk6eyk7+CWRl9YPb7YGm80Se9BqbvVRVLl26YKbPVOYnTx6Hpl91/TKvBzlwucVZuC+iD6H61TcjC5lZ2UhITDTTuVIGAxxoCICamirs27sLDfX1CA8Lp2qXjpiYWGjAIRXrFMtl/7690GuIVK4imprOlTKod3aWlpYoGvaljiGjDQ31cLkciARIDdPrhA7s2wO15/r6OpykWqyNRTovKyuDpmd1furkCezatQPayZ1LRUyvTtq1cxtUHyorKzhQ+npfbhK9i/6EhIQiO7s/Zsycg/kLFmEG1cRBg4dAG6CUjRCWk1S7adNnYTCv9+8/kCrqWBNmxIiRmET1U1PkakujR48z56NGjYUU1omTpmDcuAnoT1I1dOgwc2/0mHGGVGpQkZmZjWkkztNN3EOppoaZ8tKSgwFUNsdPmAS1ZbVp2SIXQntlwyTGPXbsBKSQfMp/Komn4po95wEMHDgYuib/cm6KFH37Zpi6pmNdk/OS1GaxD5hFEjp79jxkst8PDQuD/E5g2rJfafmpNEdQiVa+Jk+eRvI6AEOGDIfyEhoaihqqn01NjdDUvPoHr8+Lfv37Y+KkaYiJjYXqrXAQkR07djwJXYzJp2zocbGxcSSVEzBt+kxMJSbdeQiBbNQgbCKJfxbbSn+qohoE6DyT+Hl9PihP6el9oE1jEydOwaBBQ6BvKaSyT7aPGDka8x5YgPHjJxoy7TiOCae8yibh151WpqkD8icyPGbsOAwYOAj9We4TJkz+Mt4BtMsHfVRPhg0fwbgXYsqUaUhMTGY7c/G+1+A9c+Yc5mcGlMZk3te7jr3e7rC4yR/XTY7vpkbXROVx/5kanM1voHLqwfQR8VQhw80SgASSxxOX6g0RDeU0upYnPL+oL4ZmRJIYhhr1cvnUFEitjArzYP74RDyzoC/mjk3EqH7R0D0pnCKmWqc6qE+EuZ4cF2KI57UZ6emyHDgQOVwxLRXLp6QgOc4PTeFren/i4FhWEOdrQU048+drl79xUkGSeyKn3iipSyYl41dLs/Dg9FR0MqzItgjtaRL4NirX1wYWca4kUT6d2wAR6PZAF84RswNnaxFkBCNI3EcPiMbQzEjERXlxkWRXA4Zr47kvz78n0/HxCRxdPmo64V07tuNNTklt3rzRKAgT2dmFh0dAD1FNxaxZ/Rn0vsPLly5Cr4l5683XzHquVas+gd7NqB2sB6kUXbp88XtStLduJgIRVPOkBixavMyUxVtvdk+3qcym8KEUFxdvyIimDPVaHpGUXE4Xfv75J3jxr38yL23fvHk99DoglZ/WgoncilDdTDvv97jUzlRO7FrxOdtLfn4+NK188MABEoQaiBiprYEeVHZ6N+bqzz9l+Zw05fraqy9CrwdSOaqNqc0VFReYadQyTgWrvAKBALRW8403XjHT6tXV1Th+/BhefJHlfOoEOgIdJMYH8Je//AdEYEV29fqh1157EYcOHYAGpC+/9Ce8wSljtfPDhw/h5Zf/BE3Lan0k7Oe+RUBkdfnyh6hMPoQYkle/z48kkropHDSLFHbX3fsWntuacddtTe1HJKap9z2nqyElcTDJqtRQKaMigLllzSQUXZxYAgIdnVRSg/D7HJJfLxKpSGanhiEqzGvUVp/HjWge53MqX4qmy+1QwQ2DlFERZx9V3zhO1Yf63GC/ie/7kGOiubUD7cFORIS6IXVYxLhPcijcLtf3Bf3GPQ/tEKGupTK8lgrsxzuKcbmk2RDlRROT8cScdIgwy772byGzPRF2krjqvggsiEgNlVep2yKvwkLLDKReixgL087OnpD2+7sQcBwH6el98cijj3PqLQPvvfeW2RgxhdNUWgzvOI5Riw4fOmjeo+inkpHAKbs+fTNYLzuhV6bo3YJHjxw0rzKREpBKNeG70rPXbz4Cetgs5jSelAWtqT1//owZoKT36WtUhE42BP0akcisy8W2TJUkkyqN1+sxZKq8vMKU7YXz55CclIJMKiJuqj0339L7N0YfFaYxVO0eeGCRWVO7desmnCLJPHHiKIZwujub05cud3e/2tLSTGV0J1QeoaFhkKokJ1KZk3MZeg9mfUMdpAZN5XT4UIb3UoWTWpfFsvORbNRSTQujCqf1ldoMI7VWayOjoiKp1pZDm5r0uieXS0uJYKbiF1C5dHvcKC0rxbjxk7Bg4SLTxk9ySrmpqem+KTyb0W8i4GP9lcIthVdLBuZRBZWCmkXVW+ql4zjfDGSv3BIEunuJWxL1zYm0nURVSuzJy/Xwcqp/yvBYqq5enC9s5LR70CTS0dFllNpGksy4KD/CSTJ1w83pJTcJoxRMTQtrEXVLWxCtdF0kdLrvoh9dF0lVmB9y8tfS1mEI9v+fvfeOjvLKtwX3V1UqqZRzjiAQOWcwmGBMco7Y7dDu4Nvuvm9e3zsvzZo189b8MWHNmrlv+obX8XZft9sdHNsBbJNzRuSMEBIIpVLOVSXN3kcIC0ewAUvyKTiqL5zwO/t8YZ99fudUuMeFxBgvSawDXbMe5qXv/nk42vn4D8ymjjGo7HyS7gnDYyFf3YxEH9YfqMGv3yvFKx+V4wQV25R4LyYOj4NIM5P0/u+fSe+RT/0lv0VJRSt2HvNDqq3IvcfjwtGSxmu4fSqRPfApBFwuF3Jy8jBhwiS2swu5fCmmkLQ6Tm8jaFKAXopyck+U7xmHeuSn9OCDj5rhFq3tl0lSvHHDR/hg7btm9qlWUPhUQfbAbUHAcRwkJ6dAhMntCSMBymK75MPtZseVJeq50NBQD83MlaI7fFghRIDlazeMLyQN/43nUN2B/XuhSTMnT54w/piwn1uKQFxcPJYuXYYRI4uooL5tFvKP5hDvLA5ResO8YB/dlBfoCqCGw/xaZzQtPZ2Ed4zxi1SbaWZ76YUL8Lg9iOAQschENFV6h/ew4zjQMKfychwHjuP0XgP81jUAfhzHxb894NneuCS/0bQhLj4eMbFx8EVGm2H4uLhYREfHIjzchy4qv+oUMaH9P0gQUHtpBECdoL62/7qmO44Dj8djfHa9vG607TjO183Wpr9JBHQH32SSOxtdZFQ+pLup0kpdlC/r4fNN0DGdkzXRkR5MH5WA6UXx0LJVbR0hBKie+sLdkGtCLM+HkcyRb8IX7qKq6uHDjBcgD2ipK/njekmW3dxX+hifx6yk4OK+Oc/04WFu6PqMYp4FGVGYMzYRhdnRHLIE2kSQAYh0KrgUkfu6nMO9big/D4k1eCCeBDgzOQKaBDZhWCyWz0g3qxjIdUErNkiN7aQSe+hcI4rPNZh6Vjd0oUM+r8zTy3ooP307zNAX4Ta+sbJdxcr+RCrNci3wUnU+yHxEYi9Szd5DDBtbg9AKErJH6aPCPVAHQHVl9vb/JxDQA6+9vR0KwWAILc1N3G5ju/eYmG6+PKXi6vzOHdtRcuE8SktLcIHf1VRz6kmW5s6bT5J0H/x+P/bt201C1GLS2j+3HwG1n15cbW1tVNRCaG1rRXNzM7fZo2XxLpfL+ODpJSQfyZOnjhtf2/Pnz1GhrTPK+qhRY4w/tSaGbN2yEVLeYT83i8AQ6+KpAAAQAElEQVSn4geDQbZFExobGw3WmmiiSTU97I3X19UZXz21S3NLE9QJbGish5ZMyszMgt9fa3xay8pKzf1Wzm/NxNc5LTMlv1r9elNtba0ZVVH8Jt27bP8OqrydHR0kqJFQ+5devGDWzLxYdsEsWF9XV4v6Or+5z1WuFNyWlmYoXQefBS0trSZPXVcdzKudQSTpUxW0BwYkAloibMuWDcYvWm14O43UNd7V1cX3Re/z5naWZfMGBjyhVSNJpZX/qCZEbSquxTEql52BXnVW54MkryK4x0ubcbmmw0yMOnCmAaWVbQgjkYwgCdUwu3xU5ZogoneOCu/JsmaIfMpt4GJVO46XNoHPUsRFheGKvxNHzjeSSIa470FdUxeKzzagsTXAixOQ68JJllfL42fKW3CQ5TW0BAw5FLGUXY7jmLQq70x5Kw6cboDH5WA8iax8WqXMhpN0VtZ1Qj6wKiMzKYKKbCy0goObcbceqcXmQ7VoaOlSlszfA60zW17dZvJrIkFNJoFVPo7jIInbkeFuaEUIkeTahk5sJGYf7q3GceImwqv6nmX9RZiFo9KEkdCbAuyf6xDo7g6hji9PQouJEyeZpZ9qa2rMJBNF9Hg8mDptBhYvXmomFsnfsvjQAfh8PsQnJKCmugpXKirMxKRZs+ea4crIyCglteEOICBCK8IkRUYqu4/KXWXlFQT4klHxLhJaTb7QL+hItdWyPzt3bDOCYEpqGhrZIbl0qRwO42nCy7y7FkCzwJXWhq+HgMiiJmCFhXmhyTStHLrXpBHN0F6x8j4UjhiBhvo6OI4LmlTU1dnJzmAzNPFnzuy7DJH98IM1kGoeGxuPopGj8dDDj0GTTkRod+3abgzMzc0zCnxtTTWSkpORmpZGstqO/PwCk5d+wlWT0VwsR7+G1RXoQq2/hmp+BrReqWxoqK9nxycTuiZkawOvi6ysbKSkpJGUN197HpgC7Z8BjYDueZ8vis/oSDiOc9tsDYVCZvkuTTbV8+e2FWQzvobAoCC0sraexPEDkrI1u6sM+etTZ3WupS2IdQeq8U9vleDlD8vw1+1XOGx/Eb98pxS7jtfhKBXd339Uhp+9WYIP9tZg+1E/fvV+Kf7l7Qsckq8jGW3E79ZexD8y/YaD1ZA6+ur6chNf5R0tacJrmy/jZ2+U4I2tFdBEtVfXlTM997dUmHPK60+bLqGMxLjXjxUkxz2GCIuQ/vydC/iH187h9a2XsedkPXafqDcrE/zug4vcr4MI+x+Yp2w/dK7JrFIgIvrm1ivGvSIQ7FUEVdeDJNb/Snv/4fVz+PPGSzhNcipVt4ds/Iq/Ax/sq8Z7OytJ6NshtVpke8PBGtSTcDcw7DpWh1+8W4r/7/XzeHvHFYjM9+UvPG34GAGXy430jEzzovyv/9v/iYceehQa6nSR4CiW4ziQD9/jTzyFv/v7/4zvvvADrF79LDRLVX5VDz30GBYuWozxEyaZJVUWLlzMB6lPSW24Awg4jgO5gixZshT/63/93/HMc99DXl4+PGFh10rXcPfyFavw9//hv+D7P3gJT3/nOdNBUbtqKHvVfQ9i9OgxeJBtr0XPExISr6W1G18dgXB2LkaNGotnnv0uFty9GPHENTExydxrS+5ZzmH9GJLPdLP/X/6n/wX3P/CwIZDyqX3u+e/h3//0P+I5tqfuvSlTpyMmNhYaDfnJ3/4UTzz5tJl1/b3vvYi/+7v/bGZta+a+lnr64Ys/NmQ5OzsXz3/3B/je91+ElmJa/dSz+E//6X+GVGLNZH/px/8eP3jxJcgNYsyYcXjppX+HH3JfM/21tNOPf/JTXi8/Qj6JsfuqC8tXR8OmvBMISElXSExMRAIFB3V4NeJy4vhRlJSch1T9/RxF03eAHZvWlhbz61+nT5/ChQsl2LtnJ44cOYSGhgbTCTt16oSZmCjVt46qvvKRf7efIkhx8X4z6fCdv74J/fysVtIoLb2Agwf34cD+vYbsdrKTdifq/W0pwzVYKkquhvrmLtQxdGunn+HabW0PmeF5ndcMfqmd1VQnNeGrtSNoSHBNfafJo745gFoO49fwfCMVVwUppL3nA+i/r3yaqIJqpQGpwP7GLih/kUPl38T0zSTUyqu+KYBAsLufZaDC280yA2bpLqVXucpTQdsqV6RTRLWK9tXRtsu17SSZbVSJO0xZ/esrtbqxJcj8ukx9lV7li0SL8sr9QTbK3tb2IIfoeqDJYu1yi2CEzkC3IbayV/YoruL1L+O6CnzLdxzHMX5zUmI0nCmFRgprH6EVPI6jONGQElRUNAaKFxERAa/XyxdyGo/no6BgGNLTMxDOl7jj3D5VQPbY8DECjuMgIsJHZS7FtIuGtbV2Yn8C4jiKE8GOSRZGjRpt2kv+l4qjGfgiwAUFw81vnuu44wz+9sMA+ISxUxEfHw+1SXJyCtspwihmwlgjHLrHtK1lmzIysqBv7WtURORVbTKyaLRJr3tNVQoL4z2Xmg4tNyQFNTsnFwqKr3ZPS8tg/AxDlpVPIgn0sGGFUKc1nfdnHsmpOizq5Ghf8bUdF087eb7/fu/5dD4foiFbVb4NAxuBQKATJ44fgVbGWLdurRlV2717J/7xZ/8v/vXXP8e2bZvxzl/fgtY+Pnb0KE6dOo5//c0veP7/wdtvv463//oG/vmf/gFvvfkXVFdVYcf2rfj9y78lGT6Hzs4Os/Sc8i4pOYeysjIcO3oYFZcvoba22pDYt996DefOnjWkeOvWjWhpboYZ8h3YsA0a6wYNoR00iFpDLQIWAYuARcAiYBEYcAhozoMEiYaGetRU10CdmqjoKFRXVwHsp8p9TGuqXigpwfnzZ6BfQdOvn7VSqdU6sitXPoDIyEhDXOvq/dDqGZfKy9DU2ISkxGQjYpSVlaIn1IPC4YXsJGciKzvbrOHa0NCAw4cOoqamEvHxCexYZZryYTvIuFWf20Rob5V5Nh+LgEXAImARsAhYBCwCXx8BjycMUuBjY+OMqu71hiOFowMxMTHIysoxP0igH/vQBNBAIGDcleKpzqdnZGDChMmYOnUGpkyZju5QiOpqCwltBFxuNyizwu3xIJyjQS63h8dcHHHwQaMQ4RyVi2b+RRxNGM885L7w4Yfv42LpBbS1tzGt/X+rELCE9lYhafOxCFgELAJfBQGbxiJgEbhjCPSwpO7ubnR3hzja3wOzbKcOmqmggMPvHp7XpC7N1ZGfrdwJgsEuM/kvEAgiNS0dGZkZCPOGIRDoQn1DHTTZ9PKlMrS2NkPLOHZrbVAAzU1NqKi4hCuVlzFx0iQ8ufpZqrPp0EoLZ86chmxhNPv/FiBgCe0tANFmYRGwCFgELAIWAYvAwEZAS2hVVVUahbWjvcNMzNJkL4/Hjbq6OmhFgoorFdCqJprYVVNTY35F7mJpKdat+xCbNq5Dc3MTltyzDAUFheYndjMzs7F92xbo1yKbW1qMMltdXW3U2REjRsJfV4vjx45Abgw7t29DVeUVpKdnktxO4XcGHMcZ2KANMOu+yBxLaL8IHXvOImARsAhYBCwCFoEhgYAm7+Xm5uKZ517Ak089g4yMLIwdOw4v/uhvseq+B6BJgvoRlh+++GMsXnIvfBFyKXAhKSnZTCrNzMrGsmUrMH/+QuNLq8mHz3/3+1ix8n6zfONTTz2Hn/zkp2ZbpPWxx5/Gs89+DzNmzsES5nfvspVmWTktT/fUU89i2LDhltDewivLEtpbCKbNyiJgERjsCFj7LQIWgaGKgMfjMSS21xd2GrKzc8yErRkzZkPrTGuFGpFU7Y8aNQb6RTq5FERHRzNdJsaNGw+trCGfW8dxEB4eDsVbsGARJk+easjx9Bkzqd4OQ1RUFPLy8jFt+kwoT62gMX3GLBNPpDkvr8CouLCfW4aA65blZDOyCFgELAIWAYuARcAiMAQQkA+tqjFr1lyzrnh3qNuoqY5zvYuA4ziQ8us4fd/X0yrH6Y3vOI5J73a7r8XHYP8MMPtdA8wea45FwCJgEbAIWAQsAhaBbxQBqa/6QY1HH1uNxx5fjdFjxlJR9X6jNtnCvxgBS2i/GB971iJgEfjmELAlWwQsAhYBi4BF4IYQsIT2hmCykSwCFgGLgEXAImARsAgMVASsXTdNaN0uBxmJERiWGYXhNlgMbuIayEuLRJTPDRevIRucgY2DW/5eoI0KA9xWez2xnW6sjRzHgQPccHx7nzqDCiuH94Ljsu1rr9vBdd1+Xns5Tm89HMfBjXx46d9INBvHIvD1EdDa1Z1d3WhqDaCxucuGAYxBc2sXWtsDaOpno22zrkF/zbaxTVva7P03VK/lVratad+WwX+tDtU2svW68WuzozMA/cjFjbKPmya0oe4eXKnrQElFK87bYDG4iWugrLINjXzQtrZ1QYTJhoGLQytfjO0dIejlaNtp4LbTzbRNC++7to4gFG4mnY07eNpfbdvaHkQzn7O23b7RdoPF/+vj39EZRDc5p36t7UZI7U0T2hvJ1MaxCFgELAIWAYuARcAiYBGwCNwpBCyhvVNI23IsArcSAZuXRcAiYBGwCFgELALXELCE9hoUdsMiYBGwCFgELAIWgaGGgK3PtwMBS2i/He1sa2kRsAhYBCwCFgGLgEVgyCJgCe2QbVpbsTuHgC3JImARsAh8exHo7g6hvb0NzU2NaG1pRiDQZUIwGLhloGhiUGdnB+rqak0Z2v9k5jpfz/MdHe2fPGX3vwUIWEL7LWhkW0WLgEXAImARsAjcagR6erpRVXUFu3ZsxuaNH2D/vh3Yt3cHtmz6EB998FecO3sK3d3d1xf7FfdaW1twYN9OvPna73H06AEEg8FP5XSpvBTrPnwXpRfO3rJyP1XIlxzo6elBKKTZ+bem3p8s7nbm/cmytC+cFbQ90IMltAO9hax9FgGLgEXAImARGGAI9JDMnjl9Aq//5Xcksjvh9YYjJTUDiYnJVGvbDck9feqYIXcyXfFDoRCJZgg9JH06pqBtkd6+b6m92lbQ8b59Bw6aGhtRfHAPykpLSGgDzFt5fUwcfb5IpKVnIjIqWlmznG6W183vHn6HGBRXK6Kb09eOyy6V13sU5riOKciG/uf64uhb5xRHQdsKNTVVOHRwL+r8tSYfpdVxE67WX9s9xE959BCL3v2P7aIFxta+fPvi1df7cbh4HzsRFabuvem6rytH+fXF1/n+of/x/nnr+GcFxbnAzsHpk0cR6Or6rCgD6pgltAOqOawxtwABm4VFwCJgEbAI3GYEamqq8d5f/4JTJ45h6rTZuGvBEowbPxkTJk3DwsXLsWTpKiSnpJF4BdHYUI/z58/g9KmjOHn8CC5ePE/S24a2tlaU8PjRIwdwoeQsThw/hOIDe1B64RwqLpfj+LFis19xuQwRERHIzR+G6OhYNDC/E8cPY+/ubczzOJqbmyA3AymJcfEJiAiPQFNTA06dPIZjRw7i/LnThggePrQPdXV+QxY7OztReeUSzp45CZV/Tc7LHAAAEABJREFUmnGbmxshd4nKyss8fhxnTh+HyFxDfZ0hjX2QijQq/xLmqziys7ysBHJ32LjuPbzz9p9w8uQRVFSUs15noHJPnjiCA/t34sih/Th+tJjq9WlT/zp/DXROOKhsuWlUV1fS5lMGD9VTJFnx1lH1fvutV02dhNEp5ilc29pa4K+tJraHWd5ZU/fL5ReJ3e5eDNkJOH/uFDra21BLwq1t4XKCeNfV1Ro8+urW/1udiaorFbh86SKCVJ37nxuI25bQDsRWsTZZBCwCFgGLgEXgtiPw1QoQ0RGZO3RoL1JIWocVFhmFti+36OgYTJ95lyG4UlU3b1yLnds3knTVGJImt4G9u7eSUF7GBhLAV17+OXZs32CI3Qdr3sSfXv0Ndu/cbAjah2vfwtr33zREVPmL8JWXXSAx3GdcG/7w8i+oBm8yee/csQmv//l3hoheLi/Fm6+/gj/8/hfYt2cbDpIov8ZzO2hHY2M9TpAsb1z3vokrV4Z/+9d/wrYt6wyZXv/RuyS5B1FTfcUowiKmPVcVVdnQ2dmBvczzow/fNmTvGAmqiGpLazPJeokh4yKglRWXaOMH+P3v/hnrPvwr02zHoeK9+Ijb7779R9pcTRLsx4dr3sKa916nAt1gCP6mDWtRUnLG5CM8dmxdb+ovtVTkUupvDUnvhvXv4312Kvy1NST5dfhg7dsQXnK92LVzE37zy/+GNe++jj27tpDcHzV13bzpA5w6cRTHjx8yOKvsRnYQVC+Fzo4OQ4pF8o+yM3CBdpSWnjck/Mjh/czjBOT+obgDLVhCO9BaxNpjEbAIWAQsAhaBAYxAd3cPmlua0NbawuH9SHjDvJ+yNioqGlFRMVRQj2Hnjs1ITU3HtBlzMYVqblNjA0nqG0ZVFfntaG9Hfn6hUXazs/NxhYpsenomFi1ZhaysPKNW1lKB1FC82+1Gdk4elq18GCvue4TKYcCQYcdxkJSUQnWy0ais2TkFtCuMSnA7xoybjAUL74XHE4Yzp47hEtXLLZs/QimV4sioKKSkpiEiMpIEtgp+f7UhdCepALe2tiKLZUn1BRz0fULBIKorK0jyDqGC6mVSYgqysvNI7tORkZmNxKRkFI0ai1FjxnM7xdhQOGIUHn70GdqxDD5fFCqZPshh/Dgqyj09PaiuuoImKs17dm01JHn8hKmYNWcBps+Yh9S0DMiVQtgkJCRhRNEY5j0BLpcbVSTd3d3dSKQNlJFpfw0iI6OIRSqV60ZkZufivgeewLTpc6gU7yeRP2xwSE5ORXx8IolyLe1r66saAsEAamurjA0Vly9yuxoi55fZJiLT1VUV6OrqvBZ/IG247qQxDgvjNYf+gYfM/886Zk7wT186l8uBixH5H/ro25zjjtnmzie/eWrQ/f9kHVitz62D4vZhonja17cSmG3ufO43I/H0Z7YHT133/7o8rjvzxTuD+aweMn3h+nr08LnRG64/bvcGEgJ9badvoL9/Gvf4AtFxhYFks7Xl8xFQW/WFj2P13of9j2tbL3iFj+N9/pbiKXx+DHvmkwi43S6kUpkVcautqUYjCWpPPwWzh/eXXABaOIR/hcPuGp4PD49AOIPcEDIyc0i8/GhpaUZ4REQvAUtOQWxMPGJiY+EjIUtISjHbUTEx5u4NXR3ydns8JG/JJhQMG4kcElcRTF4JiPBFwE3C6zguk6/yjo6ONnHjExJJsKMgt4QWkvGqykvoDnUjISEZY8dNwZNPfc8QyGwS6hlUl/XEeP/d17Cbqq+/ppLPfPnf9iKhfCdNmUmiPAmHDu3HhvXvofziBUMM3W4PXC43wkievd5whIf7WG4MSWkW0jOykMh6eb1eMEP9h+NyIG7DA+jqbIcm2bW3tcLNPGJj4zF77t2mHKVR3VU3EXNvWJiJYzIBmI/LBPDjpg3hET54w8ON24fwjo6JRS3JulajiI2Px3Cq6vc/+KTpRMTExjFV7//o6BhDopeteBj3Ln+I23MxeepMLF32AJavfATz5i8hZkm9kQfYX9edssfFRkuICcPwzCgU5URjZHY0clN9iPa5GTzITvFhRFbfMQ8cB6aRY6M8yEuPxOjcGIzKjcaInCgMYx55aZFMH4noSA9iosLMtvJUGJYRZcpRWZlJEYgMd5v8bldd3axbeJiLZThfWIQw8LgdxvvsaKpzDOuTQ1xGEJ8ihnzWMz7GCzfT9U+lMhNjiCfrOiI7CoXETjgpbQwx0zkdExYKym8k89N2QXovPqmJ4UhgHipD59QuGYkRvBGda0WpnNT4cJO/4uSzLRJiP23PtQRDYCMUCplhIM2UPXvmBMrKStDU1MjnRg90zu+vZQ/+DIeWzvNBXs+HYmgI1HroVEHkRMsHlV0swTm2n9qxvr4OGibVi7aRw2sXOYR2oeQsX6o1fMHduqWFhg6KA6cm3bwf1WamPc+eNMpRC5UsERMdV1vKJ1DqUSuHfFtIkk6dPAoNS6u9P68muk78/hrjj3j29AleB8HPi3qnjg+achzHBbkZzF+wFGqLHds2mKHyuroa8+ysoJonH82Ky+VGWQwnaT1BxbOiosycl69oYWERkkhiNXwvxa+dKq22Ozjk3UXlsr29DdrXEHhXZyfV3DaDj4svSvnMyq+1qvKyabfCEaMRQQLX0d5h1FmlbaV6bPIKdJm0UoGVTxfzFzlMS8tGBe0sOX/aKJnVVEjlX6p83SSEy1c8hHl3LUZFxWUcP3aY+X78nFC+mqA1smgsVqx6BOEkjnt2bzX+qR4SbtktRVN5yg7tazkzuUu43S5E+HxoY/3KyksMEfbX1ZLct6C9rQ2Jicm0qxybNqxhucU4VLwPJ48fMViEMW9hdeXKJciPOIIEvo3k91J5KcqoNtfxem7hvaE66F4wOPK88JaN6elZfJc14DzvI2Go52ItOyQ6b8D9xB/HcagmR7LDEQ2Hbf6J0wNu13WnLHK7HKQmRGDp9FS8eF8BfvzQMKyak4HkuHCIfC2anIKH5mdgbH4sYknqwr0uQ0rvZ5wnFmVhzvgkQ2xFZKeOjMeDd2XgvrnpSCMBU/q54xLxw/vyGQqwaEoK5o5LwtNLcvDcsjzM4TkRRdyGj+qVm+bD+GFx8NHmzyuC1UdWcgTGFcQaAv9Z8RzHQRzJ+eyxifjeijz8+OFhWDApGUmxYfAog6uJGA0ZJOr3zc3AvTNTUUiiOpKkdvHUFKycnW7I/cTCeDwwLwNTiNVdE5Lw/ZV5+Jv7C3DPtFRzbMWsdMwZm2TyEV7C7icPD8cjCzJ5zAeVAX4SSV6V50sPFuClh3rTp8Z7r7OH0YbU/xCVAPWSN6x7H//8s/8Db73+Cir5ANHLUec0c/f1v7yM3Tu3cCimFiEO9wwpAAZ5ZXqoFDU01EFDd7/6xT/glX/7OYcsT/PFFyKp7TYdlL++/UfohVHFYb9A4OMX1SCv+pA0P9QdgoinVLD//k//F7aTPOmFHeLQqCYmycfwt7/+R+zbs52koBl6kYugiuCKtH4eKLqXy0pL8MbrL2PTxrUDdhj18+z/po/HxMThnmUPYMm996OR95tIrdrg8OF9OHP6uBEA0jKyMG78FCxestIQQvmq6vkplfbeFQ8immqgyGNqarppOxEyl9uNT+7LT1ckNTIyGqNGjzfkTj6eZ1lObm4BRKyVT4DkVaQtwHu6gspwZGQUUlIyIAW5vt6PmJh4xHKIP5yq6YJF92LEyNE4cng/1n34jnlGxHEIXoRUz3tdc8m0a8KkqRg2fCQ8JLl9mOsZ4/f7UU4i6SbJHDlqPCZOnm7IaH5BITIys3DhwjlzvjsUNPURoW1taUG4NwJFReORnpFt/HSFRwzV08TEJHR0dhjXgLHE7AQ7ALLr3JnjRqn2+aKQm19oXBvkm9vU1EAsJkD1FRZypYiJjkVcXAJqaqsgvHKIjTp+TRRkPB4vZs2ej0mTZ7CupyDf2aOsuy8y0pDWvrr1/3a53FB9Ro4ahzAqwv3PDcRt150yKhjsxoUrrTh8vglwYFTWCcNjDWlNTQhnI7twsrQFe0/Vo7apC1IRn1iUjftJyhzHwY6jfmw5VIvtR/xmu7KuAzEkvh7WoKahE83tQeSkRkLkssLfgQNnGswwxbzxiRB5y+U5F/NxuxzE+DxIJxFOifMiop+ySrMQQVKq42lUL6MZT6oq+HFTIU2IDiPZi0AS08WybKmyUi0fnJeJxVOTYeph8mOCT/xXPqPzYrGEpDOJJPETp81ud3cPVJeGloApp5CqawvrdbGqDV3Ez0TinzBWekx+DO5hXnGRXpy/3IpdJ+pworQZql9EuBvdHPI5d6kFWw/X4nJNh8kvn+pqfXMX4/pxvLSJeYZQVd+JhpYuREe4kUdiPpcdh8kjSM6Zh/KSKi7ldnhmFIZlRKGzqxtX/J1M201Lhub/sDAvCoYVYsrUWXAcx/iA1bIXq4dYkA/Khjo/kpJSOBQzD9k5+dADsId4qzes3nIn1YQekiqho+9OPqT0cNEQnHroOm7D7UPAzRePXhZTp89BXEIizp07TcWjjOp6EFJpG6nQhnMoUD5lfcpOD9tPbaP2UzspnizU8a6uTmgIUAqPXpQ6pnM23BkEPJ4wZGblIIIkRKp6dHQMRIi8HL7OyMw29598/lJIPpKTUw2pmDVngXnZu1wuY2Q3O51S59SOak/t6zrJzsmDi8pTY1O9IVwdVM10H9s2NrB96Z+0tEwso5L52OoXMHP2Aj4PC4wLwPiJ0zBxUi/B0xD7kqX34fEnn8foMRMxsmiMGb4eN34qYkkw5y+4B9959m94bjzv1wQsuHsp9180+/EkmHcvvBdPP8v90ROQQRJ4/0OrsXzlw8jNGwaVo7zz+bz2+XzGP/fZ7/4Y02fOQwbVyAcZ96nvfB/5+cPNNfTI48/gkceeQU5uPon2ZDz3wk9M3vc/8CRW3v8YRpG45RUMxyIS8JFFY00ZK1Y9yiH3WfD0I3Q+ksvZrO+ChcuQnZ2H+QuWQPF0/U1g3Z9+5kUsvfcBiHzPY/1UztQZcxBBpTrM68UEkuRnn/8RcXgQ8u1d/Z0fGFuUdsy4iVj99Pfxnef+htg+zA7DAyiiXV6mGz9hCr5DrO5d/iAKCkZg0pSZxv57iO+Cu+/F6md+CKWbzOMzZ83Hiz/6H3HX/Hsgwuw4DvKIw+Orv4tnnnsJqx54Aivve4ztNI2E1ofP+uj+Ufupg+F2uz8ryoA65rpT1vSwoM5ANw6SaL63qxJlJGlyM3hsYRakEJ6vaMWmQzWobewyLgKzxiZielE8nB7gyPlGQ4bbOkJo6wzhcm0HNhyowbp91fA3BxAM9SAQZESWQb6KcI+DKBI0X3hv9ZQuQEKo/RmjEyDFV0rlg3dl4tG7s0ieIxFOIjo8KwqPL8ym8puBZTPS8PQ9OZhGG+I5LD+5MA6rl2TjXirMK2amYf7EZBSQ4K2cre0kyF1iDlVhDfu7ZQRt4fVj6hJHImxClN3rfAoAABAASURBVAexVGDNNo+JkHtJThn12v8QSW2AOOmBqvSyO8C68X17LU7fhojtxMJYPDI/E7OptjaQCIvwX65px9GSJmw57Dd4dgZC7C33pgoQKz8x3nOiHvtONRg8m9qCOHqhCecr2hBPu4RRblokMpMjjKvBFXYemhlHOSh9MNR9LT8dG2rBcRyE82U5gQ/kx/gQDgvzQirQyRNHzfCP319t/IjUc1WvVWRVw2tbt3yE9ezpv/an31It2gENexcf3IsN697D1s0f4a03/mDI8VDDayDWR+1SMGwEHn3sWeTxxbdx/fs4uH+Xmd0rUjRl6myMGTcZGoYLUtXRkPUWttHmDWvx2p9+hy0bP0Qjia+UpvUfvWdUwbfeeAUH9u0wxHgg1nmo2uQ4DtUhL8LYCTF15L4mrqijqE6IAwdulxvhJAsio8eOFuPDtW/j2NGD7MB0Q0OrUg43rl+D3bu2mpnvb7z2Mvbv3WGUPjc7QH52WDXD/dVXfoXX//xv0JJIIr2wny9EwHEckjQf0tMzDekaO24ShhcWQcRO/puOw9Zh8Pn4PsnKJZkdS7FgpOl0eDwe+CIjkZGZgxzeo6mpGYiPT7p+P6F3P5fn1YlRG0uBzCeZE+HMpqAQHRMLl9qfz+x0kljFFfFV/GwqlDkM2pYIoW2lUR56riexA1RUNA5Fo8dRyU0zpNVHspqVnct6jMLIkWOgvMKZN/p9ZLsmkg0fPhIjGCcvv5Aqahwcl4vksLeuGexsxZOQK32fTRHEQdkoPx3TxLEM1j83dxi0H0lF2cMOXEJiElS/0WMmGHVXtoKfiAifIebpGVnmeo/gNa86FdKGVLZBbl4BtK+JY4ojAptBO5Sv4zgGJ9lUOHI01FY656ViDN5D+JyP4/S24eecHlCHXXfamnYS0v0kUhuLa9FCkpSfHoX89Ei0kqx2UP2TPT6qg9kkU+Ekma0dQSqIvaTVTaIYS1IodTXc66aa2QUegpfxlE4hjNtFuTGYNz4JUmwbWgMkai2Q0jmKxx/hkPpEktNaqrryZ11OcrqUJHV0XgxWchhe21I3G0kOZ5L8ProgCxOHxUEk7+5JKRDplXIbScLc1hk0drtoRAvtLKECXUd1mZxUpiCCNk4piseq2elUidMwYVgsRBLnT0wyx1RWLuuueuEGPw7jhUhKT5U1Y2NxDURGJ1FRfXJRNp67Nxcjc6LNpdlAoi81ltE/87/wqKY6GyRZJj9FaVU7dhzzQ/UupDI8b1yiIfNdwRDOUQHurxB/ZoZD8KCHD9zJk2di2YqHzZDn737zj9AyNaPHTkQ+h5Xc7LGGQiFo/UIR1uamBrj5chQJ0hDm6VPHDJE9deKIQaeLSq2GnMyO/XPbEXC5XBg2vAhSIcLYKfnTq7/BenYusrLzoDYMo+KijmN5+UXT6ZA/nofHNIll44Y1OHnyiHFb2E8SK+IU5NBhS3OTIUm33XhbwGci0MnRjzMnj2H3zs3QMlB7dm4h+TxPdbXLxHccx/h0isCeOXMCGm49d/YkCe5baGltQnp6JuSLK/Iq1wQX71ddA4GuLkOuomNiobVCD7Dzo2MmU/vHImARGBQIuO60lSJkYlwisyJKtY2dZvh/4aRkDmlHwk1yKJVSaq40V7fbhTAGx3HgcTuQ68AqqqIvrMiF1NUJJJua9IWrHxE0uTZsO+o3Q/BSaiePiIdIn4bOpaq2kVSXUiG+4u9AuNdlSODo/BiMYfC4YYboy6vb0UWltCAjEulJEagnQWxuC0AuBgp6CDa2BCECGyLBlIKpIX4pzN1XGW2QxyuoJot8ni5rMcP7ild6pQ2nypoNURSB/Cz19Wp1PvUldTc71YcwKrtSY3+79qJRquWqUJgdBfkly282gvX6VOIvOKCOxr6T9ThENdzHtAuoQEt1Pl7abOr4BUmH9Ckfe8wzZ8/n0NZUiKiq5zuKQ1/hV3vsoWAQZ8+eQPmlUqNUJHPYc9acu6GhIfWKNQxaXVWJ4oO74TguxMbFkxCFhjRmA6lyIq1a7H323IW4WFpC03rMEJuGrblj2qK8/ALOnjkJjycM8VSEJk+dhanTZ5thutS0dLMYudS89tZWc17pbPhmEFB7ZmTlQMsWaRhWylRyahrcJKayyEsVV/dcZFQUzLuGB0VMpdIGA0FEkbDGxMQZl6HcvOGIYjwXOz5S8NR51RJJ0TExqPPXUIkPMbX9bxGwCAwWBO44oY2hwjptZDzkR/rOjkqs2V2JNqqbM0YlcKg/Hdkka63tIRzlkHl1fQdiIt3mmFRbqYRXSEIjIzyYOiKBQ/6RVGk7jUrZB7jIcG1jAMc4hH66vNmQYLk2ZCf7GMXhUHnPtQedi+TZxT0Rz4BRKntMHP4B+TPcJNAipx1dIeMisf5ADU6XtyArxYcpJMkpceHGT1fxFbxUh/v75AaC3RB5PXS2EYfPNaKsus0Q41MktzqmOorQSxFW+mvB4ZbCx1/cAhVfF6aPisesMQnmW6rySRLOVzdcwu8+KIPyjPG5kRIfzpezy6Qxf67mZbY/449Oi1TLL3kHOwJVdZ0Q0S+vbYdIujD9jGTfikOO4xhik5aWCbfHg7i4eDOk1Fd5XTEitW2tLfCS5I7lMPbsuXcjn0NiLrcb47i/cMkKhIV5oQWt9+zaQgWpuS+5/b4DCET4fEhNy4CH6quWp4khoXEcXfVXC+fF397WalarGMGhuNnskKjT4vF4jc/ZosUrkZaehf37d0ILrtfWVF1NaL/uGALmSdvDZ7Ib8unL4vB1FoeF9R0XlwCX29X7bGezut1uuFwuY5q+0zOykMFh1+rqCujHADRUvOieleYYo/NZ7yDM6+X9G877NIxleNjR6WaJurtNNvaPReCGEeju7jbr8zZxxC4YCJh0IY7kqVPV3NzIjlLQHPs6fySotbe3Q/7+2v7qefWgq6vzFuTz1S24lSl77/pbmePn5OWloii1c/nMdMwdn4iaxg6S1kZsP1IHqYB6dEwrSsDKWWnQDH5N6np9SwUJVSvGUTm9e1ISinJikJUcAV+4C+1dQfgbu8xkMLkAJMaG8SHUw4caUJgdCSmMY/Ni0UAV9UhJIw6ebUDxuQYSyybjoiAymJvmQ11LF/adrseB0w3Yc6IOItPDMqMwIica+hSTjEqtzSQhjvC6ceR8E6S6tnaEEOBF6m/qgoJ8T+eMTTQuBf3flSKrIoRBqrVlHNY/RBukyupYN5VcvktVjAlKFxPpQTKJsg5Ipc5Ji4RWdZhOwr9qdgYWT0kx9ssW+RkvmZaK/PRIRu9BY1sQZ0m4T5Y1o4MqNA8ilvmJeGs7yPISY7xIYHCLzPNpnhQbhhx2IvKIheKdutiMvSfrcPBMI/aeqIfb5SJB9io5AiT9CdEeJMZ64SHZNweH+B89LPQgamyohy4uP5UbPai6+dBS1T0kuUWjx1OdjcQ7b/0Jf3j553jr9VegZYOUrrh4j3lJzp232Ax3trW3IdRtlR9hdyeC2q+trQ0N9X44pCiN9fXw132svrlcbpLWQmjx8U0b1+Dl3/6L8aGVv60e9IeL96GpuQGz5y7AiJFjoLw0jH0nbLdl9CKge62uzg+/WVgfaKirhZZCCoW60dBQh4b6Wqro7WZR/OamJnYYG41vbGtLM+M1Gx/aOn8ttKLFkUP70MLjWnZJv7TkZ74dHW1QaGReTU2NzKvNEJJ23qu6fnqtsH8tAl+OQBNJ7L6927Fxw/t4/c8v4239TO3RYmgFiE0b1uAvf/wtNqx7n9ct3ydfnt21GLoORY77nj26Vtd/9I75ZbO2tpZr8W5mo4OEuPjAXvzh97+kfevNPXMz6Qdi3DtGaN0kQCJhzSRdxWebzEx5x3EMIZV7wB+pMr69/QrKqzuguI2tQWw8WIPfrLmITYdqSVZhyGJinBcnSLpeWVeON0h4pSZ6SZY1UezNbVfwxtYKqqntEIE8QBL7q/dK8fsPy0memyAXhz9tvISP9lVD7gQXOPSvc5uKa5mmDWv3VuPVDeW0rR2y803m9edNl5iuxUxKq2nsRGNrAOsPVOOdnVdQWd9pCO6r68uhSWqXajoMgdbF98nGFoGVurvlsB91zV2fPG32Hb5yhVElVeh3d1ZBmGiillYtiPCKxIew92QDDpFsHqHiu+WQn+UFkBrvhUjwGRLZV9Zfok2NZhUCwmtU3ZqGTrxLNVwdBLljSEl2GULrIDzMbSbZXartMES5uT2IdVSiVb/LVGjDqTrL3eL9XZX4y6bLOHOpFWFsS6U3Rg/xP3qZtlO9y8nNxyOPPYvMzBySmlZej92m5m63G6NJaDUrVbPmHcdBQmIyJkyYivyCQmiRbhGjjo52LKTSt/Te+6n4xpm09s+dQKAHIiZyFXno0WcwaswE0359LwbHcZBJte+xJ57H4iWr2DGJgI/D0OPGT0HBsELk5BWYDkk9ic/ESdPxyOPPUu3NvBOG2zKuIhCicNDGEZCCYSOhX1qSWq57Un7Nbbw3RxaNgxZ9j4mJJXltQHiED/PuWmIm+jQ3N6G2tsqor3IxiEtINEr8sSMHsGn9GkOSp02fi8lTZpH8tvAJDMyYPR9jxk3q9cvtrzhctcd+fTUEPuu9+NVyuj7Vrc9X8tr1ZXz23vXxZIc6wCKvMTFxfK5ko4kdpO1b10HLaqVnZPPZkQG9D0ROFV8iyWfn/fFRxdOSYwcP7Ebf2soeTxiSklKRyHeN+6q7zccpvmjrY5vdHjf4+MPxIwdx+tRxyKYvSjkYzrnulJFSG0sr27DlcC00mUnksoND+fJLPUh1dM2eKry7sxIisaWVrXyYdEMqqIbnt5DQavmpYhJUDatvLq41BPJYaRMV1SBqSTT3n6rH+7sroRUUtpA07jzmxwYSYg2hl1S0QhPOAsFus8TVJqbfdsRvytp5vA61JHwinNUkqDqu/LfRzk3FNZDNzSThcmHQcamXm2mPlsjq7OqGyt5xrM6Q5INnGlBPsvp5z0D5qTa2BAzZ/izcdeFK7T1Awrr2Kh5baMchkteDVIpV7gf7qozbg1RtEWvVT+dUtjoGxy80oY3qsfKXHVoFQvmt2VtlsNlN1VWuBUGqGyFGuFLXAWGw82gdiW071E5l1e04Q6VX9WugvXKXWEuy/y5J7U7WVcuiBanWqoyhHlwuKtQp6WZJmgcffsp8JyenQkS2r+6+yCizDMtDjz5tlqa5d9kD0KLjetjMmbcQs+cshNYo1LZeyh6qun1p7fftRcBxHMTHJ0BrL2oJnwV3L0VmZq4hqX0lezncXDhiNFY98AQeX/0CVt33GMaS0ERFxWDK1NmYf/e9GD9xGmbPXYhx4ycZ0tuX9tv5fWdrrXstLT0Tc+9aBN2D02bMRSJf5mFhYcZtYD7bdNX9j7OtZiEpOQ2aCLh0+QOMv9i4B5VdvGBcENQZzcsfbhT5jMxsxCUmIjsn3yzRtHDRcrOtTugSdmzmzV9CwpDCF75zZyuoKPzYAAAQAElEQVQ7SEtTx7+muhInjh/C8WPFOHr4ACqvXCZf60EzSd35c6dxhMf279tpJuV1dXVx6D1EVb3SjGYdObQfmoh3qHgvlfTLuFh6HsUH9qDicrlRy7XqRN85ldXKDo5WKzl65IBJpx9H0LGqygqWs9/YoTkP+rGD48cOGVVe0KpzW3axhDYewoF9u0jkjpmOjDpHVVVXjC3FB/fQ/v2o40iO3slK1xe030QV9vy5UzhCm019yi5ArgQXafPuXVtw8cI5E3144SheiyNNfYWNiyLS1GmzMWPWXSa+sNq/f5eZm9HKUQPVq46jD7L7MEcSiklgKyoumR9r2Lr5I7z+l3+jzTvND4s0NnL0lO8Rny/S4HP61DFzruT8GdOBbyLmGiWUi41w0QjFmdMnIMKt+umHGVwuN3RfxcTFgxc62tpbjS0anVL9JMIoCFvZ1EIbMcA/d4zQdnO4W4SulQqggrZFIoMcitckLR0zoSMIESkN1Qs7XUAiWU0klfXNAaNIimB2kEwqT/U3dF7k16S/mr/2Neyu/BVHeSkoX5XdSKVV+Yjk6nhfkHKrshqpEKsMcj7elDCEWCsD6Li+la/S6LzSqA7y8e1fls7fTFBa5dVKDK6rS1+d+C2yqnJUZ9VD5TaQdCronDDtX+an8mPewld2KygfUxaP99VXuKp+xh52AlpJkE0clt96NZ5w7F/OUN12HIeKT4RZADyaCpAmE4WHR/D+v/5F52YvOTo6FvEJSYiMijYvUDfV20iS3TgSKimEUVePD1WsBma9HHi94YiKjoFpP7ahz+cz7dPfXpfLBbWV2knx3HxZOI5jCJF8NHU8hmnVzv3T2e3bj4DaJoKqazTvL7VN7z0YzjZ0s3Phu9auOqd4esmbuIyvNisqGmte3PrFv9KScyQqtZAqP3feIqSlZVxLr/ZX51T5qAxdN7zRb38Fh0AJjQ110AoiWzZ9gJLzZyFid/LEERK3JrMtkiRitPb9N/DHP/wG58+ehCbTrl3zFo4dPYgLF85C537zy/+GM2d47swJaFUZqZ0tJK8njx/Gb3/9M2j1iiYSSuW3a8cmlnUGmzeuNcPmh0kCRcR+/7v/jldf/iUO7t+NLZs+ZHm/MgppK/M5sG8Hj9FGEuwd29bj5d/+M8lt8dV81pAIHyZRPcA0v8YH779J+xuva50mEsVdOzaTbO8261uvee91/PnV30CTSkWIq0mKm0n8/P4atHH0oKur06i0zc0NhpiKOF+8cB5792xjmWexa8dGvPLyz7m/HWUkxvohhWIS+TNUTN947fd49+0/wfwKGMlyGUNtTaUZVThDfP74yq+wYd17UFlSb3/xL/83tmz8wBDcahL7jevexzF2MPQDI9tZ1yOH9xPb43j7jT/gLQaRbAcOXI6Lf4EAbT1x7DAx+RfzQxPCq4V12bZ1Pfbv3WnqgwH+cQ1E+6xNFgGLgEXAImAR+LoIqPM5feZcaKH7x598ASvuexTLVz6EufMWQ+ueOo7zdYuw6YlAe3s7CVkJh8RL4Xa7MGr0eEgFLy052+vnSfUvNTUdUsnb21pw7uwprH3vDVwiiZs1+27ohwLko95AYtyrvOdQ2OowZFBCQCoV+vb2NjQ1N1KhLIPW/FbcxKQUU06Aiq+/tgap7KDQHHio3mt1moWLV0A/nXuByuVFKqcbSPLC2MHVjxmseoCqPhVTkM6JKB86uJcdWB/062bqEFVWXkETlVCJarj6KTl/2tSnvaMdKaxPRka2IZCd3B83bhLV/+HQMbmxyEVJI0M5ufnIKxgBjdQp323b1uFS+QXExsVBHSsRSrkS7CJBFwnX2rP6FTVhkpNXAKmow0eMNqMS4ydOxdjxU5CZkUOrgTZiotEKKb8JCckoLy8162frh0ISkpIwceI0KO99e3fAcRyDTxIxa2yoZ8euBj38d7VqtCcRM+fMR1ZOHipJiOvra1Ff7zeEd9z4yRyxSO6LOmC/XQPWMmuYRcAiYBGwCHwZAvb8lyDgUIGS+qrVDUSqRCrcHD35kmT29E0gEBMbi5kz7yLpSsZ2KnqbqRRWVVWQGF0yBMvHoXGRzQV3LzVuI4ovNwKR16ioKOMCJHXdxZESFes4jiFSvWSyB/rwEMCRXq0FLVVSCnpqagZmzVqAhx97BkWjxpr5CWrr5JQ0o74nJiaRpEYiGAqSwNUad4YQtx0O/+flD8fdi5YjkaNqtbVVkHoaF5cIrXTywMNPYeGS5UwbBVMuej/+2mrWpwE+jrxlpGcx/TLol8uycvLhcrl7I33yr8xX4HGptnW1tXDgQmJiCiZPmYmHH/0ORo0Zb5aKa6YCLJIpEi/XmilTZiGC2KHfx0WMfJGRiIiIMEddNDAndxjmL1xq8NbkVinGcnlIIQ51/lqoExEdE2N+xW3p8gexYuXDSCABdmiJyeTqn1SSdLnbyNVg3QfvYO/ubSS68cjNH8aOiudqrIH7ZQntwG0ba5lFwCJgEbAIWAQGPAIimVJC75p/D+aTtNbX1Rp/TXUe9Ith8ueUP2wDlcEaLXtHEpaYmIzzHPrfQ9Ik9wStBx0KhkxdRXSlrleTFJ8/e9r41DY1NsLPfMXBRJDPnDqGsovnUUclsZZ5trY2IxDoMsRUkz67u7sRDIXMZKdAIIB4Ete4+ETjLiC3gaNHDkKuC7IngbbIf1X+v/6aag7jV5Ng1iIU6jYuh8Yo/hFR9nq9OH3iKCoqyklu640rQWdHG7oCnejqZODQfYB2iIxrolVHZzs6OzsgwhxJ8h4Xn2DU7NILZ9BQX4dakmRhl06CLJeGrZvX4cD+3Th0cA+OHTkAkVyX223yv3y53Pgmi3AGSMyVZ5DfIrdTqTZrjobU2C6WN7ywyLhbJSWnGruOHz2E6qorRnX1s0zZqLSBYBdxC6CHeLndHowePQHjqQLv3rUVF0rOkOCPMR0FVn/A//9yQjvgq2ANtAhYBCwCFgGLgEXgm0IgROJ4pfIyCdBZaG7G6DEToV/jGzV6PBZx2F/+mR+seRNaukoqZWHhaCxb8RA0vL9r5ybzi3y1JKU9Pd2mCiJh02bOM8P58jeVv2d6ZrYhaPEkpYuXrKRKGml8Pdd/+C4JaI1RHKVGxsTGQyT68uUyktJq85O0UjGlUC5b+QhieX7r5g+hVS5EkrNz8yFVcvqMu3D61FG8/+5rOFK8D1JJ4xMS4TiOsUl/CgtHYdGSFZD7Q2991pptX2S0IZoujxtxcfFUSisM0a2qvEIlNRJutwfyZXW7w3D3wmVIz8jGts0fYc37b+DSpYuQW4FcJBbdswKXy0vx0dq3cPjQPkTHxiExKQXZOXkYNmwEFeYKyKdW9UykwiobG+r9JN5B405w96JlEPbjJkyBcNJcgHHjJ2POvEVMexnvvvMX6Ff2QsQ5hnk3NNQhJjrWKOR+fw3zCSGW9stdQus8FxWNNau9uEmoVf+BHiyhHegtZO2zCFgEBg0C1lCLwLcRARFQkSmtDpKenonFS1di/oJ7DBlbdM8qfP/Fv4OWxrvvwSdJCFdCZElD6i/+6O855P4MNFwuIubxhJEQ9xgytvK+R7H6mR+SbC6G/F3/5sf/AQ88tBrDh4/EXcz7xZf+I1Y//QNzTP6mylMK6oMPr8bie1YiksPyGZk5eOjRp5nHEsSRwM2ZuxDf++FP8egTz2P5qkewdPn9yM7OQ0HBCDz1zA9o50/x0CNP44FHnsK06XMgNbZ/e0bHxGLJvfeZeI8+/hzuN/VZAQ3Vx8TGYhmH85V3JgkrmTCSklNo35NYwbJi4xKh+k2ZNgsvfP/f4ennfmTSr1j5KESUs3Py8cSTz+OFH/4PrO8TJkydNgcxLLNo5Fg88/xLECYjR41Fbl4BHnn8GSwXQY9LoImOcXkYP2Eqnlj9AkZRZXWTRDuOY3x9hfsP/ubvDdYPPPSUWdYuOjoGSUmpuO/B1cRrFaR6a/WEK1pZgQquyOysOXcbQo5B8rGEdpA0lDXTImARsAhYBCwCAxEBkaH8/EKzvJ1+OlpLp8llQLaGh4cjL384pnBIXIqtCJrjOHCTcGlS1ISJ05CelmWIrHxD21pb0MVheymMIsgiZ/pFuKKicVQ2s+AJ81JR9CIzKweTp86E1gyOp2obxuM6pviKm5M7DPm0SfuacJaQmMJ0YYZMa7JWry1x5J2OCVJuFXfSlJnG11TkE5/xUb20vJvqUzR6HIxbhTccWg5Q6ZVvAUm3/Fdz84YZcqlj+QXDqfpGwc16y5944qTpUN2TU1LhcrtNSVHRsRhJVVT2iWiHhYWZ41Kcc3ILIFxVV+FWNGo8ikaNM77CHo/HxIuI8CE9I4tkPsrs64/jOCw3GoUjRmEq22AYbVN7Ca8Mqt6jWAeVGR+fgAN7d+K1P//WLN8lXHXecRxlczvCLc/TEtpbDqnN0CJgEbAIWAQsAhaBG0Ggp6cH8uMs4JC61NHklDTIB/ZG0to4tw4BDzsEpuMxdTbkFiFXBQ8V81tXwu3PyRLa24+xLcEiYBH4JhCwZVoELAIDHgHN2o+PT8IUEqlFS1ZCqqx8Qwe84UPMQA9V3sKRozF33iKMKBoNn+9jlXewVNUS2sHSUtZOi4BFwCJgEbAIDEEERGrDOLyuYXAPVUHHGTzD3EOlOVQPtYMmkjnO4KSGX8lqzRh0MaXb5cAGi8GNXgMuXi+O48BxFMBvGwjFwMUBvZ8BbaODgYvfALMN/T62TTE0rxsAvOzgOA4Dtx0bCIXFYpBeB7jJD2npzaXwuB2MzY/BXeOTcdeEJBssBjd8DcwYnYCMZB9io72Iiwm3YQBjEBPlRZQvDHGxt6qdbD7f+DXPtoyODENMlG3Xb7wtbtO9H6X25fM1PtY+Y4dqG3+b6qXr2U3OKTEMN/Bx3UCc66JEeN24f24GfvzwMPztI8NtsBjc8DXw/LI8TBgeh4yUKGRnxNgwgDFIZxslJ0YgMy3attMAbqebuo/SY5CcFIk0tm02t28q7VDBYIjXI0XtmxyJLNu+g/u5NcSv0xt99iTE+RDu9SDM47qOh37ezo3F+kTqHv2MG/9odqINPWa5EYvDl+PQba6ZvovJXETcsd/AQMSg16revwPRPmvTV2ubq7fcgLzmbJt+tTbtj5tt36+PYX887fY3iyevZ/5XK/DrS//fNKENhrpx4mITdh6rw86jNlgMbvwaOHC6AZX+DjS1dKGx2YZvEIMvxb+5tQttbQE02Xb6UqwGcjt+0rZWtqna9pPH7X7XkGhntW8L713bnkOjPb/t7djeEUSouxvd3TdGaW+a0Er6nVaUgGUz07B8lg0Wgxu/Bu6enIzc9EgkxIUjKT7ChgGMQXxsOGKivUgcwDbaayjipu8h+a+rbS12N4/dYMBM7RvHe3cw2Dp4bBya18pgwF8+tB63yyw+8KXyLCO4GOx/i4BFwCJgEbAIWAQsAhYBi8CgRcAS2kHbdNbwoYKArYdFwCJgEbAIQJ3NXwAAAMRJREFUWAQsAl8PAUtovx5+NrVFwCJgEbAIWAQsAncGAVuKReBzEbCE9nOhsScsAhYBi4BFwCJgEbAIWAQGAwKW0A6GVrI23jkEbEkWAYuARcAiYBGwCAw6BCyhHXRNZg22CFgELAIWAYvAN4+AtcAiMJAQsIR2ILWGtcUiYBGwCFgELAIWAYuAReCmEbCE9qYhswnuHAK2JIuARcAiYBGwCFgELAJfjoAltF+OkY1hEbAIWAQsAhaBgY2Atc4i8C1H4P8HAAD//1D1OscAAAAGSURBVAMAB7BuiYHx0GoAAAAASUVORK5CYII=\" width=\"644\" height=\"224\"\u003e\u003c/p\u003e"},{"header":"5. Conclusion","content":"\u003cp\u003eThis project used a hybrid model of XGBoost and LSTM to enhance short-term stock price predictions in the Indian stock market. Traditional models lack the ability to keep up with complicated feature interactions and temporal relationships, but this two-step solution bridges the gap. XGBoost produced high-accuracy, feature-oriented predictions with high explainability, while LSTM retained sequential price patterns for multi-day forecasting. They complemented each other to produce an end-to-end, modular solution that can be equally useful to traders, analysts, and retail investors. It was built with scalability and user-friendliness in mind. The user would be able to enter any stock from a list of more than 1600 Indian stocks, and automatic data extraction would be done through Yahoo Finance. Both technical indicators and financial ratios such as P/E, EPS, Beta, and Sharpe Ratio were used to enhance the model's grasp of risk and valuation. XGBoost did well with an R\u0026sup2; of 0.9961 and an extremely close next-day price prediction. LSTM took this further with correct 22-day predictions within a feasible price range, allowing users to accurately forecast short-term trends. Above all, the cloud architecture rendered it accessible and convenient to deploy. Hybrid model design is adaptable and can be extended further by including real-time information, macroeconomic data, or sentiment analysis. By synergizing machine learning and knowledge of the financial domain, this project has achieved a robust forecasting system that meets the trade-off between accuracy, interpretability, and usability. Its success with Tata Motors paves the way for future use across other equities and makes it a useful decision-support tool for data-driven investment decision-making in India's vibrant stock market.\u003c/p\u003e"},{"header":"Declarations","content":"\u003cp\u003e\u003cstrong\u003eFunding:\u0026nbsp;\u003c/strong\u003enot applicable\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eClinical Trial:\u0026nbsp;\u003c/strong\u003enot applicable\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eConsent to Publish declaration:\u0026nbsp;\u003c/strong\u003enot applicable\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEthics declaration:\u003c/strong\u003e not applicable\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eConsent to Participate declaration:\u0026nbsp;\u003c/strong\u003enot applicable\u003c/p\u003e\u003ch2\u003eAuthor Contribution\u003c/h2\u003e\u003cp\u003eDesigned the study, developed the hybrid XGBoost-LSTM model, performed experiments, wrote the manuscript, prepared figures, and all authors reviewed and approved it. Providing research and writing support.\u003c/p\u003e\u003ch2\u003eData Availability\u003c/h2\u003e\u003cp\u003eData will be available on request\u003c/p\u003e"},{"header":"References","content":"\u003col\u003e\n\u003cli\u003eVuong, P. H., Dat, T. T., Mai, T. K., \u0026amp; Uyen, P. H. (2022). Stock-price forecasting based on XGBoost and LSTM. \u003cem\u003eComputer Systems Science \u0026amp; Engineering\u003c/em\u003e, \u003cem\u003e40\u003c/em\u003e(1).\u003c/li\u003e\n\u003cli\u003eHu, B., Guo, H., Zhou, P., \u0026amp; Shi, Z. L. (2021). Characteristics of SARS-CoV-2 and COVID-19. \u003cem\u003eNature reviews microbiology\u003c/em\u003e, \u003cem\u003e19\u003c/em\u003e(3), 141-154.\u003c/li\u003e\n\u003cli\u003eDin, F. U., Aman, W., Ullah, I., Qureshi, O. S., Mustapha, O., Shafique, S., \u0026amp; Zeb, A. (2017). Effective use of nanocarriers as drug delivery systems for the treatment of selected tumors. \u003cem\u003eInternational journal of nanomedicine\u003c/em\u003e, 7291-7309.\u003c/li\u003e\n\u003cli\u003eOukhouya, H., Kadiri, H., El Himdi, K., \u0026amp; Guerbaz, R. (2024). Forecasting international stock market trends: XGBoost, LSTM, LSTM-XGBoost, and Backtesting XGBoost models. \u003cem\u003eStatistics, Optimization \u0026amp; Information Computing\u003c/em\u003e, \u003cem\u003e12\u003c/em\u003e(1), 200-209.\u003c/li\u003e\n\u003cli\u003eKumar, A., Alsadoon, A., Prasad, P. W. C., Abdullah, S., Rashid, T. A., Pham, D. T. H., \u0026amp; Nguyen, T. Q. V. (2022). Generative adversarial network (GAN) and enhanced root mean square error (ERMSE): deep learning for stock price movement prediction. \u003cem\u003eMultimedia Tools and Applications\u003c/em\u003e, \u003cem\u003e81\u003c/em\u003e(3), 3995-4013.\u003c/li\u003e\n\u003cli\u003eKumbure, M. M., Lohrmann, C., Luukka, P., \u0026amp; Porras, J. (2022). Machine learning techniques and data for stock market forecasting: A literature review. \u003cem\u003eExpert Systems with Applications\u003c/em\u003e, \u003cem\u003e197\u003c/em\u003e, 116659.\u003c/li\u003e\n\u003cli\u003eBhandari, H. N., Rimal, B., Pokhrel, N. R., Rimal, R., Dahal, K. R., \u0026amp; Khatri, R. K. (2022). Predicting stock market index using LSTM. \u003cem\u003eMachine Learning with Applications\u003c/em\u003e, \u003cem\u003e9\u003c/em\u003e, 100320.\u003c/li\u003e\n\u003cli\u003eYun, K. K., Yoon, S. W., \u0026amp; Won, D. (2021). Prediction of stock price direction using a hybrid GA-XGBoost algorithm with a three-stage feature engineering process. \u003cem\u003eExpert Systems with Applications\u003c/em\u003e, \u003cem\u003e186\u003c/em\u003e, 115716.\u003c/li\u003e\n\u003cli\u003eHoseinzade, E., \u0026amp; Haratizadeh, S. (2019). CNNpred: CNN-based stock market prediction using a diverse set of variables. \u003cem\u003eExpert Systems with Applications\u003c/em\u003e, \u003cem\u003e129\u003c/em\u003e, 273-285.\u003c/li\u003e\n\u003cli\u003eSonkavde, G., Dharrao, D. S., Bongale, A. M., Deokate, S. T., Doreswamy, D., \u0026amp; Bhat, S. K. (2023). Forecasting stock market prices using machine learning and deep learning models: A systematic review, performance analysis and discussion of implications. \u003cem\u003eInternational Journal of Financial Studies\u003c/em\u003e, \u003cem\u003e11\u003c/em\u003e(3), 94.\u003c/li\u003e\n\u003cli\u003eSahu, S. K., Mokhade, A., \u0026amp; Bokde, N. D. (2023). An overview of machine learning, deep learning, and reinforcement learning-based techniques in quantitative finance: recent progress and challenges. \u003cem\u003eApplied Sciences\u003c/em\u003e, \u003cem\u003e13\u003c/em\u003e(3), 1956.\u003c/li\u003e\n\u003cli\u003eMintarya, L. N., Halim, J. N., Angie, C., Achmad, S., \u0026amp; Kurniawan, A. (2023). Machine learning approaches in stock market prediction: A systematic literature review. \u003cem\u003eProcedia Computer Science\u003c/em\u003e, \u003cem\u003e216\u003c/em\u003e, 96-102.\u003c/li\u003e\n\u003cli\u003eMa, Y., Han, R., \u0026amp; Wang, W. (2021). Portfolio optimization with return prediction using deep learning and machine learning. \u003cem\u003eExpert Systems with Applications\u003c/em\u003e, \u003cem\u003e165\u003c/em\u003e, 113973.\u003c/li\u003e\n\u003cli\u003eSu\u0026aacute;rez-Cetrulo, A. L., Quintana, D., \u0026amp; Cervantes, A. (2023). A survey on machine learning for recurring concept drifting data streams. \u003cem\u003eExpert Systems with Applications\u003c/em\u003e, \u003cem\u003e213\u003c/em\u003e, 118934.\u003c/li\u003e\n\u003cli\u003eDubey, S., Singh, S., Dubey, S., Nair, R., \u0026amp; Sharma, R. (2024, December). Magnetic Resonance Image Analysis: A Healthcare System. In \u003cem\u003e2024 IEEE 4th International Conference on ICT in Business Industry \u0026amp; Government (ICTBIG)\u003c/em\u003e (pp. 1-5). IEEE.\u003c/li\u003e\n\u003cli\u003eDubey, S., Singh, S., Verma, D. K., Lodhi, S. K., \u0026amp; Dubey, S. (2025). GenoCare Prognosticator Model: Host Genetics Predict Severity of Infectious Disease. \u003cem\u003eScalable Computing: Practice and Experience\u003c/em\u003e, \u003cem\u003e26\u003c/em\u003e(2), 924-939.\u003c/li\u003e\n\u003cli\u003eDubey, S., Verma, D. K., \u0026amp; Kumar, M. (2024). Severe acute respiratory syndrome Coronavirus-2 GenoAnalyzer and mutagenic anomaly detector using FCMFI and NSCE. \u003cem\u003eInternational Journal of Biological Macromolecules\u003c/em\u003e, \u003cem\u003e258\u003c/em\u003e, 129051.\u003c/li\u003e\n\u003cli\u003eDubey, S., Verma, D. K., \u0026amp; Kumar, M. (2024). Real-time infectious disease endurance indicator system for scientific decisions using machine learning and rapid data processing. \u003cem\u003ePeerJ Computer Science\u003c/em\u003e, \u003cem\u003e10\u003c/em\u003e, e2062.\u003c/li\u003e\n\u003cli\u003eSebasti\u0026atilde;o, H., \u0026amp; Godinho, P. (2021). Forecasting and trading cryptocurrencies with machine learning under changing market conditions. \u003cem\u003eFinancial Innovation\u003c/em\u003e, \u003cem\u003e7\u003c/em\u003e(1), 3.\u003c/li\u003e\n\u003cli\u003eHou, J., Wang, Y., Zhou, J., \u0026amp; Tian, Q. (2022). Prediction of hourly air temperature based on CNN\u0026ndash;LSTM. \u003cem\u003eGeomatics, Natural Hazards and Risk\u003c/em\u003e, \u003cem\u003e13\u003c/em\u003e(1), 1962-1986.\u003c/li\u003e\n\u003cli\u003eMetwally, D. S., Ali, M., Alghamdi, S. M., \u0026amp; Khan, D. M. (2025). A novel hybrid model to forecast the stock price based on CEEMDAN and support vector regression. \u003cem\u003eJournal of Radiation Research and Applied Sciences\u003c/em\u003e, \u003cem\u003e18\u003c/em\u003e(2), 101385.\u003c/li\u003e\n\u003cli\u003eFerreira, F. G., Gandomi, A. H., \u0026amp; Cardoso, R. T. (2021). Artificial intelligence applied to stock market trading: a review. \u003cem\u003eIEEE Access\u003c/em\u003e, \u003cem\u003e9\u003c/em\u003e, 30898-30917.\u003c/li\u003e\n\u003cli\u003eGe, Q. (2025). Enhancing stock market Forecasting: A hybrid model for accurate prediction of S\u0026amp;P 500 and CSI 300 future prices. \u003cem\u003eExpert Systems with Applications\u003c/em\u003e, \u003cem\u003e260\u003c/em\u003e, 125380.\u003c/li\u003e\n\u003cli\u003eTuesta, S., Flores, N., \u0026amp; Mauricio, D. (2025). Prediction of the Maximum and Minimum Prices of Stocks in the Stock Market Using a Hybrid Model Based on Stacking. \u003cem\u003eAlgorithms\u003c/em\u003e, \u003cem\u003e18\u003c/em\u003e(8), 471.\u003c/li\u003e\n\u003cli\u003eDUBEY, S., VERMA, D. K., \u0026amp; KUMAR, M. (2024). Identification of Unique Genomic Signatures in Viral Immunogenic Syndrome (VIS) Using FIMAR and FCSM Methods for Development of Effective Diagnostic and Therapeutic Strategies. \u003cem\u003eEconomic Computation \u0026amp; Economic Cybernetics Studies \u0026amp; Research\u003c/em\u003e, \u003cem\u003e58\u003c/em\u003e(2).\u003c/li\u003e\n\u003cli\u003eKumar, D., Sarangi, P. K., \u0026amp; Verma, R. (2022). A systematic review of stock market prediction using machine learning and statistical techniques. \u003cem\u003eMaterials Today: Proceedings\u003c/em\u003e, \u003cem\u003e49\u003c/em\u003e, 3187-3191.\u003c/li\u003e\n\u003cli\u003eAnushkannan, N. K., Wekalao, J., Patel, S. K., \u0026amp; Al-Zahrani, F. A. (2024). Design of encoded and tunable graphene-gold metasurface-based surface plasmon resonance sensors for glucose detection in the terahertz regime. \u003cem\u003ePlasmonics\u003c/em\u003e, \u003cem\u003e19\u003c/em\u003e(6), 2827-2846.\u003c/li\u003e\n\u003cli\u003eSun, S., Wang, R., \u0026amp; An, B. (2023). Reinforcement learning for quantitative trading. \u003cem\u003eACM Transactions on Intelligent Systems and Technology\u003c/em\u003e, \u003cem\u003e14\u003c/em\u003e(3), 1-29.\u003c/li\u003e\n\u003c/ol\u003e"}],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":true,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":true,"highlight":"","institution":"","isAcceptedByJournal":false,"isAuthorSuppliedPdf":false,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":false,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"
[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true},"keywords":"Stock Price Forecasting, XGBoost, LSTM, Hybrid Machine Learning Model, Indian Stock Market, Tata Motors, Time Series Prediction, Financial Ratios","lastPublishedDoi":"10.21203/rs.3.rs-7396543/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-7396543/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eThis study introduces a strong hybrid ML architecture capable of forecasting stock movements in both short-term and multi-day scenarios. To overcome the difficulties of volatility, non-linearity, and time-dependence in stock markets, this study suggests a hybrid stock price prediction model that combines XGBoost and LSTM. XGBoost uses benchmark trends and structured financial data to predict the closing price for the following day, while LSTM captures long-term patterns for 22-day trend forecasting. Data is automatically retrieved from Yahoo Finance using a ticker-based system mapped through a custom CSV containing over 1,600 Indian stocks. Key features like Open, High, Low, Close, Volume, and index prices are used, alongside calculated financial ratios such as Beta, Sharpe Ratio, EPS, and P/E Ratio. Experimentation showed strong performance XGBoost achieved an R\u0026sup2; above 0.99 and 98.25% directional accuracy, while LSTM yielded an RMSE of ₹37.71 and R\u0026sup2; of 0.9762. The model successfully identifies short term trends and volatility bands, outperforming traditional methods like ARIMA and Linear Regression, offering a scalable, accurate solution for real-time stock forecasting in Indian equity markets.\u003c/p\u003e","manuscriptTitle":"A Hybrid Model for Stock Price Forecasting Integrating XGBoost and LSTM with Financial Indicators","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2025-09-09 09:22:06","doi":"10.21203/rs.3.rs-7396543/v1","editorialEvents":[{"type":"communityComments","content":0}],"status":"published","journal":{"display":true,"email":"
[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true}}],"origin":"","ownerIdentity":"5f3915af-7c0c-4329-9889-734f288ba9cf","owner":[],"postedDate":"September 9th, 2025","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"posted","subjectAreas":[],"tags":[],"updatedAt":"2025-10-27T15:16:16+00:00","versionOfRecord":[],"versionCreatedAt":"2025-09-09 09:22:06","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-7396543","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-7396543","identity":"rs-7396543","version":["v1"]},"buildId":"8U1c8b4HqxoKbykW_rLl7","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.