{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", " \n", " \"QuantEcon\"\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Dynamic Stackelberg Problems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contents\n", "\n", "- [Dynamic Stackelberg Problems](#Dynamic-Stackelberg-Problems) \n", " - [Duopoly](#Duopoly) \n", " - [The Stackelberg Problem](#The-Stackelberg-Problem) \n", " - [Stackelberg Plan](#Stackelberg-Plan) \n", " - [Recursive Representation of Stackelberg Plan](#Recursive-Representation-of-Stackelberg-Plan) \n", " - [Computing the Stackelberg Plan](#Computing-the-Stackelberg-Plan) \n", " - [Exhibiting Time Inconsistency of Stackelberg Plan](#Exhibiting-Time-Inconsistency-of-Stackelberg-Plan) \n", " - [Recursive Formulation of the Follower’s Problem](#Recursive-Formulation-of-the-Follower’s-Problem) \n", " - [Markov Perfect Equilibrium](#Markov-Perfect-Equilibrium) \n", " - [MPE vs. Stackelberg](#MPE-vs.-Stackelberg) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook formulates and computes a plan that a **Stackelberg\n", "leader** uses to manipulate forward-looking decisions of a **Stackelberg\n", "follower** that depend on continuation sequences of decisions made once\n", "and for all by the Stackelberg leader at time $ 0 $.\n", "\n", "To facilitate computation and interpretation, we formulate things in a\n", "context that allows us to apply linear optimal dynamic programming.\n", "\n", "From the beginning we carry along a linear-quadratic model of duopoly in\n", "which firms face adjustment costs that make them want to forecast\n", "actions of other firms that influence future prices." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Duopoly\n", "\n", "Time is discrete and is indexed by $ t = 0, 1, \\ldots $.\n", "\n", "Two firms produce a single good whose demand is governed by the linear\n", "inverse demand curve\n", "\n", "$$\n", "p_t = a_0 - a_1 (q_{1t}+ q_{2t} )\n", "$$\n", "\n", "where $ q_{it} $ is output of firm $ i $ at time $ t $ and\n", "$ a_0 $ and $ a_1 $ are both positive.\n", "\n", "$ q_{10}, q_{20} $ are given numbers that serve as initial\n", "conditions at time $ 0 $.\n", "\n", "By incurring a cost of change\n", "\n", "$$\n", "\\gamma v_{it}^2\n", "$$\n", "\n", "where $ \\gamma > 0 $, firm $ i $ can change its output according\n", "to\n", "\n", "$$\n", "q_{it+1} = q_{it} + v_{it}\n", "$$\n", "\n", "Firm $ i $’s profits at time $ t $ equal\n", "\n", "$$\n", "\\pi_{it} = p_t q_{it} - \\gamma v_{it}^2\n", "$$\n", "\n", "Firm $ i $ wants to maximize the present value of its profits\n", "\n", "$$\n", "\\sum_{t=0}^\\infty \\beta^t \\pi_{it}\n", "$$\n", "\n", "where $ \\beta \\in (0,1) $ is a time discount factor." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stackelberg Leader and Follower\n", "\n", "Each firm $ i=1,2 $ chooses a sequence\n", "$ \\vec q_i \\equiv \\{q_{it+1}\\}_{t=0}^\\infty $ once and for all at\n", "time $ 0 $.\n", "\n", "We let firm 2 be a **Stackelberg leader** and firm 1 be a **Stackelberg\n", "follower**.\n", "\n", "The leader firm 2 goes first and chooses\n", "$ \\{q_{2t+1}\\}_{t=0}^\\infty $ once and for all at time $ 0 $.\n", "\n", "Knowing that firm 2 has chosen $ \\{q_{2t+1}\\}_{t=0}^\\infty $, the\n", "follower firm 1 goes second and chooses\n", "$ \\{q_{1t+1}\\}_{t=0}^\\infty $ once and for all at time $ 0 $.\n", "\n", "In choosing $ \\vec q_2 $, firm 2 takes into account that firm 1 will\n", "base its choice of $ \\vec q_1 $ on firm 2’s choice of\n", "$ \\vec q_2 $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Abstract Statement of the Leader’s and Follower’s Problems\n", "\n", "We can express firm 1’s problem as\n", "\n", "$$\n", "\\max_{\\vec q_1} \\Pi_1(\\vec q_1; \\vec q_2)\n", "$$\n", "\n", "where the appearance behind the semi-colon indicates that\n", "$ \\vec q_2 $ is given.\n", "\n", "Firm 1’s problem induces a best response mapping\n", "\n", "$$\n", "\\vec q_1 = B(\\vec q_2)\n", "$$\n", "\n", "(Here $ B $ maps a sequence into a sequence)\n", "\n", "The Stackelberg leader’s problem is\n", "\n", "$$\n", "\\max_{\\vec q_2} \\Pi_2 (B(\\vec q_2), \\vec q_2)\n", "$$\n", "\n", "whose maximizer is a sequence $ \\vec q_2 $ that depends on the\n", "initial conditions $ q_{10}, q_{20} $ and the parameters of the\n", "model $ a_0, a_1, \\gamma $.\n", "\n", "This formulation captures key features of the model\n", "\n", "- Both firms make once-and-for-all choices at time $ 0 $. \n", "- This is true even though both firms are choosing sequences of\n", " quantities that are indexed by **time**. \n", "- The Stackelberg leader chooses first **within time** $ 0 $,\n", " knowing that the Stackelberg follower will choose second **within\n", " time** $ 0 $. \n", "\n", "\n", "While our abstract formulation reveals the timing protocol and\n", "equilibrium concept well, it obscures details that must be addressed\n", "when we want to compute and interpret a Stackelberg plan and the\n", "follower’s best response to it.\n", "\n", "To gain insights about these things, we study them in more detail." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Firms’ Problems\n", "\n", "Firm 1 acts as if firm 2’s sequence $ \\{q_{2t+1}\\}_{t=0}^\\infty $ is\n", "given and beyond its control.\n", "\n", "Firm 2 knows that firm 1 chooses second and takes this into account in\n", "choosing $ \\{q_{2t+1}\\}_{t=0}^\\infty $.\n", "\n", "In the spirit of *working backwards*, we study firm 1’s problem first,\n", "taking $ \\{q_{2t+1}\\}_{t=0}^\\infty $ as given.\n", "\n", "We can formulate firm 1’s optimum problem in terms of the Lagrangian\n", "\n", "$$\n", "L=\\sum_{t=0}^{\\infty}\\beta^{t}\\{a_{0}q_{1t}-a_{1}q_{1t}^{2}-a_{1}q_{1t}q_{2t}-\\gamma v_{1t}^{2}+\\lambda_{t}[q_{1t}+v_{1t}-q_{1t+1}]\\}\n", "$$\n", "\n", "Firm 1 seeks a maximum with respect to\n", "$ \\{q_{1t+1}, v_{1t} \\}_{t=0}^\\infty $ and a minimum with respect to\n", "$ \\{ \\lambda_t\\}_{t=0}^\\infty $.\n", "\n", "We approach this problem using methods described in Ljungqvist and\n", "Sargent RMT5 chapter 2, appendix A and Macroeconomic Theory, 2nd\n", "edition, chapter IX.\n", "\n", "First-order conditions for this problem are\n", "\n", "$$\n", "\\begin{aligned}\n", "\\frac{\\partial L}{\\partial q_{1t}} & = a_0 - 2 a_1 q_{1t} - a_1 q_{2t} + \\lambda_t - \\beta^{-1}\n", " \\lambda_{t-1} = 0 , \\quad t \\geq 1 \\cr\n", " \\frac{\\partial L}{\\partial v_{1t}} & = -2 \\gamma v_{1t} + \\lambda_t = 0 , \\quad t \\geq 0\n", " \\end{aligned}\n", "$$\n", "\n", "These first-order conditions and the constraint $ q_{1t+1} = q_{1t} + v_{1t} $ can be rearranged to take the form\n", "\n", "$$\n", "\\begin{aligned}\n", "v_{1t} & = \\beta v_{1t+1} + \\frac{\\beta a_0}{2 \\gamma} - \\frac{\\beta a_1}{\\gamma} q_{1t+1} -\n", " \\frac{\\beta a_1}{2 \\gamma} q_{2t+1} \\cr\n", " q_{t+1} & = q_{1t} + v_{1t}\n", "\\end{aligned}\n", "$$\n", "\n", "We can substitute the second equation into the first equation to obtain\n", "\n", "$$\n", "(q_{1t+1} - q_{1t} ) = \\beta (q_{1t+2} - q_{1t+1}) + c_0 - c_1 q_{1t+1} - c_2 q_{2t+1}\n", "$$\n", "\n", "where\n", "$ c_0 = \\frac{\\beta a_0}{2 \\gamma}, c_1 = \\frac{\\beta a_1}{\\gamma}, c_2 = \\frac{\\beta a_1}{2 \\gamma} $.\n", "\n", "This equation can in turn be rearranged to become the second-order\n", "difference equation\n", "\n", "\n", "\n", "$$\n", "q_{1t} + (1+\\beta + c_1) q_{1t+1} - \\beta q_{1t+2} = c_0 - c_2 q_{2t+1} \\tag{1}\n", "$$\n", "\n", "Equation [(1)](#equation-sstack1) is a second-order difference equation in the sequence\n", "$ \\vec q_1 $ whose solution we want.\n", "\n", "It satisfies **two boundary conditions:**\n", "\n", "- an initial condition that $ q_{1,0} $, which is given \n", "- a terminal condition requiring that\n", " $ \\lim_{T \\rightarrow + \\infty} \\beta^T q_{1t}^2 < + \\infty $ \n", "\n", "\n", "Using the lag operators described in chapter IX of *Macroeconomic\n", "Theory, Second edition (1987)*, difference equation\n", "[(1)](#equation-sstack1) can be written as\n", "\n", "$$\n", "\\beta(1 - \\frac{1+\\beta + c_1}{\\beta} L + \\beta^{-1} L^2 ) q_{1t+2} = - c_0 + c_2 q_{2t+1}\n", "$$\n", "\n", "The polynomial in the lag operator on the left side can be **factored**\n", "as\n", "\n", "\n", "\n", "$$\n", "(1 - \\frac{1+\\beta + c_1}{\\beta} L + \\beta^{-1} L^2 ) = ( 1 - \\delta_1 L ) (1 - \\delta_2 L) \\tag{2}\n", "$$\n", "\n", "where $ 0 < \\delta_1 < 1 < \\frac{1}{\\sqrt{\\beta}} < \\delta_2 $.\n", "\n", "Because $ \\delta_2 > \\frac{1}{\\sqrt{\\beta}} $ the operator\n", "$ (1 - \\delta_2 L) $ contributes an **unstable** component if solved\n", "**backwards** but a **stable** component if solved **forwards**.\n", "\n", "Mechanically, write\n", "\n", "$$\n", "(1- \\delta_2 L) = -\\delta_{2} L (1 - \\delta_2^{-1} L^{-1} )\n", "$$\n", "\n", "and compute the following inverse operator\n", "\n", "$$\n", "\\left[-\\delta_{2} L (1 - \\delta_2^{-1} L^{-1} )\\right]^{-1} = - \\delta_2 (1 - {\\delta_2}^{-1} )^{-1} L^{-1}\n", "$$\n", "\n", "Operating on both sides of equation [(2)](#equation-sstack2) with\n", "$ \\beta^{-1} $ times this inverse operator gives the follower’s\n", "decision rule for setting $ q_{1t+1} $ in the\n", "**feedback-feedforward** form\n", "\n", "\n", "\n", "$$\n", "q_{1t+1} = \\delta_1 q_{1t} - c_0 \\delta_2^{-1} \\beta^{-1} \\frac{1}{1 -\\delta_2^{-1}} + c_2 \\delta_2^{-1} \\beta^{-1} \\sum_{j=0}^\\infty \\delta_2^j q_{2t+j+1} , \\quad t \\geq 0 \\tag{3}\n", "$$\n", "\n", "The problem of the Stackelberg leader firm 2 is to choose the sequence\n", "$ \\{q_{2t+1}\\}_{t=0}^\\infty $ to maximize its discounted profits\n", "\n", "$$\n", "\\sum_{t=0}^\\infty \\beta^t \\{ (a_0 - a_1 (q_{1t} + q_{2t}) ) q_{2t} - \\gamma (q_{2t+1} - q_{2t})^2 \\}\n", "$$\n", "\n", "subject to the sequence of constraints [(3)](#equation-sstack3) for $ t \\geq 0 $.\n", "\n", "We can put a sequence $ \\{\\theta_t\\}_{t=0}^\\infty $ of Lagrange\n", "multipliers on the sequence of equations [(3)](#equation-sstack3)\n", "and formulate the following Lagrangian for the Stackelberg leader firm\n", "2’s problem\n", "\n", "\n", "\n", "$$\n", "\\begin{aligned}\n", "\\tilde L & = \\sum_{t=0}^\\infty \\beta^t\\{ (a_0 - a_1 (q_{1t} + q_{2t}) ) q_{2t} - \\gamma (q_{2t+1} - q_{2t})^2 \\} \\cr\n", " & + \\sum_{t=0}^\\infty \\beta^t \\theta_t \\{ \\delta_1 q_{1t} - c_0 \\delta_2^{-1} \\beta^{-1} \\frac{1}{1 -\\delta_2^{-1}} + c_2 \\delta_2^{-1} \\beta^{-1}\n", " \\sum_{j=0}^\\infty \\delta_2^{-j} q_{2t+j+1} - q_{1t+1}\n", "\\end{aligned} \\tag{4}\n", "$$\n", "\n", "subject to initial conditions for $ q_{1t}, q_{2t} $ at $ t=0 $.\n", "\n", "**Comments:** We have formulated the Stackelberg problem in a space of\n", "sequences.\n", "\n", "The max-min problem associated with Lagrangian\n", "[(4)](#equation-sstack4) is unpleasant because the time $ t $\n", "component of firm $ 1 $’s payoff function depends on the entire\n", "future of its choices of $ \\{q_{1t+j}\\}_{j=0}^\\infty $.\n", "\n", "This renders a direct attack on the problem cumbersome.\n", "\n", "Therefore, below, we will formulate the Stackelberg leader’s problem\n", "recursively.\n", "\n", "We’ll put our little duopoly model into a broader class of models with\n", "the same conceptual structure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Stackelberg Problem\n", "\n", "We formulate a class of linear-quadratic Stackelberg leader-follower\n", "problems of which our duopoly model is an instance.\n", "\n", "We use the optimal linear regulator (a.k.a. the linear-quadratic dynamic\n", "programming problem described in [LQ Dynamic Programming\n", "problems](https://python-intro.quantecon.org/lqcontrol.html)) to\n", "represent a Stackelberg leader’s problem recursively.\n", "\n", "Let $ z_t $ be an $ n_z \\times 1 $ vector of **natural\n", "state variables**.\n", "\n", "Let $ x_t $ be an $ n_x \\times 1 $ vector of endogenous\n", "forward-looking variables that are physically free to jump at $ t $.\n", "\n", "In our duopoly example $ x_t = v_{1t} $, the time $ t $ decision\n", "of the Stackelberg **follower**.\n", "\n", "Let $ u_t $ be a vector of decisions chosen by the Stackelberg leader\n", "at $ t $.\n", "\n", "The $ z_t $ vector is inherited physically from the past.\n", "\n", "But $ x_t $ is a decision made by the Stackelberg follower at time\n", "$ t $ that is the follower’s best response to the choice of an\n", "entire sequence of decisions made by the Stackelberg leader at time\n", "$ t=0 $.\n", "\n", "Let\n", "\n", "$$\n", "y_t = \\begin{bmatrix} z_t \\\\ x_t \\end{bmatrix}\n", "$$\n", "\n", "Represent the Stackelberg leader’s one-period loss function as\n", "\n", "$$\n", "r(y, u) = y' R y + u' Q u\n", "$$\n", "\n", "Subject to an initial condition for $ z_0 $, but not for $ x_0 $, the\n", "Stackelberg leader wants to maximize\n", "\n", "\n", "\n", "$$\n", "-\\sum_{t=0}^\\infty \\beta^t r(y_t, u_t) \\tag{5}\n", "$$\n", "\n", "The Stackelberg leader faces the model\n", "\n", "\n", "\n", "$$\n", "\\begin{bmatrix} I & 0 \\\\ G_{21} & G_{22} \\end{bmatrix}\n", "\\begin{bmatrix} z_{t+1} \\\\ x_{t+1} \\end{bmatrix}\n", "= \\begin{bmatrix} \\hat A_{11} & \\hat A_{12} \\\\ \\hat A_{21} & \\hat A_{22} \\end{bmatrix} \\begin{bmatrix} z_t \\\\ x_t \\end{bmatrix} + \\hat B u_t \\tag{6}\n", "$$\n", "\n", "We assume that the matrix\n", "$ \\begin{bmatrix} I & 0 \\\\ G_{21} & G_{22} \\end{bmatrix} $ on the\n", "left side of equation [(6)](#equation-new2) is invertible, so that we\n", "can multiply both sides by its inverse to obtain\n", "\n", "\n", "\n", "$$\n", "\\begin{bmatrix} z_{t+1} \\\\ x_{t+1} \\end{bmatrix}\n", "= \\begin{bmatrix} A_{11} & A_{12} \\\\ A_{21} & A_{22} \\end{bmatrix}\n", "\\begin{bmatrix} z_t \\\\ x_t \\end{bmatrix} + B u_t \\tag{7}\n", "$$\n", "\n", "or\n", "\n", "\n", "\n", "$$\n", "y_{t+1} = A y_t + B u_t \\tag{8}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpretation of the Second Block of Equations\n", "\n", "The Stackelberg follower’s best response mapping is summarized by the\n", "second block of equations of [(7)](#equation-new3).\n", "\n", "In particular, these equations are the first-order conditions of the\n", "Stackelberg follower’s optimization problem (i.e., its Euler equations).\n", "\n", "These Euler equations summarize the forward-looking aspect of the\n", "follower’s behavior and express how its time $ t $ decision depends on\n", "the leader’s actions at times $ s \\geq t $.\n", "\n", "When combined with a stability condition to be imposed below, the Euler\n", "equations summarize the follower’s best response to the sequence of\n", "actions by the leader.\n", "\n", "The Stackelberg leader maximizes [(5)](#equation-maxeq) by\n", "choosing sequences $ \\{u_t, x_t, z_{t+1}\\}_{t=0}^{\\infty} $\n", "subject to [(8)](#equation-constrainteq) and an initial condition for $ z_0 $.\n", "\n", "Note that we have an initial condition for $ z_0 $ but not for $ x_0 $.\n", "\n", "$ x_0 $ is among the variables to be chosen at time $ 0 $ by the\n", "Stackelberg leader.\n", "\n", "The Stackelberg leader uses its understanding of the responses\n", "restricted by [(8)](#equation-constrainteq) to manipulate the follower’s\n", "decisions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### More Mechanical Details\n", "\n", "For any vector $ a_t $, define $ \\vec a_t = [a_t,\n", "a_{t+1} \\ldots ] $.\n", "\n", "Define a feasible set of $ (\\vec y_1, \\vec u_0) $ sequences\n", "\n", "$$\n", "\\Omega(y_0) = \\left\\{ (\\vec y_1, \\vec u_0) : y_{t+1} = A y_t + B u_t, \\forall t \\geq 0 \\right\\}\n", "$$\n", "\n", "Please remember that the follower’s Euler equation is embedded in the\n", "system of dynamic equations $ y_{t+1} = A y_t + B u_t $.\n", "\n", "Note that in the definition of $ \\Omega(y_0) $, $ y_0 $\n", "is taken as given.\n", "\n", "Although it is taken as given in $ \\Omega(y_0) $,\n", "eventually, the $ x_0 $ component of $ y_0 $ will be chosen by the\n", "Stackelberg leader." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Two Subproblems\n", "\n", "Once again we use backward induction.\n", "\n", "We express the Stackelberg problem in terms of **two subproblems**.\n", "\n", "Subproblem 1 is solved by a **continuation Stackelberg leader** at each\n", "date $ t \\geq 0 $.\n", "\n", "Subproblem 2 is solved the **Stackelberg leader** at $ t=0 $.\n", "\n", "The two subproblems are designed\n", "\n", "- to respect the protocol in which the follower chooses\n", " $ \\vec q_1 $ after seeing $ \\vec q_2 $ chosen by the leader \n", "- to make the leader choose $ \\vec q_2 $ while respecting that\n", " $ \\vec q_1 $ will be the follower’s best response to\n", " $ \\vec q_2 $ \n", "- to represent the leader’s problem recursively by artfully choosing\n", " the state variables confronting and the control variables available\n", " to the leader " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subproblem 1\n", "\n", "$$\n", "v(y_0) = \\max_{(\\vec y_1, \\vec u_0) \\in \\Omega(y_0)} - \\sum_{t=0}^\\infty \\beta^t r(y_t, u_t)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subproblem 2\n", "\n", "$$\n", "w(z_0) = \\max_{x_0} v(y_0)\n", "$$\n", "\n", "Subproblem 1 takes the vector of forward-looking variables $ x_0 $ as\n", "given.\n", "\n", "Subproblem 2 optimizes over $ x_0 $.\n", "\n", "The value function $ w(z_0) $ tells the value of the Stackelberg plan\n", "as a function of the vector of natural state variables at time $ 0 $,\n", "$ z_0 $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Two Bellman Equations\n", "\n", "We now describe Bellman equations for $ v(y) $ and $ w(z_0) $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subproblem 1\n", "\n", "The value function $ v(y) $ in subproblem 1 satisfies the Bellman\n", "equation\n", "\n", "\n", "\n", "$$\n", "v(y) = \\max_{u, y^*} \\left\\{ - r(y,u) + \\beta v(y^*) \\right\\} \\tag{9}\n", "$$\n", "\n", "where the maximization is subject to\n", "\n", "$$\n", "y^* = A y + B u\n", "$$\n", "\n", "and $ y^* $ denotes next period’s value.\n", "\n", "Substituting $ v(y) = - y'P y $ into Bellman equation [(9)](#equation-bellman-stack) gives\n", "\n", "$$\n", "-y' P y = {\\rm max}_{ u, y^*} \\left\\{ - y' R y - u'Q u - \\beta y^{* \\prime} P y^* \\right\\}\n", "$$\n", "\n", "which as in lecture [linear regulator](https://python-intro.quantecon.org/lqcontrol.html) gives\n", "rise to the algebraic matrix Riccati equation\n", "\n", "$$\n", "P = R + \\beta A' P A - \\beta^2 A' P B ( Q + \\beta B' P B)^{-1} B' P A\n", "$$\n", "\n", "and the optimal decision rule coefficient vector\n", "\n", "$$\n", "F = \\beta( Q + \\beta B' P B)^{-1} B' P A\n", "$$\n", "\n", "where the optimal decision rule is\n", "\n", "$$\n", "u_t = - F y_t\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subproblem 2\n", "\n", "We find an optimal $ x_0 $ by equating to zero the gradient of $ v(y_0) $\n", "with respect to $ x_0 $:\n", "\n", "$$\n", "-2 P_{21} z_0 - 2 P_{22} x_0 =0,\n", "$$\n", "\n", "which implies that\n", "\n", "$$\n", "x_0 = - P_{22}^{-1} P_{21} z_0\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Stackelberg Plan\n", "\n", "Now let’s map our duopoly model into the above setup.\n", "\n", "We we’ll formulate a state space system\n", "\n", "$$\n", "y_t = \\begin{bmatrix} z_t \\cr x_t \\end{bmatrix}\n", "$$\n", "\n", "where in this instance $ x_t = v_{1t} $, the time $ t $ decision\n", "of the follower firm 1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculations to Prepare Duopoly Model\n", "\n", "Now we’ll proceed to cast our duopoly model within the framework of the\n", "more general linear-quadratic structure described above.\n", "\n", "That will allow us to compute a Stackelberg plan simply by enlisting a\n", "Riccati equation to solve a linear-quadratic dynamic program.\n", "\n", "As emphasized above, firm 1 acts as if firm 2’s decisions\n", "$ \\{q_{2t+1}, v_{2t}\\}_{t=0}^\\infty $ are given and beyond its\n", "control." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Firm 1’s Problem\n", "\n", "We again formulate firm 1’s optimum problem in terms of the Lagrangian\n", "\n", "$$\n", "L=\\sum_{t=0}^{\\infty}\\beta^{t}\\{a_{0}q_{1t}-a_{1}q_{1t}^{2}-a_{1}q_{1t}q_{2t}-\\gamma v_{1t}^{2}+\\lambda_{t}[q_{1t}+v_{1t}-q_{1t+1}]\\}\n", "$$\n", "\n", "Firm 1 seeks a maximum with respect to\n", "$ \\{q_{1t+1}, v_{1t} \\}_{t=0}^\\infty $ and a minimum with respect to\n", "$ \\{ \\lambda_t\\}_{t=0}^\\infty $.\n", "\n", "First-order conditions for this problem are\n", "\n", "$$\n", "\\begin{aligned}\n", "\\frac{\\partial L}{\\partial q_{1t}} & = a_0 - 2 a_1 q_{1t} - a_1 q_{2t} + \\lambda_t - \\beta^{-1}\n", " \\lambda_{t-1} = 0 , \\quad t \\geq 1 \\cr\n", " \\frac{\\partial L}{\\partial v_{1t}} & = -2 \\gamma v_{1t} + \\lambda_t = 0 , \\quad t \\geq 0\n", " \\end{aligned}\n", "$$\n", "\n", "These first-order order conditions and the constraint $ q_{1t+1} =\n", "q_{1t} + v_{1t} $ can be rearranged to take the form\n", "\n", "$$\n", "\\begin{aligned}\n", "v_{1t} & = \\beta v_{1t+1} + \\frac{\\beta a_0}{2 \\gamma} - \\frac{\\beta a_1}{\\gamma} q_{1t+1} -\n", " \\frac{\\beta a_1}{2 \\gamma} q_{2t+1} \\cr\n", " q_{t+1} & = q_{1t} + v_{1t}\n", "\\end{aligned}\n", "$$\n", "\n", "We use these two equations as components of the following linear system\n", "that confronts a Stackelberg continuation leader at time $ t $\n", "\n", "$$\n", "\\begin{bmatrix} 1 & 0 & 0 & 0 \\cr\n", " 0 & 1 & 0 & 0 \\cr\n", " 0 & 0 & 1 & 0 \\cr\n", " \\frac{\\beta a_0}{2 \\gamma} & - \\frac{\\beta a_1}{2 \\gamma} & -\\frac{\\beta a_1}{\\gamma} & \\beta \\end{bmatrix}\n", " \\begin{bmatrix} 1 \\cr q_{2t+1} \\cr q_{1t+1} \\cr v_{1t+1} \\end{bmatrix}\n", " = \\begin{bmatrix} 1 & 0 & 0 & 0 \\cr\n", " 0 & 1 & 0 & 0 \\cr\n", " 0 & 0 & 1 & 1 \\cr\n", " 0 & 0 & 0 & 1 \\end{bmatrix} \\begin{bmatrix} 1 \\cr q_{2t} \\cr q_{1t} \\cr v_{1t} \\end{bmatrix}\n", " + \\begin{bmatrix} 0 \\cr 1 \\cr 0 \\cr 0 \\end{bmatrix} v_{2t}\n", "$$\n", "\n", "Time $ t $ revenues of firm 2 are\n", "$ \\pi_{2t} = a_0 q_{2t} - a_1 q_{2t}^2 - a_1 q_{1t} q_{2t} $ which\n", "evidently equal\n", "\n", "$$\n", "z_t' R_1 z_t \\equiv \\begin{bmatrix} 1 \\cr q_{2t} \\cr q_{1t} \\end{bmatrix}'\n", " \\begin{bmatrix} 0 & \\frac{a_0}{2}& 0 \\cr\n", " \\frac{a_0}{2} & -a_1 & -\\frac{a_1}{2}\\cr\n", " 0 & -\\frac{a_1}{2} & 0 \\end{bmatrix}\n", "\\begin{bmatrix} 1 \\cr q_{2t} \\cr q_{1t} \\end{bmatrix}\n", "$$\n", "\n", "If we set $ Q = \\gamma $, then firm 2’s period $ t $ profits can\n", "then be written\n", "\n", "$$\n", "y_t' R y_t - Q v_{2t}^2\n", "$$\n", "\n", "where\n", "\n", "$$\n", "y_t = \\begin{bmatrix} z_t \\cr x_t \\end{bmatrix}\n", "$$\n", "\n", "with $ x_t = v_{1t} $ and\n", "\n", "$$\n", "R =\n", "\\begin{bmatrix} R_1 & 0 \\cr 0 & 0 \\end{bmatrix}\n", "$$\n", "\n", "We’ll report results of implementing this code soon.\n", "\n", "But first we want to represent the Stackelberg leader’s optimal choices\n", "recursively.\n", "\n", "It is important to do this for several reasons:\n", "\n", "- properly to interpret a representation of the Stackelberg leaders’s\n", " choice as a sequence of history-dependent functions \n", "- to formulate a recursive version of the follower’s choice problem \n", "\n", "\n", "First let’s get a recursive representation of the Stackelberg leader’s\n", "choice of $ \\vec q_2 $ for our duopoly model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Recursive Representation of Stackelberg Plan\n", "\n", "In order to attain an appropriate representation of the Stackelberg\n", "leader’s history-dependent plan, we will employ what amounts to a\n", "version of the **Big K, little k** device often used in\n", "macroeconomics by distinguishing $ z_t $, which depends partly on\n", "decisions $ x_t $ of the followers, from another vector\n", "$ \\check z_t $, which does not.\n", "\n", "We will use $ \\check z_t $ and its history $ \\check z^t\n", "= [\\check z_t, \\check z_{t-1}, \\ldots, \\check z_0] $ to describe the\n", "sequence of the Stackelberg leader’s decisions that the Stackelberg\n", "follower takes as given.\n", "\n", "Thus, we let\n", "$ \\check y_t' = \\begin{bmatrix}\\check z_t' & \\check x_t'\\end{bmatrix} $\n", "with initial condition $ \\check z_0 = z_0 $ given.\n", "\n", "That we distinguish $ \\check z_t $ from $ z_t $ is part and\n", "parcel of the **Big K, little k** device in this\n", "instance.\n", "\n", "We have demonstrated that a Stackelberg plan for\n", "$ \\{u_t\\}_{t=0}^\\infty $ has a recursive representation\n", "\n", "$$\n", "\\begin{aligned}\n", "\\check x_0 & = - P_{22}^{-1} P_{21} z_0 \\cr\n", " u_t & = - F \\check y_t, \\quad t \\geq 0 \\cr\n", " \\check y_{t+1} & = (A - BF) \\check y_t, \\quad t \\geq 0\n", "\\end{aligned}\n", "$$\n", "\n", "From this representation we can deduce the sequence of functions\n", "$ \\sigma = \\{\\sigma_t(\\check z^t)\\}_{t=0}^\\infty $ that comprise a\n", "Stackelberg plan.\n", "\n", "For convenience, let $ \\check A \\equiv A - BF $ and partition\n", "$ \\check A $ conformably to the partition\n", "$ y_t = \\begin{bmatrix}\\check z_t \\cr \\check x_t \\end{bmatrix} $ as\n", "\n", "$$\n", "\\begin{bmatrix}\\check A_{11} & \\check A_{12} \\cr \\check A_{21} & \\check A_{22} \\end{bmatrix}\n", "$$\n", "\n", "Let $ H^0_0 \\equiv - P_{22}^{-1} P_{21} $ so that\n", "$ \\check x_0 = H^0_0 \\check z_0 $.\n", "\n", "Then iterations on $ \\check y_{t+1} = \\check A \\check y_t $ starting from initial\n", "condition $ \\check y_0 = \\begin{bmatrix}\\check z_0 \\cr H^0_0 \\check z_0\\end{bmatrix} $\n", "imply that for $ t \\geq 1 $\n", "\n", "$$\n", "x_t = \\sum_{j=1}^t H_j^t \\check z_{t-j}\n", "$$\n", "\n", "where\n", "\n", "$$\n", "\\begin{aligned}\n", "H^t_1 & = \\check A_{21} \\cr\n", " H^t_2 & = \\check A_{22} \\check A_{21} \\cr\n", " \\ \\ \\vdots \\ \\ & \\ \\ \\quad \\vdots \\cr\n", " H^t_{t-1} & = \\check A_{22}^{t-2} \\check A_{21} \\cr\n", " H^t_t & = \\check A_{22}^{t-1}(\\check A_{21} + \\check A_{22} H^0_0 )\n", " \\end{aligned}\n", "$$\n", "\n", "An optimal decision rule for the Stackelberg’s choice of $ u_t $ is\n", "\n", "$$\n", "u_t = - F \\check y_t \\equiv - \\begin{bmatrix} F_z & F_x \\cr \\end{bmatrix}\n", "\\begin{bmatrix}\\check z_t \\cr x_t \\cr \\end{bmatrix}\n", "$$\n", "\n", "or\n", "\n", "\n", "\n", "$$\n", "u_t = - F_z \\check z_t - F_x \\sum_{j=1}^t H^t_j z_{t-j} = \\sigma_t(\\check z^t) \\tag{10}\n", "$$\n", "\n", "Representation [(10)](#equation-finalrule) confirms that whenever\n", "$ F_x \\neq 0 $, the typical situation, the time $ t $ component\n", "$ \\sigma_t $ of a Stackelberg plan is **history dependent**, meaning\n", "that the Stackelberg leader’s choice $ u_t $ depends not just on\n", "$ \\check z_t $ but on components of $ \\check z^{t-1} $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Comments and Interpretations\n", "\n", "After all, at the end of the day, it will turn out that because we set\n", "$ \\check z_0 = z_0 $, it will be true that $ z_t = \\check z_t $\n", "for all $ t \\geq 0 $.\n", "\n", "Then why did we distinguish $ \\check z_t $ from $ z_t $?\n", "\n", "The answer is that if we want to present to the Stackelberg **follower**\n", "a history-dependent representation of the Stackelberg **leader’s**\n", "sequence $ \\vec q_2 $, we must use representation\n", "[(10)](#equation-finalrule) cast in terms of the history\n", "$ \\check z^t $ and **not** a corresponding representation cast in\n", "terms of $ z^t $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dynamic Programming and Time Consistency of **follower’s** Problem\n", "\n", "Given the sequence $ \\vec q_2 $ chosen by the Stackelberg leader in\n", "our duopoly model, it turns out that the Stackelberg **follower’s**\n", "problem is recursive in the *natural* state variables that confront a\n", "follower at any time $ t \\geq 0 $.\n", "\n", "This means that the follower’s plan is time consistent.\n", "\n", "To verify these claims, we’ll formulate a recursive version of a\n", "follower’s problem that builds on our recursive representation of the\n", "Stackelberg leader’s plan and our use of the **Big K, little k** idea." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recursive Formulation of a Follower’s Problem\n", "\n", "We now use what amounts to another “Big $ K $, little $ k $” trick (see\n", "[rational expectations equilibrium](https://lectures.quantecon.org/py/rational_expectations.html))\n", "to formulate a recursive version of a follower’s problem cast in terms\n", "of an ordinary Bellman equation.\n", "\n", "Firm 1, the follower, faces $ \\{q_{2t}\\}_{t=0}^\\infty $ as\n", "a given quantity sequence chosen by the leader and believes that its\n", "output price at $ t $ satisfies\n", "\n", "$$\n", "p_t = a_0 - a_1 ( q_{1t} + q_{2t}) , \\quad t \\geq 0\n", "$$\n", "\n", "Our challenge is to represent $ \\{q_{2t}\\}_{t=0}^\\infty $ as\n", "a given sequence.\n", "\n", "To do so, recall that under the Stackelberg plan, firm 2 sets output\n", "according to the $ q_{2t} $ component of\n", "\n", "$$\n", "y_{t+1} = \\begin{bmatrix} 1 \\cr q_{2t} \\cr q_{1t} \\cr x_t \\end{bmatrix}\n", "$$\n", "\n", "which is governed by\n", "\n", "$$\n", "y_{t+1} = (A - BF) y_t\n", "$$\n", "\n", "To obtain a recursive representation of a $ \\{q_{2t}\\} $ sequence\n", "that is exogenous to firm 1, we define a state $ \\tilde y_t $\n", "\n", "$$\n", "\\tilde y_t = \\begin{bmatrix} 1 \\cr q_{2t} \\cr \\tilde q_{1t} \\cr \\tilde x_t \\end{bmatrix}\n", "$$\n", "\n", "that evolves according to\n", "\n", "$$\n", "\\tilde y_{t+1} = (A - BF) \\tilde y_t\n", "$$\n", "\n", "subject to the initial condition $ \\tilde q_{10} = q_{10} $ and\n", "$ \\tilde x_0 = x_0 $ where $ x_0 = - P_{22}^{-1} P_{21} $ as\n", "stated above.\n", "\n", "Firm 1’s state vector is\n", "\n", "$$\n", "X_t = \\begin{bmatrix} \\tilde y_t \\cr q_{1t} \\end{bmatrix}\n", "$$\n", "\n", "It follows that the follower firm 1 faces law of motion\n", "\n", "\n", "\n", "$$\n", "\\begin{bmatrix} \\tilde y_{t+1} \\\\\n", "q_{1t+1} \\end{bmatrix} = \\begin{bmatrix} A - BF & 0 \\\\\n", "0 & 1 \\end{bmatrix} \\begin{bmatrix} \\tilde y_{t} \\\\\n", "q_{1t} \\end{bmatrix} + \\begin{bmatrix} 0 \\cr 1 \\end{bmatrix} x_t \\tag{11}\n", "$$\n", "\n", "This specfification assures that from the point of the view of a firm 1,\n", "$ q_{2t} $ is an exogenous process.\n", "\n", "Here\n", "\n", "- $ \\tilde q_{1t}, \\tilde x_t $ play the role of **Big K**. \n", "- $ q_{1t}, x_t $ play the role of **little k**. \n", "\n", "\n", "The time $ t $ component of firm 1’s objective is\n", "\n", "$$\n", "\\tilde X_t' \\tilde R x_t - x_t^2 \\tilde Q = \\begin{bmatrix} 1 \\cr q_{2t} \\cr \\tilde q_{1t} \\cr \\tilde x_t \\cr q_{1t} \\end{bmatrix}'\n", " \\begin{bmatrix} 0 & 0 & 0 & 0 & \\frac{a_0}{2} \\cr\n", " 0 & 0 & 0 & 0 & - \\frac{a_1}{2} \\cr\n", " 0 & 0 & 0 & 0 & 0 \\cr\n", " 0 & 0 & 0 & 0 & 0 \\cr\n", " \\frac{a_0}{2} & -\\frac{a_1}{2} & 0 & 0 & - a_1 \\end{bmatrix}\n", " \\begin{bmatrix} 1 \\cr q_{2t} \\cr \\tilde q_{1t} \\cr \\tilde x_t \\cr q_{1t} \\end{bmatrix} - \\gamma\n", " x_t^2\n", "$$\n", "\n", "Firm 1’s optimal decision rule is\n", "\n", "$$\n", "x_t = - \\tilde F X_t\n", "$$\n", "\n", "and it’s state evolves according to\n", "\n", "$$\n", "\\tilde X_{t+1} = (\\tilde A - \\tilde B \\tilde F) X_t\n", "$$\n", "\n", "under its optimal decision rule.\n", "\n", "Later we shall compute $ \\tilde F $ and verify that when we set\n", "\n", "$$\n", "X_0 = \\begin{bmatrix} 1 \\cr q_{20} \\cr q_{10} \\cr x_0 \\cr q_{10} \\end{bmatrix}\n", "$$\n", "\n", "we recover\n", "\n", "$$\n", "x_0 = - \\tilde F \\tilde X_0\n", "$$\n", "\n", "which will verify that we have properly set up a recursive\n", "representation of the follower’s problem facing the Stackelberg leader’s\n", "$ \\vec q_2 $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Time Consistency of Follower’s Plan\n", "\n", "Since the follower can solve its problem using dynamic programming its\n", "problem is recursive in what for it are the **natural state variables**,\n", "namely\n", "\n", "$$\n", "\\begin{bmatrix} 1 \\cr q_{2t} \\cr \\tilde q_{10} \\cr \\tilde x_0 \\end{bmatrix}\n", "$$\n", "\n", "It follows that the follower’s plan is time consistent." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing the Stackelberg Plan\n", "\n", "Here is our code to compute a Stackelberg plan via a linear-quadratic\n", "dynamic program as outlined above" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hide-output": true }, "outputs": [], "source": [ "using InstantiateFromURL\n", "# optionally add arguments to force installation: instantiate = true, precompile = true\n", "github_project(\"QuantEcon/quantecon-notebooks-julia\", version = \"0.8.0\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide-output": false }, "outputs": [], "source": [ "using QuantEcon, Plots, LinearAlgebra, Statistics, Parameters, Random\n", "gr(fmt = :png);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define named tuples and default values for the model and solver settings, and\n", "instantiate one copy of each" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hide-output": false }, "outputs": [], "source": [ "model = @with_kw (a0 = 10,\n", " a1 = 2,\n", " β = 0.96,\n", " γ = 120.,\n", " n = 300)\n", "\n", "# things like tolerances, etc.\n", "settings = @with_kw (tol0 = 1e-8,\n", " tol1 = 1e-16,\n", " tol2 = 1e-2)\n", "\n", "defaultModel = model();\n", "defaultSettings = settings();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute the actual policy using the LQ routine from QuantEcon.jl" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hide-output": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Computed policy for Stackelberg leader: [-1.5800445387726552 0.294613127470314 0.6748093760774969 6.539705936147513]\n" ] } ], "source": [ "@unpack a0, a1, β, γ, n = defaultModel\n", "@unpack tol0, tol1, tol2 = defaultSettings\n", "\n", "βs = [β^x for x = 0:n-1]\n", "Alhs = I + zeros(4, 4);\n", "Alhs[4, :] = [β * a0 / (2 * γ), -β * a1 / (2 * γ), -β * a1 / γ, β] # Euler equation coefficients\n", "Arhs = I + zeros(4, 4);\n", "Arhs[3, 4] = 1.;\n", "Alhsinv = inv(Alhs);\n", "\n", "A = Alhsinv * Arhs;\n", "B = Alhsinv * [0, 1, 0, 0,];\n", "R = [0 -a0/2 0 0; -a0/2 a1 a1/2 0; 0 a1/2 0 0; 0 0 0 0];\n", "Q = γ;\n", "lq = QuantEcon.LQ(Q, R, A, B, bet=β);\n", "P, F, d = stationary_values(lq)\n", "\n", "P22 = P[4:end, 4:end];\n", "P21 = P[4:end, 1:3];\n", "P22inv = inv(P22);\n", "H_0_0 = -P22inv * P21;\n", "\n", "# simulate forward\n", "π_leader = zeros(n);\n", "z0 = [1, 1, 1];\n", "x0 = H_0_0 * z0;\n", "y0 = vcat(z0, x0);\n", "\n", "Random.seed!(1) # for reproducibility\n", "yt, ut = compute_sequence(lq, y0, n);\n", "π_matrix = R + F' * Q * F;\n", "\n", "for t in 1:n\n", " π_leader[t] = -(yt[:, t]' * π_matrix * yt[:, t]);\n", "end\n", "\n", "println(\"Computed policy for Stackelberg leader: $F\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implied Time Series for Price and Quantities\n", "\n", "The following code plots the price and quantities" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOydZ0BUR/fwZ3dpC9KLdBBsIFVAikoVGwrWKCjBTuwlGluK5YkGa6wRSyyYKIoUC5EOAtJ7WXrvILCwwC5b7vth3tz/fZYiKAqPzu/T7r1Tzswt587MmXNIGIYBBAKBQCC+VsijLQACgUAgEKMJUoSjTHl5+du3bzMzM9va2kZblrFIQ0ODp6fn1atXP0Xhp06d2rhxI4PB+BSFfxhMJjMrKys+Pp5Go7W3t3+GGi9fvuzp6dnQ0PAxheA9yWazPT09jx07NkLSfdV0dHRs3Ljx9OnToy3IVwCGGA26u7tPnTqlrq6OXwgKhWJjYxMZGTmscrhcrre396NHjz6RkN7e3gEBAZ+i8CFCo9EAAE5OTgMl+Oabb4j3s6Sk5LRp0/bu3VtXV/fews3NzQEATU1NIyryB1JbW+vm5iYkJERsjo6OzoEDB/AE3t7e0dHRI1vv/PnzAQA0Gu1jCsF7sru7G4o9UuKNCPAuwhEXF1dWVp4xY8bWrVvDwsK4XO5oC9g/8OvE0tJytAX58hH4RPoVMQgtLS1OTk7JyclSUlKenp46OjpdXV0xMTFhYWEODg6nTp06dOjQEIvi8Xienp4TJ05cvXr1iMvZ2dnp6elpbm6+ZMmSES98ZNHV1VVWVgYAdHZ25uTkXLx48eHDh3FxcZMnTx4kl4mJCZVK5dM9o0Jzc7OVlVVlZaWGhsaKFStUVVVbWlqKiopCQkJ8fHzOnDkDACgoKPD09NywYYONjc1oy/s/ibCw8OzZs+Hvrq4uGo2WnJz8xx9/TJ8+3cfHR1dXd3TFQ4wiSBF+bng8nqura3JyspWVVUBAgIKCAjx+5MiR4ODgFStWHD58WEtLi2+ggxic77//fsOGDfB3XV2ds7NzWlravn37Xr58OUiua9eufRbp3s/58+crKysdHByCg4OJirm7uzs0NHQUBfuSkJeXDwsLw/9iGBYbG3vo0KGEhARbW9vExEQtLa1RFA8xiiBF+Ll59uxZeHi4vLx8UFCQnJwc8dTChQsvXbq0ZcuWPXv2uLi4CAsLNzU1VVdXq6mp4foSQqPRuru7VVVVKysrAQAsFistLQ2ekpKS0tbWhhlVVVXHjx+fmZn59u1bDoczY8YMCwsLvJC6urr6+voJEybIyMgQC8/JyWGz2SoqKtnZ2QCArq4uvHBZWVlNTc2Bmkan09++fVtVVcVgMFRVVe3t7eXl5eEpDoeTlZUlKiqqo6NDp9ODg4Nra2tVVVXnz58vJSVFLKSqqiokJKSrq2vKlCmOjo7D61wAAADKyspnz561t7cPCwtjs9l0Or2yslJZWVlJSam4uDgmJoZOp7u6uiorKxcWFjIYDENDQwGB//8gtLa2RkVFVVdXCwsLT5gwwcbGhkql4iV3dnZGRERUVFRQKBRjY+OZM2eSSCT8LIZhqampNBqtqalJRkZGTU1t5syZoqKiQ5E5NjYWALB9+3a+4amoqCgcjldUVBQVFQEAWlpa8MsBry8AoLe3NzExsby8vLGxcfz48VZWVpMmTeKroqen582bN0VFRRiGqampWVtby8rKDiRPS0tLZWUlmUw2MjKCbcQwLD09PSUlhcFgqKurOzo6SktLD96o1tbW4ODgxsZGdXX1hQsXiomJ8SVoa2uLiIiorq4WEhKaMWOGmZkZMW95ebmioqKKikpZWVlUVFRbW9uqVavU1NRge8PCwgoLCyUlJefMmaOhoVFeXt7a2jp16tS+tQwEiUSytraOiYmZO3dudHT03r17g4KCAAClpaXt7e26urrES8/lcjMzM+ENDI/weLyEhISMjAw2m62pqeno6Dhu3Dg8fVFRUWdnp76+PolECg0NLSoqkpCQmDdvnqqqat9OCAsLq6mpoVKpZmZmpqamfUWtrq5uampSV1fHHyicqqqq5uZmDQ0NvpcJYniM7szsV4iDgwMA4OTJk/2e5XK5cOHQ19cXw7CLFy8CAC5fvsyXbPr06QCAfk1InJ2dMQy7cuUKAOD06dNubm7Esy4uLt3d3bCQn376CQDw119/8RWuqalJoVDOnj3bt/B169YN1K69e/cKCgoSE4uIiJw7dw6ebWlpAQCYmJgEBwcTX6BycnKJiYl4IWfOnCEWoqen9/r1azCENcI7d+4QD9bV1cESmpqa7ty5AwA4duzYjh078JIjIiKw/14j5PF4J06c4NNbYmJi+OLZzZs3+XS2mZlZZWUlPNvQ0ED8yIAICwvjvT04cLbz8ePHAyVYt25d38tx9uxZDMP++usvcXFx4nESifTtt98ymUw8+6NHj6DKxBEQEHj69CnW3xphTk6OmpqasLAwvvZcUlIC+wpHQkLi7t27eJa+a4TPnj0jKgZlZeWEhARii86cOcOntOzs7PD12r///hsAcOjQof379+NfGy9fvsQwrKioaOrUqXguMpl86tQpeJ8T7yUicI1QVVW137M5OTkkEolEIlVVVWEYtnTpUgBAVlYWMU1HRwcAwMjICO8Q+AziyMrKwv6E2NnZAQDCwsKmTJlCvB/4nuUbN24QewkAYGtr29DQAM/ia4TPnj0DAKxZs6av8EZGRgCA/Pz8fpuGGCJIEX5WWCwW/MzMzMwcKM13330HANi2bRv2PkVYUFAA9YSysnLYv8CSoSJUVlZWVVX19/evqqqKi4uzsrICALi7u8NCBleEFRUVT58+BQBMnToVLzw3N3cgsd3d3Xfv3v3q1au8vLysrCxvb2+4aBcUFIT9qwgVFBTExcW///776OjouLg4+HLX1taG1gp//fUXAEBRUfHx48dVVVVv3761t7eHhQxXEcbHx8N3PZPJhIpQXV1dQUHhwoULMTExL168KCsrw/5bEX7//fcw2Z07dwoKCrKysnx9fZ2dnTMyMjAM8/b2BgCoqKjcvn07Ozs7KSlp+/btJBJJV1cXqjr4Ivbw8EhOTq6qqsrMzPz7778XL148REW4e/duAMDEiRPfvHnD4/H6JsjNzYWfJvPnz8cvR0VFBYZhFy5cWL169dOnT9PT02k0mr+/v4mJCQBg//79MO/ff/9NIpHExcV/++237Ozs/Pz8ly9fbtiw4eHDh1gfRRgeHi4pKSktLR0TEwOPNDQ0KCkpUSiUbdu2vXnzhkaj3b9/X1FRkUQiBQcHwzR8ilBaWlpUVPTIkSOFhYVFRUVHjx4lkUgyMjL19fUw/X/+8x/Y3ocPH+bl5cXHx3/77bfwpc/hcLB/FaG6urqsrOzZs2ejo6ODg4OLioq6uromTpwIAPD09MzOzq6srLx165aEhAS8Tz5MEWIYBjUr7JD3KsK2tjY4L/Ltt9+mpqYWFBScP3+eSqWSyWT4gYX9qwiVlZXnz58PbwkfHx84BMetz+ANLy0tffPmzaKiooSEhEWLFgEADA0N4UcMrgjZbLaqqiqcIiJK9fbtW/gBMVC7EEMEKcLPSkVFBfzuY7FYA6W5dOkSAGDevHnY+xRhe3s7m82GLxS+BFARkkik1NRU/GBHRwecYs3OzsbepwgxDGtsbAQAmJubf1hj09PTSSSSvb099q8iBADgY0RiQ1JTU7lcroaGBgAAf/9iGNbT0wMPDksR0ul0W1tbAACsGipCEomUnJzMlxd/fefm5pJIJFlZWTgm4KO1tXXcuHGSkpJQ8eBs27YNAHDjxg0Mw5SUlKSlpfvVYUMBzmPDLlJQUFi2bNnZs2f5LDkjIiIAABs2bHhvae3t7SoqKuPGjWOxWAwGQ05OjkKhDGRuSlSE9+/fFxQU1NTUJI4wNm7cCAA4deoUMVdGRgaFQjE0NIR/+RQh/iWHA4fje/bswTCsoqJCQEBASUmpubmZmGblypUAAH9/f+xfRQgAePPmDTENnAVZtGgR8eDDhw9h4g9WhMuWLQMA/Prrr9gQFOHx48f73pPwU8nY2Bj+hYpw8uTJxCf91atX8MuSx+NB3Qb+HeZCOBwO/Ii5efMm9t9Wo3BHyoULF4iVwk/JQSYSEEME7SP8rMDHSVhYeBBLRQkJCQAAnU7/+OpsbGzgcwURFxffsmULACAgIODjC38vxsbGampqycnJ+BEREZGdO3cS08BVwPLy8vT09MrKSjMzM2tra2L67du3D6WuBw8eeHp6enp6LlmyRFtbOzo6WkxMjDi7a29vT1yC4gPOAW7btg0uQfEREBDAYDDc3d2hVsaBijA4OBgAICUlxWAwcnJyhiJtX1RVVXNzc/ft26eiotLU1OTv73/gwAEdHR0TE5OMjIzhliYpKWlra8tgMPLz80NDQ1taWubNm/deW9NLly6tW7du6tSpsbGx+EoYm81+/PgxlUqFI2YcIyMjKyurrKwsfBaaD7708K+/vz8A4PHjxxwOZ+vWrXzLWlu3bgX/9ifEysoKt/OEvHjxAgCwd+9e4sHVq1crKSkN3rrBGdZDB1vBZ9q9fv16JSWljIyMsrIy/ODOnTuJT/qCBQt0dXULCgry8/OTk5NramoMDAycnJzwBBQK5YcffgAAwLlQIlu2bBEUFPT29sb+9QVGp9OfPHkiJyc39o26xz7IWOazAhdFent7uVwuhULpNw38puZbOfgwDA0N+Y7gKwofXzgfTCbz8uXLAQEBlZWVjY2NPB4PP8ViseCPCRMm8H0BwIWrxsZG2OqBBH4vMTExMTEx8LeCgoKbm9tPP/1EXEka3Dg+KytrkLqgKiouLuZ798HhOLRX2rBhw4EDB0xMTBz+xdjYmGhK814kJSXPnz9/7ty5nJycpKSkiIiIly9fpqen29nZpaenD2LQiGGYr6/vn3/+WVRUVF9f39vbi59qaWkZvGk4u3btCgsLmz9//tOnT4n3XnFxcVdXl4KCws8//8yXpbW1FQBQUVEBpyWJiIuL8wmsqakpJSUFDalgf2ZkZPD1J3QggM+agP6uGrQY4jtOoVCmTp1aX18/eBsHATpVgOrwvcDHh2+NUFBQUF9fv76+Pi8vD2873/1MIpGMjIzy8/Pz8vLgNzFfIQAA+OWal5fHd1xJSWnx4sX+/v6xsbHwY9HHx6e7u3v79u3CwsJDbiiif5Ai/KwoKioKCAhwOJzS0tKBtriVlpYCAPpal30AfW3M4NRoZ2fnxxdOhMvlzps3782bN9ra2suWLZOXlxcREQEA/P777w0NDRwOBybra0IJVQWPx4NvIj7j2H6P9MuVK1fWrFkDAKBSqbBqPga3qYNvpb4vdAh8QcfHxxNHtxBpaWlocfr999/Ly8tfuXIlNDQ0JCQEAKCpqXn+/Hk45zZ0SCSSgYGBgYHB5s2bKysrbW1tKyoqLl68COe6++Xw4cNeXl6ysrKLFi1SU1ODaiwwMDAxMZHD4cCmvXfAlJmZCQCwsLDg+wKDbW9ra7t582bfXNLS0vBrgI++Nx4AQEFBob29vbOzEzpRCg8Pj46O7lsgbsEL+rtqPT09AAA+q6V+jwyLkpISMPANQITFYrHZ7HHjxvW9meFXHfHh6nv3wp7p7Owc/Ibv9wndunWrv7//rVu3oCK8c+cOiUTatGnTe2VGvBekCD8roqKixsbGKSkpYWFhAylCuNVp5syZAAAymQwAII6uIF1dXUOprqmpie8IXPaDX764Evqwwok8f/78zZs38+bNe/XqFXGke+HChSGWAO0eoXh9BX4voqKi77XmHwT4Gq2trR1EtnPnznl6eg5UAolE8vDw8PDwqK+vj46ODgoK8vPzW7lyZXR0NN/k3tDR0NDYu3fv7t278f0SfWloaDh37pyamlpaWhpR/aSkpMAfkpKSAICBJjBx/Pz8du7ceezYsZ6ent9++w0/Dtuuq6sLNeUQ6XvjAcK9B8u8d+/ee78S+g6ppaWlGxoa6urq+Eac723gIFRVVcE5bfjQ9ftc4A8FXNdgMBhdXV18Vq9wSY84rGxsbCRajYJ/ewZPM9AN3+/Y1MHBYcqUKU+fPr1w4UJJSUlmZqaDg8PgLiMQQwStEX5uPDw8AACXL1/GJwyJ/PPPPzk5OeLi4itWrAAAKCoqgj6vFSaTia9DkMlkCoWCD7n46Lu8lJ6eDgCYNm0aXjjfo9jc3Nzc3Ax/w50MAxVOBL4lV65cSdSCNTU1/b4Q+wWKNJDAnxpjY2MAwED6Bp6FlqjvRUlJydXV9fHjx6dOneLxeHA96YOBs17we6jfy5GTk8Plch0cHIhakMfj4XoLTr69txsVFBSio6PNzc29vLy2b9+OL0RNnjxZVFQ0Ly9vWIvWDAYDzmHilJaW0ul0TU1NMTGxYfUnH7A5+DQ4pKWl5YNXZwEAhw8f5nK5s2bNgkql3+eCuJqgp6cHAEhNTSUmYLFYcN8tPAvhu58xDIMXQk9PDy8E++/4P/ALRl9fv6+cJBLJ09OTxWI9fPgQDtAH+TJDDAukCD83GzZs0NHRKSoq2rx5M99LrbCwEE50HDlyBI5R4GfvP//8Q0x27tw5fD6KTCYrKSk1NTX1q1ZjY2OTkpLwv3Q6/datWyQSafny5QMVTvTwC43ga2tr+44a+YBv4aqqKuLBvqtKg2BkZKSlpZWenh4ZGYkf7O7uvn79+tAL+WDWrFlDJpNv3LhBXKDCWb58uYSExJMnT/pVJwwGA8OwvsNoOBuJX5cHDx7cvHlzoC+DJ0+e9HWx3dvb6+PjA/5dN1JRUQEAVFdXE9P02/P379+HE+wAAEdHR0VFxbCwsPDw8H6rxpGWlg4JCbGysrp+/bqnpye86MLCwm5ubhwO58cff+y37QOVdv78eeLfc+fOAQDg593atWuFhITu3LkDJySJ9NuTROAui9OnTxMV84kTJ3Br1WFRX1/v4eHx999/U6lUfPai73PB4/G8vLzwv7AVXl5eRB12586dxsbGGTNmED1OXLlyhfhgvnjxorCwcNq0aTo6Oqamppqamnl5eUTnR2w2G1p4QQPavqxbt45KpV6/fv3Jkyfjx493cXH5gFYj+mHU7FW/YvLy8uBqhL6+/tWrVyMjI1++fLl//34407J69WrcCzCXy4UuQlxdXcPCwv75558tW7ZISEjAj9b29nYMw6DNmJOT08WLF729vV+/fo39u31CXV1dUVHRx8ensLDw9evX0GnFxo0bYeE9PT3wZb158+bIyMgXL164u7vLyclJS0vD7RMYhsHViBUrVvz+++/e3t5RUVH9tig7O5tEIomKil65ciUvLy8hIWHdunXi4uLwNc1gMPAN9XwZiftD/Pz8AABycnJ3794tLCwMCwubOXMmdC8w3H2EROD2iePHj/c9RdxHCNW2kpLS1atXMzIykpOTfXx85s2bl56ejmHYgwcP4Fa8Y8eOhYaGZmdnv3r1ysvLS1dX9+rVqywWS0JCYuvWrc+ePcvIyMjNzX3w4IGysjKJRMK9qMPlroHs+2fNmiUmJubq6nrz5s2IiIjXr19fvXoVWrhISUmVl5djGMZms8ePH08mk7du3XrlyhVvb++srCwmkwmXpvbu3ZuWlpaVlXXy5ElhYWH8bY5hmL+/P5lMplKpv/zyS0JCQlZWlr+//5o1a+7fv4/12UfIYDDmzJkDAHBzc2Oz2RiGNTc3T5gwAQCwePHiJ0+eZGZmxsbG3rt3b8WKFfhuAb7tEzIyMuPGjduzZ09GRkZmZubevXtJJJK8vDy+DQ5qHTk5ud9++y0iIiI7O/v58+cnTpzQ1taGriTg9onDhw/37StXV1cAgKam5k8//XT+/HlHR0cJCQkoQFJSUr/dC7dPiIuLHzx48ODBg/v379+4caOVlRUcZCsqKoaEhOCJS0tLhYSEBAQEfvnll9jY2KdPn9rb28PHEG6f6OzshHsZV61aFRsbm5WV9Z///EdYWFhAQCA2NhYWArdPqKur29nZRUVFFRQUeHt7S0lJkUikV69ewTR+fn4kEklCQuLKlSu5ubnh4eFz584FAJiamvb29mIDON1ev349fHUfOnSo38YiPgCkCEeHqqqqVatW8RmOysnJ/f7773y+8NPS0oiWDvLy8pGRkfg+QgzDysvLbWxs8KKInmW8vLxwD5yQ1atXEx2OxMTEEP1sqaqqJiUl4fsIMQzLz8+3sLCAU3NgUM8yly5dIjqFkZeXDw8PNzAwGLoihGITTV2MjY3hOOYzKEIMw86dO8fnokVWVrawsBCe9ff37+tebuLEieHh4Ww2W1tbm++UlJTU7du3Yd7e3l4qlSooKNjvPkUMw86fP4/vWCBiZWVF9L0QERFBNIWFnmWioqKIF1FQUPDixYtw2wlUhBiGBQYG8plfUanUwMBArD/PMkwm09nZGQDwzTffwDdyXV2di4sL34rduHHjduzYwdeTuGeZly9fEhe6NDU109LSiE2+d+8e/J4jMm3aNKjMBlGEvb29Bw8ehGufAABzc/PU1FS4CWEghw980ScgcJPJlStX4HNE5O7du3z3YW5uLiB4lqmsrIQLijhKSkrEHYFQEUZHRxNnSqlU6q1bt4gV3b9/n8/BoZOTU0tLCzzbryKEczxkMrmkpKTfxiI+ABKGItSPHi0tLfHx8Q0NDSIiIhMmTLCysiKazOF0dXWFhYVBN5Jz586F05UsFktTUxNXURwOp7GxkcViiYqKKioqXr16defOnWfPnt2/fz/0ss/hcMzMzKBmIkKn08PCwt69e6eiojJnzhwREZGqqioOh0M0RmCz2Q0NDWw2Gx/k9UtdXV1iYmJzc7O6urqtrS2VSq2pqent7Z0wYQKPx6usrBQWFobze8Ta3717Jycnh780GxoaIiMju7q6Jk+ePHv2bC6XW11dDRvVb6WNjY1dXV3y8vJ8Ogyns7OzublZWlq6rzVNTU1NT0+PlpYW/hnR2dkZFxdXVVUlKiqqqalpYWFB1O4cDiclJaWwsLC3t1dJSWnSpElEtVRdXZ2VldXQ0CAkJKSurj5jxgzcsPDt27czZ87cvHlzv7aXOFVVVTQarb6+nslkysnJTZ8+vd9dE0wms6GhgcfjycrKQn3Q0dGRkJBQWVkpLS1tZ2cnJyfX0tLS0dGhqKiIy9Db25uQkFBcXEyhUJSVlWfOnAkNRBsaGrq7u9XU1Igt7e3trampAQAoKSnhLjerqqoSExNbW1slJCTU1dVNTU1xbYH3JJlMLi8vFxQUVFNT6+joCA8Pb25uVlNTs7e372vNC12klpSUcLlcJSUlXV1dvL0MBqOpqUlKSopPT+DAe1JCQgL2wJQpU0pKStra2vo1M2Gz2cQpZQqFIiEhMbh1VX19fURERHd39+TJk+G8SEVFhZCQEPF7IjMzMzMzk8ViaWtrz5o1i9hAe3v7qKio8vJyNTW1mJiYkpIScXHxOXPm9H18YOQZeMuZmZkRv4e4XG5ZWRmVSiVWGh8fP2vWLEdHR+SNfSQZbU2M+CTAESEcMSBGnZMnTwoJCUG/bogRJyoqCnyEC6RPARwRwjntkQUuHz5//nzES/6aQdsnEIhPjoaGxs2bN+FKG+Ij8fLyotPpCxYs0NDQaGpqiouLg+7Hjh49OtqifULgED80NNTPz09PTw96JUWMFEgRIhCfHHd399EW4cuhs7Pz9OnTRPNmKSmpW7duLV68eBSl+tT88ssv0IJaTEzs7t27w3JahHgvaI3wyyQ9PT0sLMzOzm7GjBmjLQsCMcKUlpamp6fDvSiamprW1tYDrRCPFo8ePaqqqvruu+9wo56PJDQ0NCMjY/z48fPnzx9ovRzxwSBFiEAgEIivGrShHoFAIBBfNUgRIhAIBOKrBilCBAKBQHzVIEWIQCAQiK8apAgRCAQC8VWDFCECgUAgvmpGXhHS6fTW1tYhJkabNxBE3hvvCfFVge4HBJFPdz+MvCK8efMm0enDIHC53J6enhEXAPG/y+Cx6BBfG+h+QBD5dPcDmhpFIBAIxFcNUoQIBAKB+KpBihCBQCAQXzUfGH0iJSUlOztbTk7OxsZGSkpqZGVCIBAIBOKzMWxFiGHYpk2bIiIi7Ozs2tvby8rK9u7d+ykkQyAQCATiMzBsRejj4xMXF5ednS0hIfEpBEIgEAgE4nMy7DVCX19fT0/PhoaGsLCwlpaWTyETAoFAIBCfjWGPCEtLSxkMxtOnT9XU1CIjIx8/fjxnzhy+NOnp6efPnyceUVFRWb58OV8yLpfLZrPZbPZwZUB8qaD7AUEE3Q8IIh92PwgICJBIpPekGW6hTCZTWFg4OjqaRCL98ccfe/bsyc3N5UvT0dFRUVHBd5DL5fY9wuVyb2X5yFNlF2vPG64kiC8PeEuMthSIsQK6HxBEPux+oFAoI68IlZWVZ8+eDcu1sbHZuXMnl8ulUCjENLa2tmfPnn1vUVwul0QiiQmLdnIZIiIiw5UE8eXBZrPRnYDAQfcDgsinux+GvUbo4OBQXFwMfxcVFSkrK/NpweEiISzezuz4mBIQCAQCgfhghj0i3LZtm6mp6b59+1RUVC5cuHDixImPlEBSWILOQooQgUAgEKPDsEeESkpKqampysrKPT09z54927hx40dKICks0dHb+ZGFIBAIBALxYXyIZxklJaX9+/ePlASSwhJ0NDWKQCAQiFFi9H2NSgqLo6lRBAKBQIwWY0ERStBZaGoUgUAgEKPD6CtCIYoQhUzpZqMIvQgEAoEYBUZfEQJkOIpAIBCI0WNMKEIpYYkONDuKQCAQiNHgA+MRjixoRIj4wti9e3dmZuZoS/E/D4/HI5PHxMc6Yixgbm5+5syZT1HymFCEEsLi7UgRIr4gMjMzly9fbmhoONqCIBBfCHFxcYmJiZ+o8DGhCNGIEPHlYWhoaGNjM9pSIBBfCG1tbZ9OEY6JaQdJYXG0RohAIBCIUWGMKEI0IkQgEAjE6DAmFKEEci6DQCAQiFFiTChCNCJEIBAIxGgxVhQhWiNEIBAIxKgwJhShFBoRIhAIBGKUGBOKEK4RYgAbbUEQCAQC8dUxJhShEEVIgCzQw2aOtiAIBAKB+OoYE4oQANMyzsgAACAASURBVCCBZkcRiE9GSkqKoaGhoaEhjUZ7+fJlcXFxcnJyfHz8ixcv9uzZ8wEFtre3m5ubj7ickJaWlra2tuHmqqys7O3thb8TEhISExNLS0tfvHjRb2IfH5+WlpbXr1/n5+cDAI4fP25lZbV58+Z+E1+9evXChQshISFbt24drlSfAgzDysrKMGx4U2gMBqOhoQH/e+nSJR6P9+jRI+JBnMrKSn9//56enhs3bgylcOhKaYiSRERE5OTkZGdnR0REJCUlwTuzsLBwiNk/BWNFEUqJSLSz6KMtBQLxZcJgMMhkcnp6uo6Ojo+PD3wHvX79urW1tby8/AMK5HA46enpIy4n5MSJE5cvXx5uLktLy+LiYvg7NDQ0PDw8Nzf3/v37/Sa+cOFCfX29r69vWlra27dvHz586Ovre+HChX4T19fX19XVtbe3l5aWDleqTwGTydTW1mYyhzeFFhAQsGnTJvzvkSNHOBzO1atXq6qq+iYuKiq6desWg8E4fvz4UAqXlpaeNWvWECV59uxZYmJiYmKiv7+/ubl5enp6W1tbT89oRuIbEy7WAAAyIlJtzPbRlgKB+JKhUCgDncIwLDo6urCwUEdHB3qGYzKZcXFxRUVFcnJyCxYsEBcXBwA0NzcHBwcLCwsT33o0Gu3t27dSUlILFy6kUqnv3r0rLS3V0NB48eKFnp6ehYUFsaLKysqoqCgqlTpnzhxZWVkWi/X27Vs7Ozt4Nj09XUhIqLq6mk6nh4eHy8vLa2ho0Gg0LS2toKAgeXl5JycnmKCjo2PatGkAADabHRMTo6CgwGKxEhMT6+vr4fEh0t7eHhwcLCUlVVhYOHHiRHFxcS6XGxoaWlVVZWRk1O+ol8PhhISE1NbWTp8+3dTUtKenJzk5GXZaWVlZQ0ODlZUVAKCwsFBISGjChAm9vb1hYWG1tbVmZmbGxsawmSoqKnl5eXl5eZ6enkJCQsQLERERUVJSoqenBzu5qKhIQEBAS0sLANDR0ZGTk8PlcgEAkZGRwsLCZmZmFRUV8vLyBQUFxcXFs2bNgs2PjY01NjYeN24cAKCkpKS7uzsvL6+lpSU8PFxYWHj27NlD7yIejxcZGWlubv7ixQsul+vk5CQjI9Pd3Z2SkmJsbBwYGKigoGBubm5iYgLTJycnZ2ZmiomJzZkzZ/z48VwuNyIiory83NDQkO9mgAxyW342xs6IUKqNiUaECMQnR0dHR05OTk1NTVNTEx7h8XhLliw5ffp0U1PT0aNHt2/fDgC4e/euj49PW1vby5cvjYyMOjo6amtrTUxMYmNj09PTV69eDfNevXp1yZIlVVVVz58/nzFjBoPBSE1NXbly5ZIlS2g0Gt+0W2RkpJmZWW5ubmhoqKGhYUlJybt37xYtWoQn+OGHH0JCQqqrq8vKysLDw7OysnJzc5ctW7Z06dK6urpr164tWLCAx+MFBAR4eXnBLAwGw9HRMSsrq7e3NyEhITw8vKGhQUNDQ11dXVZWVkdHp99OmD59upiY2OTJkykUSk5Ozrt378LDw8vLy3k83oIFC7y8vGpra93d3X/66Se+jBwOx8HB4eLFi9XV1atWrTp16pSgoKCzs3NdXR0A4MiRIw4ODt3d3QCArVu3ZmZm0ul0CwsLHx+f+vr6NWvWXL16FTZz0aJFf/zxR1lZGYfDIZa/cuXKH3/8sb6+/rvvvtu5cycA4I8//njw4AE8W1xc7OHhkZKSAgCIiooKDw9vb2//+eefnZycbt++XVVVZW9v//z5cwCAm5sbPtb/888/b9++jSvCN2/eAABmzpxJJpMNDQ3hJw4f0tLSenp6QkJCFhYWHA7H0dHRyckpJycnPDzc1NS0qamppqZm8eLFixYtSk9Pr6+vz8vLg/PGO3bs8PDwqKmpSUlJuX79OovFsre3v3btWmNj47Zt244dOwYAmDhxopKSkpKS0sSJEwe4ST83Y2VEKC0siRQh4guG1o6dzuR9nrp0pUmHDAf8xoUvIwicOXz8+PG7d+9iY2NJJNLBgwe1tbV37969detWfEnMzc3N19e3oKBgwYIF3t7eAIDbt28nJSU1NDT8/PPPeXl5SkpKAAAPD4/bt2/r6Og0NjYmJCQoKyvzVb1///7Tp09v3LgRALBnz56TJ0+ePn2aL42mpqaVlZWsrOwvv/wCAIiLi2tqaoqOjp4yZQqXy9XT03v58mXfRrm7ux88eHDv3r1wPAQHXgCAgebr7ty5AwA4fPgwAEBaWprFYv32228AgKdPn1ZVVeXm5goICGzevHnKlCl8C4ePHj1qb2/PyMggk8keHh4GBgYbNmyYPXt2ZGTkmjVr4uLi5syZExcXZ21tnZycbGtre+bMGVNT05s3bwIANm3apKuru2XLFgCAgYEBlIFIeHh4YmJiSUmJiIjIrl27JkyY4Onp2Vf4bdu27d+//+TJk1QqFR6ZMGHC33//DQAwNTU9ePCgs7MzXxYqlfrNN9/4+vrCZgIAQkNDAQDXr1/vt39MTU1NTU0BAAEBAXDl9bvvvnNzcwMArF279vLly99++21nZ+eFCxdgsri4OABAfHz806dPi4qKJCUlYTmXLl2SlpYODAwEAOzevVtLS2v79u379u3rt9JRZMwoQhHJpu6W0ZYCgfhUyAiT5qiQPk9diqLDqyghIYHBYHz33Xf4kby8PEFBwUOHDuXk5LBYrNbW1gkTJmRkZMCXOADA3t4eAJCZmUkikXDNWlxcLCAgoKOjM2nSpL5akMPh5Obmzp07F/51dHQ8dOjQUMRTUVGZMmUKAIBCodjY2KSnp8vIyAyrgUMnIyPD3t5eQEAAAKCmpjZp0qSsrCy+BA4ODjBK4sSJE1VVVXNzcx0cHCIiIvT19SdNmuTs7BwREUEikXR1daWlpRMSEgAAuD7jcDhwoNZvZJKMjIzZs2eLiIgAAGRlZY2NjTMyMoYiNrwc8EdhYWFXV9cH98BA4NPX9vb2T58+/fbbb8XExKAWxElKSrKxscG1IAAgISGhsbGRqM4LCgrk5eVHXLyPZKwoQikRqcLWMbEQjUB8CsZTwbeTxspKBB8kEsnQ0BBXclu2bJkwYcLy5csXLlz4119/CQgI7Nq1i8PhkMlkHu//D2rhMhUAQEpKCs8IAJCRkSkqKsJHKkTIZDKZTMYzcrlcAQEBYpkAgH4NQPAsxFz4QRaL9cEN7wuFQiHKw+FwoFIktoI4mQkTODg4nD9/Xl9f38HBwcHBwdvbm0QiOTg4AABIJJK1tTU+/btlyxY1NTUAQL9dxFc7l8ulUCjELhqoscReBf92NZ6LyWQKCgoOqx/6Qrz0sE/6NoFPfgAAiUQyNzd3d3eHf7ds2TJp0qSPlORTMFaeTGkRSWQsg0CMCra2tklJSbq6uiYmJiYmJoaGhhISEmVlZXZ2dgICAkwm859//gEAWFhY4NOS8IeJiUlrayuZTDb5l74DQRwymWxqahoUFAT/BgYGWlhYyMvL83i8iooKAEBjY2N2djYAQFxcvLPz/3wu1tfXQwtVJpMZFhZmbm6uoqKCW9vDKb6+uYhER0e/e/duKF1hYWEREhIC9XFBQUFlZSU+ywqxtLT8559/oELKzMxsbm7W19fX19dns9k3b950cHDQ0tKi0+n+/v5wlGZra5ucnGxsbAz7R09PT1RUdJDaIyMjOzo6AADV1dWZmZlmZmbKysp8jRUWFhYSEiI29tWrV3A3BVzQpVKpeC4OhxMZGTl4/9TW1r431B/x0vdr8wIAsLa2joyMJC4M29raJiYmGhoawubr6+v3uyQ56oyVEaE0shpFIEaJZcuWRUZGGhgYODg4dHV1xcbGJiUlrVmzxs3Nbd68eYmJiXAJcO/evdbW1k5OTnJycvBlJy8v7+3t7eTk5ODgQKVS09PTd+3aNX78+IEqunjx4pIlS1JSUlpbWysqKsLCwigUyvbt2x0dHWfPnl1UVKSurg4AWLx4sYuLS2Zm5syZMx0dHVVUVHbs2GFgYJCYmGhubu7o6NjT03Po0CFHR0dodwoLX716tZubm7a29sGDB+fMmUOs19nZOSAgAA7RBsfJyenRo0empqZWVlbBwcGnTp1SVFQkJli6dOmjR4/Mzc1nzJjx8uXL8+fPy8rKAgDs7OyCg4PhVKGtra2Pjw9cnty/f//y5ctNTU0tLS1bWlqysrIKCgoGqt3KymrVqlVmZmY2NjYhISEHDx6cNGmSq6vr2bNnly1bxuVy4awpmUz+5ptv7OzslJWVL126BADo7e2dM2fOhAkTnj9//uTJEwDAzp07t2/f/vr164KCAikpKQDA7Nmzd+/ebWNjo6io6OvrS6z3xYsXt27dSktLG6RnAgICkpKSampqmpqaHjx40NjY2DeNsbHx3r17zczMFixY0NnZqaysfObMmTdv3hgYGNjY2NDp9NjY2LKyso8fno482Ehz5syZ/fv3DyUlh8Pp6uqCv1u6W1383EdcGMT/Fh0dHaMtwshgbW0dHR092lL8H5GRkfr6+s3NzRwOh3i8tbUVbs3GMKy0tDQwMPD169fv3r2DRxITE589e1ZbW1tTU1NTU4NhWFdXV0hISGRkJIvFSktLg8laWlpCQ0OfP39eXFyMYRidTqfRaANJ0tbWFhISEh0d3dPTgx+Mj48PCgqi0+mFhYWtra0YhnV2dubk5JSUlMTGxurq6nZ2dj5//jw+Pp7H48EsHR0dwcHB0dHRvb29qamp8GBDQ0NaWlpLSwuxxuLiYk1NTRaLNZBI7969KyoqIh7JzMwMCgoqLy+Hf+vr62tra9va2kpLS+GR9PT0oKCgqqoqPEtdXV1+fj4uRm5uLrHArKwsf3//qKgo+MbDm9kvubm5QUFBsDMhzc3NQUFBycnJXV1dOTk58GB1dXVqampnZ6ezs/Pdu3dzc3MDAgLq6urwXPn5+c+ePav5FwzDent7aTRaVlYWX41btmy5evXqQPLAT422trbw8PDQ0NDu7m4Mw3p6ejIzM/E0DAajoKAA/i4vLw8MDIyIiMAvMY1GCwgICAsL6/uA9/b2Njc3q6ioZGRkDCQAJCAgYNGiRYOn+WDGiiLk8Dh2fy3h8rgjLg/ifwikCD8RGRkZNjY2NjY2hYWFoy3L8ICK8GNKyMrKCg8PHyl5xiBQEX5MCdeuXWMymQOdhYqws7PzY6oYiNTUVHhnEhV/v3xSRThWpkYpJIqYkGhHb6eUsOT7UyMQiOFgZGQUHR092lJ8CHJycvPmzfuYEgwMDEZKmLHJzJkz8S2hH8a2bdsGOUsmk1euXMlnNDRSmJiYjIU7c6woQgCdy/S0I0WIQCBwpk6dOpDnMwTkhx9++KTlCwgIwHXHL5ixYjUKkHMZBAKBQIwGY0gRSotItiG/2wgEAoH4vIwpRSjVjnZQIBCfgJycHGdnZ2dn59LS0sTExNra2oKCgry8vMjIyF9//fUDCuzs7HR1dR1xOUeK/Px8Go1WV1cHHbv0JTw8vKOjIzU1FcZeuHv37po1a6BTt748fPjw7t27cXFxAyX4XyQgIADDsKioqH4jXjU1NcXFxfX29vbr0K4vNBptx44dQ6w6IyOjvLy8vLw8IyMjKysL3pkfFgVlpBhDilAKuRtFID4NLS0tpaWlv//+u5qa2sWLFxMTEwMCAh4/flxdXZ2cnPwBBbJYLD8/vxGXE7Jr164hRv8hoqysnJeXB38/ffr02bNnKSkp58+f7zfxgQMHKisrr127FhMTk5GR8fPPP2/duhX60uwLjUbLy8urra0dSK1+Znp6ekgk0nDjFvn4+BD9m69du5bNZv/444947CoiWVlZv/76K51OHyhGIx9kMnkQRwF83Lp1Kzw8PCws7Pbt25MnT/7999/T0tLo9NF8+Y8hYxlpEcnC1pLRlgKB+DIREhKCoXwGoqysrLCwcMqUKXiywsLC4uJieXl5U1NTGCuHyWQmJiYKCwsT4wa8e/cuIyNDSkpq+vTpZDK5o6Ojrq5OQ0MjNjZWXV196tSpxFo6OztTU1NFRESmT58uLCzMZrNzc3Nx7y0w5FBTU1Nvb29aWpqUlNT48eMrKyu1tLTevHkjLy9vbGxMIpGampq6u7uhqSSXy83MzJSSkmKz2fn5+Uwmc1gmlAwGIyQkRFVVlUql4k4y8/Pzq6qq9PT0VFVV+82Vk5NTV1enr6+vrKzMZDKLioqgbWpDQ0Nra6uuri4AoKamhkwmKysrYxiWm5tbV1dnaGgIt+cXFRXJy8u/e/cuLy/PycmJzyCzqKiotLRUV1dXQ0MDAFBdXU2hUKDLnu7u7rKyMjabDQDIyMgQFhaeMmVKY2OjlJRUa2trSUmJqakp9OSZk5MzceJE6AWttra2t7e3oqKCTqenpaUJCgoOy5IWw7D09HQDA4OkpCQej2dubi4sLMxkMgsLC6dNmxYfHz9u3DgdHR3c015tbW12dra4uPiMGTNghKmCgoLy8nI9PT3oXo4IlUrV0tIa9UhMY0oRIucyCMQnR15eXkxMTFJSkhgGb+fOnVFRUTNmzIiPj1+3bt3hw4evXLny7NmziRMnFhcXM5nMmJiYnp4eOzs7eXl5WVlZ6AYMAODn5/f999/b2tpWVVVRKJTg4OCEhISdO3fKysqqqqo6OTkRFWFGRoazs7O5uTmdTm9sbAwNDeXxeLNmzcKdRG/bts3Ozi4tLU1YWLi1tdXMzMzS0tLNzU1NTW3KlCnQV5mPj8/jx49TU1NhcKKOjg5TU9OzZ88yGIw7d+5ISEjs2LFDSkqKQqGIiooO5N9ZWVlZSEhITk6utbX1xYsXlZWVXl5erq6uS5cu3bBhw9u3b83NzcPCwn766Se+qPQYhq1ZsyYrK8vExCQsLOzUqVOurq5WVlYVFRVycnIHDx708/NrbW0VFhbevHmzh4fHkiVLli9f3tbWNnXq1C1btpw7d27lypXbtm0TFBRsb29XVlZ2cHCAUQMh+/btCwoKmjVrVmRk5I4dOw4ePHjhwgVJSUno2ZxGo61atQoGlzh//jyFQjl58uQPP/zQ1dXFZrPV1NTWrVv37NmzWbNmLVy4MDg4WF9fHwBw7do1Op2emppaXV3t5eUlLS3t7e2trq5OIpEUFRWFhYX79g+VSh0/fjyFQlFVVWWz2aampgsXLpSUlKyvr2cwGBEREQ0NDTY2NmZmZhISEubm5j09PZ6ennl5eV5eXpcvX3ZwcGAwGOrq6ufPn//2229pNJqRkdGOHTt++OEHT09PWVlZcXFxDMOgU56xwFhThGhqFPFlwnnX0J0U8nnqosgqiZnPHegsDIkHgWGYXrx4ERsbm5GRISgoSKfTp0yZsmbNmm3btsF4eAAAZ2fnJ0+elJSUTJ48GVrSnzlzJiwsrLW1devWrfHx8ZMnTwYALFmy5N69exoaGuXl5UFBQX1jAe7evXvXrl0HDhwAALi7u588efLo0aN8aaZOnbpgwQJiGKbq6mo/P78ZM2Z0d3dPnToVes7kY//+/RcuXDh//jwMw2RtbQ2POzo69tsJr169AgCcPXsWAKClpXX//n3Yrn/++Sc8PJxGo4mJieXm5lpYWCxbtoyYMTAwMDk5OScnh0qlpqam2tvbu7i4WFhYREdHr1ixIiYmxszMLCkpycLCIi4u7u7du7///ruYmBisrqCgwNraeunSpQAAKpUaHBxMIv1XnJCEhIT79+8XFxfLyMhUVFRMmzZtxYoVfYX/9ddfL168+PDhQ9ztNY/Hi4qKIpPJf/755549e1JTU/myjBs3bseOHb6+vvhGCBqNBgB49uxZv/0za9Ys6CIuJSUFhmFasGDBjh07MAxbtGjRtWvXli9fTqfTDxw4AMOJwDBMmZmZv/32W05ODhxJ83i8e/fu1dXVpaamksnkuro6AwODVatWnTx5st9KR5ExpQgl25EiRHyhkEhkQPlMLhZJ5OFNNEVGRgoJCeFBaIWEhLKyskRFRc+ePZuent7W1lZbW2toaJiYmLh+/XqYZsmSJUePHk1PT+fxeH/++Sc8CGfeNDQ0Jk2a1FcL8ni85ORkqHoBACtWrCBGRhwEZWXlGTNmAABERUXnzp2bkJDw6Rw3JyQkLFiwQExMDACgp6enoaHBFwgpISHByckJaiBTU1M5ObmcnBw8DJOSktLy5cthGKYJEyYoKipGRUVRKBQ84BSDwYAexhcvXsynBQEAiYmJDg4OMMiUpqamkZHREFdwXVxcYGQoFxeXzZs39xvE4yOB+ptEIrm4uLx8+XL58uVUKpXvO+PNmzf29vb4fDKZTI6MjMQw7MiRI/AIiUTKz8+3srIacfE+kjGkCGWo0q1oahTxhUKRUZCY178txqjDYrFUVFRMTEzgXxiAYsOGDRMnTrx9+7aEhMSRI0d6e3s5HA6+lgP9JjOZzHHjxhEzqqurt7e3E+f6cHg8Hh7BB5bAZrNJJBKGYXgauPrFB3EBSUBAgC9Xv1k+GDab3be6QRLAVjg4OKxduxYPw7RlyxY8DBOTyYSxF2D6+/fvy8nJAQD67SI2m01cL+zbRQM1lnhdMAzjcrl8uaCa/BiIVUAxxMTE+HQ5n/wAABaLpaGhQbxDtLW1P1KST8EYshqlCoiQSaRu9vBMoRAIxEdibm5eXV29bNmylf+irq6ekZHh4eGhoaEhKSkJrSWNjIxiYmJgFugWy9jYuK2tzdTUFM9obm4+UC0CAgJ6enpRUVHwb0REhLGxsZycXG9vLwxl0NnZmZubCwAQFRUljmlqa2tLSkoAADweLzY21sjIaPz48XBcBQDALTn5chGpqKjo7u4eSlfANsKgerW1tcXFxXx2JdBZHdQx5eXl1dXV06ZNMzExaW5uvnv3roODg66ubnV1dVBQEAzDZG5u3traupIAjAUxUO1w0wIAoK2tLT093cjISEFBobKyEiaAwZKEhIRgeCw8I/G6TJo0SUxMjJgLdpGoqOhAhqYdHR01NTWD9wyxCr7QVDjm5uYxMTEMBoN4pL6+ntj8QYKTjCJjaEQIAJClyrT0tKoLqoy2IAjEV8TatWv9/PxgiKXu7u7Q0NCAgIB58+Z99913y5cvDwsLg8n27dtnaWmJYZi8vHx4eDgAQEVF5eTJk7a2tu7u7lQqNS0tzdnZGcZs6hcvL6+1a9cWFBS0tbUFBQVFR0cLCgquWrVq2bJlc+fOjYmJkZaWBgDY2dmtW7eupaVl+vTp+vr68vLyHh4eixYtevPmjaysrLOzc0dHx65duzZv3iwjIwNDFQIAHBwctm7damxsvH79er6AeUZGRr6+vkPxWbpixYobN27MmzfPxsbmr7/+2rVrFzTdxHFzc/P29l64cOHMmTPv37//ww8/wPba2NiEhYXBST9ra+vHjx/DGPRHjhyxtbV1cXGxsrJqaWl58+ZNUlLSQLU7OjoaGRk5ODjMmzfv2bNnrq6uBgYGVCrVzMxs3759HA4HztNSKBRbW9uVK1dqa2tD/2oFBQXr1q3T0tK6fv369evXAQDu7u67d+9OT09PS0uDtkgWFhZbtmzx8PAYP378mTNniPU+fvz4+vXrmZmZg/TM1atXaTRaTU1NVFRUcnIybi1FZNasWS4uLpaWlqtWrWIwGGJiYgcOHAgKCnJ0dLS3t+/o6Hj16lVqairRSmuM8F/zEiPC2bNnm5qa4Cr04HC5XBaLRdx9sjvsyHoDV6Px+iMrEuJ/hc7OzrEZt3O42NjYnDhxAr4KxwJRUVH79u3jW+4CAFRXV9fX18MVuOjo6KysLDExMUtLy2nTpnE4nICAgOrqaltbWyEhIR6PZ2Bg0NDQ8OLFC0FBQRcXl4iICGjKUVBQEBsby2Qy9fT0Zs+e3dLSkpeXN1Dwv7KysvDwcBERkQULFkCTTjab7efn19LS4uLiUl5erq2traqqWl5enpeXJyMjw+PxPD09Q0JCAgMD5eTkli5dCq0ca2pqXrx4MW7cuCVLlrx+/XrlypUYhqWkpNTU1JiYmBC1V11dnYmJSWlp6UAb3aqqqiorK2fPng3/cjicV69eVVZWmpiYzJw5EwBAo9F4PJ60tHRlZaWlpSWbzX758mVNTY2ZmRmucXNzc+vr6+GaWWFhYWlp6cKFC+EpNpsdEhJSXFwsJydnY2Ojrq4eExMDm9lXGB6P9/r165KSEn19fTs7O3iwsLAwNDRURUXFxsYmOTl5wYIFbDY7OTm5vr7ezs5uw4YNS5cuVVRULCwstLGxMTIygrlCQkJoNJq1tTWcLzUwMGhubs7IyGCxWIsXLyZWumvXLkVFRXwlj4/e3l5hYeH6+vrg4GAej+fs7KygoNDZ2RkVFQXtVwEAra2tWVlZUOC4uLi0tDQJCYn58+crKSnxeLzw8PC8vDwpKanZs2cTN97gqKurP3/+HJe8XwIDA+/cufPixYtB0nw4Ix7P4sPCMEGOx54JL48ZcZEQ/yugMEyfiISEBG1t7WnTpuXl5Y22LMPj48MwJSYmPnr0aKTkGYN8fBimn376aZBH75OGYUpISJg2bZqWlhYezXEgvoowTBBZUdl3Pa2jLQUC8aVhYWEBl9n+5xg3bhzcn/7BmJubD7Jy+QWgra39kRvyTpw4MchZEolkYmLy8eY2/WJhYQEXhkeXMaYIqdLvevpxfIdAIL5OjIyMnj59OtpSjGk+dZgqQUHBvhsTvzDGkNUoQIoQgUAgEJ+dMaYIRWRaet6NthQIBAKB+IoYY4oQjQgRiE9AcXHxjh07duzYUV1dXVpa2tbWVl9fX1tbm5ycfPPmzQ8okMFg8DnhHFPU1dXV1dW1t7cPtDKal5fX09NTXl7+7t07AEB4ePiBAwcGsnV/+fJlYGBgenr6tWvXPqHQn5e0tDQMw2g0Gu7olUhHR0dRURGHwxl8TwVOWVnZ0ON5VVZWNjc3Nzc3V1ZWFhYWwjuztrZ2GNKPNGNNEcogYxkEYsSpqakJCQlZsWKFqb9urQAAIABJREFUtLT0kSNHIiMj7927d+PGDRqNBt1gDhcmk3n79u0RlxNy/Pjxy5cvDzeXpaUlHlHo1q1bf/75Z0xMDO7bjI+1a9eWlJScOHEiODi4oKBg7dq1hoaGpqam/SZOSEiIi4srLi4OCgoarlSfAiaTqa2tPVw/aoGBgZs2bcL/Wltbs9nsTZs24bGriCQlJe3evbutrW3BggVDKZzBYEDnpUPBy8srMDAwICDgzJkzCgoKK1asePr0aXNz8xCzfwrGliIcJyTGxbhMDmu0BUEgvjTGjRtna2vbr2cvSHd3d35+PnF80NnZCeMNEZOVlZXxeSHhcrlFRUVNTU3wL5vNhqb2hYWFDQ0NfLVgGFZaWop//vN4vPb2/3Os2NnZyWAwamtr6+vr29raGAwGh8OBlv0FBQX4u5LFYuFyYhgGU5aXl7e0tLS1tUHPLEOEw+EkJibq6Og4OTlZWlrCgx0dHfn5+XDbQL/Q6fT8/HxYEZfLxWPpMZlMfKd5T08P7smFmB42s7e3t6OjIyMjA3qxIcJgMPLz8/G83d3d+G9YV0dHR1lZWVtbW1tbG4fDYTAYsLTc3FwOh4PXyOVycUm6uroaGxurq6vb2to+IPJfW1sbhmFVVVW4Qx8ulwsvXHl5eWVl5bRp07y9veGp3t5eGMeKr0X9am5paWlbW9t+I2B8TsaWIgQAyIhItzLR7CgC8Vk5e/bspEmTdu/ePWXKlHv37gEA7t69a2Jisn//fmtr62XLlnG53O7u7rlz5zo5Oa1atQo6NAEAxMTETJw40dPTc9asWevWrePxeJGRkZaWlo6Ojh4eHo8fPybWUlpaqq+v7+rqOmfOHEdHRzqd3tDQoKLyf56kli5d+ttvvwUFBT148MDR0fHYsWOJiYnGxsbz58/fsWOHvr4+3PTt7e2NT8y2t7fLyMgcP368tbV106ZNjo6O0OvNEMnNzT1x4kR6erqjo+OjR48AAMeOHZs8efL27dvV1dX9/f37Zjl06NCUKVNgglevXvX09CgpKUH9t3v3bg0NDaiB3NzcfH19uVzud999Z2RktHPnzkmTJkEPc0uXLt20aZOZmZmnpyfRIRkA4MKFC1paWtu3b9fQ0IBxpo4ePerl5QXPZmZmmpiY7Nq1CwDg5OTk6OiYn5+/Zs0ad3f3WbNmbd++XUtLC+5G0NPTy8/Ph7lOnjx54MCB3377LSkpydHRcdWqVUPvHwBAb2+vjIzMxo0b3dzc5s2bt2jRIhaLVVpaqq2tvXr16lWrVl27di0hIQG6ZXj48KGamtr27duXLl36/fffAwAOHz6so6Oze/fuSZMmBQYGDqvqz8bY2j4B/v8yYavyOMXRFgSBGEne9bQl1KZ8nrrkRGUslPuf5QMA+Pr64r9hLIiYmJibN2/m5+dLSkpCzywLFixYunTpunXrSCQSj8ezt7f39/evqKjAMCw3N5dCoUBFyGAw1qxZ4+fnZ2FhweFwHB0dHz9+LCsrm5+ff+PGDRjHh8iuXbsWLlx45swZLpfr7Ox8+vRp+E4nYmxsvGrVKmIYprKysitXrixcuLC5uVlXV3fJkiV9G3X27Nm//vrryZMnMAwT7tXFxcWl306ATnbu3r0LADA1Nb1///7r169hddeuXcvNzR0/fnxMTMySJUtw9y6Q8PDwBw8e5OXlycrKvn792t3dvayszMTE5M2bN4sWLYqKitLW1k5NTTU1NY2Jibl06ZK3t3dZWVlRUZGgoODbt29dXV3Ly8sBADU1NTk5OXzOxnJyco4dO5aTkwOjXsyePbtfBz1379719fWNj4/HwzCVlpampKQICwufOXMGhpbkyyIuLn7ixAlfX9+XL1/CI3BIHR8f32//ODo6Qi859fX1cCCrrq7+559/stlsOzu7W7duzZ07t7W1dfHixWvWrAH/hmEqLi7etm1bfHw8jIPY1dXl5+cXFhZWVFREpVJpNJqdnd2cOXOgE7gxxbAVYV5eHu6LCABw/vx5PDLLiCBLlUH2Mogvjy52d35L4eepS11SdRBF2JdXr16pq6vjClJCQiI9Pd3GxuaPP/5IS0vr7OxsaGjIy8tLTk5eu3YtjEKwbt26ixcvpqWlsdns7Ozs7OxsAIC0tHR8fLyzs/PEiRP7akEMw6Kjoy9evAgAoFAoGzZs8PLy6qsI+yIvLw8Vm7y8vJOTU2Rk5EDO0j6eyMjIxYsXQ8fQNjY28vLyaWlpfAmWLFkCN7DPnz9fREQkOzvb3t4+IiLCwMBATExs1apVkZGRZDJZTk4ODhnHjx8PNS4A4N27d3DO0NXVta/LzejoaAcHB+gfztjYeNq0aW/fvh2K2KtXr4azix4eHkeOHBnZiByQdevWAQAEBQXd3NzCw8Pnzp0rJCTk6upKTBMeHm5jYwO1IAAABmJUVVX18fGBR0gkEo1GMzMzG3HxPpJhK0Iul0ulUnFfACN+R8pQpZG9DOLLQ11C5QeLnaMtRf/AxZ62tv//Abpp0yYNDQ1PT08ul7t161ZRUdGLFy/29PQwGAz8eYdrje3t7QICAnhGc3Nz6AWm3wALbDYbhm3CS+js7ORLgy9rEYHRAfHf0Jsz9q+T5H6zfDCwcPzvuHHj+KYu+03g4OAAZ25hGKYffvgBD8NEp9MlJCTwLvrpp59gH/bbRe+tfaDG4tdFTEyMy+XyRZkYkS4iXnoolYSEBJ+7mb6+gul0Oo/Hw5u/Z88eGIVqrPEhU6NkMhk6if8UoBEhAvGZMTQ0LC4uPnjwIPFgTEzMq1ev4Nd9RUWFioqKjo5OamrqypUrAQAwhIK+vn5HR8f69esVFBTwjCEhIf3WIiQkNHHixKSkJBjiNTExcdq0aTIyMkwmk06nS0pKslisgoICAICwsDBxTFNTU1NfXw+DPCQnJ+/btw/DMNwMBw5G++Yi0t7eLiYmBmMoDo6uri4+cdfW1lZUVKSrq5uS8n9z2jo6OnApEQDQ1NRUUVExdepUJSWl8vLyv/76a//+/UZGRgUFBUwmc/fu3bBvAQB8fTtI7ffu3ePxeGQyuaenJysr69SpU7W1tbh1EmysoKAgmUxms9n41Cju+SUlJUVVVVVCQkJWVrahoQFevqysLENDQxERkYH6h8VisVgsCQmJQWRLSUlxcnICACQnJw/k9M7Q0PCPP/7o7e3FB7sGBgZ5eXlDbP4o8iGKsKGhQVRUlEqlLly48Pfff+/r5q6jowPOg+OIiIgMEpyFiBxVJqPjPZGxEAjECLJp06a7d++uWrVq8eLF3d3dYWFhV65cmTFjxo8//ujm5vb69Wto5Llnzx5ra2tpaWlZWVm4d0JLS2vbtm2Ojo47duwQERFJS0ubNWvWIPFDjh8/vnPnzsbGxvb29itXroSEhIiIiMyZM2f9+vUuLi6BgYFw3tXMzOzw4cNUKlVHR0dBQUFCQsLd3X39+vUxMTFdXV3Lly9vbW3dunXryZMnZWVlcQdsZmZmR48etba2XrRoEVwpxJkwYcLff/89lJ0Arq6uZ8+e3bBhg62t7e3bt5ctWzZ58mRiAg8Pj4sXL3p6elpZWd24cePbb7+FM5kzZ86MiooKCgoik8mWlpb+/v7QMOTo0aOWlpYUCsXS0rKlpSU6OvrZs2cD1b5o0aJTp065ubk5OTk9fPjQ0tLS3NxcSEjI1tZWR0eHw+FA4yMBAQFjY+Pt27fr6emtXbsWABAVFfXLL79oamr+5z//+fHHHwEAixcvPnjwINwqWlxcbGhoaGxsnJSU9PPPP48fP3779u3Eeu/fv3/16lX8k6JfTp061dDQUFdX5+vrm5SUhJunEpk7d66urq6Tk5O7uzsMqLB3794ZM2Zs3LjRwcGBTqcHBwc/e/ZsDIZhGrYiVFdXz8zM1NXVrampWb9+vaenp5+fH18aPz8/uPKMY2JiAi2giMAwTHzWw2KA2tDZxDchgPhK6Pp/7d15fBT1/T/w98zO3leSzX2TAAHkkBQRBEUBARU0aqGiVgGtR1ur1m+1tNS2Hl+1Vu1XUIr9VVAEqiIqKnhwiQkRkASCIhogARKyOTfJ3sfM/P5YpJE7yW5mZvf1fPjHMpnsvBLGffGZ4zNu90nPvFaoU6+Jl6eLL77YZrNptdry8vIVK1ZUVFSYTKa5c+empKQsXbp0yZIl27Ztu+GGG375y18KgjB48OAtW7asXLkyEAi89dZb4ecUPvPMM1OmTNm8ebPP5xs5cuTkyZNdLtf8+fNPu7mbbropfNpMr9eXlZUVFRUR0dtvv7148eKqqqoFCxbY7fYhQ4b069cv/FCh8HHU9PT05557bvny5YWFhU8//bRGo0lPT9+6devKlStZll2xYkX4ApBly5Z99NFHDofjpM/Z8E0XZ5l3e/To0VarNfxaq9V++eWXS5curaqquvvuu8PnwKZPn87zfFpamk6nMxgMO3fuXLp06d69ex944IFZs2aFv/Gvf/3rHXfcEQ48f/78kpKS8DHAzMzMqqqqN954Y/v27Tab7be//S0RPfjgg4MHDz41iUql+vzzz5cuXbp79+7Zs2eHS27kyJEffPDB+++/n52dvWbNmvDlLZ999tm6devcbnf4ifALFiwIhUJ79+598cUXw+O2v/zlL7m5uXv27Jk2bdqcOXNEUezfv39paemOHTtO7aEDBw5MmzbtrHsKLV26dMWKFYIglJaWFhQUdHR0PPfccye+WlhY+Ic//IFhmLVr165ataqiosJqtd54441Wq7WysvKNN97YsWNHQkLCAw88cD7j8jPheb4H1WAwGM49Y3hvHl2xY8cOg8HA83zXhb15DJMoirXtR25de29vUoFy4TFMUbJ582aDwRCfj2HasmXLP/7xj0jlkaHeP4bpF7/4RXNz85m+2gePYdJoNLt37z77mvJ9DJPb7dZoNJH9J3yqMaXJ0xLBNwSAyy+//LQzacmfTqc77QNsz9+ECRPk84TkaEhLS+vl46zPPs0ewzAFBQV4DNOPvPvuuyzLDhw48PDhww899NCtt94a2SLUczoVwzoDLrPmjFNgAECcGDVq1JmuvoGwns0We/7UavXBgwejugnJdbsIOY5buHDhsWPHUlJS5s6de999kb8iPNWY0uxpRRECAEAf6HYRzpgxY8aMGdGIckKKwdbsaSlIyIvqVgAAAEiGc40SUaohGacJAQCgb8ixCFMMtmYPHs8LAAB9QY5FmGrAhaMAANBH5FiE4XOEUqcAAIC4ILvHMBFRiiEZh0ZB6b766quzPNkVALpl9+7d0XtzORZhqiG5yd0sdQqAnvvd73734osv4ga4XuJ5Pjz7KAARRe/5TXIsQoNazzKsK+A2aYznXhtAfqZPnz59+nSpUyjeqY/1gXh26nO7IkWO5wiJKNWQjNOEAADQB2RahDhNCAAAfUO2RWhr8uA0IQAARJ1MizDViMllAACgL8i0CNONaQ2uJqlTAABA7JNpEWaY0hpcjVKnAACA2CfTIkw3ptrdGBECAEDUybQIUwy2dl9HkA9KHQQAAGKcTIuQZdgUgw3XywAAQLTJtAiJKN2Eo6MAABB1Mi5CYyqulwEAgGiTdRE2YuptAACIMlkXod2NESEAAESXjIvQhHvqAQAg6mRchLiVEAAAok++RYhbCQEAoA/ItwhxKyEAAPQB+RYhEWWY0updDVKnAACAWCbrIsw2Z9Y7UYQAABBFsi7CTHP6Madd6hQAABDLZF2EWaaMOowIAQAgmmRdhNnmDJwjBACAqJJ1EWaaM+yuRkEUpA4CAAAxS9ZFqFVpLFpLM+6gAACAqJF1ERJRlhmnCQEAIIrkXoTZ5gzcQQEAANEj9yLMQhECAEA0yb4ITbhwFAAAokj2RYhzhAAAEE1yL8Jsc0aDyy6IotRBAAAgNsm9CHWczqIxN3mapQ4CAACxSe5FSER51pwjHXVSpwAAgNikiCLMru08KnUKAACITQoowlxLNkaEAAAQJQoowjxrzuFOFCEAAESFEorQkl3bcUTqFAAAEJsUUISJugQi6vB3Sh0EAABikAKKkIhyLVlHcHQUAACiQBlFmGfJOdyBC0cBACDylFGEudbsw531UqcAAIAYpIwizLPk4HoZAACIBmUUYUFC7qH2w1KnAACAGKSMIkw1pvhDflw4CgAAEaeMImSIybfm1mBQCAAAkdbDIhRF8f7773/44Ycjm+YsChPzD7bX9tnmAAAgTnA9+7YlS5asXbs2ISEhsmnOoiAh7/u2g322OQAAiBM9GREeOXJk0aJF8+fPj3iasyhM6HfQUduXWwQAgHjQkyK8++67n3rqKZPJFPE0Z1GQkFfbcQSPqgcAgMjq9qHRV1991WazzZgxY+XKlWda54033li/fn3XJSNGjPjnP/950mo8zwcCAZ7nz3PTFo25uvFApjG9u5lBKVwul9QRQEawP0BXPdsfDAaDSqU6+zrdK8LGxsannnpq27ZtZ19t2rRpDz74YNclRqPRbDaftBrP836/32AwnOfWByQV2APNRekDzj8wKM6p+wnEM+wP0FWU9ofuFWF1dXVra2tRURERBQIBn8+XlJRUV1d3UpklJycPHz48kjGJiKggIf9ge+2E3Esi/s4AABC3uneOcPz48W0/eOWVV4YNG9bW1nb+Q7peGphU8H3bgb7ZFgAAxAll3FAfVmQbsL8VRQgAAJHU8yK8+eabKysrIxjlnFINyURii6e1LzcKAACxTUkjQiIamNR/P46OAgBA5CisCIuS+uM0IQAARJDCinBgUuF3rZhoDQAAIkZhRVhk6/8dRoQAABA5CivCVEMywzDNnhapgwAAQIxQWBESUVFS4f7WaqlTAABAjFBeEQ5JLvqm5TupUwAAQIxQXhEOTR78dfO3UqcAAIAYobwiHJI8sNpRE+SDUgcBAIBYoLwi1HG6HHNmtaNG6iAAABALlFeERHRByqCvW3B0FAAAIkCZRZg86Jvm/VKnAACAWKDIIhyaMgjXywAAQEQosggzTelE1OBqlDoIAAAoniKLkIhGpA3d3bhX6hQAAKB4Si3C4rRhlU1fS50CAAAUT6lFeGHasEp7ldQpAABA8ZRahNnmTJHomMsudRAAAFA2pRYhEY1MG1qJ04QAANA7Ci7CC9OGVdpRhAAA0CsKLsKfpI/Y1bhHJFHqIAAAoGAKLsJ0Y6pJbTyASUcBAKAXFFyERHRxZvH2+l1SpwAAAAVTdhGOzije0VAhdQoAAFAwZRfhhWlDDzhq3EGP1EEAAECplF2EGpVmaMrgXfY9UgcBAAClUnYREtHFmT/ZVr9T6hQAAKBUii/Cy3LGbKvbwYu81EEAAECRFF+EKYbkdGPqXjyeEAAAekTxRUhEl+aM+eJoudQpAABAkWKhCMfnjPni6HZMMQMAAD0QC0XYz5qrUam/bzsodRAAAFCeWChCIpqQe8nmw6VSpwAAAOWJkSKckn/5ZzVbBBFHRwEAoHtipAjzrDkJOmtV8zdSBwEAAIWJkSIkokn5l22o+VzqFAAAoDCxU4ST8ydsPVoeFEJSBwEAACWJnSJMNST3T+xXevRLqYMAAICSxE4REtE1/ad8ePBTqVMAAICSxFQRXpYz9qCj5pjLLnUQAABQjJgqQjXLXZl/+fqDG6UOAgAAihFTRUhE0/tPWXfwM1wyAwAA5ynWijDPmtMvIW/z4S+kDgIAAMoQa0VIRDMHXfv2/rVSpwAAAGWIwSIcnVns5wN7mjDLDAAAnFsMFiFDzE+LZvxn37tSBwEAAAWIwSIkoqsKJn3vOPhd2wGpgwAAgNzFZhGqVeqbBl+/8pt3pA4CAAByF5tFSEQz+k+tat5X03FE6iAAACBrMVuEOk47e8gN/2/3cqmDAACArMVsERLR9QOvOdR+eG/zPqmDAACAfHHd/Yb29vbNmzfX1NRoNJqJEycOGTIkGrEiQs1yc4ff/HLFqy9PfZYhRuo4AAAgR90eEX722WevvfZaU1PTvn37xo4d+/rrr0cjVqRMzp8QEvhNtZhoBgAATq/bI8KZM2fOnDkz/Hrw4MH//Oc/b7vttkinihiWYR4a/cs/fv7kmKxRRrVB6jgAACA7vTpHWFNTk5+fH6Ek0TLINmB0ZvGyvf+ROggAAMhRt0eERHT48OEbb7yxubk5PT39448/PnWFsrKy+fPnd12Sm5s7b968k1bjed7v96tUqh5k6Ja5F8y+69OHLs24uCipf7S3Bb3h9/s1Go3UKUAusD9AVz3bHzQaDcOc4xqRnowI09LSlixZ8u9//5vjuD/96U+nrsBxnPYUPdhQpFg1ll+OmPu3nYsCfEDCGAAAIEOMKIo9/ubdu3ePHj3a6/V2HdU9++yzTU1Nzz777Dm/PTwiNBj66NTdn794JsOUds/IOX2zOegBp9NpNpulTgFygf0Buore/tDtEaEgCCdeV1dXJycn98GxzYj47eh7N9Zu3dFQIXUQAACQkW6fI7z77rvb29vz8/MbGho+/PDDhQsXRiNWNFi1lj+O++1jpc/+66p/2PSJUscBAABZ6PaI8Mknn5w5c2ZGRsaUKVOqqqp+/vOfRyNWlFyYOvSGgdMf/eKpIB+UOgsAAMhCt0eEqamps2bNikaUvnHL0J8eaq99dsdLfxj7gNRZAABAerE81+hpMcQ8POa+Q47a5V+/JXUWAACQXtwVIRHpON3frvjzuoMbPjzwqdRZAABAYvFYhESUpE/8+8S/Lt276tOaLVJnAQAAKcVpERJRljnj+YmPLdn9GroQACCexW8RElGeNef5iY/9a/frq/d/IHUWAACQRlwXIRHlWXMWTXnm/er1L1e8KojCub8BAABiS7wXIRGlGVNemvpMtePQ/C1PuIMeqeMAAECfQhESEVk05r9P/GuWOePOdQ9813ZA6jgAANB3UITHqRjVb0b94p6Rcx7Z/Nc3vlmNw6QAAHECRfgjE3IveeWqFyrse3716cMHHDVSxwEAgKhDEZ4s1ZD83KTHrimc8j+bHn2p4lVXwC11IgAAiCIU4WkwxEzvP2XpNYu8Qe+tH9z7zncfYJJuAIBYhSI8o0Sd9X8u/tXzkx7fZd9zywf3vPv9R3jAPQBA7On20yfiTUFC3v9OWLC/tfqNb95+/eu3ru0/7boB05LwOEMAgFiBIjwvg2wDnrjsD0c661fvX3vbh78qTh9+TeGVF2WMZBkMqQEAlA2f492Qa8n67eh73yr596j0C5ft/c9P3527cNe/vm7eL4ii1NEAAKCHMCLsNoNaf+2AadcOmHa0s37T4dLndrzU4e+8JGv0mKxRP0kfoed0UgcEAIBuQBH2XI4l6/ZhP7t92M/qnQ1l9TvWfPfhE2XP9U8sKE4fPiL1giHJRShFAAD5QxFGQJY5Y9ag62YNus7PB/Y27ats2ru0alW141COOXNIclGRrf/ApMJ8a66axW8bAEB28NEcSVqVZlTGhaMyLiSiIB+sdhz6tvX73Y1fv71/7TFnQ7Y5Mz8htyAhP9eSlWPJyjZlqFVqqSMDAMQ7FGG0qFXqIclFQ5KLwn8M8sGajiO1HUdq2o98cmjTkc46u7s5UZeQZU7PNKWnG1PTjCnpxtQUQ3KyPgkFCQDQZ1CEfUStUg9MKhyYVHhiCS/yje7mY057g7vR7mrccazS7m5q9rS0ettMGmOiLiHFkJyosyZorTZ9olVrseosFo3FqjVbtGazxiThzwIAEEtQhJJRMapMU3qmKf3ULzl87Q5fR7OnxeHraPM5mj2t1Y6aDn9n+L9Ov9MT9Jq1JpPaaNaYTBqjSWM0qA0GTm9Q6w1qvVFt0Km0Wk5r1pi0Kq1axZk1JhWjMqj1GpVGq9L0/Q8LACBbKEI5StQlJOoSChLyzrSCIArOgMsVcLsCblfQ7Qy4PEGvJ+j1hDxOv6vB1egL+f283xVw+0L+kBByBlwhIeQN+fx8IMAHdJxWzaq1nFbDqjmW03M6YsikNhKRVqXVqNREZFQbwtMFnHih47QnjtmeWEhEBrVB1WViga5fIiI1y2k57Un5zzSiDfgCpGXO8pvRc3qOVZ1lBQCA7kIRKhLLsFatxaq19OzbfSFfUAj5Q/6AEAzyQR/vJ5FcQTcR+Xl/gA8SkTvoCT+U8cQLX8jv87vC72B3NZ14ZKM76PHxx18HBfIE3SKJwR+e5xjkQ37eH34tiBSee8AXcolEXachEEUSiXjeL9Dx+c1F+vEaRETEC16R+G79sAxrZIgJb6JnzvvRlMYebuCsxF4kVzqR6Gz/LII4E94ffjb0rvtGXBTZd0YRxiMvr3MGRVfI6AlRu5/cIdHHU0eAPCHy89QeEAMCuYLk48kbIi8vhl/4ePLz5AmRSNQeEInIHaSAQESUoCGGIZbIqjn+wZX4wyBQz5Huh0t/zGqGY4iI9OHlXYZ2OhXpOQoEAhrN8SO3FjWjOuVT0KgmzelmQ+JYMp/hAiN/yB1uVK2K9Ke+43mwaM7r49gbcvXgzc9JpyJtvI6BPR6vwaCXOgXIRXh/6G+N/FTPKMIY4fBTs09s8VGrX2z1UZuf2vyiI0AOP7UHxHY/tQeoI0DOoOgMUoKGzGrGpCYDR4laMnCMXkVWzfFysmoYDUtm9fFy0qkYvYoJv9awZFQTQ5SgYejMtdRjTmfIbI74B5850m8o+YbihdPpNJvxW4Xjorc/oAiVgRfJ7hGPuqnBI9a5ye4Vj3moySs2eKjRSy0+UaeiNANj05JNSzYdY9NSkpYZkkCJWkrQsAkaStCSVU0WDXOmkRMAQHxCEcqLSFTnFg920iGnWOMUDzupxiUecZHdIybrmBwTZeiZHBOl6ZkJ6ZSqZ9P1lKqnFB0Tt0fPAAB6CUUoJR9P+xzit+3ivnbxuw76vkOs7hCTtEx/CxVYmH5mZnIW5ZvZXCNlGRk1nhQCABAFKMI+ZffSrhZxd6u4p1Xc0yYedYsDLczgRGZIAvOzAhpgYQdYGSP+TgAA+hDnCqQbAAAVfElEQVQ+dKPLE6KvWsTyRnF7s7izWfTx4kgbM9LGXJ/P/LmYLbIyHMZ5AACSQhFGnitIX9jFLQ3CVrtY1SaOSGLGpDI/K2Cev5jNN+O2KAAAeUERRoZItKtF/KRO/KROqGwVRyUzV2SyT1/Ejk5h9PgdAwDIGD6ke8XH04Z68f3DwodHhEQtc3UOs2CkanwaY8DvFQBAIfCB3RMBgT6pE/5zUFx3VBhhY0ry2PkXcgU47AkAoEAowu7Z3iS+fkB465AwJIG5qZB9fow6DTNAAQAoGYrwvHQE6PVq4ZX9QkCg2wewu0q4XBPGfwAAsQBFeA7728X/+0Z465AwNZt9aZzq0nQGBQgAEEtQhGdU1ig+s0f4qkW4e5Bq309xCBQAIDahCE/j8wbxLxX8UTc9PJx9a5Jah2k8AQBiF4rwR3a1iL/fydc46dGR7M2FLKZ9AQCIeSjC4466xd/vED63i4+OZOcOZDHDNQBAnMDnPfl5eqJSKH43NMBK383k7hqEFgQAiCPxPiL8vEG8u5QfnMDgjggAgPgUv0XoDNLDO/iPjogvjWNn5GIMCAAQp+K0AMoaxQvXhIIC7b2RQwsCAMSzuBsRCiI9uVtY/C2/ZLwKFQgAAPFVhC0+mr05xAv0VQmXacAZQQAAiKdDoxUt4qj3QqOSmc+uRgsCAMBxPRkRiqJYX18fCoVycnJUKmVMu7KmVri3jF88TnVDfhx1PwAAnFO3i3DTpk233XYbEanVapZlV61aNXr06CgEi6QXvhZe2Ct8PI0bacNAEAAAfqTbwyObzbZu3bq6urqampqbb775zjvvjEasSBGJfred//d3Qtm1KrQgAACcqttFOGLEiOHDh4dfX3nllUePHo10pIgRRLqnlC9rFL+YzuUY0YIAAHAavbpqdNmyZddcc82pyxsbG3fu3Nl1idlsHjRoUG+21V2CSPO28odd4qdXcSZ1X24ZAACUpOdF+Morr2zatGn79u2nfmnTpk3ffPNN1yXDhg1btGjRSavxPO/3+wVB6HGGMxGJfr2Dq3Uxqy8Lkp9c/ohvAaLC7XYzePIx/AD7A3TVs/3BYDCw7DmOffawCJcvX/74449v3rw5LS3t1K/Onj372WefPeeb8DyvVqsNBkPPMpzFb8r5Go+4/mrOyGkj/uYQPaIomkwmqVOAXGB/gK6itz/0pAhXr179yCOPbNiwoX///hEP1HuPVwpbGsSt0zljfM0WAAAAPdHtrti4cePs2bPvvffe0tLS0tJSIpo3bx7HyaVzln0vvFYtlM7gEjRSRwEAACXodoGJojhv3jy/379r167wkttvv10mRfiFXXx4B7/pGi5dL3UUAABQiG4X2OTJkydPnhyNKL1U6xRnbQytmsgNTcTZdQAAOF8xMt+Yj6efbuT/OFI1KRMtCAAA3RAjRXhvGT8kgfn1kBj5cQAAoM/I4txeLy0/IOxoEneWxMLPAgAAfUzx5fF9h/jQl/zGqzmD4n8UAACQgLKPJYYE+vkW/i/FqmFJODUIAAA9oewifHqPYNHQvTg1CAAAPaXg44l728SF+/hdJRwGgwAA0GNKHUsJIt1Txv/vKFU2nq8EAAC9oNQifPlbgWNoXpFS8wMAgEwo8tCo3UuPVfBbp+OgKAAA9JYiR1S/38HfUcQOSkAPAgBAbylvRLirRfy0Xtg/E0+dBwCACFDYiFAk+vU2/umLVBb0IAAARILCinBNjeAJ0a39FRYbAABkS0mHRnmR/rRLeGGMisXJQQAAiBAlDa2Wfi+k62lqNmoQAAAiRjEjwqBAT+4WVl6hkjoIAADEFMWMCF+rFgZYaGwqhoMAABBJyhgR8iL9rUr496UYDgIAQIQpY0S48qCQY6RL0zEcBACACFNGET6/V3h4OIaDAAAQeQoowo/rRF6kKbhYFAAAokABRfjcXv5/huHWQQAAiAq5F+E3DvHbdrqpUO45AQBAoeReMC/tE+4axGrkHhMAAJRK1rdPOIP05iGh6gZZhwQAAEWT9VDrtWrhyiw2y4jzgwAAEC2yLsIl3wr3DJZ1QgAAUDr5HnXc3iR6QjQh43yHg7zTEWquFzodvLtD9HlOLGd0BlZrYA0mlSWJNSeqLEnEYIgJAADHybcIl34v3FF0jrsmQs313r3l/gNVgcP7iYhLzVZZbazRwuqMJ9YR25oEn0fwOvlOh9DZJrg7VQnJqqR0LjmDS87kUrPU6XmcLZ1Y3LAPABCPZFqE3hCtrhEqz3CZjMiHPDs3uret4ztadBdcbBwzNfGmB1SWpPN5Z5EP8Y5mvs0eaj4WajnmPrg31FTHd7RwtnQuPU8d/i8jn0vJRDUCAMQDmRbhmlrhohQm59TLZETRvf3Tzk9WqDPyLFfdqhs0qrvHORkVxyVncMkZ2oEj//uufCjUeDTYeCTUUOup2BI8VsN3tHCpOeqMPHVGvjojn0vP4xJTcUwVACD2yLQI3zggzBl48mUyoaY6x39eEAXBNvePmtyiCG6OUXHqzH7qzH40ckJ4iRgMBO2Hgw21Ifth19b3g/YjgtelTstVZ+RzaTnqjDwuLRfVCAAQA+RYhM0+Km8SV0/+URF695Q63l5omXqLafyMPqgfRq3R5AzQ5Aw4sUTwuUP2I8GG2mDjUf/3lcHGo4K7g0vNVqdmc6k5XGo2l5LFpWSxOkO0swEAQATJsQjfPiRMz2WNXaI5N7zpLl+fcs+T6uz+UqVidUZN/mBN/uATS0S/N9hUF2o6GrIf9VaVhZqPhZrrGY2OS8nkkjO55AzOlsHZ0lRJ6bhUFQBAtuRYhKsOCb8f8d8LVTo+Wub7+suU+58/z8th+gyj1Z80aiQivqM11HIs1NLAtzb4vt0ZarXzbY2Cx6lKTFUlpnKJKarEVFVCispqUyUkq6w21mCWKj8AAJAMi/CoW/zWIV6ZdXz85Ny02rdvR8qv/8YaLdIGO08qq01ltWkLh3VdKAYDvKMp5Gji25t5R3OgZh/f0cK3t/CdrWIwoLLYWEuSypygstpYk1VlSmAtiazRqjJZWaNFKT84AIBCya4IV9eIJfnHZ9n2VH7uKl2bev8LSi8DRq3hUrO51OxTvyQGA3xnq9DZxnc6+M42wdURqDsguNp5V4fg6hDcnYLXFa5D1mBmDWbWYGL1JtZgZvVGRmdk9UZWZ2D0JlZnYLQGVqtjtPq+/wEBAJRLdkW4plb4wwgVEQUbj7S/szjlV0+rrDapQ0URo9ZwtgyyZZxxDUHg3R2Cxyl6nILHKbidgtcteF2htkbR6xZ8bsHnEb1uwesW/V7B7xUDPtZgYjQ6Rq1ldQZGq2c4NaMzMGoto9awOgOxKlZvJFbFavWkUrFaAzEMqzcSEaMzEsMwGi3DqYmI1ZuIGGJZXAEEADFMXkXY5KW9beIVmYwYDLS99pR1xlx1Rr7UoaTGsipzosqceL7ri6LgdYsBnxj0Cz6P6POIoaDo94pBvxgMCD4PCbzgcREfCgV8xIcEvzf8LUQket1EohDwUyhIRILXSUQiz4t+LxExKo7R6o6HCnckEXEcqzm+kDg1o9b+N7jOQOx/L/1ltQZS/WiOAubH6xNRIBAQNBpWbzzTtUWM+nhJnxOrN/X+AiVGZ2BYzHbbBcMwXaZtijbe4wkY8I8wOC68P3C2DNZgiuw7y6sI3z8sXJXD6lTU/sEydXqu8eKpUidSIIZhDSaK9I5CRCIfEv2+8OtwRxIRhUJCwPfD66AY9J9YX/B5SBD++0e/h3j+R2/44/WJiFH5Wa1W8LpJFE+fIdgqhoLnk1bwus70JudP9HnELj8CkCiKPnefbY3n+YAKEzzBceH9wTJ9rq6oOLLvLK8ifPewMGcAG2yo9e7anPb7JVLHgR9hVBzzQ79G/F9kxzmdZjMuo4XjnNgfoIvo7Q8yOuzjDFKZXbwqm3G8+X+W6XOUfoEMAAAogoyKcEO9MDaNYXdvIIY1jp4idRwAAIgLMirC9XXi1ZmC85OV1ulzMA8LAAD0DRkV4Sd14ozGj7nU7JPuRgcAAIgeuRThnjbRIAZ0pW9arr5N6iwAABBH5FKE64+KDwmfq7MKT5q6EwAAIKrkU4TC5bVrzZffIHUQAACIL7IoQneIdLUVRpWoHTBC6iwAABBfZFGEWxvE+9o/sFxxPS4WBQCAPtbtIvR6vQsXLpwzZ86VV17Z0NAQkRDbDzQNdu43FF8RkXcDAAA4f90uQo/Hs2PHjqFDh27YsMHr9UYkhLZqY/CCyxi1JiLvBgAAcP66XYQ2m2358uW/+c1vIpWg1U/jGjbljr8yUm8IAABw/qQ/R7hz19dGlWDoVyR1EAAAiEdRefrEv/71r+XLl3ddMmrUqFWrVp20Gs/zgUCA87kcF93gdLmikQSUxYXdALrA/gBd9Wx/MBgMqnM9zCsqRXjLLbcsWLCg6xKNRnPq4zN4nvf7/ZMnjolGBlAoPHYHusL+AF1FaX+IShEaDIaMjIxovDMAAEBk9eQcYXt7u8PhIKKOjg6HwyH2+jngAAAAUunJiLC4uLi9vT0xMXHSpElEVFdXZzAYIh0MAACgL/SkCA8dOhSRbXu93s7OTpQohAWDwZaWFpwTgjBRFO12O/YHOKGxsdFoNLJs5G92kPL2iXfeeeehhx6SMADIyq5du2bNmiV1CpALh8MxevRoqVOAjIwePTp8Vi7ipL+PEAAAQEIoQgAAiGuRv30iPT19xYoV06dPP+eaTU1NDofjfNaEeOB0OhsaGrA/QFgoFFKpVNgf4ASWZW+55RaO615tLVy4sF+/fmdfh4nGzQ8ff/xxKBSK+NsCAAB0y2WXXWaxWM6+TlSKEAAAQClwjhAAAOIaihAAAOJaVOYaPR8HDhxYsmSJx+O58cYbJ06cKFUM6GOiKO7bt2/Xrl0NDQ1z5sxJS0sLL9+4ceOaNWuMRuNdd93Vv39/IhIEYdmyZdu3b8/Nzb3vvvvOeZQfFKq8vPyTTz6x2+2FhYV33nlnYmIiER0+fHjx4sWdnZ3XXnvttGnTwmtu27Zt1apVarX6jjvuuOCCCyRNDdGycePGjRs3tra2pqWl3X777YWFhUTkdrsXLVp06NChkSNH3nnnneHrZU7sJDNmzLjqqqt6s1FpRoR2u33MmDFqtXr48OEzZ85ct26dJDGg73k8nqlTp77zzjsLFiw4duxYeOFHH300a9as4cOHq9XqsWPH2u12Ipo/f/7ChQvHjRtXWVnZy70cZIvn+dmzZweDwYsuuqisrOyiiy7q7Ox0OBxjxowJBoPFxcVz5sx56623iKisrOyqq64aOHCgzWYbN27cwYMHpc4OUbFly5aEhIQxY8Y4HI7i4uLwX/QNN9ywdevW8ePHL1u27P777yeirjvJ3LlzwztJz4lSePzxx6+77rrw65deemnChAmSxAAJ6fX6ioqK8OvLLrts0aJF4dclJSWPP/54Z2en2Wzeu3evKIqBQCA1NXXr1q2SZYVoCgaD4RehUCgzM3Pt2rUvvPDCpEmTwgtff/314uJiURRLSkoee+yx8MJ58+Y9+OCDkqSFvjRu3LiXX365oqLCbDZ7PB5RFGtra3U6XXNz82l3kh6TZkRYVlYWnrCbiCZOnFheXi4IgiRJQHKCIJSXl19xxRXhP06cOLGsrKyqqkqv1w8dOpSI1Gr1pZdeWlpaKmlMiJYTt4WFQiGXy5WUlFRWVnbidMnEiRMrKiq8Xu+2bdtO2kmkiQt9pbq6+tChQ8XFxWVlZWPHjtXr9USUl5eXlZX11VdfnXYn6fG2pCnChoaG5OTk8OuUlJRAINDa2ipJEpBca2trMBjsuj8cO3bMbrefWBJe2NDQIFFA6COPPPLIqFGjLrnkkq5/+ykpKURUV1fX0tJy0k4iWVCIsscee8xqtQ4aNOj++++/+OKLT/o0SE1NbWhoOHUn6c1HhDRFqNVqA4FA+HX4hU6nkyQJSC78Vx8MBsN/DAQCer1eq9WeWHJioTT5oE8899xz69evX7lyJcMwp34+GAwGjuNO2kkkywpR9uijjzY2Nm7atOnFF1987733Tvo08Pv9Op0usiUiTRFmZ2fX1dWFXx89etRiseBhK3HLbDabzeau+0NmZmZmZqbdbj8xP1FdXV1mZqZ0GSG6Fi1a9PLLL2/YsCF8FXFWVlbX/UGtVqelpWVkZHRdmJWVJVlciD6dTjdhwoTZs2evXbs2Kyvr6NGj4eWiKNbX12dlZZ26k6SmpvZ4c9IUYUlJyerVq8Mlv2rVqpKSEkligEyUlJSsWrWKiILB4OrVq6+//voLL7wwOTn5gw8+IKK6urrS0tLrrrtO6pgQFa+++urf//73DRs25OTkhJeUlJS89957Pp+PiFatWjV9+nSO407sJIIgvPnmm/jQiEmiKHZ0dIRfB4PB8vLywsLCq6++es+ePQcOHCCiTZs2MQwzduzY0+4kPd6uNFOs+f3+qVOndnZ2ZmVlVVRUbNmyZcCAAX0fAyQxY8aMhoaGysrKoqIig8Gwfv369vb2yy+/vLi4+NixYxaL5eOPP9ZqtWvWrLnrrrsmTZpUXl5+yy23PPXUU1IHh8jr7OxMTEzMzs4On+YhokceeeT666+fMWNGfX19QUHBl19+uWHDhqFDh9bX11966aUDBgxwOp3BYHDTpk04jBR7wpeIFxcXWyyWysrKfv36ffjhhyaT6Yknnli8ePH48eM3b978/PPP33rrraFQqOtO8tlnnw0bNqzH25VsrlGe58vLy51O5/jx47FDx5UjR450nZM9Ly9PpVI5nc7S0lKz2Tx27FiVShX+Un19fUVFRUFBAe6ejlWCINTW1nZdkpycbLFYBEHYvn17W1vb+PHjrVZr+Eter3fr1q1arXbcuHFqtVqCuBB9HR0dlZWVTqfzpP/x9+/fX11dPXz48Ly8vPCS0+4kPYNJtwEAIK5hrlEAAIhrKEIAAIhrKEIAAIhrKEIAAIhrKEIAAIhrKEIAAIhrKEIA2SktLV25cqXUKQDiBYoQQHZWrlw5f/58qVMAxAsUIQAAxDXMLAMgL/PmzVu5cmUwGAzPGpWenr5v3z6pQwHEsp5P1w0A0fDggw+2tLRs3759xYoVRKTVaqVOBBDjUIQA8jJs2LDs7Ow9e/ZMnjxZ6iwAcQHnCAEAIK6hCAEAIK6hCAEAIK6hCAFkx2Qyeb1eqVMAxAsUIYDsXHDBBc3NzYsXL96+fXtVVZXUcQBiHO4jBJCdYDB47733fvTRR3a7PTMzs76+XupEALEMRQgAAHENh0YBACCuoQgBACCuoQgBACCuoQgBACCuoQgBACCuoQgBACCuoQgBACCuoQgBACCuoQgBACCuoQgBACCu/X8mIQAOZWw38QAAAABJRU5ErkJggg==" }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "q_leader = yt[2, 1:end];\n", "q_follower = yt[3, 1:end];\n", "q = q_leader + q_follower;\n", "p = a0 .- a1*q;\n", "\n", "plot(1:n+1, [q_leader, q_follower, p],\n", " title = \"Output and Prices, Stackelberg Duopoly\",\n", " labels = [\"leader output\", \"follower output\", \"price\"],\n", " xlabel = \"t\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Value of Stackelberg Leader\n", "\n", "We’ll compute the present value earned by the Stackelberg leader.\n", "\n", "We’ll compute it two ways (they give identical answers – just a check\n", "on coding and thinking)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "hide-output": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v_leader_forward (forward sim) is 150.0316212532548\n", "v_leader_direct is 150.03237147548847\n" ] } ], "source": [ "v_leader_forward = sum(βs .* π_leader);\n", "v_leader_direct = -yt[:, 1]' * P * yt[:, 1];\n", "\n", "println(\"v_leader_forward (forward sim) is $v_leader_forward\")\n", "println(\"v_leader_direct is $v_leader_direct\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# manually check whether P is an approximate fixed point\n", "P_next = (R + F' * Q * F + β * (A - B * F)' * P * (A - B * F));\n", "all(P - P_next .< tol0)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# manually checks whether two different ways of computing the\n", "# value function give approximately the same answer\n", "v_expanded = -((y0' * R * y0 + ut[:, 1]' * Q * ut[:, 1] +\n", " β * (y0' * (A - B * F)' * P * (A - B * F) * y0)));\n", "(v_leader_direct - v_expanded < tol0)[1, 1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exhibiting Time Inconsistency of Stackelberg Plan\n", "\n", "In the code below we compare two values\n", "\n", "- the continuation value $ - y_t P y_t $ earned by a continuation\n", " Stackelberg leader who inherits state $ y_t $ at $ t $ \n", "- the value of a **reborn Stackelberg leader** who inherits state\n", " $ z_t $ at $ t $ and sets $ x_t = - P_{22}^{-1} P_{21} $ \n", "\n", "\n", "The difference between these two values is a tell-tale time of the time\n", "inconsistency of the Stackelberg plan" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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PEmn0xcsWCAuLk6hUEJCQqysrB49elRQUODh4eHk5PTq1av8/PxJkybhLE6ePLlgwYJXr149ePCgtrZWX18/MDAwJycnNzcXISQuLm5sbKyrqysmJoYQYrPZFy5cKCwsHD16tL+/P4VCiY2NJQiitbX10aNHI0eODAwM7HVQNkLo8ePHz54961TbCQkJNBptwoQJ+CWz9lxPtFIAACAASURBVPb24ODgyspK0drOy8u7fv06m8328vKytLRECP3555/e3t6XL19GCIm2lrHZ7Dt37qSmptLpdJz4+vXrPB4Pf11nz54tIyODU964cYMgiDNnzkhLS3t7e/f9eX0gBhpPqKqqOjg44OgKIUSn0xUVFfG2tLS0g4MDGV1hCgoK9vb2gxtdIYTElNToGnodqc/wRyoFnXel7UkRvKiGZiwAwIdOR0fHwcFBVlbW29tbVVU1Pz//1q1bPTQpnTp1SigUGhgY3Lhxw8/PDyF048YNZ2dnNputra198+ZNsu2Kw+HMmzfv2rVrxsbGWVlZDg4ONTU16urqK1euPH78uOg1f/rpp/j4eC0treXLl+NDwcHBc+bMwUNvnZyc0tPT6+rqli9fjkM6JpMZExMzYcIEBoNBEISfn59oo87r7Ny5c926dSoqKrW1tTY2NtXV1eXl5SEhIWpqanJycvPmzfv7778Jgpg0adKjR490dHTWrVuXl5eHEIqMjHRzc+NyuQoKCrNmzbp16xZCaOXKlb6+vq2trbKysjQaDUdLU6ZMIX/RRWlrazs6OsrIyEyZMuXevXssFmvWrFmiCZSVlVNTU21tbVtaWqSkpCZPnnzlyhWE0NatW6dNm1ZdXS0pKenp6YkH0oj66quv6urqdu3a5efnV1RUJCMj4+vrGxUVFRMT8+uvv+I0BEEsXbq0o6Pjr7/+EggEBgYGt2/fnjp1aqdLZWZm7t69m8/nOzk53b17V1NT8+eff54/fz5C6Nq1a5999tnZs2c1NDT279///fff91rb27dv//rrr1VVVWtra21tbWtqakpKSq5du6auri4rKzt37twrV64IhUIPD4+IiAhtbe21a9cWFBQghCIiItzd3fl8vpycnL+//507dxBCX3zxxbRp09ra2jo112VnZz98+FBLS0tSUnLq1KlhYWG9FgyzsbHR19fX19e3sbHp4ymDjPjA4G9qP07kcrls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//79dTrd0qVLrVarNE5LIiWDxYsX181Ddru97lfyXdYdd9zRp0+f3NzcadOmWSyWWq0FBQWjRo1yOp1StW+//bbncQ8cOLB58+aAgIBRo0ZdybEiIiLkcrn0UcHLrsyy7IQJEwRBePXVVz2Xv/rqqy6X69Zbb23Ut/dIH+1csGDBkSNHYmNjPX+k0r2/vLw89xKe51944YUr3zkRSROKSh+TdHv22WdrrSZe/MCpm9TF5b4YahXsxRcaoP1AwALwD4MGDZo4cWJxcfHw4cOlWY4+++yz0aNHC4Lw3HPPNTAgJiwsbOHChTzP33TTTWvWrDlx4sSPP/44bNiw8vLyqVOnSvObE1FwcHCvXr2kjg33G79cLh88eLC00J26iGjChAmTJk36/fffr7322g8++GDv3r2HDh36+uuvH3744ZiYmLp3oC5LoVB8/fXXycnJP/zwQ+fOnZ955pl169ZlZGR89tln06dP79y5s3SPcuTIkWPHjs3Pzx85cuSmTZtOnDjx8ccfS3OfLl68+Arv1rEsm56enp+fP23atLfeeuuDDz7YuXNnA+svWrQoKCjonXfemT9//oEDBw4ePPjwww+/9dZbgYGBixcvbtRp/utf/1Iqlfv27SOiGTNmeH40b9iwYUQ0f/78tWvXnjp1avPmzaNHjy4tLW34nmAtQ4YMYRhm6dKl7733XlZW1p49e2bMmPHtt9/Wmsk9IiJi+fLlCxYsOHbs2OHDh++///6VK1fGxMTMmzev1g4nTpx42223HT16tNYLPX/+/Ka90ADtiO9miACA2hqeyd1isdR6V1ar1a+88op7hUtNNCoIwuLFi6XxzhKWZefMmSNNIO4mzUSgUqk8Z5mS+jY8J8SSOJ3Op556qtZYco7jBg8eLE1AJc2DJc1veYXKy8sfeOABzzolAwYM2LRpk7SO2Wy+8847PWOHVqt1z1TuPou6k0VFR0drNBrpcWZm5rXXXuveiedM7qtWrapb2OHDh2t9urBr164HDhxwr3DZebDcJkyYIP08z5w547lcEIR7773X87y6du2alZXFMExiYqLoMZN73X16zoP15ptvenaqRUREuEe2mc1m90zuX331ledwq5SUlOPHj7t36DmTu8PhePLJJxt4oQGgXozon9+fCtAm5ebmulyu+Pj4Bm485eXl7dq1q6amJjIycsiQISEhIe6m6urqsrKyiIgIvV5fWlpqMBhiY2PdeaWiouLXX38tLS3V6/UDBw6UZoH3ZDQay8rK5HK5Z5PFYikpKWFZNj4+vm4xNTU1u3btys/PV6lU0dHRvXv3dneWVFRUGAyGqKiohmdeqMtisezevbuwsNBms4WHh/ft27dTp0611snNzd29e7fRaIyKihoyZIhnB15lZWV1dXVkZGSt8dp5eXmCIHgOmXI6nSUlJU6nMzAwMCwsTNowIiLCc6YxN57n9+3bJ02q3rVr1wEDBtQa52S325OTky/b4VRdXV1ZWclxXN2TIqLTp08fPnzYZDKlpKQMHDiQ47g///xTekWsVmtxcXFAQEDdLxYsKSkxGo1xcXHS1yMWFRXt27evrKysU6dOQ4cOValUhYWFDocjISFBEIS8vDylUhkTE1NVVbV58+bKysqEhIShQ4d6fkfkmTNnZDKZ5yvu/n7Dui80ANQLAQsAAADAyzAGCwAAAMDLELAAAAAAvAwBCwAAAMDLELAAAAAAvAwBCwAAAMDLELAAAAAAvAwBCwAAAMDLELAAAAAAvAwBCwAAAMDLELAAAAAAvAwBCwAAAMDLELAAAAAAvKzVBSxBEHbt2tWEDUVRFATB6/UAXG08z/u6BIBGw3UL/kgQBFEUW+ZYrS5gWSyWUaNGNWFDl8vldDq9Xg/A1WaxWHxdAkCj4boFf+R0Ol0uV8scq9UFLAAAAAB/h4AFAAAA4GVtLWAZjNbdT832dRUAAADQrrW1gKUPUAc6asorDL4uBAAAANqvthawiKhEG5OXW+DrKgAAAKD9aoMBy6yPrSxCwAIAAACfaYMBSwzvaD9f6OsqAAAAoP1qgwFLF91RXoEeLAAAAPCZNhiwIuNig2rQgwUAAAA+0wYDVmJ8h1B7uQuzugMAAICPtMGApVVw55URhfnnfF0IAAAAtFNtMGARUUVAbHE+hmEBAACAb7TNgGULiTWeQ8ACAAAA32ibAUse2VEowzh3AAAA8I22GbBCOnTUVCFgAQAAgG/IfF3AVdExIZY34RYhAAAA+Ebb7MGKDw+wMgpzZaWvCwEAAID2qG0GLI6hIm1sfu5ZXxcCAAAA7VHbDFhEZAhJKDub6+sqAAAAoD1qswGLiU5wFiFgAQAAgA80a5B7TU3Nm2++efr06T59+tx///0KhcLdJAjChx9++Ouvv8bFxc2fPz8iIkJa/vPPP3/zzTcOh+OGG26YM2dOs2pvUHBsJ/Xx9Vdv/wAAAACX0qwerFtvvfX333+/9dZbv/vuuwceeMCz6fnnn3/33XfHjx9fWlo6bNgwnueJaOnSpXPmzOnevfuIESPOnj3bnENfVmJKQoS5kAT+qh4FAAAAoC5GFMWmbXnw4MGRI0eeP39eqVQWFhYmJyfn5+dLPVVWq7Vjx44bN27s16+fKIqdO3d+4403+vTpk5SUdPjw4dTU1AZ2azKZoqKiTCZTY+txOp2CICiVSukpL9LeBTN7zFsU2CGuaScI0DKMRmNAQICvqwBoHFy34I/sdjvLsnK5vAWO1fQerD179lx33XVSoOnYsWNcXNyhQ4ekptOnT9tstmuvvZaIGIYZPHjwnj17du7cmZaWVlFR8dRTT7399ttGo9ErJ3ApHEPnAuLz/vjzqh4FAAAAoK6mj8EqKSkJDQ11Pw0LCysuLvZsYhhGehoeHl5cXKzX6wsLC59//vmpU6du3LhxxYoVBw8edHc4eXK5XGPGjKn3oP/+97+l3FaX1IPldDrdS8yhnSr+zDH16du0EwRoGWaz2f2PBcBf4LoFf+StHiyNRsOyl+mianrAUqvVnmnGZrNpNBp3k8PhqNWkUCgMBsPXX3+t1+unT5+emJi4cePGW2+9te6eWZa91Pj3zp07u49SS61bhESkiElkT22+1PoArQTP87hKwe/gugV/xHGcVwLWZdMVNSdgxcTErF9/4WN6oigWFhZ27NjR3VRRUWE2m7VaLREVFBT06dMnNjY2JCREr9cTEcdxnTp1KikpuVTd9Qavhkln63nOEQmJ+j25V/JTAPAhlmVxlYLfwXUL/oi9qCWO1eQtx44de+zYsZMnTxLRpk2b5HL5ddddV1RUtG7duqSkpO7du69du5aIiouLN2/ePGHChFGjRlkslhMnThBRWVnZsWPHevfu7a3TqFfn+Gi1wyhYGz1eHgAAAKA5mt6DFR4e/sILLwwZMqRfv3579+5dtmyZTCbbv3//vffe+49//OP111+fPHnyt99+e+zYsTlz5nTt2pWIXnvttREjRlx//fUHDx6cPXt2//79vXci9YgNYDeq4oIL8sI7p13VAwEAAAB4avo0DZKzZ8+eOXOmR48ekZGRRGSxWCoqKmJjY4mosrLy6NGjMTExXbp0ca9fXFyclZWVnJzcqVOnenforWkaJJ+++p+ePZJ7jR7X2L0BtBh83B38Ea5b8EctOU1Ds2ZyJ6L4+Pj4+Hj3U41G4x72GBISMnz48FrrR0dHR0dHN/OgV84RmWTOx0wNAAAA0KLa+BBFbXyKoviUr6sAAACA9qWNB6ykzknBxnOi03H5VQEAAAC8pI0HrGvCFTnKjpZC3CUEAACAltPGA5ZaRnmByfkncZcQAAAAWk4bD1hEZI/uYjj7h6+rAAAAgHak7QeswIQUVfFpX1cBAAAA7UjbD1gpKQlac5lgs/i6EAAAAGgv2n7A6hXOZavirfk5vi4EAAAA2ou2H7A0MsrTpxT+gXHuAAAA0ELafsAiImd0Z1MuhmEBAABAC2kXAUuf2Bnj3AEAAKDFtIuAlZLYkRw2vrrM14UAAABAu9AuAlafcPaApqvpzAlfFwIAAADtQrsIWFoZFYSlFWchYAEAAEBLaBcBi4jkid1deQhYAAAA0BLaS8BK6JKsMpQIFqOvCwEAAIC2r7kBq7CwcN++fSaTqW6TwWDYt29fcXFxreVOp7OqqsrlcjXz0I0yIEqWqU5xnD3ZkgcFAACA9qlZAWvx4sXp6emPP/54UlLSzp07PZs2btyYnJz8xBNPXHPNNW+//bZn08yZM0NCQg4cONCcQzdWnI45pk8ryT7ekgcFAACA9qnpASsvL2/JkiV79+799ddfFy9ePG/ePHeTIAgPPvjgO++8s3379u3btz/55JPl5eVS008//VRVVaXX65tbeOO54tLMOQhYAAAAcNU1PWB9/fXXgwYNSkxMJKI777zzxIkTf/zxh9R06NCh8vLy2267jYjS0tJ69eq1bt06IqqpqXnssceWL1/ujcobLbJzqrr0T9Hp8MnRAQAAoP2QNXnL/Px8KV0RkUajiYiIyM/PT0lJkZpiY2Nlsgs7j4+PLygoIKJHHnnkgQce6NixY8N7FgQhIyOj3qaePXtGREQ0reB+Meo/NXExeSeVydc0bQ8AAAAAV6LpActqtWq1WvdTtVptsVikxxaLRaFQeDaZzeatW7dmZWV98MEHl92zIAgvv/xyvU1PPfXUddddV2+T0+kUBMHpdF5qtylKelXTO/X3ffqoxMvWANBizGYzwzC+rgKgcXDdgj+y2+0sy8rl8mbuR6PRsOxl7gE2PWBFRUXl5eW5n5aXl0dFRbmbKisrPZtSU1OlAe9Lly4lIrvdvmrVKo7j+vXrV09NMtnWrVsbW48UsJRKZQPrVMWmW07/L2binMbuHODqEUVRp9P5ugqAxsF1C/5ILpd7JWBdiaaPwbr22mt/++03URSJ6MSJEy6XKzU1VWrq2bNncXGxdFuQ5/k9e/b069dvypQp4eHhVVVVVVVVoigajUabzeaVc7hynbqlslXnBJOhhY8LAAAA7QojJaQm4Hk+LS1t5MiRY8eOfeGFFwYMGPD666+vXLlyxYoVO3bsmDVr1tmzZx9//PEvvvji+PHj+/fv99w2KCho48aNAwYMqLtbk8kUFRVV78RaDbuSHqw9pWLRBy/ccssQTfrQxu4f4CoxGo0BAQG+rgKgcXDdgj/y1i3CK9H0HiyO47Zu3cpx3PLlyydOnLhkyRIi6ty58/jx44novffeGz58+Pvvvx8cHPzTTz/V2nb+/PkxMTHNqbtprg1jNqt7GbKOtPyhAQAAoP1oeg/WVXJVe7CIaOb3BQsPLkh8cXVTCwTwMvQEgD/CdQv+yD96sPzUNckxFlHhLMn3dSEAAADQZrW7gDWiA7MjoJft5EFfFwIAAABtVrsLWN1DmK0B/aqP7vF1IQAAANBmtbuAxRBpuvbmi3P5mipf1wIAAABtU7sLWEQ0Ik6RGZpuy9p/+VUBAAAAGq89BqyxcewaRX/z77t8XQgAAAC0Te0xYIUqqSy+ny3nhGCz+LoWAAAAaIPaY8AiopEJ2rMhqfZsfJYQAAAAvK+dBqxxccxXmgHWTNwlBAAAAO9rpwErLZjZG3qdOfuQaLf6uhYAAABoa9ppwCKiG5KCCsPSrMd2+7oQAAAAaGvab8AaF8d+GTjMcnCLrwsBAACAtqb9Bqyh0cw3qmutBWf46nJf1wIAAABtSvsNWBxD45JUZzpebzm83de1AAAAQJvSfgMWEU1NZD/QDLPsz/B1IQAAANCmtOuAdUMUs0/Vze5wOPJP+boWAAAAaDvadcBiiG5LZPfF32La+YOvawEAAIC2o1kBSxTFN9544/rrr7/xxhs3bdpUq3XDhg0jR4684YYb3nrrLWnJBx988M9//rNfv36TJ08+eLBVzKI+JZF9kbvRdmIfb6zydS0AAADQRsias/GKFSuWL1++cuXKgoKCyZMn79u3r2vXrlLT8ePHp02b9sknn0RHR99xxx2BgYF33333hg0b7rjjjqSkpI0bNw4fPvz48eNxcXHeOIumSw9jHEpdTedBuj2bAm+a6ttiAAAAoG1gRFFs8sY9e/Z84oknpk2bRkSzZs0KDAz8z3/+IzU9+OCDTqdz+fLlRPTpp5++8847tbqsevTo8eSTT0rbejKZTFFRUSaTqbHFOJ1OQRCUSmVjN3w9Uzifl/fwgYVRz37KcM1KnABNYDQaAwICfF0FQOPgugV/ZLfbWZaVy+UtcKym3yLkef7EiRP9+vWTnvbv3//YsWPu1mPHjnk2ZWZmCoLgbq2urj579mxKSkqTj+5FMzqz/6vqSKEdbJjVHQAAALyh6R02FRUVPM8HBQVJT4ODg8+fP+9uLS0t9WxyOBxVVVWhoaFEJAjCrFmzxo0bd+2119a7Z6fTeans9frrrw8bNuxSWwmC4HA4GnsiCqKRkfJt+vHDflntSupFDNPYPQA0RxP6awF8Dtct+CNv9WBpNBqO4xpep+kBKzAwkIgsFov01GQyuRMVEQUEBHg2sSwrrS+K4r333lteXr5x48ZL1iSTrV+/vt6mmJgYnU5Xb1OTbxES0f09xHt3DRgp+0qWd0LdY0AT9gDQHLjVAv4I1y34HYVC0WK3CJsesFQqVZyZVBcAACAASURBVFRU1B9//CENVD9z5kynTp3crfHx8WfOnJEenzlzpkOHDnK5XBTFefPmZWZm/vzzzxqN5lJ7ZhimS5cuTS6sCQZHMyJRYb/JMT+vUne/Dp1YAAAA0BzNmqZh2rRp7733niiKlZWVq1evvuOOO4jozTffPH78+B133LFy5crq6mpRFN977z2p6cknn/ztt982bNjQ2v7uYYjuS2VfsfdnGNaWtd/X5QAAAIB/a1bAevrpp8vLy2NjY5OTk8ePHz969Ggiev/997OyssaNG3fTTTclJSXFxsaaTKYFCxbYbLYlS5YcOXIkJCSEYRiGYV577TUvnYUXzOrC7jgvmm6YbNi4kprxyUoAAACAZk3TICkpKVGr1Xq9vm6TwWCw2WyRkZFXvreWn6bBbdFhvsQsLj6yQNP/Jm3/m5q8H4BGwcfdwR/hugV/5B/TNLhFRUXVm66ISK/XNypd+dZDadzXZ0XXLffWbPhEsFl8XQ4AAAD4q3b9XYS1hChpWjL7dlW8qmsf4+YvfF0OAAAA+CsErL95tAe74qTgGHm3ec9GV2mhr8sBAAAAv4SA9TeddMy/UtgXz+gDb7mrcs1r5DH7PAAAAMAVQsCq7ele3No/hZLut7AqrXHbN74uBwAAAPwPAlZtYSqal8Y9e1gMvn2ecdvXzpJ8X1cEAAAAfgYBqx4P92B3lIj7XeH68bMrPn5RtFt9XREAAAD4EwSsemhl9Fo/9p6dvKLvjcqk7pWrXsXUowAAAHDlELDqNyWJ7aSj/xwXgibcy9dUGbd86euKAAAAwG8gYF3S29dzS4/xeVZZ6MxnTLs3WPZn+LoiAAAA8A8IWJeUGMA80ZOb/itPgaHh971i2PCJ9fedvi4KAAAA/AACVkMe6c4qOXrxiCAL6xA25/nqr5dZM/f4uigAAABo7RCwGsIytGqobMUpYVuxKO+YHHbfy9XfLDPv2ejrugAAAKBVY8RW9vk4k8kUFRVlMpkau6HT6RQEQalUer2kTYXinJ387vFcrJZxlZ8rf/9pTfrQwNH/IhbxFK6IYDOTUPsfmuiwibyTiMxms1ar/VuT0yk67Q3sULRZSLyirxkQRVG0mhtZ79/3wDtFu605e2jW0Z120eX01dGhAXa7/Wr8vgW4qlwuF8MwHMepew2WhUZd1WMhYF2RpceET/8Qdo2T6RUkmKorPn2FGCb0ridYXdDVOBw0gsALNiuRKFhNRCTabSLvIp4XHVYiEuxW4nkSL7aKgmizkPToYuwQbRZRCisup+C4kCREh010uS4cwvW3uCNYTeTxj0awmT2zjuhyio7a2YhVaYllai1kFCqGkxORIAjs38M6I5cz8oauZEalIeaK8j3DMIxae/n1GtgDJ2eUqubsoVlHlysZmdxXR4cGOBwOhULh6yoAGofneYZhWJbVXjdKFh5zVY+FgHWl5uzkS6zi9zfKOIZIEGo2rjTv/yXon/+n7jXoKh2xLRMEwWYRbRbBYROdNtFqFuw20WkXbRbRaRedDsFqFl1O0WkX7VaRdwkWE4mCaLNI8UV0OUSnXXS5RIeNWI5VqYmIVQcQEaNQMjI5cRyjUBMRq1QRJyMiVhNARAzDMioNSY8uxg5GpWGksCKTs4oLSeLCfiSyv8UdVq0jj7DEqrSeWYeRyRlF4y5Co9EYEBDQqE0AfA7XLfgju93Osqxc3hJ/tiFgXfH+BfpHhitIwawcynEMEZHj7Mmqtf+RhUXr/zHnagfhVk0UBYtRsJoEi0mwGEWrWbCaBKtZsJlFq1mwW0SrWbBZRLtVsJgEu0W0W0WXk1VrGaWGUahYhZJR61iFkpErGbVW6rFgNTqGkzEKFaNUMZycUWsZlmNUGoaTXViiUDEyGaPwWc+KF+GNCvwRrlvwR/4UsPbt25eVldWzZ8/09PRaTX/++eeOHTtiYmJGjBjhvgMird+rV6/evXvXu8NWG7CIyCHQxM0ujYxZPZSTsUREIu8ybf/WuO0b9TU3BI6cwoVEXL2jtzzR5RTMNYLJIJgNvMkgmAyCxSiYay7832wULDWC2SjYLaxax2p0rDqA1egYtZZV61i1llFrWZWWVWkZlYZVaRiVhlXrWJWaUagb28fTtuGNCvwRrlvwR34TsJ599tnPPvvs5ptvXr9+/cMPP/zoo4+6mzZs2HDXXXdNmDDh0KFDcXFx33//PRE988wzq1atGjVq1Pr16x955JFHHnmk7j5bc8AiIhtPt2a41ByzahinlV1YKFhMxq1fmfdsVKb01A0ar0zsTkztATetkGi38oYK3mQQjFV8TaVgMvDGKsFYdSFLGatEp4PVBrLaQFYXxAXoWU0gq9OzmgBWG8BqAi/8XxPAanS+PhX/hjcq8Ee4bsEf+UfAKi0tjY+PP3bsWHJy8tGjR4cMGVJYWOj+99arV6/58+fPmDHDZDJ17tz5iy++6NKlS6dOnY4fP56UlHTkyJGhQ4cWFRXpdLXfm1t5wCIil0AP7eF3nxd/HMXFav8KUqLdat6fYd79k2CzaNKHqNKuU8an+vCThiLvEkwGvqZCqKnijVW8oUIwVvM1FbzRINRU8sZKYlhOH8rp9GxAMBcYwur0rE7PBYSwOj2n07O6ICSnloE3KvBHuG7BH7VkwJJdfpVL2Lx5c2pqanJyMhH16tUrPDx8x44dY8aMIaKCgoJjx45NnDiRiHQ6ndTFlZeXl5aWlpSURES9e/cOCwvbsWPHLbfc4qUTaTkylpbdwL3yuzDgB/6jwdxNMRcyFqNU6waN1w0a7yw+az38a/W37/OV5xUJacr4ropOXWRR8VxgsBfLkPKTYK6ROp8EUzVfU8kbqwRjNW+okG7nsTo9FxjKBgZzAUGcPlQWGavs3JsL0LOBIVxACO7TAQAAXCVND1hFRUUdO3Z0P42JiSkqKnI36fV69x83MTExZ8+eDQkJudT6tfA8/+abb9bbdMsttyQkJNTbJPVgsS3VY/RoN+oTQjN/dU1KoEW9SO35gwyLUd80TX3TNL6mypWX7cw7af3lc1fxWRJFLiSKDQ7n9KGMJpDT6RmVhlGo6gYdkXeRwy66nKLDJlhNZLcJVpNgM4tWk2AxCmajaK4R7FZOF8hoAtmAIFYXzAYEsQHB8ohYRhfE6UMZbSCnC7rUnUqRyEVETkwv1HJMTnLWN3GVjafyGpfu0lM9VTU0H9bl998wkcjQIleBUyATLre2xWYjlQovKvgZl0tgGJHj6OaO1FHT9P3IZDLmcmOBmh6wpMkkPA/mujhvUK0mjuNcLlcD69d1+vTpepdff/31PM9fqh5BEC7VejUMCqd9Y5l5+5he65jXrxVGx9S52aoNlHXrL+vWX01ERKK5hq86L1SW8sYq0WxwFOWINgs57UKdaZMYTkYKpTT/EKPSMko1E9ZBrtIyGh2rCWA0AdL/Gy6PFxr/fus/BJFqnAwRGZ2iSySnQGYXQ0Q1TuIFEohqnEQe7+vuFUSiaseFV8riYhwXf0ieOcbkItfFF9POk8XjOjW7GM8cIxAZHH973UViDI56CtbJScbUcztexZGS0TTwd0GQ4opu4uvkJG/8HxcMkb5FJpmSs6TDbFZti9PJyuWt60PoAJfF88QwxLJi/1Ahuhl3cTiOu4oBKzo6urS01P30/PnzHTp0cDcZDAb3PL/nz5+Pjo7u0KHDpdavW/eyZcsaWw/HcS0zBstTBxV9dSNlFIkP7OaXn6bn+3DXRVz6J65SUWib+phhY1XZyewSLS4yOsnoJBtPRqdodpJdoGo72QWyuESjk5wCVduJF6nGKUoJSUo50grSEoYoSElEFCBnZMxf798BcpKxxBLpFQwRyVgKkBN5vMEzROGaC6+RRkZK7kJtQYq/+vukfUqUHGk8/pXUyjEMUZDib684y5C+kZMvYiwL+COj0R4QgIlGwc/4xyD33Nzcbt26FRYWhoaGFhQUdO7cOS8vLzg42Gg0BgUFJScnv/POO2PGjOF5PjU19fXXX09LS0tLS5PWz8/P79KlS35+fnh4eK3dtv5B7vUfXaBPTgsvHhW66unBNO6WWKbOxN1tislJVQ6x2k7VDjI4yOAQDQ6qcVK19MAhRSjR6LwQqkxOMrsoWEkaGaORUaCcdHJScRQoZ6SUE6wkJUsaGSMlmGAlcQwFyhkpGClY0kr/lzFtry8EAQv8Ea5b8Ef+EbCI6K677vrjjz+mTJny6aefDhw48O233/7ll19uu+22mpqaFStWPP/884888shvv/2Wl5e3f/9+juP+9a9/nTlzRlp/0KBBb731Vt19+mnAkjgEWpsjvJcllNloWhIzJYntHuxPOavSThU2scJOlXaqsIuVNqq0i5V2qrRTlUOstFOVnarsYpWDlCwFK5kgBQUpSS8nvYLRKyhQQcEKJlBBgXIKkFOAggmUU5CCdHJGK2trqciL8EYF/gjXLfgjvwlYLpdrzZo10sSht99+O8uyRUVFmzdvnj59OhFt3rx527ZtkZGRd999t/Tv0OVyrV69Ojs7u1evXpMnT673/qVfByy3IxXi5znCl3+KcpZGdWRujGEGRLARap/VY3RSmU0ss1K5nSpsYrmNym1imY3KbVRhFytsVG4XK2ykk1O4iglVUYiSQpRMqJJClEyIkoI9HgQrmGBlU4b7wKXgjQr8Ea5b8Ed+E7CuhrYRsNwyK8VNheK2YmFvqRisYHqFMmnB1EXPJAYy8TomQk1cM3q4TE4yOMQqB1XbqdIuVjkudEFV2kmKUOV2qrBRhV2UsxSqZCLVFKqiMCUTpqJQFROuojAVhamYUCWFqpgwJckQm3wBb1Tgj3Ddgj/yj3mw4Er0CGF6hDCPXcOKRKcN4rFK8XiluKFA/NMo5JvEchuFKClYyQQrSCu/MLbaPS6bLn4mjogMDlEgqraTjSeTiwwOscZBKo70CiZYSUEKClEywcoLPU/dgylUReEqNlRFYUoKVTEqroEaAQAAwMsQsFoIQ9RFz3TRM5M8pvHiRSqzUZVdrLKTxUU1TpEXySWQ8eLkMoFy4lgiIr2CZYmClKRkSSenIAUjfVwOAAAAWqG2E7BKS0udTmd8fLyvC2kEjqEoNUWp3bcJ/WlEPHiF3W4/depU3759fV0IQOOcOnWqR48erW1UBkDDiouL5XJ5TExMCxyrNQYsQRAyMjIau9XatWsNBsPcuXOvRkkAV0lBQcGzzz778ccf+7oQgMaZMWPGiy++6Pn9HACt3/Lly4OCgqZMmdLM/QwYMKDulynX0uoGuQuC8NRTTx06dKixG9rtdlEUVSrV1agK4CoRBMFkMgUGBvq6EIDGqamp0el0LfbtZABeYbVaWZZtfs/r8uXLpe9WbkCrC1gAAAAA/g5/fAAAAAB4GQIWAAAAgJchYAEAAAB4WdsJWLm5uWfOnPF1FQANqa6udrlcnktOnz6dl5fnucThcGRmZlZWVrZsaQD1M5vNWVlZZWVlngsNBkNmZqbVavVceO7cuezsbEEQWrZAgHqYzebs7Ozc3Fye590LBUHIysoqLi72XNNisWRmZtbU1Hi9hrYQsOx2+5gxY4YOHTp69OghQ4YYjUZfVwRQ25gxY8LCwoKDg3fu3Cktqa6uHjBgwLhx4wYOHDhhwgSn00lER44cSUpKmjFjRkpKypIlS3xaMgDde++90dHRkyf///buO7Cpcu8D+HNOdtK9W0oHHYwChVIooAiUISJLWcoVEMRyEa1e8Xp9ERfKdcBFRZaoCFyZ4gRBpuyyNxRaKnTvpG12cnKe94+jubGUUUibNv1+/krOen4Jh+Tb5zx5zvj4+PixY8eazWZCyBdffBEdHT116tSoqKh9+/YRQiil06ZNS0pKGjduXOfOnYuKilxcN7RsmzdvbtWq1bhx4/r379+uXbtz584RQvLy8hISEp544okuXbo899xzwi/8du3aFRUVNXXq1Ojo6NWrVzu5Dtr8LVu2LDk52Ww222y2gQMHzps3z9UVAdS2adOm7OzskJCQvXv3CkvmzJnz6KOP8jxvNBoTExNXrVpFKe3Tp8+HH35IKb127ZqHh0dOTo4ri4YWb8uWLVqtllJaVVXVtm3bzz77rKKiQqVSnT59mlK6evXqdu3a8Ty/ffv2yMhIjUZDKZ06dWpaWpqL64aWTaPRCDM3UUrT09MHDRpEKZ08efL06dMppZWVla1atdq7d6/NZmvTps26desopceOHfP09KyurnZiGe7Qg7Vhw4YpU6ZIpVKWZadNm7ZhwwZXVwRQ29ixY2NjYxnmf5P1r1+//tlnn2UYRi6XT548ecOGDQUFBYcPH542bRohJCYmJjU1ddOmTa4rGYAMGzZMmE3R29u7W7duBQUFP/30U8eOHbt27UoIefLJJwsLC8+ePbt+/frx48f7+PgQQtLS0vAhDK7l4+MjlUqFx+3atTObzTzPb9q0SZiK3M/Pb+zYsRs2bDh+/LhGoxk3bhwhpEePHrGxsVu3bnViGU1xJvf6ys3Ntc/3FRMTU2tEC0ATRCnNz8+3n7dt2rTJzc3Ny8vz9fX18/MTFuJkhqajqKhox44dP/74465du+znrUQiiYiIuHHjRm5ubu/evYWFMTExNTU1arXafiYDND6NRrN8+fK8vLyTJ08uXbq0rKzMaDQ6fuT+8ssvN27ciIqKEolEwsKYmJgbN244sQZ36MHS6XT2CdwVCoVer6eYPRWaNovFYrFY7OetUqnU6XR6vd7xVgQKhQIDCqEp0Ov1Y8eOnTx58oMPPqjX6x1nwVYoFLVOXYVCQQjR6XSuqRXgTyzLKhQKtVqdk5MjnJB3/Mh17nnrDj1YISEhGo1GeKxWq4OCghwvxAA0QTKZzMfHx37eVlZWBgcHBwcH25cIC0NCQlxUIMAfjEbjiBEj2rZtu2DBAkJIcHBwTk6Ofa1arQ4JCXE8ddVqNcMwwcHBrikXgBBCiK+v77/+9S9CyMMPP/zkk08KXVPC6UocPnIdf6+tVquTk5OdWIM79GAlJSUdOXJEeJyRkdGtWzfX1gNwN5KSkjIyMoTHwnkbGxsrFovPnj1rX5iUlOS6AgGIxWIZO3ZsQEDAF198IfzhmpSUdOzYMWEuhuLi4oKCgk6dOtU6mRMSEu7/Xm8ATuHr62uxWFQqVVxcXK2P3MTExOvXrwtTkNhstmPHjjn3I9cderBmzpw5ePDgbt26KZXK+fPnr1271tUVAdT23XffVVZWGgyGrVu3Zmdnjx079sUXX0xLS4uNja2qqlq1atWBAweUSuUzzzzz/PPPv//++zt37lSr1aNHj3Z14dCiTZo06eTJk2+99dZXX31FCImLi0tNTQ0ICHjxxRfHjx//wQcfjBs3LiQkZNq0aZ06dfr8889jYmJmz54t9BwAuMrixYtVKlV0dHRxcfH7778/ceJEkUiUnp7+2muveXt7Z2Zm7tu3b+nSpaGhoSNGjJg2bdo///nPb775JjIy8sEHH3RiGW5ys+ft27d//vnnPM9PnjwZ30nQBL333nv5+fn2p2+//XZoaOj69evXrVsnkUhmzpw5YMAAQojFYpk/f/6BAwfCwsLmzJlzx7u1AzSot956q6SkxP40JSVl6tSpRUVFc+fOzcnJ6dGjx+zZs1UqFSHk6NGjH3/8sVarHTVqVFpamutKBiC7du1at25dQUGBn5/foEGDJk+eLJFIKKXLli3bsmWLt7f3K6+8IlwN1Gq18+bNO3XqVFxc3FtvveXcS9tuErAAAAAAmg53GIMFAAAA0KQgYAEAAAA4GQIWAAAAgJMhYAEAAAA4GQIWAAAAgJMhYAEAAAA4GQIWAAAAgJMhYAEAAAA4GQIWALiziIiImTNnuroKAGhxELAAAAAAnMwdbvYMAFCnhQsX1tTUnD59+sMPPySEJCYmDhkyxNVFAUCLgIAFAG7rzJkzVqu1vLz81KlThBBfX19XVwQALQVu9gwA7iwiImL48OFLlixxdSEA0LJgDBYAAACAkyFgAQAAADgZAhYAAACAkyFgAYA7E4lENpvN1VUAQIuDgAUA7iw0NPTatWuurgIAWhwELABwZ1OmTNm7d29MTExycvK8efNcXQ4AtBSYpgEA3Nz58+fPnDlTUlKCiUYBoNEgYAEAAAA4GS4RAgAAADgZAhYAAACAkyFgAQAAADgZAhYAAACAkyFgAQAAADgZAhYAAACAkyFgAQAAADgZAhYAAACAkyFgAQAAADgZAhYAAACAkyFgAQAAADgZAhYAAACAkyFgAQAAADgZAhYAAACAkyFgAUA9LF++fPr06QUFBa4u5JZef/31Z555hlLq6kIa2+bNm5955plTp065uhAAIAQBC6A5mjZtmlQqXbZsWeM3vWvXrhUrVlRWVjr3sCNHjmQY5pNPPrnVBps3b2YYpkePHnc81Lfffrty5Uqe551a4F8sWrRIegsHDx5suHYF5eXlK1as2LVrV63lJ06cWLly5fXr1xu6AAC4G2JXFwAA9cZxnNVqtdlsri7EaaZMmfLzzz9/9dVXL730Up0brFq1StisUcu6BZvNZrVaQ0ND27ZtW2uVl5dXQ7eem5s7ffr0MWPGDBo0yHF5TExMv379goKCGroAALgbCFgA4HrDhg0LCQm5ePHimTNnunbtWmttaWnpjh075HL5E0884ZLy6jRs2LAVK1a4uor/SUtLS0tLc3UVAPAHBCwAt8Vx3MGDBy9dusRxXGxs7MCBA+VyueMGZWVlR48ezc/Pt1gs0dHRqamptTpgrFbrzp07r1696uPjM2jQoNatW9/cilar3b17d25urkgkSkpK6t27N8Mwwqqamprs7OzAwMCIiIiCgoLdu3eXl5ePGjUqLi6u1kHEYvHf/va3//znP6tXr745YK1evZrjuLFjx/r6+hJCjEZjRkbGjRs3KisrQ0ND+/TpExkZeXNhOp3u6tWr/v7+UVFRjsvz8vLKy8vj4uLsL9ZoNO7ZsycnJ4dhmI4dO/bt21ckEt3p3a2bxWK5cOGCp6dnfHy84/Li4uKioqKoqCh/f/+srCytVtuxY0eJRLJ3796LFy/K5fL+/fvf3B+WnZ19+PDh8vLyoKCgDh06JCcnFxQUXLlyhRCi0Wjsw61CQ0PDwsIKCwtLSkpiYmJ8fHyE5eXl5bt37y4sLPTy8urZs2fnzp1rvTl+fn7R0dHFxcW//vqrWq2OiYkZMmRIrZMEAO4RBYDmZvLkyYSQzz777Dbb7N+/PyYmxvE/e3h4+IEDB+wbjBo1imX/MgrTx8dnw4YN9g1ycnI6dOhgXysWixcuXPj4448TQs6ePStss2zZMm9vb8eDpKSk5OfnC2t37NhBCJk+ffq7775rjyxr1qyps+CLFy8SQvz9/U0mU61VQhk7d+6klC5atEipVDq2KBKJ0tPTbTabsLGQ3jiOO3z4MCFk4sSJtY42Y8YMQsiOHTuEpxs2bKh1WS0hIeHKlSu3eW8XLlxICHn22WdvXiUMgRowYECt5XPnziWEfP3115TS1NRUQsihQ4e6d+9ub5Rl2Xnz5tm3LysrGz58eK2P6+7du6enp9/8Mf7GG29QSl999VVCyLfffisc4aOPPlIoFI6bDRs2TKPRCGuFsWJPPfXU8uXLpVKpfZu4uLgbN27c5rUDwF3CIHcAN3TixInBgweXlJS8++67x48fP3fu3Pz58ysrK4cOHXrt2jVhG61WO2fOnJ07d2ZmZp46deqjjz7ieX7ixInnzp0jhJhMpqFDh16+fHnq1Knnz5+/fv36/PnzZ8+enZGRYW9l2bJlM2bM8PLy+uqrr86fP3/s2LEZM2YcP378kUceMZvN9s22b9/+0UcfvfPOO3v27NmxY8fNHVSChISEHj16VFZW/vLLL47Ljx07dvny5fDwcCGXlJaWjhs37ocffjh37tylS5fWr18fHx+/aNEiIfTU17fffvvkk09SSpcsWXLmzJmTJ0+++uqrV65cGTx4cFVV1T0c8O5NnDhRpVL9/PPPp06d+vTTT+Vy+Zw5c06ePEkI0ev1qampW7ZsGTRo0K+//pqTk3PkyJFPP/00ODj4ueeeW7JkCSGkT58+u/4kBG5HixcvfvXVV729vf/73/9mZ2cfOHCgf//+W7duHTlypOPQvYMHD86aNeudd945evTo7t27Bw4cmJ2d/dxzzzXoCwdoKVyd8ACg3u7Yg5WcnMwwzC+//OK4cM2aNYSQyZMn32qvTZs2EULS0tIopUuXLiWEDBkyxHED+6/8zp49W1FRoVKpfHx88vLyHLeZPn06IeTLL7+kf/ZgEUJ+/PHHu3ldwu8iR4wY4bjw73//OyHkzTffvNVeRUVF3t7erVu3Fp7efQ+WwWAICgqSy+UXL1503GDOnDmEEMf+pFqEMBcQENDtr/7973/ffQ9Wr1697L1ulNJ58+YRQl577TX7xsOGDeM47ubWT5w4QQgZM2ZMreX2HiydTidcJTxy5Ih9rclkEt6ZzZs30z97sAghjieJTqfz9/dnWVar1d7qtQPAXUIPFoC7yczMPHnyZFJS0tChQx2XP/XUU15eXtu3b7/VjsOGDROJRMePHyeE/Pjjj4SQWbNmOW7w7LPP2i8Ifv/993q9fvLkybUGZgnxZdu2bfYl7dq1Gzly5N1U/uSTTyqVym3btpWUlAhLTCbTxo0bGYaZNGnSrfYKDQ3t3r17fn5+UVHR3bRit3PnzrKyssceeywhIcFxudCFc5s3SqDVam/8VUVFxd23PmvWLMdLtIMHDyaECPls3bp1hBDH66r1snfv3qqqqn79+vXq1cu+UCaT/eMf/yCEfP/99/aFCQkJjieJSqV64IEHeJ7Pzc29h3YBwBEGuQO4mzNnzhBCLBbLa6+9VmuVTCYrKyszGAxKpVKj0SxYsGD79u2FhYVlZWX2bYQ5ri5fvkwISUxMdNxdqVTGx8cLPShCK1lZWbVaES4OOn5DOw7kuj1v9/vINgAAIABJREFUb+/HHnts7dq1a9euFbLdDz/8oNFo+vfvbx9PxvP8ypUr165de+3atZKSEo7jHCsPCwu7y7bsL6GwsPDmN0okEt24ceP2u0+aNOnmXxHecS+7WkPag4ODCSElJSVms/nq1asSiaRjx453eahaMjMzCSFJSUm1lnfr1o0QcunSpVvVYC+jtLS0VugEgPpCwAJwN8Lgoezs7DonEfD19TUajVarNSUlJTs7OzExccKECf7+/hKJhBDyxhtvCJFFp9OxLOvv719r98DAQOGBRqMhhBw8ePDo0aM3NyEW/++zJSAg4O6LnzJlytq1a7/++mshYN08/dUzzzyzatWq0NDQRx99NCwsTBjw/s0331y8eNExbN0N4Y06derUhQsXaq3y8vJyHPrdEGoN1Rd6syilwuW5gIAAx/ewXnQ6HSHk5gmxhPCk1WpvVYO9jAadphWghUDAAnA3np6ehJDx48cL6aRO8+fPz87O/vvf/+44HXxNTY29L8fDw6OqqqqioqLW97S9r0to5eOPP542bdrt67HP2nA3UlNTY2JiLl26dOrUqZCQkD179nh5eY0ePVpYe/HixVWrViUkJGRkZAgFCLZu3XrzoYSscPN0rEL+sL+E2bNnz549++4rvL1bNarX6+/yCF5eXgzDlJeXW61WIfXWl/C6HHslBcKF10aYChUACG6VA+B+hJ/pCQOcb7WN8FPBWvN2nj592v5YuD4lXESzEyZPqtWK0+omhBDCMMzEiRMJIatWrVq9erXNZnviiSfsHS1C2Y8++qhjujKZTMIFzVpCQkIIIaWlpbWWC1fQGuglBAcHMwxzc7ixN3pHUqk0ISGB47jz58/XuYGQum7TXSdc3RN+kOhIuLZ7z1ceAaBeELAA3E3Hjh27d++enZ29cuXKm9cK/TfCZbu8vDz7cp7n33nnHftTYb6r//znP44p7fPPP7dfYBo7dqyHh8f69evPnj17q1buzdNPP82y7Lp1677++mvhqX2VcIHSsWxCyCeffKJWq28+Tnh4uFQqPXbsmOPanTt32pPHI488EhISsn379n379jnrJchkslatWl29ejUnJ8e+8OzZs7Xmnrg9IWK+/vrrdaaoVq1aEULy8/NvtXv//v39/f0PHDgg/I5SYDQahR+Bjh079u4rAYB7hkuEAM3Vt99+K0zq7SgqKuqVV1754osvHnzwwbS0tBMnTgwdOjQ6Orq8vDwrK2vTpk3h4eFr1qzp37//p59++s9//pNhmO7duxcVFS1YsCAnJ8d+TWry5MmLFi3atWvXU089lZ6e7uHh8dNPP82dOzc8PLygoIAQEhAQ8Nlnn02dOrVv376zZs3q3bt3cHBwfn7+hQsXVq9enZ6eLkyvcA8iIyNTU1N3796tVqvbtm3bs2dP+6rk5GQPD4+NGze2a9du1KhRPM9v3Ljx448/joyMvPmHb2KxePTo0evXr3/00Udnz57t6el58ODBDz74IC4uLjs7mxCiUCi++OKLUaNGPfLIIy+99FK/fv3CwsKKioouX778zTffjBw58s0337yH+sePH/+f//xn+PDhc+fODQ4OPn78+HvvvRcTE5OVlXWXR0hPT9+0adOOHTtSU1NnzZoVGxtbXl5+8uTJ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" }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Compute value function over time with reset at time t\n", "vt_leader = zeros(n);\n", "vt_reset_leader = similar(vt_leader);\n", "\n", "yt_reset = copy(yt)\n", "yt_reset[end, :] = (H_0_0 * yt[1:3, :])\n", "\n", "for t in 1:n\n", " vt_leader[t] = -yt[:, t]' * P * yt[:, t]\n", " vt_reset_leader[t] = -yt_reset[:, t]' * P * yt_reset[:, t]\n", "end\n", "\n", "p1 = plot(1:n+1, [(-F * yt)', (-F * yt_reset)'], labels = [\"Stackelberg Leader\", \"Continuation Leader at t\"],\n", " title = \"Leader Control Variable\", xlabel = \"t\");\n", "p2 = plot(1:n+1, [yt[4, :], yt_reset[4, :]], title = \"Follower Control Variable\", xlabel = \"t\", legend = false);\n", "p3 = plot(1:n, [vt_leader, vt_reset_leader], legend = false,\n", " xlabel = \"t\", title = \"Leader Value Function\");\n", "plot(p1, p2, p3, layout = (3, 1), size = (800, 600))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Recursive Formulation of the Follower’s Problem\n", "\n", "We now formulate and compute the recursive version of the follower’s\n", "problem.\n", "\n", "We check that the recursive **Big** $ K $ **, little** $ k $ formulation of the follower’s problem produces the same output path\n", "$ \\vec q_1 $ that we computed when we solved the Stackelberg problem" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "hide-output": false }, "outputs": [], "source": [ "Ã = I + zeros(5, 5);\n", "Ã[1:4, 1:4] .= A - B * F;\n", "R̃ = [0 0 0 0 -a0/2; 0 0 0 0 a1/2; 0 0 0 0 0; 0 0 0 0 0; -a0/2 a1/2 0 0 a1];\n", "Q̃ = Q;\n", "B̃ = [0, 0, 0, 0, 1];\n", "\n", "lq_tilde = QuantEcon.LQ(Q̃, R̃, Ã, B̃, bet=β);\n", "P̃, F̃, d̃ = stationary_values(lq_tilde);\n", "y0_tilde = vcat(y0, y0[3]);\n", "yt_tilde = compute_sequence(lq_tilde, y0_tilde, n)[1];" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deWAU5d0H8Gd39kw22dyQkABJgHBDJCbcISCHgggoh4BIBaUevNrSeuBRq9UqSrW2WKGK1qOAhkMOLQJCuBQ0AUKQKwQChBzk3nOunfeP1TRNAmTJTGZm9/v5a5mdffaHGfPleeaZ59EIgkAAAAAClVbuAgAAAOSEIAQAgICGIAQAgICGIAQAgICGIAQAgICGIAQAgICGIAQAgICGIAQAgICGIAQAgICGIAQAgIDWfkHocDgKCwtbc6YgCB6PR+p6QPl4npe7BFAEXAlACJEuF9ovCHNzcx944IHWnOnxeNxut9T1gPI5nU65SwBFwJUAhBC32y1RFmJoFAAAAhqCEAAAAhqCEAAAAhqCEAAAAhqCEAAAAhqCEAAAAhqCEAAAAhqCEAAAAppO7gLaj93pzvlyG+926kKsGWOyIsND5K4IAADkFyg9wj07DxS+uEC4fIYQwhefLPvTA1s+WSsIgtx1AQCAzAKiR5ibWxCx/e/83D9MGtDTe+TSlYrgla9uXV48dvFvTUa9vOUBAICM/L9HeOlKBbX2VdtdS1J/SUFCSEJczJBnllGce+c7y9AvBAAIZP4fhEfWfXyx14Rhw9OaHDebDFlPPGO2V2758GNZCgMAACXw8yAsLLrcteTHzOn3tPiu2WTot/gPcad37d97uJ0LAwAAhfDzIDy14dPiAVOsIUHXOiEmKkwz40nLlrcrKmvbszAAAFAIfw7CS5fLu5blZU296/qnDRrU92K3rMMfrmifqgAAQFH8OQiP7ckp6jzMYjHf8Myx998fXVW4f98P7VAVAAAoij8HofXU7o5Dslpzptlk4CY9qt/2rsvNSF0VAAAoit8G4enC4mDGljaoXyvPHzY8rTIsccfn2ZJWBQAASuO3D9SfztlNkjNv0Wpa/5E+cx6y//X/yq7e3jE6XLrCAEBdFixYkJeXJ3cVQEaMGPH2229L0bLfBmHUuQNBM3/n00e6JnT8MnlM0bp/T37sUYmqAgDVOXPmzOLFi1NTU+UuJKDt2bNn9+7dEjXun0F4pbzaStf26tfD1w8Om3Vv6SsPnrswJblrJykKAwA16t69O4JQXsXFxdIFoX/eI/wp71hxdF+tL+OiXlHhoef73/XT+k+lqAoAABTIP4PQefooSRxwc58dPW1q57KjpwuLxS0JAACUyT+DsGPZscSBNxmEFov5Yv+7zm76TNySAABAmfwwCC9dLjdx7p49ut50C1l3T+lcfvzUWXQKAQD8nx8G4ckjxy7F9NdofL5B2MASZCruf9fZLetErAoAAJTJD4PQff6kJrFPGxsZOWVy1yu5RReuiFISAAAolh8GofVqYYekbm1tJCTofJ9JBZvQKQQA8HP+FoQMy8U5Lqb0Sm57U8OmTEm+dLCktLLtTQEAgGLdTBDyPF9TU3Otd91u93XeldqZsxcqTB0sQaa2NxUZHlKYPCZ388a2NwUAIJaDBw8mJyf37dv31KlTn3/++cmTJ/fu3dv6h83z8/Pdbrf39bJly15//fUtW7bcf//9TU4bMmRIYWFh849zHPfKK68QQt55550Wf9UXFBRs2LChsrJyxYqW97bbunVrbm5ubm7utm3bvv/++759+yYlJf3000+trF8KvgXhTz/9NGzYsNDQ0JiYmBZP8Hg8Y8aMiYiIYBh5tnEoKSysjhShO+g1aMrdSWd31NTZxWoQAKCNXC6X1WotKCjo2bPnF198cerUqX379u3Zs6eVHx83btz58+e9r9PT09PT0+12e3l5eZPTLl682OKvcZZlX3vtNULIihUrqqurm59QUFCwcePGysrK9957r8UCvvrqq7y8vNzc3K+++mrw4MEFBQUcx8kVGV6+LbFmtVqXLl1qNBpvv/32Fk9Yvnx5p05yLk5GXy7SxrX1BmGD+LjovE7p5zdvvfO+WWK1CQAgkQsXLmzevNlsNk+dOnXfvn1Tp05tcsKBAwfcbvf27dsLCgoyMjLCw8MFQSgrK/O+W1dX98UXX9hstpkzZzZ85MyZMzt37iSE3HnnnQkJCb6W5Ha7P//88/Ly8mnTpl24cKFv375t+PtJxbceYadOnSZOnNihQ4cW3z1z5synn376/PPPi1HYTQouPxvd5pkyjfW8c0ZC/mbsUwgACjRo0KDY2Nju3bunpKScOXMmIyOjpKSkrKzs9ttvbz7aSQgpLy/nef7SpUtFRUV2u33t2rVr1qzxvuVyuYYNG7Z7926PxzNjxgyHw0EI2bhx44QJE2pra8vLy4cOHXrixAmKorwdoaysrODg4OZf0alTp9TUVIvFkpmZKQjChAkTPv/8c51ON3/+/Hnz5h07dqxfv36dO3fu0qVLv36t3SZPaqItuu3xeB588MG//OUvZvM1d4R3Op2HDh1qfMRoNA4cOFC8GoR4e3FMT9GGRgkhPbp1/josqfybb8dPniBiswCgXvnVwgu5nvb5rgER5I+DqGu9+/TTTxNCBg8eTAhZuHDh/PnzX3/9dUJIhw4dfve7FrbfmTZt2iOPPLJw4cJevXo1eevTTz+Nior67LPPCCFjxoxJTU0VBOGxxx7bsGFDRkYGISQyMnLZsmX/+te/Pv/8c0LItUY+R4wYMWLECELI3//+96+//rq0tPTkyZNarXbmzJmJiYmEkIcffvhm/kNISbQgXLFiRY8ePcaMGdPi/VWvK1euPPro/+xw1LFjx7Vr1zY5jed5mqY9Hp+vs8LzJbTe2okidruYd/WCR0zWf72yftSwm1jFG9rC4XC0ZWEE8BvyXgnNfxfFBWnm92ineqJNrf2i/Pz8hgE5bxT5JD8/f/jw4d7XAwcODA0NLS8vLy0tffPNN73/8SsqKrzdRJ/aHDp0qFarJYTExcUlJ7epl8JxnN1u97bWekFBQTf8iDhByDDMc889t3Tp0lWrVlVUVBBC3n///SlTpsTFxTU+rVu3bnv37r1hazzP6/X6oKAgX8uoKSt3WbtaLBZfP3h9I0em5+z4+FjeiRGjBovbMlyfIAii/zRBjeS9Epr/Go0ykSldFPfsmdFobJhychNzTxp/XBAEhmH0er1Wq33ppZeMRqP3uMFguOk2CSE0TftaVWM6nc5isfgahK0hTosajebhhx+uqakpKiq6dOkSIeT8+fMul0uUxlvPduUyG+XzvdzWYIdMc+esl6JlAABRDBs2bP36n39NZWdnX+s0q9VaW1vb/PjQoUO3bt3qzaqtW7e63e7IyMjevXvv378/6RehoaFNPnXq1KmcnJxrfdfQoUN37txZV1dHCMnLy2uYrao0vvUIXS7XJ598UlJS4vF4Vq1aFRwcPGfOnHHjxj300EPeCbWEkMLCwlWrVr3yyiu+/tuh7TSVl4zdJdk8c9S4zGM5Hx05dip1QE8p2gcAaKPf/e53Y8aMycrKun636Ve/+tXdd9+dkpLSZGLjlClTPvvss7S0tD59+lRWVkZFRRFCPv300+nTp69duzYuLu7EiRMTJ058+eWXG38qOzv7wIEDmZmZLX5Xenr6jBkzBg0alJ6eXlxc3K2bmDMZReRbEHIcl5ubSwhZuHBhbm5uWFjYnDlzBg8eHBsb23BOaGjoQw89JEXv9YZC6i6HJtwpRcs6HVU6YDL5ZmPqgGekaB8AoPUYhikqKoqPj2/c34iKijp8+PCRI0eMRmNUVFSfPi0vufz0008vXry4vLw8JibGOyPGaDRmZWVptdrs7Oz8/HybzTZ48OCSkpLY2FiDwVBQUFBQUFBbW5uYmNi1a9cmrf3444+//vWvr1Pq3/72t5MnT5aXlw8ePHjkyJFN3nW5XKWlpTzP38R/BBH5FoQhISErV65scvCll15q/MeYmJjm57SPjvYrUV3jJWp8xJ13XPrj/EtXKhLiWl5MAACgHURHRyclJT3xxBNvv/12UlJS47eMRqN3Bqn3FtW1BAcHN/mg90EIjUYzYMDPO7l26dLF+0Kv16emXnOkbcyYMZMnT75+wb169Wo+SdXrzJkzzz///KBBg6xW6/UbkZRos0ZlV1pRw2p1UeFNh7DFYg0JykkeQ7Z8mbDoQYm+AgDghvr377958+brn2OxWKZNm9bk6XWtVpufny9uMYsXL279yVOnTo2P/5++yoABA274d2kH/hOEl85fslmkXdRm4KQptrcfq7PNsYb4PKMVAKDdhIeHf/TRR3JX0dQzzyj01pLiZgDftOqSS44wqcZFvTondLjQIXX/tu2SfgsAALQn/wlCpvyyNkraICSExI2bGnN0E8+306ISAAAgNf8JQn31pZA4SR4ibCx1YK96Y+Teb/dL/UUAAC3Ky8vLzMzMzMwsLCz89ttvi4uLjx49mpeX18qP19XVNczS/Oc//7ly5cpdu3Y9+eSTTU6bNWtWcXFx84/zPP/xxx8TQrKzs202W/MTioqKcnJy6urqNmzY0GIBBw8ePH369OnTpw8ePJibm9vwd2ll/VLwnyCMtF2O6yJ5j5AQoh0xzbMfmxQCgDxqampqa2s3bNiQmJj4j3/8Iy8vb9u2bV9++WUrP+5dntv7Ojo6OiYmpqKiovkkmn379rW4oBrDMN6VMp999lnvOmJNHD58+P333y8tLf3DH/7QYgGffvrp3r17c3JyPvvss/79+2/YsOHcuXPirovpKz8JQoblouiqLp1jb3xqm43MGhpC1+QdOdkO3wUA0BxFUZGRkRTVdDHu2trajRs37tixw+VyHT16tPkHz507x7LsiRMncnNzq6urU1NTb7nlloZ3WZb95ptvNmzY0DgCq6qqtm7dum3btvr6+psoVRCEnJycdevW1dTUnDp1qkkjer0+MjJSlufOG/OTWaMlpVerDeFJ+vb461CUtjJ1ivDNepL6XDt8HQDAtXTp0sVqtcbExLAsW1JSMmLEiPT0dIvF8sorr+Tl5TWPru3bt7tcri+++CIsLGzBggUbN270eDzeLYA4jhs3bpz3j2+99ZZ3F/u9e/fOmzdv/PjxNE0//vjj3377bYcOHbyP6qekpDSsQdpYWFhYQkKCyWTq0aMHIWT27Nlnz54dMWLEW2+9VV5evnLlyk6dOkVERAiCIO/mtY35SRBWlFbYgtrvOffMO28/98LaogtXkrrG3fhsAPAv3NUS+752evpNFxNvGX7NBbPefPNNQsjo0aMJIY8//vjYsWO965ksW7asxbuGjzzyyEsvvfTiiy96n3DfuPG/d3nWrVtXX19/+PBhiqJycnJGjRpFCFm4cOGqVavGjRtHCHn11VdfffXV99577/vvvyeEXOv5vwkTJkyYMIEQsn79+pycnP379589e9ZkMp05c6Z3796EkGefffZm/2NIxU+CsK6inA5pebtgKQQHGc+njCPbNiU9+ki7fSkAKIRGb9RFtdM/gqnQyFaeefjwYe/2hISQ22+//U9/+pNPX/TDDz+MHz/eO9yamZkZHBxcWVlZWFi4c+fOb7/9tqam5vLly1VVVb62OXr0aJPJRAjp0aNHk+VslMNPgtBdVUGs0e35jbfeObnmjYdr6uaFW7FPEEBgocKiLCPvkruKpgRBEATB+/omtm9s+GwDnue1Wu3o0aN1up+TwtfNsJq3qUx+MllGU1NhiGy/HiEhJK5j1Ln4jP2bt7bnlwIAXEtaWtrOnTu9r3fs2HGt04KDg51O57U+7o2uAwcOOByOmJiYhIQEl8t12y/S09ObfKqsrKxhDmqLbebk5Hi3JCwqKioqKrqJv1c78JMeodFWHhIzqp2/tPsddzPvL3W5p5lN7b3hFABAE08++eTw4cNtNltISMixY8euddqdd945f/78Xr16/d///V/j47NmzXrvvffGjx+fmpp64MCB8PBwjUbz4Ycfzp07d8uWLR07djx16lRycvIbb7zR+FOrV6/evXv3tXI3KyvrlltuyczMHDVq1J49e5osNKocfhKEYc7yiI7tvSlEr5TE/4Qll23fPf6u8e381QAQ4DiOaxix9OrcufORI0d27NhhNpuXLFnSsI9EE2+//fbp06dLSkq6dev20EMPCYJgsVj69Omj1+t37dq1Y8cOm822dOnS/Pz8Ll269O7dOz8/f//+/VVVVePHjx82bFiT1vLz8+fOnXudOr/44oudO3eWl5f/5je/mTRpUpN3BUGQfQ8m4h9B6PEIkUx1nBy7I4WNuZvf/A9h8ribGJEHALgJISEhHo8nLS1t3bp1KSkpjd+KjIycNWsWudE2TCkpKU0+GBMTQwgxmUx33vnzDNURI0Z4X0RERFxno6W+fftePwgpiho//ppdhcOHDy9atCgiIsJsNl+nEan5QxCWVVTZKIss45ODB6fmbDPszzk0YtTg9v92AAhA6enpLT4s35jJZEpPT/fuTdhAq9UePHhQ3GKee86Hx6nT09MjI/9nEmxGRsYN/y7twC+CsLSiNqhdp4w2xg2/R8jJJghCAFCM6Ojob775psmkGNkHrv7+97/LW8C1+MOs0eqycldwu04ZbWzUbSNDXFV5R36SqwAAgOa0Wq3lf3m3oYfm/CEI3VUVfJgMNwi9KEpblTa1bPsXchUAAABt4Q9ByNeU68Jl6xESQrImTYirOn3qbAtblgAAgML5QxAa6itCOsjWIySEmE2Gi30nnd2aLWMNAABwc/whCC3OyoioKHlrGDn1rsSSQ5cul8tbBgAA+MofgtBK10ZGR8hbQ1hocFH3sXlbWt6RGQAAFEv1j08wLGfhHTGRYXIXQtKn3VP5+qKKyntjouQvBgBEtG7dusOHD8tdRUArKCiQrnHVB2H51epavVWrlX9hl47R4Ye7jjy3aeNdC38ldy0AIJr33ntv9erVV65ckbuQgBYRETFkyBCJGld9EFZdrak3hctdxc9Sp0yve3txTd107M0E4Df69OmzfPlyuasA0uKmGaJQ/T3Cuqpql1nmG4QNEuI7nO80eN+GjTc+FQAAlEH1QeioqWQsrd3BuR30mTor6cSWmjq73IUAAECrqD4IubpqTYhSeoSEkKSucefj0vZ/uUXuQgAAoFVUH4TEVmMIVco9Qq+ed93bJf9Lm90ldyEAAHBjqg9Cvb0qWO6n6ZvonpxQ3DF1z4ZNchcCAAA3pvogDHJVhUUoaGjUq9e0OYn5G3GnEABA+VQfhFa6NjJKWUOjhJBuSfHn427dt/FLuQsBAIAbUHcQ8rzHytXHKC8ICSF9ps1JKviyqsYmdyEAAHA96g7C8qvVdbpQnY6Su5AWJHWNK0oYuj8b+xQCACiauoOwqrKmzqjE7qDXLdPnJJ/+T2lFjdyFAADANak7CGurq52KWVamufi46HPJY374/N9yFwIAANek7iB0VFaySlpWprlhM+9NupBTdAHL9QIAKJS6g5CpryUWRe95FBURWtRvyk/ZH8tdCAAAtEzdQUicdVSwVe4ibmD09GnxFcePF5yVuxAAAGiBuoOQstcarYruERJCLEGmssGzy9avkrsQAABogbqDUO+uC7YqvUdICBl71+1BdN2+vYfkLgQAAJpSdxCamfqQsFC5q7gxitJ6xj1A/ed9juPlrgUAAP6HuoMwhK6LiFD60KjXiFGDbUHR32zcKnchAADwP1QchIIgWLn6iHAVDI16dZ21KP7QmsqaerkLAQCA/1JxENbWOxitwWTUy11Ia6V063Kh67CDaz6VuxAAAPgvFQdhVVVtnV4FNwgbGz7nV13O7zvx0zm5CwEAgJ+pOAjraursRtWMi3pFhFtKh8wt+3yFIAhy1wIAAISoOgjtdfW02oKQEDJuyh06ntn59bdyFwIAAISoOghd9XWcWR1TRhvTajVhMxZH71mN/esBAJRAxUHI2moFxa+v1qIB/VKKEzL2ffKR3IUAAICag1Bw1GuDVTZZpsGIuQ90vvhd3pGTchcCABDoVByEGmetIVSVPUJCSES4pWrMg67st2mWk7sWAICApuIg1LnqzWpYaPRaxowfVR/cYfu/P5e7EACAgKbiIDTTdRY1ByEhpO/8xxKPf3nyzAW5CwEACFwqDkILXReukoVGryUhLqZk6LyKj5cxGCAFAJCJioMwlK2PVM9Co9cyfuodbmPo9rXZchcCABCg1BqEDidNEU+IxSx3IW2l0Wj6Lvxd5/wvse4aAIAs1BqE1dW1dTq1PjvRRKfYqIrMBdWfveGmWblrAQAIOKoNwpo6m8FPgpAQMnbSbfWhnbavXi13IQAAAUetQeiot7mN/hOEhJChv/5NpwsH9u09JHchAACBRa1B6LbZOYNF7irEFG618NOWhGx9p7SiRu5aAAACiFqDkHbYeHOI3FWILCNjwMWe4wv+8SrPe+SuBQAgUKg1CDmnnZj8qkfoNfH+uUSj2fbxZ3IXAgAQKNQahILLrg3ywyCkKG2fRU8nnPzPgf0/yl0LAEBAUGsQEpdd549BSAiJ6xDBzXja8uXyi5fK5a4FAMD/qTUIKbfdYPG3e4QNbk3rd3nQjAsr/+hw0nLXAgDg59QahHraZrb4Z4/Qa+KsqXWRSbtXvCkIgty1AAD4M5+D8N13350/f/7YsWPz8vIaHy8rK5s6dWrPnj27d+8+c+bMc+ekXTDMyNiCQvw5CAkhYx95PMh+dctHn8pdCACAP/M5CHNzcwcOHHjkyJHq6urGxymKmjNnzrZt23bs2BEWFjZlyhTximxBMGu3hvnVA/XNmYz6/o+/1OH0tzu27pS7FgAAv+VzEH7wwQdPPPGE2dx0tevo6Oh77rknOTm5a9euTzzxxE8//cRxEm4tZGEd1lA/7xESQqIiQkMf+EOHPe8fPpQvdy0AAP5J5HuER48e3bNnz7PPPrtgwQKdTidu4w143mPyuK0hwRK1ryi9enR13fO0KfvPJ0+fl7sWAAA/JHJWvfjiixcvXqyqqlrd0vrRJ06cCA8Pb3wkPj7+u+++a3Iaz/M0TXs811xdpbrW7qCCnE6HKDUrX5++3fZVzI/54PmTC19OiIuWu5z243A4NBqN3FWA/HAlACHE6XRyHKfV+tZ/CwoKuuFHRA7CTZs2EUJycnLuuOOO4uLiqKioxu/27Nlzy5YtjY9QFGVpNvmT53m9Xh8UFHStbymrqHXog5t/0I/dPnn8Vwwd8eHL4b9d3jE6/MYf8AuCIATUTxmuBVcCEEK0Wq3JZPI1CFtDktHLkSNHajSa8+fPNwlCiqIiIiLa3r7NZnfp/fYhwmu5457Jm512/u2ndUveiIrw84lCAADtxudora+vr6mp8Xg8dru9pqaG5/kNGzasXr36+PHjZ8+eJYSwLPvWW2+ZzebevXtLUDAhhDhtdrcx4IKQEDJ53uyqxCEn/vJ0VY1N7loAAPyEz0F43333paWlmUymJUuWpKWlFRYWFhQU/PDDD8XFxePGjTObzWFhYevXr9+yZUtwsFSTWVw2m5/twdR6kxfOr+t8S8Hypypr6uWuBQDAH/g8NPrll182OfLCCy94X0yaNImmaYPBIPVtbcZp58wBGoSEkMkPLfzy/Q9Pvfn75Mdfi40JlPuFAAASEfmuo9FobIfJXbzDP/dgar27Fv6qukdm8VtLsDA3AEAbqXKtUcFlp4IC8R5hY5Pvn119y11X//a7n07h+UIAgJunyiDUOG264IDuEXrdMf2uutELuQ+WHjp0TO5aAADUSpVBSNE2I4KQEELI6AmZrnueNme/9s2Wb+SuBQBAlVQZhHraHhQS6EOjDTIyBph/vcx6YM3mVe/z/DWX4wEAgBapMghNrD04AFbcbr3uyQndnnrHVH52x2sv4BFDAACfqDIIg1hHKHqE/ysyPGT0M68yEQlFry0+XnBW7nIAAFRDlUFoYW3WMARhUzodNfnhRbasX5GPnvsqe7Pc5QAAqIP6gtDjEUwCHWppuiEieI2ekGl+ZHnw0e1f/fmPldVYfQYA4AbUF4R1NodLY8aeLNfRLSl+8B/+ykV2uvTaw/v2HpK7HAAARVNfENptDofumjs0gZdRr5v80EJ2+lOmbf/Y8tbymjq73BUBACiUCoPQ4XTrEYStkn5r/17P/0Mwmi+8smj3jr1ylwMAoETqC0Kn3eFGj7DVLBbz5Ece8cxcqt/z2X9eebaw6LLcFQEAKIv6gtDlcLIGBKFvBg3qk/7iCq7rQPe7v9286v06m1PuigAAlEJ9QUi7nLxeqp0O/ZhBr5s0Z3rkkys1jvoLLy346ostDMvJXRQAgPzUF4Ssw8Eb0SO8SbEx4Xf+5re6X/1Je+b7o88v3LFtF1ZlA4AA5/PGvLLjXE6CIGybPr2T+/R+5fChfO3X/zp0YI1j6KysCVk6HSV3XQAAMlBfEHpoJzEhCEWQntGfZCz//vsj5Js1R/Z/cnXQtMyJE4KDjHLXBQDQrtQXhILLoYuMlbsK/zF4cCoZnHrk6Elh+/qiF/59vse41DsmJcR3kLsuAIB2or4g1DJOnRk9QpGlDuyVOvC58xdLybbNdW8vPh7VO2TIHUOHp1GU+u4iAwD4RIVBSDsNQQhCSSR2jk18eJHDOf/yN7u5XZ8d2/bOpR5jemfd1j05Qe7SAACkor4g1LMOUzAen5BQcJBxwpQJZMqEk6fPa3bvcLz3VI4p0t571IDMkfFx0XJXBwAgMvUFoYF1moLRI2wPvVISe6U8xPMLDx86yh/eU/uXR88Exzq7D+s5dGi3pHi5qwMAEIf6gtDIOoMRhO2IorRDht5Cht7CsFz94WP2vIP17z39vdZQ3iUjun9a6qB+ZpNB7hoBAG6e+oIwiHNaQixyVxGIDHrd0GGDyLBBgvBYwYlCTd4Prh3/vri+6EJ4CpuYGtenf/9+PfAwIgCojgqDkHeGhqBHKCeNRtOvb/d+fbsTMrvO5iz74Zj79FH7+r+d+7SsOCzFHd87snuv3v16hlvx7xUAUAGVBSHH8XoPZwkyyV0I/MwaEpQ5eggZPYQQUlNnrzh2wnXmJ+eudRUbz500RvZ2xy4AABj7SURBVFRFdtd26h6d2K17zyTkIgAok8qCsNbmcFDoDipUuNUyYmQGGZlBCOF5j6ew2HbqDH3prO3kvqufXzinC6mwJrLRXYI7de3QpXNSYgJWsQEAJVBZENpsDpfOLHcVcGMUpe2VktgrJZGQ8YQQj0e4cLHUXni+vqSYLvi+9uAXpc6SOn1YpSXOHRZHRcZZOsZGx8Z2TogNseDnCwDtSmVB6LQ7XdiDSYW0Wk1S17ikrnGEDPMe8XiE4stl7oslfNkVtuKKq/h4rb1M7yov1hqqTNEOSzQbEiNYwoKjOlijosMiw+I6RluQkQAgAZUFocPhYLA9vV/QajWJnWMTOzddNvZqVR1/pUwor3RUX2Uqy9xXL2kcV3l3DaGrCCE1hnC7MZw2h3ImK7GEU5ZQgyXUHBoaHBoSEhoSFh4aYQ3RajVy/IUAQK1UFoS0w8noEYT+LDrSGh1pJf1SCCE2my0kJKThLbvTTVVU6apqbHV17tpaxlbH1ZR7Lp/l6XrWbWPZepp1uDx2hybIrg926YNpfTCrD+INQR6DmZgsxGSmDGbKaDQEW/RGk96oNwcHG01Go1EfYrFQlBbTeQACk9qC0OnkjRgaDVCWIJOlayfStdP1T6ups5vq7Xab3Wlzul0O2unkXC7e5eDdTs5Rx9NujnHoWLeWZ2nWoedovYd18E6dh3d4HByhnDozR3Q0ZeK0FKMzE0LcBgshxKMz8pSeaDQeo4UQQnR6ojMSQghFaY3eMVuNLujni1Or1+uMP89t1uooo+m/g7pGs4nS/ff/O4rSBlua/tvObDYbdPrmf7XQEDOe1AQQncqCkHFhe3q4gXCr5ab7dgzL2e1ujuccTifH8k6nixDitNkJIYyb5jlWEDysw0EI8bCsh6UJIR6O8zjthBBCBKa61NuOhmMYjva+1vI8zbkavkLPuSkP1/BHjeBxsc4mZRh5t45wpJl6zqUj/LWK5zVan+ZUMxoDq5VkVSCW0rGUqM84CYRgwBsIIYTYemZOmjNd3DZVFoQel1ODIATJGPS6iHBviIbJXIrveN5TV980U6/DzTA07ZaiEpbhXC4xW3a73SYTnh4OdAzD6HX6pOhw0VtWWRDyLofWhKFRgBZQlPaXFPc3Te4WQ2ByOp0mk0mrFX+TVJVtu6qhnRR25QUAAPGoLQgZp96MHiEAAIhGZUFIMU59EJ6qBgAA0agsCHWsy4ShUQAAEI/KglDPuo1mTB4DAADRqCwIDZzLhKFRAAAQj8qC0MS7g80IQgAAEI3agpBzBWELAgAAEI/KgjDI47JgaBQAAMSjpiCkWU5DiMnYwmLEAAAAN0dNQWi3u5ziruQLAAABT01B6HQ4Xb4srg8AAHBDagpCh8tNU0a5qwAAAL+ipiB0OV00hZkyAAAgJjUFIe10sXoEIQAAiElNQeh2uXg9JssAAICY1BSErNvFo0cIAACiUlMQ8m63x4AgBAAAMakpCDm3i2BoFAAARKWmIPTQLmLCc4QAACAmNQUhYdxaA3qEAAAgJjUFocC4tCYEIQAAiElNQahlXHojJssAAICY1BSEFOPWmxCEAAAgJlUFIecymDE0CgAAYlJTEOo5lwm78gIAgKjUFIRGzm1GEAIAgKjUFYQuBCEAAIhLTUFo4t2WYDxQDwAAYlJTEAbxruAgTJYBAAAxqSYIOY7XCh6zySB3IQAA4FdUE4T1NpcL29MDAIDYdL5+oLy8/Mcffzx58uTgwYOHDx/ecJzn+d27d+/evbu+vr5///7z5s0zGo0iFupwOV0UxkUBAEBkPgfhokWLrl69euXKFbvd3jgIT548+cQTT8yYMaN3794ffPDB2rVrd+7cqdFoxCrU6XS5dQhCAAAQmc9BuGnTJkLI7Nmzmxzv2bPn8ePHvck3ffr0mJiYoqKi5ORkUaokhLgcbkaHoVEAABCZz0F4zYZ0/23KZrMRQkJDQ8VqnBBCu1wsghAAAMQmWhA28Hg8jz766KJFi6Kjo5u8dfHixZkzZzY+EhUV9cYbbzQ5jed5mqabHLTb6hnK5HQ6RS8YFMvlclEUJXcVID9cCUAIcTqdHo9Hq/VtjqfJZLrhR0QOQkEQHnnkEYfDsXz58ubvhoaGTpo0qfERi8XSfE4Nz/OEkCbHPSwrGMziTsABhWMYBj9xILgSgBBCCM/zRqPR1yBszVQVkYPwiSeeyM/P3759e1BQC0vAhIWF3Xfffa1ph6KoJv8A5N1uj8GMfxUGlOaXAQQmXAlAfrkMfA3C1hChxbKysl27dhFCnnnmmX379m3bti0kJKTtzTbB025Bj1mjAAAgMp+DcPny5Wlpadu3b1+1alVaWlp2dvbBgwfnzp17+PDh1157zW63jx07Ni0tLS0t7YcffhCxUJ6liQFjIwAAIDKfh0ZnzJgxatSohj927tzZaDTu3r07Pj7+xx9/bHxmjx492l7ffzGMBkEIAABi8zkIExISEhISmhz0PikxaNAgcYpqicC4dcHij7gCAECAU81aoxqOpoy4RwgAACJTTxCybgQhAACITjVBqGVpHR4kAgAAsakmCHWcW48gBAAAsakoCGmDCUEIAAAiU08Q8rTRhHuEAAAgMtUEoZ6jTWb0CAEAQGSqCUKDhzZj1igAAIhNNUFo4t3mIAQhAACITDVBaPTQZgyNAgCA2NQRhIIgGD1MEGaNAgCA2NQRhE4XQ2sNWu2N91cEAADwiTqC0OWmaS26gwAAID51BKHT4aIpzJQBAADxqSMIXbSbpgxyVwEAAH5IHUHodtEseoQAACABdQQhQ9MchXuEAAAgPnUEIe1yczoEIQAAiE8dQcjSNI8gBAAACagjCDma5vW4RwgAAOJTRxDytFtAEAIAgARUEoQMLWBoFAAAJKCWIHQTA4IQAADEp44gJAyjQRACAIAE1BGEAktTegQhAACITx1BqGHdFLanBwAACagnCDE0CgAAElBHEGpZWmdCjxAAAMSnjiCkeFpvRI8QAADEp44g1LNugwlBCAAA4lNHEOp42oggBAAACagjCPUcbTLjHiEAAIhPHUFo8NBmPD4BAAASUEcQGnnaHIQgBAAA8akjCE0et9mMe4QAACA+FQShIAhGDxOEyTIAACABFQSh08UwWr1Wq5G7EAAA8EMqCEKXm3ZrcYMQAAAkoYYgdLpoCkEIAACSUEMQumlGq5e7CgAA8E8qCEKaZhgKM2UAAEASKghCxk3zlEHuKgAAwD+pIAhZluHQIwQAAGmoIQgZBj1CAACQiAqCkKNpjw5BCAAAklBDEDIsghAAACSigiDkGVrQ4R4hAABIQg1ByDJEjx4hAABIQgVBKDAMwdAoAABIQwVB6GFposfQKAAASEIFQShwrEaHJdYAAEASKghCwtFa9AgBAEAaKghCDctQBtwjBAAASaghCDkEIQAASEUVQUhTBgyNAgCAJFQQhBTH6NEjBAAAaaghCHlahyAEAABpqCEIOdZgRBACAIAkVBCEOp42GHGPEAAAJKGCINTzjB49QgAAkIYaglBgjAhCAACQhgqC0MAzJpNJ7ioAAMA/qSAIjTxjMmKtUQAAkIQKgtAgMGYTJssAAIAklB6EHo+gEzijQSd3IQAA4J+UHoQuN0NrDRqNRu5CAADAPyk+CGma0WDKKAAASOVmgtDpdB49evTq1avN37LZbEeOHKmurm5zYT+j3QxDIQgBAEAqPgfh5MmTw8PD09PTs7Ozm7yVmZkZFRWVnp6+fft2kcojbppmtAhCAACQis9B+Kc//amqqmr48OHN3/rrX/9aU1PTt29fMQr7Ge1mWPQIAQBAMj7Pxuzfv/+13ho4cGDbimkBTdMcghAAACTTro8l1NbWfvLJJ42PWCyWyZMnNzmN/wUhhHHTnNbofQ2BpuEygACHKwHIL5eBIAg+fUqr1d7wuYN2DcL6+vqtW7c2PhIVFTV+/Pgmp/E8T9M0RVGEEJfTyVF6mqbbr0pQDIZh8KMHgisBCCGE0DSt0Wi0Wt/u6JlMJmUFYefOndetW3fD03iepygqKCiIEEIEj0dv/Pk1BBie5/GjB4IrAX5hMpl8DcLWEKdFX/uqrcfRjEeHe4QAACAVn3uEa9asOXbs2Llz5zZt2lRcXDx37tx9+/atWrXqyJEjq1evPnPmzJUrV9auXXvs2LEHH3wwOTm5jfXxDCNQWGgUAACk4nMQBgcHh4eHP/LII94/GgyGIUOGeEctLBZLeHj4b3/725+b1okw7sozjIAeIQAASMbnrJo8eXLzeZ7eBydmzJghTlGNeDiGIAgBAEAySl9r1MPSRI+hUQAAkIrSg5CwDNGjRwgAAFJRQRBqEYQAACAZxQchR2sxNAoAAJJRehBqWJYy6uWuAgAA/Jbig5CjKfQIAQBAMkoPQi3H6Iy4RwgAAFJRehBSPK3DZBkAAJCM8oOQMRgwNAoAAFJRfBByjN6EHiEAAEhF6UGo99AGA4IQAACkovQg1HlYIybLAACAZJQehHqeNWJoFAAAJKP0IDR4GJMRk2UAAEAqqghC9AgBAEAqig9CgTVgiTUAAJCMooNQEARK4A06Su5CAADAbyk6CN00y2r1Go1G7kIAAMBvKTwIGUaDG4QAACAhRQchzbCsFjcIAQBAQooOQsbNIAgBAEBSyg5ClmU1OrmrAAAAf6boIKRphqPQIwQAAAkpOghZhuUoTJYBAAAJKTsIWZbHPUIAAJCSooOQYxj0CAEAQFLKDkKO9aBHCAAAUlJ2ENKMB5NlAABASooOQp5lBR2GRgEAQELKDkKOEdAjBAAAKSk7CNEjBAAAiSk6CAWWRY8QAAAkpegg9LAM0aNHCAAAElJ0EAocq9GhRwgAABJCEAIAQEBTdBASBCEAAEhM0UGo4RktZo0CAICUlB2ELKvVo0cIAAASUnQQEp6lDAhCAACQkKKDUMuzOvQIAQBASgoPQkaH5wgBAEBKig5Cimcp9AgBAEBKCg9CRod7hAAAICVFB6GWZ/UGDI0CAICEFB2EOg9jwNAoAABISeFByBqM6BECAICEFB2Eeg+rxz1CAACQktKD0Gg0yl0FAAD4M2UHocAacY8QAACkpOggNHgYoxFBCAAAElJ0EOoFzoQgBAAAKSk3CBmWE4iWopRbIQAA+AHlxgxDs4wW3UEAAJCWcoPQzbCMBkEIAADSUm4Q0jTDokcIAAASU3QQcugRAgCAxJQbhAzLshSCEAAApKXcIGQZFkOjAAAgNSUHIcNTWHEbAACkpeQgZHn0CAEAQGJKDkKG16FHCAAA0lJuEHIs68FkGQAAkJhyg5BnGQQhAABITblB6GFZAZNlAABAYsoNQp5lBfQIAQBAYsoNQg/DED16hAAAIC0FByHHEvQIAQBAYuIHIcuyorSDIAQAgHbgWxDW1dUtWrQoLS0tOTm5vLy8ybsfffRRdHR0ZGTk6NGjy8rK2loaxxAdghAAAKTlWxByHJecnPzCCy8UFRVxHNf4reLi4sWLF//nP/+pqalJTExcsmRJW0vjWC3uEQIAgMR8C8LIyMgnn3xy1KhRzd/65JNPbrvttkGDBlEU9dRTT61fv95ut7epNJ7V6NEjBAAAaenEaqiwsLBPnz7e1927d/d4PBcvXuzdu3fjc3ier66ubnyEoiir1dpyixxLYWgUAAAkJloQ1tbWpqSkeF9rNBqLxVJTU9PknFOnTiUnJzc+Eh8f/9133zU5jed5mqbDBw4NDrW0tVsJauZwODQajdxVgPxwJQAhxOl0chyn1fo2kBkUFHTDj4gWhFFRUfX19d7XHo+nvr4+JiamyTl9+vTZu3fvDZvieV6v148YeatYtYFKCYJgsVjkrgLkhysBCCFardZkMvkahK1qWayGevXqdeTIEe/r48ePm83m+Ph4sRoHAACQiM9BuHv37j179hBC9u3bt3PnTkEQnnvuuU8++eS+++47ePDg+vXry8rKnnvuuXnz5pnNZvHrBQAAEJXPQ6PLly+nafq222774IMPCCFZWVkMw/A8HxMTs2HDhqVLl5aVlY0fP/7111+XoFoAAACR+RyEW7dubXJk2bJl3he33XbbbbfdJkJRAAAA7UWJa43u2bPnnXfekbsKkN9TTz1VWFgodxUgs5MnTz733HNyVwHyW758+f79+6VoWYlBWFJScvToUbmrAPl99913tbW1clcBMquurj506JDcVYD8jhw5IsLinS1RYhACAAC0GwQhAAAENI0gCO3zTWfOnJkxY0ZVVdUNz2QYhmEYPD8L9fX1wcHBFEXJXQjIieM4p9MZGhoqdyEgM7vdbjAYDAbfNmPYvn17k8U+m2u/ICSEXL161e12t9vXAQBAgOvYsaP+Rvs3tGsQAgAAKA3uEQIAQEBDEAIAQEBTXBB+880348ePHzZs2FtvvYVh20Bw9OjR1157bc6cOe+9917jg1OnTh08ePDSpUtpmvYezM7OHj16dGZm5ocffihTsSAVh8OxbNmyO+64Y+jQob/+9a8vXbrkPb5u3bqsrKzMzMyPP/7Ye4TjuJdffnnIkCGTJk1qvokbqN2ePXtmzJgxePDgsWPH/u1vf/N4PIQQl8v11FNPZWRkTJs27fjx494zL168eN999916660PP/xwk51ufSYoyenTp0NCQtasWfPdd9/16NFj5cqVclcEkvvzn/+8aNGiUaNGLViwwHukvr4+KirqL3/5S15eXmZm5pIlSwRBOHDgQHh4+LZt23bv3h0bG7t582ZZqwaRnTp1au7cuZs3b/7uu+/uu+++Hj16sCybk5MTERHx9ddf79q1q0OHDl999ZUgCC+//PKgQYN+/PHHf/7zn1artby8XO7aQUw7duxYt27d4cOHt2zZkpSU9OabbwqCsHjx4qysrLy8vDfeeKNDhw4Oh8Pj8QwYMODxxx8/duzYnDlzJk2a1JYvVVYQLlmy5P777/e+XrNmTb9+/WQtB9rP73//+4YgXLly5ZAhQ7yvc3NzrVary+WaPXv2008/7T341ltvjR07Vp5CQXoul0ur1Z48eXL69OnPP/+896C3v8jzfGxsrHffG0EQJk6c+Prrr8tXKUjrj3/847Rp0+x2u8Viyc/P9x5MS0v76KOP9uzZEx0dzXGcIAg1NTVGo/HcuXM3/UXKGhrNz8/PyMjwvk5PTz9x4gTLsvKWBO0vPz8/PT3d+zo1NdXlcp0/f77xwfT09GPHjslXIEiroKDAaDTGx8c3/6FXVFSUlpY2HMzIyMCV4H9cLldRUdG+ffuys7Pvueeec+fOeTyefv36ed/1/tCPHTs2aNAg70PGYWFh3bt3bxgyvQnKCsKKioqwsDDv64iICI/Hc/XqVXlLgvbX+DLQaDTh4eEVFRVNro3KykrvzQPwM3a7/YEHHnjxxRctFkuTH7r3MqAoKiQkxHswPDy8vLxcvmJBErm5uWPHjp00aVJCQsLEiRPLy8sbLgPyyw+9oqIiPDy8ycGb/kZlBWFISIjT6fS+ttvthBCr1SprRSCDkJAQl8vV8Ee73W61WptcGyEhIVqtsq5eaDun0zlp0qSMjIzf//73pNkvBKvVGhoayvN8w/wpu93e+Fck+Ifhw4efO3euoqIiMjJywYIFoaGhDZcBIcThcISFhTU/2JawUNavkq5duzZsu1NYWBgdHR0cHCxvSdD+unbtevbsWe/r0tJSl8uVkJDQ5Nro0qWLfAWCJNxu95QpUzp37rxy5UqNRkOa/ULo0qVLbGys0WjElRAIjEbjrFmzfvjhhy5dutTX11dUVHiPe3/ojX9LcBx3/vz5tlwJygrC2bNn//vf/66urhYE4d133509e7bcFYEM7r333h07dniv8hUrVowfPz4yMnL27NmrV692uVwcx61cuRLXhp9hGGb69OlWq3X16tUNff3Zs2d/8MEHbrebZdlVq1bNnj3baDTefffdK1asIISUlJRs2rQJV4KfycvL43meEOJ0Oj/++ONbb721Y8eOWVlZ7777LiHk1KlTu3fvnjlz5sSJE0tKSr799ltCyJo1ayIjIxvml9wMUeb2iMXj8Tz22GMREREJCQnDhg2rrKyUuyKQ3BtvvNH4gly6dKkgCMuXLw8LC+vWrVtKSsrp06cFQWAY5t57742Ojo6NjZ04caLD4ZC7cBDTgQMHmvxq2rVrF03T06dPj4mJ6dix4+TJk51OpyAIFy9eHDBgQGJiYnh4+AsvvCB34SCyefPmhYSEJCUlBQUF3X777VeuXBEE4cSJE926devWrVt4ePg777zjPTM7OzsyMjIlJSUuLi4nJ6ctX6rEtUZra2tdLldsbKzchYCcHA5HdXV1fHy8d5TMq6qqiuf5mJgYGQuDdub9B3F0dHTjg5cvX/beOZarKpCO0+msqKjo2LGjyWRqOOjxeEpKSiIjI4OCghoOMgxTWlraqVMnnU7Xlm9UYhACAAC0G2XdIwQAAGhnCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAhoCEIAAAho/w9faaSZGv3n0wAAAABJRU5ErkJggg==" }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# checks that the recursive formulation of the follower's problem gives\n", "# the same solution as the original Stackelberg problem\n", "plot(1:n+1, [yt_tilde[5, :], yt_tilde[3, :]], labels = [\"q_tilde\", \"q\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: Variables with `_tilde` are obtained from solving the follower’s\n", "problem – those without are from the Stackelberg problem." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# maximum absolute difference in quantities over time between the first and second solution methods\n", "max(abs(yt_tilde[5] - yt_tilde[3]))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# x0 == x0_tilde\n", "yt[:, 1][end] - (yt_tilde[:, 2] - yt_tilde[:, 1])[end] < tol0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Explanation of Alignment\n", "\n", "If we inspect the coefficients in the decision rule $ - \\tilde F $,\n", "we can spot the reason that the follower chooses to set $ x_t =\n", "\\tilde x_t $ when it sets $ x_t = - \\tilde F X_t $ in\n", "the recursive formulation of the follower problem.\n", "\n", "Can you spot what features of $ \\tilde F $ imply this?\n", "\n", "Hint: remember the components of $ X_t $" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "1×5 Array{Float64,2}:\n", " 2.5489e-17 -3.18612e-18 -0.103187 -1.0 0.103187" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F̃ # policy function in the follower's problem" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "4×4 Array{Float64,2}:\n", " 963.541 -194.605 -511.622 -5258.23\n", " -194.605 37.3536 81.9771 784.765\n", " -511.622 81.9771 247.343 2517.05\n", " -5258.23 784.765 2517.05 25556.2" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P # value function in the Stackelberg problem" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "5×5 Array{Float64,2}:\n", " -18.1991 2.58003 15.6049 151.23 -5.0\n", " 2.58003 -0.969466 -5.26008 -50.9764 1.0\n", " 15.6049 -5.26008 -32.2759 -312.792 -12.3824\n", " 151.23 -50.9764 -312.792 -3031.33 -120.0\n", " -5.0 1.0 -12.3824 -120.0 14.3824" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P̃ # value function in the follower's problem" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# manually check that P is an approximate fixed point\n", "all((P - ((R + F' * Q * F) + β * (A - B * F)' * P * (A - B * F)) .< tol0))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "hide-output": false }, "outputs": [], "source": [ "# compute `P_guess` using `F_tilde_star`\n", "F̃_star = -[0, 0, 0, 1, 0]';\n", "P_guess = zeros(5, 5);\n", "\n", "for i in 1:1000\n", " P_guess = ((R̃ + F̃_star' * Q̃ * F̃_star) +\n", " β * (Ã - B̃ * F̃_star)' * P_guess\n", " * (Ã - B̃ * F̃_star));\n", "end" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "112.65590740578102" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# value function in the follower's problem\n", "-(y0_tilde' * P̃ * y0_tilde)[1, 1]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "112.65590740578097" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# value function using P_guess\n", "-(y0_tilde' * P_guess * y0_tilde)[1, 1]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "hide-output": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "F_iter = [0.0 -1.474514954580286e-17 -0.1031865014522383 -1.0000000000000007 0.10318650145223823]\n" ] }, { "data": { "text/plain": [ "1×5 Adjoint{Float64,Array{Float64,1}}:\n", " 0.0 -1.47451e-17 -0.103187 -1.0 0.103187" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# c policy using policy iteration algorithm\n", "F_iter = (β * inv(Q + β * B̃' * P_guess * B̃)\n", " * B̃' * P_guess * Ã);\n", "P_iter = zeros(5, 5);\n", "dist_vec = zeros(5, 5);\n", "\n", "for i in 1:100\n", " # compute P_iter\n", " dist_vec = similar(P_iter)\n", " for j in 1:1000\n", " P_iter = (R̃ + F_iter' * Q * F_iter) + β *\n", " (Ã - B̃ * F_iter)' * P_iter *\n", " (Ã - B̃ * F_iter);\n", "\n", " # update F_iter\n", " F_iter = β * inv(Q + β * B̃' * P_iter * B̃) *\n", " B̃' * P_iter * Ã;\n", "\n", " dist_vec = P_iter - ((R̃ + F_iter' * Q * F_iter) +\n", " β * (Ã - B̃ * F_iter)' * P_iter *\n", " (Ã - B̃ * F_iter));\n", " end\n", "end\n", "\n", "if maximum(abs.(dist_vec)) < 1e-8\n", " dist_vec2 = F_iter - (β * inv(Q + β * B̃' * P_iter * B̃) * B̃' * P_iter * Ã)\n", " if maximum(abs.(dist_vec2)) < 1e-8\n", " @show F_iter\n", " else\n", " println(\"The policy didn't converge: try increasing the number of outer loop iterations\")\n", " end\n", "else\n", " println(\"The policy didn't converge: try increasing the number of inner loop iterations\")\n", "end" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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Pn3gwIHp6enFxcVdu4o5k1FE/gUhx3G5ubmEkAULFuTm5oaHh8+ePXvQoEFxcXH154SFhT300ENS9F5vyFp7KSzxTila1umoK/0nkW82pPZ/Ror2AQBajmGYoqKihISEhv2N6OjoQ4cOHT582Gg0RkdH9+7d/JLLTz/99KJFi8rKymJjY30zYoxGY1ZWllarzc7Ozs/Pt9vtgwYNKikpiYuLMxgMBQUFBQUFNTU1SUlJnTt3btTajz/++Otf//o6pf7tb387ceJEWVnZoEGDRowY0ehdt9t95coVnudv4j+CiPwLQqvVumLFikYHX3rppYZ/jI2NbXpO22jvuBzdOUGixoffecfFP867eLk8Mb75xQQAANpATExMly5dnnjiibfffrtLly4N3zIajb4ZpL5bVNcSGhra6IO+ByE0Gk3//j/v5NqpUyffC71en5p6zZG20aNHT5o06foF9+zZs+kkVZ/Tp08///zzAwcOtNls129EUqLNGpXdlfJqVquLjmg8hC0WmzUkJ3k02fxl4sIHJfoKAIAb6tev36ZNm65/jsVimTp1aqOn17VabX5+vrjFLFq0qOUnT5kyJSHhf/oq/fv3v+HfpQ0EThBePHfRbpF2UZsBEyfb336s1j7bZvV7RisAQJuJiIj46KOP5K6isWeeUeitJcXNAL5pVSUXneFSjYv6dExsd75d6r6t2yT9FgAAaEuBE4RM2SVttLRBSAiJHzsl9shGnm+jRSUAAEBqgROE+qqL1nhJHiJsKHVAzzpj1J5v90n9RQAAzcrLy8vMzMzMzCwsLPz222+Li4uPHDmSl5fXwo/X1tbWz9L85z//uWLFip07dz755JONTps5c2ZxcXHTj/M8//HHHxNCsrOz7XZ70xOKiopycnJqa2vXr1/fbAEHDhw4derUqVOnDhw4kJubW/93aWH9UgicIIyyX4rvJHmPkBCiHT7Vuw+bFAKAPKqrq2tqatavX5+UlPSPf/wjLy9v69atX375ZQs/7lue2/c6JiYmNja2vLy86SSavXv3NrugGsMwvpUyn332Wd86Yo0cOnTo/fffv3Llyh/+8IdmC/j000/37NmTk5Pz2Wef9evXb/369WfPnhV3XUx/BUgQMiwXTVd26hh341NbbUTWECtdnXf4RBt8FwBAUxRFRUVFUVTjxbhramo2bNiwfft2t9t95MiR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bXRO79699+zZc8OmeJ7X6/XDR9wqVm2gUoIgWCwWuasA+eFKAEKIVqs1mUz+BmGLWharoZ49ex4+fNj3+tixY2azOSEhQazGAQAAJOJ3EO7atWv37t2EkL179+7YsUMQhOeee+6TTz657777Dhw4sG7dutLS0ueee27u3Llms1n8egEAAETl99DosmXLaJq+7bbbPvjgA0JIVlYWwzA8z8fGxq5fv37JkiWlpaXjxo17/fXXJagWAABAZH4H4ZYtWxodWbp0qe/Fbbfddtttt4lQFAAAQFtR4lqju3fvfuedd+SuAuT31FNPFRYWyl0FyOzEiRPPPfec3FWA/JYtW7Zv3z4pWlZiEJaUlBw5ckTuKkB+3333XU1NjdxVgMyqqqoOHjwodxUgv8OHD4uweGdzlBiEAAAAbQZBCAAAQU0jCELbfNPp06enT59eWVl5wzMZhmEYBs/PQl1dXWhoKEVRchcCcuI4zuVyhYWFyV0IyMzhcBgMBoPBv80Ytm3b1mixz6baLggJIVevXvV4PG32dQAAEOTat2+vv9H+DW0ahAAAAEqDe4QAABDUEIQAABDUFBeE33zzzbhx44YOHfrWW29h2DYYHDly5LXXXps9e/Z7773X8OCUKVMGDRq0ZMkSmqZ9B7Ozs0eNGpWZmfnhhx/KVCxIxel0Ll269I477hgyZMivf/3rixcv+o6vXbs2KysrMzPz448/9h3hOO7ll18ePHjwxIkTm27iBmq3e/fu6dOnDxo0aMyYMX/729+8Xi8hxO12P/XUUxkZGVOnTj127JjvzAsXLtx333233nrrww8/3GinW78JSnLq1Cmr1bp69ervvvuue/fuK1askLsikNyf//znhQsXjhw5cv78+b4jdXV10dHRf/nLX/Ly8jIzMxcvXiwIwv79+yMiIrZu3bpr1664uLhNmzbJWjWI7OTJk3PmzNm0adN333133333de/enWXZnJycyMjIr7/+eufOne3atfvqq68EQXj55ZcHDhz4448//vOf/7TZbGVlZXLXDmLavn372rVrDx06tHnz5i5durz55puCICxatCgrKysvL++NN95o166d0+n0er39+/d//PHHjx49Onv27IkTJ7bmS5UVhIsXL77//vt9r1evXt23b19Zy4G28/vf/74+CFesWDF48GDf69zcXJvN5na7Z82a9fTTT/sOvvXWW2PGjJGnUJCe2+3WarUnTpyYNm3a888/7zvo6y/yPB8XF+fb90YQhAkTJrz++uvyVQrS+uMf/zh16lSHw2GxWPLz830H09LSPvroo927d8fExHAcJwhCdXW10Wg8e/bsTX+RsoZG8/PzMzIyfK/T09OPHz/Osqy8JUHby8/PT09P971OTU11u93nzp1reDA9Pf3o0aPyFQjSKigoMBqNCQkJTX/o5eXlV65cqT+YkZGBKyHwuN3uoqKivXv3Zmdn33PPPWfPnvV6vX379vW96/uhHz16dODAgb6HjMPDw7t161Y/ZHoTlBWE5eXl4eHhvteRkZFer/fq1avylgRtr+FloNFoIiIiysvLG10bFRUVvpsHEGAcDscDDzzw4osvWiyWRj9032VAUZTVavUdjIiIKCsrk69YkERubu6YMWMmTpyYmJg4YcKEsrKy+suA/PJDLy8vj4iIaHTwpr9RWUFotVpdLpfvtcPhIITYbDZZKwIZWK1Wt9td/0eHw2Gz2RpdG1arVatV1tULredyuSZOnJiRkfH73/+eNPmFYLPZwsLCeJ6vnz/lcDga/oqEwDBs2LCzZ8+Wl5dHRUXNnz8/LCys/jIghDidzvDw8KYHWxMWyvpV0rlz5/ptdwoLC2NiYkJDQ+UtCdpe586dz5w543t95coVt9udmJjY6Nro1KmTfAWCJDwez+TJkzt27LhixQqNRkOa/ELo1KlTXFyc0WjElRAMjEbjzJkzf/jhh06dOtXV1ZWXl/uO+37oDX9LcBx37ty51lwJygrCWbNm/fvf/66qqhIE4d133501a5bcFYEM7r333u3bt/uu8uXLl48bNy4qKmrWrFmrVq1yu90cx61YsQLXRoBhGGbatGk2m23VqlX1ff1Zs2Z98MEHHo+HZdmVK1fOmjXLaDTefffdy5cvJ4SUlJRs3LgRV0KAycvL43meEOJyuT7++ONbb721ffv2WVlZ7777LiHk5MmTu3btmjFjxoQJE0pKSr799ltCyOrVq6Oiournl9wMUeb2iMXr9T722GORkZGJiYlDhw6tqKiQuyKQ3BtvvNHwglyyZIkgCMuWLQsPD+/atWtKSsqpU6cEQWAY5t57742JiYmLi5swYYLT6ZS7cBDT/v37G/1q2rlzJ03T06ZNi42Nbd++/aRJk1wulyAIFy5c6N+/f1JSUkRExAsvvCB34SCyuXPnWq3WLl26hISE3H777ZcvXxYE4fjx4127du3atWtERMQ777zjOzM7OzsqKiolJSU+Pj4nJ6c1X6rEtUZramrcbndcXJzchYCcnE5nVVVVQkKCb5TMp7Kykuf52NhYGQuDNub7B3FMTEzDg5cuXfLdOZarKpCOy+UqLy9v3769yWSqP+j1ektKSqKiokJCQuoPMgxz5cqVDh066HS61nyjEoMQAACgzSjrHiEAAEAbQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQQxACAEBQ+3/2haKVr0Az2wAAAABJRU5ErkJggg==" }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "yt_tilde_star = zeros(n, 5);\n", "yt_tilde_star[1, :] = y0_tilde;\n", "\n", "for t in 1:n-1\n", " yt_tilde_star[t+1, :] = (Ã - B̃ * F̃_star) * yt_tilde_star[t, :];\n", "end\n", "\n", "plot([yt_tilde_star[:, 5], yt_tilde[3, :]], labels = [\"q_tilde\", \"q\"])" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "maximum(abs.(yt_tilde_star[:, 5] - yt_tilde[3, 1:end-1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Markov Perfect Equilibrium\n", "\n", "The **state** vector is\n", "\n", "$$\n", "z_t = \\begin{bmatrix} 1 \\cr q_{2t} \\cr q_{1t} \\end{bmatrix}\n", "$$\n", "\n", "and the state transition dynamics are\n", "\n", "$$\n", "z_{t+1} = A z_t + B_1 v_{1t} + B_2 v_{2t}\n", "$$\n", "\n", "where $ A $ is a $ 3 \\times 3 $ identity matrix and\n", "\n", "$$\n", "B_1 = \\begin{bmatrix} 0 \\cr 0 \\cr 1 \\end{bmatrix} ,\n", "\\quad B_2 = \\begin{bmatrix} 0 \\cr 1 \\cr 0 \\end{bmatrix}\n", "$$\n", "\n", "The Markov perfect decision rules are\n", "\n", "$$\n", "v_{1t} = - F_1 z_t , \\quad v_{2t} = - F_2 z_t\n", "$$\n", "\n", "and in the Markov perfect equilibrium the state evolves according to\n", "\n", "$$\n", "z_{t+1} = (A - B_1 F_1 - B_2 F_2) z_t\n", "$$" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "hide-output": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Policy for F1 is [-0.22701362843207126 0.03129874118441059 0.09447112842804818]\n", "Policy for F2 is [-0.22701362843207126 0.09447112842804818 0.03129874118441059]\n" ] } ], "source": [ "# in LQ form\n", "A = I + zeros(3, 3);\n", "B1 = [0, 0, 1];\n", "B2 = [0, 1, 0];\n", "R1 = [0 0 -a0/2; 0 0 a1/2; -a0/2 a1/2 a1];\n", "R2 = [0 -a0/2 0; -a0/2 a1 a1/2; 0 a1/2 0];\n", "Q1 = Q2 = γ;\n", "S1 = S2 = W1 = W2 = M1 = M2 = 0.;\n", "\n", "# solve using nnash from QE\n", "F1, F2, P1, P2 = nnash(A, B1, B2, R1, R2, Q1, Q2,\n", " S1, S2, W1, W2, M1, M2,\n", " beta = β,\n", " tol = tol1);\n", "\n", "# simulate forward\n", "AF = A - B1 * F1 - B2 * F2;\n", "z = zeros(3, n);\n", "z[:, 1] .= 1;\n", "for t in 1:n-1\n", " z[:, t+1] = AF * z[:, t]\n", "end\n", "\n", "println(\"Policy for F1 is $F1\")\n", "println(\"Policy for F2 is $F2\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "q1 = z[2, :];\n", "q2 = z[3, :];\n", "q = q1 + q2; # total output, MPE\n", "p = a0 .- a1 * q; # total price, MPE\n", "plot([q, p], labels = [\"total ouput\", \"total price\"], title = \"Output and prices, duopoly MPE\", xlabel = \"t\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "8.881784197001252e-16" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# computes the maximum difference in quantities across firms\n", "maximum(abs.(q1 - q2))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "hide-output": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Firm 1: Direct is 133.3295555721595, Forward is 133.33033197956638\n", "Firm 2: Direct is 133.32955557215945, Forward is 133.33033197956638\n" ] } ], "source": [ "# compute values\n", "u1 = -F1 * z;\n", "u2 = -F2 * z;\n", "π_1 = (p .* q1)' - γ * u1.^2;\n", "π_2 = (p .* q2)' - γ * u2.^2;\n", "\n", "v1_forward = π_1 * βs;\n", "v2_forward = π_2 * βs;\n", "\n", "v1_direct = -z[:, 1]' * P1 * z[:, 1];\n", "v2_direct = -z[:, 1]' * P2 * z[:, 1];\n", "\n", "println(\"Firm 1: Direct is $v1_direct, Forward is $(v1_forward[1])\");\n", "println(\"Firm 2: Direct is $v2_direct, Forward is $(v2_forward[1])\");" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# sanity check\n", "Λ_1 = A - B2 * F2;\n", "lq1 = QuantEcon.LQ(Q1, R1, Λ_1, B1, bet = β);\n", "P1_ih, F1_ih, d = stationary_values(lq1);\n", "\n", "v2_direct_alt = -z[:, 1]' * P1_ih * z[:, 1] + d;\n", "all(abs.(v2_direct - v2_direct_alt) < tol2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MPE vs. Stackelberg" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vt_MPE = zeros(n);\n", "vt_follower = zeros(n);\n", "\n", "for t in 1:n\n", " vt_MPE[t] = -z[:, t]' * P1 * z[:, t];\n", " vt_follower[t] = -yt_tilde[:, t]' * P̃ * yt_tilde[:, t];\n", "end\n", "\n", "plot([vt_MPE, vt_leader, vt_follower], labels = [\"MPE\", \"Stackelberg leader\",\n", " \"Stackelberg follower\"], title = \"MPE vs Stackelberg Values\",\n", " xlabel = \"t\")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "hide-output": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "vt_leader(y0) = 150.03237147548847\n", "vt_follower(y0) = 112.65590740578102\n", "vt_MPE(y0) = 133.3295555721595\n" ] } ], "source": [ "# display values\n", "println(\"vt_leader(y0) = $(vt_leader[1])\");\n", "println(\"vt_follower(y0) = $(vt_follower[1])\")\n", "println(\"vt_MPE(y0) = $(vt_MPE[1])\");" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "-3.9708322630494877" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# total difference in value b/t Stackelberg and MPE\n", "vt_leader[1] + vt_follower[1] - 2*vt_MPE[1]" ] } ], "metadata": { "date": 1591310618.2228005, "download_nb": 1, "download_nb_path": "https://julia.quantecon.org/", "filename": "dyn_stack.rst", "filename_with_path": "dynamic_programming_squared/dyn_stack", "kernelspec": { "display_name": "Julia 1.4.2", "language": "julia", "name": "julia-1.4" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.4.2" }, "title": "Dynamic Stackelberg Problems" }, "nbformat": 4, "nbformat_minor": 2 }