{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cbcfcca0",
   "metadata": {},
   "source": [
    "Stress Intensity Factors II \n",
    "============================"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9960eade-ba41-4642-8765-c4dfbf8c219f",
   "metadata": {},
   "source": [
    "```{image} ../LEFM/mode1.png\n",
    ":alt: mode1\n",
    ":width: 400px\n",
    ":align: center\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cfbaa5c7",
   "metadata": {},
   "source": [
    "We will follow Williams's approach[^I1]. The boundary conditions of our problem are such that the crack faces will be traction free:\n",
    "\n",
    "$$\n",
    "\\sigma_{\\theta \\theta} = \\sigma_{r \\theta} = 0 \\ \\ ; \\ \\ (\\text{for} \\ \\ \\theta=\\pm \\pi )\n",
    "$$\n",
    "\n",
    "Next, remembering that the stresses in polar coordinate are expressed as :\n",
    "In polar coordinates, stresses are expressed as:\n",
    "\n",
    "```{math}\n",
    ":label: stress_ret\n",
    "\\begin{align*}\n",
    "\\sigma_{rr}& = \\frac{1}{r^2} \\frac{\\partial^2 \\Phi}{\\partial \\theta ^2} + \\frac{1}{r}\\frac{\\partial \\Phi}{\\partial r}\\\\\n",
    "\\\\\n",
    "\\tau_{r \\theta}& = \\frac{1}{r^2} \\frac{\\partial^2 \\Phi}{\\partial \\theta \\partial r} + \\frac{1}{r^2}\\frac{\\partial \\Phi}{\\partial \\theta} \\\\\n",
    "\\\\\n",
    "\\sigma_{\\theta \\theta}& = \\frac{\\partial ^2 \\Phi}{\\partial r^2}\n",
    "\\end{align*}\n",
    "```\n",
    "\n",
    "The B.C leads to the requirement:\n",
    "\n",
    "\\begin{align*}\n",
    "&\\phi_{,rr} = 0 \n",
    "&\\left( \\frac{1}{r}\\phi_{,\\theta}\\right )_{,r} =0\n",
    "\\end{align*}\n",
    "\n",
    "We know that $\\phi$ will depend on both $r$ and $\\theta$. For the sake of having shorter equations, we can start be defining $\\psi$ such that:\n",
    "\n",
    "$$\n",
    "\\nabla^2 \\phi = \\psi\n",
    "$$\n",
    "and since we are looking for a solution for the bi-harmonic problem $\\nabla ^4 \\phi =0$ we need to find $\\psi$ that will satisfy \n",
    "\n",
    "$$\n",
    "  \\nabla ^2 \\psi =0\n",
    "$$ (psi2)\n",
    "\n",
    "The following form will satisfy {eq}`psi2` :\n",
    "\n",
    "$$\n",
    "\\psi = r^{\\lambda -1}f(\\theta) \n",
    "$$(psi_guess)\n",
    "\n",
    "leading to\n",
    "\n",
    "$$\n",
    "\\nabla^2\\psi = r^{\\lambda -3}[f(\\theta)  (\\lambda -1)^2+f^{''}(\\theta)]=0\n",
    "$$ (psi3)\n",
    "\n",
    "Equation {eq}`psi3` is obviously satisfied for $r=0$ and $\\lambda \\geq 3$ otherwise, we must solve :\n",
    "\n",
    "$$\n",
    "(\\lambda-1)^2f(\\theta) +f^{''}(\\theta) =0\n",
    "$$ \n",
    "\n",
    "from which we can find that:\n",
    "\n",
    "$$\n",
    "f(\\theta) = A\\sin(\\lambda -1) \\theta + B\\cos(\\lambda -1) \\theta\n",
    "$$(f1)\n",
    "\n",
    "plugging {eq}`f1` into {eq}`psi2` & {eq}`psi_guess` leads to :\n",
    "\n",
    "$$\n",
    "\\nabla ^2 \\psi =r^{\\lambda -1}A\\sin(\\lambda -1) \\theta + B\\cos(\\lambda -1) \\theta\n",
    "$$ (psifunc)\n",
    "\n",
    "and finally $\\phi$ assumes the form:\n",
    "\n",
    "$$\n",
    " \\phi(r,\\theta) = r^{\\lambda+1}[\\frac{A}{4 \\lambda} \\cos ((\\lambda-1) \\theta) + \\frac{B}{4 \\lambda} \\sin ((\\lambda-1) \\theta) +C \\cos ((\\lambda+1) \\theta) + D \\sin ((\\lambda+1) \\theta)] \n",
    "$$ (phi_1)\n",
    "\n",
    "To find the coefficients in {eq}`phi_1` we will first write explicitly the stresses. \n",
    "\n",
    "To make our life easier (and to avoid stupid mistakes :) ) we will use the symbolic math python library [sympy](https://www.sympy.org/en/index.html)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a3f5f180",
   "metadata": {},
   "outputs": [],
   "source": [
    "#here we import the library\n",
    "from sympy import *\n",
    "init_printing(pretty_print=True, backcolor='Transparent',use_latex='png' ,fontsize='13pt', wrap_line=True,forecolor='Black')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3594b4fc",
   "metadata": {},
   "source": [
    "Next, we will define the symbols we are using:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4d819434",
   "metadata": {},
   "outputs": [],
   "source": [
    "phi, A,B,C,D = symbols('phi A B C D')\n",
    "L, r, theta = symbols('lambda r theta',real=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ef03f5f",
   "metadata": {},
   "source": [
    "Since we are about to calculate the stresses using {eq}`stress_ret` it will be usefull to define the operators used for those calculations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "6bdc3f8c",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Srr(phi,r,theta):\n",
    "  return (phi.diff(r)/r + (1/r**2)*phi.diff(theta,2))\n",
    "\n",
    "def Srt(phi,r,theta):\n",
    "  phi_t =(1/r)*phi.diff(theta)   \n",
    "  return -phi_t.diff(r)\n",
    "\n",
    "\n",
    "def Stt(phi,r,theta):\n",
    "  return phi.diff(r,2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "148268f1",
   "metadata": {},
   "source": [
    "Ok, almost good to go, \n",
    "\n",
    "Next we need to define the function $\\phi$ based on {eq}`phi_1` :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c4b97e31",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       " λ + 1 ⎛A⋅cos(θ⋅(λ - 1))   B⋅sin(θ⋅(λ - 1))                                   \n",
       "r     ⋅⎜──────────────── + ──────────────── + C⋅cos(θ⋅(λ + 1)) + D⋅sin(θ⋅(λ + \n",
       "       ⎝      4⋅λ                4⋅λ                                          \n",
       "\n",
       "   ⎞\n",
       "1))⎟\n",
       "   ⎠"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "phi = r**(L+1) * ((A/4/L)*cos((L-1)*theta) + \n",
    "                  (B/4/L)*sin((L-1)*theta) + \n",
    "                  (C)    *cos((L+1)*theta) + \n",
    "                  (D)    *sin((L+1)*theta)  )\n",
    "phi"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "12c4ef20",
   "metadata": {},
   "source": [
    "Calculating the stresses is now a simple task:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a66c7a74",
   "metadata": {},
   "outputs": [],
   "source": [
    "sigma_rr = Srr(phi,r,theta)\n",
    "sigma_rt = Srt(phi,r,theta)\n",
    "sigma_tt = Stt(phi,r,theta)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e5778fb",
   "metadata": {},
   "source": [
    "And now $\\sigma_{rr}$ is given by:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "22214cc7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       " λ - 1                                                                        \n",
       "r     ⋅(-A⋅(λ - 3)⋅cos(θ⋅(λ - 1)) - B⋅(λ - 3)⋅sin(θ⋅(λ - 1)) - 4⋅C⋅λ⋅(λ + 1)⋅c\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                                             4                \n",
       "\n",
       "                                             \n",
       "os(θ⋅(λ + 1)) - 4⋅D⋅λ⋅(λ + 1)⋅sin(θ⋅(λ + 1)))\n",
       "─────────────────────────────────────────────\n",
       "                                             "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp = sigma_rr*4/r**(L-1)\n",
    "temp =((A*apart(temp,A).coeff(A) + B*apart(temp,B).coeff(B)+C*apart(temp,C).coeff(C)+D*apart(temp,D).coeff(D)))\n",
    "(r**(L-1)/4)*simplify(temp)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a89798f6",
   "metadata": {},
   "source": [
    "$\\sigma_{r\\theta}$ by:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "d0b37ee3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       " λ - 1 ⎛A⋅λ⋅sin(θ⋅(λ - 1))   A⋅sin(θ⋅(λ - 1))   B⋅λ⋅cos(θ⋅(λ - 1))   B⋅cos(θ⋅(\n",
       "r     ⋅⎜────────────────── - ──────────────── - ────────────────── + ─────────\n",
       "       ⎝        4                   4                   4                   4 \n",
       "\n",
       "λ - 1))      2                                          2                     \n",
       "─────── + C⋅λ ⋅sin(θ⋅(λ + 1)) + C⋅λ⋅sin(θ⋅(λ + 1)) - D⋅λ ⋅cos(θ⋅(λ + 1)) - D⋅λ\n",
       "                                                                              \n",
       "\n",
       "               ⎞\n",
       "⋅cos(θ⋅(λ + 1))⎟\n",
       "               ⎠"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "simplify(sigma_rt)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "089898c8",
   "metadata": {},
   "source": [
    "and $\\sigma_{\\theta \\theta}$ "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "dfdb9472",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       " λ - 1                                                                        \n",
       "r     ⋅(λ + 1)⋅(A⋅cos(θ⋅(λ - 1)) + B⋅sin(θ⋅(λ - 1)) + 4⋅λ⋅(C⋅cos(θ⋅(λ + 1)) + \n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                               4                              \n",
       "\n",
       "                  \n",
       "D⋅sin(θ⋅(λ + 1))))\n",
       "──────────────────\n",
       "                  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "simplify(sigma_tt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "6638e42e-9f30-44d3-808c-1332d1bb2cdd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "⎡ λ - 1                                                           λ - 1       \n",
       "⎢r     ⋅(λ + 1)⋅cos(θ⋅(λ - 1))     λ - 1                         r     ⋅(λ + 1\n",
       "⎢─────────────────────────────  λ⋅r     ⋅(λ + 1)⋅cos(θ⋅(λ + 1))  ─────────────\n",
       "⎢              4                                                              \n",
       "⎢                                                                             \n",
       "⎢ λ - 1                                                           λ - 1       \n",
       "⎢r     ⋅(λ - 1)⋅sin(θ⋅(λ - 1))     λ - 1                         r     ⋅(1 - λ\n",
       "⎢─────────────────────────────  λ⋅r     ⋅(λ + 1)⋅sin(θ⋅(λ + 1))  ─────────────\n",
       "⎢              4                                                              \n",
       "⎢                                                                             \n",
       "⎢ λ - 1                                                           λ - 1       \n",
       "⎢r     ⋅(λ + 1)⋅cos(θ⋅(λ - 1))     λ - 1                         r     ⋅(λ + 1\n",
       "⎢─────────────────────────────  λ⋅r     ⋅(λ + 1)⋅cos(θ⋅(λ + 1))  ─────────────\n",
       "⎢              4                                                              \n",
       "⎢                                                                             \n",
       "⎢ λ - 1                                                           λ - 1       \n",
       "⎢r     ⋅(λ - 1)⋅sin(θ⋅(λ - 1))     λ - 1                         r     ⋅(1 - λ\n",
       "⎢─────────────────────────────  λ⋅r     ⋅(λ + 1)⋅sin(θ⋅(λ + 1))  ─────────────\n",
       "⎣              4                                                              \n",
       "\n",
       "                                                     ⎤\n",
       ")⋅sin(θ⋅(λ - 1))     λ - 1                           ⎥\n",
       "────────────────  λ⋅r     ⋅(λ + 1)⋅sin(θ⋅(λ + 1))   A⎥\n",
       " 4                                                   ⎥\n",
       "                                                     ⎥\n",
       "                                                     ⎥\n",
       ")⋅cos(θ⋅(λ - 1))      λ - 1                          ⎥\n",
       "────────────────  -λ⋅r     ⋅(λ + 1)⋅cos(θ⋅(λ + 1))  C⎥\n",
       " 4                                                   ⎥\n",
       "                                                     ⎥\n",
       "                                                     ⎥\n",
       ")⋅sin(θ⋅(λ - 1))     λ - 1                           ⎥\n",
       "────────────────  λ⋅r     ⋅(λ + 1)⋅sin(θ⋅(λ + 1))   B⎥\n",
       " 4                                                   ⎥\n",
       "                                                     ⎥\n",
       "                                                     ⎥\n",
       ")⋅cos(θ⋅(λ - 1))     λ - 1                           ⎥\n",
       "────────────────  λ⋅r     ⋅(λ + 1)⋅sin(θ⋅(λ + 1))   D⎥\n",
       " 4                                                   ⎦"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "M = Matrix(([apart(sigma_tt,A).coeff(A), apart(sigma_tt,C).coeff(C), apart(sigma_tt,B).coeff(B), apart(sigma_tt,D).coeff(D),A],\n",
    "           [apart(sigma_rt,A).coeff(A),apart(sigma_rt,C).coeff(C),  apart(sigma_rt,B).coeff(B), apart(sigma_rt,D).coeff(D),C],\n",
    "           [apart(sigma_tt,A).coeff(A), apart(sigma_tt,C).coeff(C), apart(sigma_tt,B).coeff(B),apart(sigma_tt,D).coeff(D),B],\n",
    "           [apart(sigma_rt,A).coeff(A), apart(sigma_rt,C).coeff(C), apart(sigma_rt,B).coeff(B),apart(sigma_tt,D).coeff(D),D]))\n",
    "simplify(M)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "92816f55",
   "metadata": {},
   "source": [
    "The B.C, in conjuction with the stress expressions we have obtained can be written as a system of equations :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "fce59d0f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       " λ - 1                                                                     \n",
       "r     ⋅(λ + 1)⋅(-A⋅cos(π⋅λ) + B⋅sin(π⋅λ) - 4⋅C⋅λ⋅cos(π⋅λ) + 4⋅D⋅λ⋅sin(π⋅λ))\n",
       "───────────────────────────────────────────────────────────────────────────\n",
       "                                     4                                     "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sigma_rtP = sigma_rt.subs(theta,pi)\n",
    "sigma_rtN = sigma_rt.subs(theta,-pi)\n",
    "sigma_ttP = sigma_tt.subs(theta,pi)\n",
    "sigma_ttN = sigma_tt.subs(theta,-pi)\n",
    "\n",
    "simplify_logic(sigma_ttN)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "79affabb",
   "metadata": {},
   "source": [
    "The solution we are looking for is of the form:\n",
    "\n",
    "```{math}\n",
    ":label: stress_BC\n",
    "\\begin{bmatrix} M \\end{bmatrix}\n",
    "\\begin{bmatrix} A \\\\ B \\\\ C \\\\ D \\end{bmatrix}\n",
    "=\\begin{bmatrix} 0 \\\\ 0 \\\\ 0 \\\\ 0 \\end{bmatrix}\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "18af98b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "⎡  λ - 1                                                  λ - 1               \n",
       "⎢-r     ⋅(λ + 1)⋅cos(π⋅λ)       λ - 1                   -r     ⋅(λ + 1)⋅sin(π⋅\n",
       "⎢─────────────────────────  -λ⋅r     ⋅(λ + 1)⋅cos(π⋅λ)  ──────────────────────\n",
       "⎢            4                                                      4         \n",
       "⎢                                                                             \n",
       "⎢  λ - 1                                                  λ - 1               \n",
       "⎢ r     ⋅(1 - λ)⋅sin(π⋅λ)       λ - 1                    r     ⋅(λ - 1)⋅cos(π⋅\n",
       "⎢ ───────────────────────   -λ⋅r     ⋅(λ + 1)⋅sin(π⋅λ)   ─────────────────────\n",
       "⎢            4                                                      4         \n",
       "⎢                                                                             \n",
       "⎢  λ - 1                                                  λ - 1               \n",
       "⎢-r     ⋅(λ + 1)⋅cos(π⋅λ)       λ - 1                    r     ⋅(λ + 1)⋅sin(π⋅\n",
       "⎢─────────────────────────  -λ⋅r     ⋅(λ + 1)⋅cos(π⋅λ)   ─────────────────────\n",
       "⎢            4                                                      4         \n",
       "⎢                                                                             \n",
       "⎢  λ - 1                                                  λ - 1               \n",
       "⎢ r     ⋅(λ - 1)⋅sin(π⋅λ)      λ - 1                     r     ⋅(λ - 1)⋅cos(π⋅\n",
       "⎢ ───────────────────────   λ⋅r     ⋅(λ + 1)⋅sin(π⋅λ)    ─────────────────────\n",
       "⎣            4                                                      4         \n",
       "\n",
       "                               ⎤\n",
       "λ)       λ - 1                 ⎥\n",
       "───  -λ⋅r     ⋅(λ + 1)⋅sin(π⋅λ)⎥\n",
       "                               ⎥\n",
       "                               ⎥\n",
       "                               ⎥\n",
       "λ)      λ - 1                  ⎥\n",
       "──   λ⋅r     ⋅(λ + 1)⋅cos(π⋅λ) ⎥\n",
       "                               ⎥\n",
       "                               ⎥\n",
       "                               ⎥\n",
       "λ)      λ - 1                  ⎥\n",
       "──   λ⋅r     ⋅(λ + 1)⋅sin(π⋅λ) ⎥\n",
       "                               ⎥\n",
       "                               ⎥\n",
       "                               ⎥\n",
       "λ)      λ - 1                  ⎥\n",
       "──   λ⋅r     ⋅(λ + 1)⋅cos(π⋅λ) ⎥\n",
       "                               ⎦"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "M = Matrix(([apart(sigma_ttP,A).coeff(A), apart(sigma_ttP,C).coeff(C),apart(sigma_ttP,B).coeff(B), apart(sigma_ttP,D).coeff(D)],\n",
    "           [apart(sigma_rtP,A).coeff(A), apart(sigma_rtP,C).coeff(C),apart(sigma_rtP,B).coeff(B), apart(sigma_rtP,D).coeff(D)],\n",
    "           [apart(sigma_ttN,A).coeff(A), apart(sigma_ttN,C).coeff(C),apart(sigma_ttN,B).coeff(B), apart(sigma_ttN,D).coeff(D)],\n",
    "           [apart(sigma_rtN,A).coeff(A), apart(sigma_rtN,C).coeff(C),apart(sigma_rtN,B).coeff(B), apart(sigma_rtN,D).coeff(D)]))\n",
    "simplify(M)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dedf5e38-0c14-4c1b-b506-0406940ecff1",
   "metadata": {},
   "source": [
    "rearranging M such that :\n",
    "\n",
    "M[0,:] = M[0,:]+M[2,:]\n",
    "\n",
    "M[1,:] = M[1,:]+M[3,:]\n",
    "\n",
    "M[2,:] = M[2,:]-M[0,:]\n",
    "\n",
    "M[3,:] = M[3,:]-M[1,:]\n",
    "\n",
    "We arrivae at:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "491154f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzIAAAB+CAYAAAD/RySnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4Ae2dW7LdNLeF/+zK86mQvPyvhB5A0gKgB5C0IKQHodICCnoAaUEIPYC0AJIehOfzAtl1OsAZnyIZXyTfvey19lCVlm1dpqbGlJfn9JTkW//8889/jhZu3br1qXh6ofi1+PtzDf5E85XoPBG96zXomYYRMAJGwAgYASNgBIyAETAC+yFwhdGg+E8hovyfPMjYeKtGXyp+v7Tx2D/ofLGUlusbASNgBIyAETACRsAIGAEjcBoEpMe/K9gowRNzS2zg/Xij+JPiO8V6+FNGxS/1hFOei/H3au/jNbwoACFan61B65QYuC0jYASMgBEwAkbACBgBI3ATEZD+/o36fafV94e6/ko6/a26IfOJElaZxtVqbPalmMeTckd8PZ1NJFYca8io3P29cRAPn4oHvFKHCltic9Q+H0oAZsYIGAEjYASMgBEwAjccAemMXwmCV9KVb12dARaPxHDbEtuEbbXzfd2IoV3FXxU3mWInukzr+zXTmftKP9RUOPHTwCbDczFJdcfgeLg+FzvkDCNgBIyAETACRsAIGIHdEbi9OwcFBqT8/qgsDAiMmOeK3yqGgGKsk771M7/KIJk0JU40aatqg4ZE41rpX+v0vY5f6Po30pcG0WI6X/Iy3W/Tg3eV+VGRqX27e8nERwebNs9912NwPFqf+/rjPCNgBIyAETACRsAIGIH9ETikISPFGS8FHoDfUOZ1zhqeyshAMdZ1MgR0uiyoDQyLrNEQlXCMItobZcig+KseBlA2KI9pY09VDq9LyfNCf8PObVkiJ0rsw2YKCyNxPESfp/TrCGUlIwx7jM3rvnE3l9c4Brgfv5xLw/WMgBEwAkbACBgBI7A2AoebWialCU/Lj1KagtGgI4bMz0p/NqfzKGGxLp6P73XOvLp2wOPzsp1Yu8Y79JXqojCOCWPLFWmp3xhrTLfqeGyKlbbJGMJmSqu9OB6oz1P6tHvZiBuGM2O0ZBhP5lO0uHeQGUb83uNwMv+uYASMgBEwAkbACFw2Aidd7C+liJ0HeKuLx+VvRZQjdh74NhosOj19EF/v1P4nfS1TRvkYWD/0lSNPZZnaNvj2WuVQOqGZbVv5GG+8ZWdHuU5Qfn16HcZTtY4l1k117unkO9HBOIK/ZBRyTdt/KS/bL5XNYqN0ZIcXAG9WLrBDXGfDAuipcBHHyFuxz7mGnPYBAWGHPJgSWfQGzsFKdHvH6RyarmMEjIARMAJGwAgYgTkISC/ZdbE/b3iJKKsozyjCu73tFRhj207Ty8TuyQLeqKxBVFNaMQKZknVXMUy3Ux6GIlPlfogYf6drpudhxKCU3ot5GEjIIhsGsKHNJ4qfKXL+kSL0OH4k+h0jRumEIRyLff5Q3b89CCDLKZ7DHlLOMgJGwAgYASNgBIzAsRG4OhV7USn+We1huPwmRTdNHWPb51FrTzbiFUMG5bkYIu+UY6pXyQNRrL8gA48JnpZGiPxgjWKghCAMv1b8NvLHxgTVZgc6h86fysMTQ1+f6ZzNBKCBZyzr8VF6FhvVuyOaTxUxVjCMfolthA0S0rnSG0H1AoZK7MMx2+cGoTO+ADvFbyIWq/ZEuHMfIV88n4cI9JP+tplR2mY4tNta61o8YyQyhs8ywLtiRxZTOyMao2SncmeN11RcXN4IGAEjYAROj8DVqZqUkoWHACWVqWR4DI4U4Csb9DDGcGEqFNN1MA6e1wsq/5Xim3pU/oP6dTyfo0BgZOBpaYegTEU823kPlJDrD2npW0F4eaDBVCQ+OkqdUujQarX7pa4xknoVPOX34lhrvNTnWpFjnapvKHYYhkS26yZmDd6IHX3kS7UYgWuHIY/X2u0V6al/d5TJvdMxlE+AQ5GvuRniGWxZZ9c71ufS37JenyymtjtWdueM11RMjl5e8mfc8gKLlyicZ/+fjt4P82cE1kQg3gu+L9YEdQdat3doE+Wt8iTs0H67SZRKFK5OiH/2KPtMnyIwdadhhOlh3VmPoHqj1sgEiv0/GDE5b1FIUzu5j3f+oTq5/pD2e+wTRmWYsqZrvDL0K7dOp4iNyjNNra7QcQ6/nRDb7MWxVqnU51qR45yqb+D6oj4OlMbaJYxbjLyOt1FpbK+NDJmS18lX2qwgmsggRJ0f4aOqr8VP5/5IndsKh0R/zlG4cT+8UPxY/F1naDCdkn6l/4RMkUMm9cpiKscTZHeueE2F5LDlNaaZVswaSQxx/rf5z0r/T7nnC8UcjMBFI+D74nLEe3XKrmjgoGQxLentKdsdaIs/cvhqBPHKG6vw8E8KjY5h6o7y5nhXGvTjBQ+UvgBfnQeN+CCNhxKKcAjiCa/As4gt21ajkKU86OB14c0451U9lYdOpw2lEbLYfMgKv9AJC8x1xOjpeBjEx1Qcs30OrR3zB6MFZa0KwhRcUIITNlVe7QTj8QvkVkubfRpx7vMc0lbyFvUd1+KHe+SPOFb7+rUaDuofU5nSRhZ9bTbyVId7B88qsnysWMRA/UGu3F+T22k0esIL8TpWFlO5GpTdOeI1FYQjl4+y54VXMGLgNcqE677/pyN3y7wZgUUI+L5YBN8hK6No/qPInx1/cptFtYGii7diszbm0BZP7xQxsCq+dM1bLNaaVGmcK6AUsJNXI71+rfzePiofZR0lgHYhygMFI6RBU2lBUWinp2vlo3hRBqWqUT/mkZ/KBPnqGgOHtFAnnhdlr/wONrX2G3m5skqbhKPK9/Y5tX2Uo/hlal5nPCgNmRbvK+UxBshvyG1Ov0SDe7iShc65z0SqOZ7mXkd6nT720Yv8FMdVqqtya+LA2F6Ep+pzfyOXxv9B4pcjeYrv62lHPhevjI1BWUztAzQVB8ewypwVXlNxOHJ5Yc8MAr5r1n62cK/0jvN2HV83MTQe54uH74vzlV267yTD8B/G9W1dnCyoQTwaq02lWZHxoDyLXv2tVXbqiPqAV6Mz538KL6KBpyPsMDZQ74HKFsspr/KstOmU8pROH6t+tutlrjvYpDKi1ZiO1r6mnNKm4tjb59T2gY7Iku+toPjytr4dUOI6QWVZV4RnEvlmt77uVMokiEbyeH2e2tcxfEiWt046XzRWY5PZPmTYCUlqFwUX2Zc8fVVVyqyBQ0XwBCfi+Vo8wzcvOo74f1ahMEUWVaWRJ2Nld054jez6ORXjpUbu/z79V5Xyz6mP5tUITEWgNO59X0xF8gDlT2rIHKC/WRb0oP1BD3zeXOX+8LN1tk4UP1ibGBG7hlNic5Q+TwFc+GQNNdHAwCD0KfPIlw0CeFveKKc0/mihweYYTF17EK91CEZCMn5Yz8GOde3pmnjdMHRnGzLwFWnACzte4WX6nTGhY19g7E5R8Is49DWycx79Y/1Pbz+FGUYgskgPSK7x2Fb/NbHMc6X/pUi4p0iZirbKMBaQA+PkriJ0HqtMafwpO4ReWYgunlnahl4p/KR2Si9UxspuFF4lBpw+HYE4rqjItN9SCC8dSplONwKXhoDvi0uT6H9O65E5OHzs5LLWG+zSQ38UBPFGY6H4IjqjGhtXaE1ssi0esM9ZPsckqi9B8VdZvuOTFNhcVbYjRxFEzm3vGvJnO20M7NeKLNZNBjdGTTAmlJZVZJV+Ss+h2GmEL3U1Zf59Hw4Nwge6YLpW7/0p2aEkMrXyieQRDBelYZC81vGt0vDqcA1WyLsyZpUedr5TGjLHyOBjt+BaBaX3th8LFmWh+hhYhM8V4ZUIn4xf2gw81/lSWjuMld0gXm3Cvl6MAAYvIfcf1GfcfKjlXyNwmQj4vrgwuV5dWH9md0cPa94Y/q2HOw/zRWHgwT+GNvP024rtmHqblFkTmx4GD9XnHj7HZGGc8G2dIRmmsUbfq6AxiHL7e0ygDLvMpTf4KJ8onkcO8DxFUcricOQOxv6h7PcFDJS67Cib+prqUoaxUhkxFFJg7KRtcjFc2dI91SGfwDgbCllZpDHGGFXEm4fnL/FBO3zrC97bfLXbS/1pjOF2IV0zHtr8Z4o5aQME+nDH++dgBG4iAr4vLkTqt8f0Iz5AeSs8JfAWkgdkCKIRVsmm6yMfxesR2EOJOQIfDR425qnRZ42fzQFQf/gzWzS26wCJHsolSmDv23KVw1jBKKEc08vq6y1QIN9G3lAUK1pKr6YbKf2ogTde12OYG8AhS0J1wA2vQTsgy7vKf9zO0DWYFreCzpQfSkLBT0p8p2yUHTJuTO0TDxikwSiNfYdGMlorOlH+XDN9DM8chsB7HZF/mAar9OCVo1BPyMoC+qpT/T/rnO26k9GCUdPgO0c/8l8aw+0qvXi1C/t6FQQYM6XAuCCk6YwfrvxrBC4fAd8XFybjUYaMHnAoJdkpLGPxEI3NldKxvLicEUgIrDG2Ey0pdmFLXtGsDI+UVz9GBZA38Z/Rvq6TMhiMlMgTVYKyrutzMF7qXRx1PoRDiYjwyHq6RI/1IKw3GqPgl8ivlZ6MHKZUlUIq02f0YQwR+P99rsiYYLxg9PetXVGRcSHKoc4DRk39ukNoruw6hJywGQLIUHKCfjJa6m3diRfJeK3n+dwIXCwCvi8uT7RXl9el8+mRHjIoI+lr8BzTw+V8OmFOAwKSHUr0J/qTrIwYpbFAPimrqRyKKB4g1kQkZZF1BtRvB9Y31N+at/OPes0br96xLFym4HDEfqIc9imBKa+xs1+rI6lMH1asowljSOOFaWAYv2injDO+0h6M3Rbd+uWgLCItvDwpMG6LPM2U3RBeqW0f10WAlyA5WSbj5iJfkqwLoaldIAK+Ly5IqDZkdhKmlAHeqvIBw6eKKKw8WKZOcdqJezdbR0Cy/FTXD5FlPV3nDeMkKoAojOwylpRYqoS1DspvlFf6I8VzVDToW1KUdNoMM3BoEjjGFcbFdYkVyZc8jNAHuTLIWmXIp1xjET/llc+YIuC5o63GGhTVZeoXU9SCkaNjKQzJAiUX2hjT9VDiG8NpyhhONHvxSoV8XB0Bxk9OlhjYbDhRHMOrc2KCRuA4CPi+OI4sFnNytZiCCcxFoK20fidCfI9kSDGZ257rbYBAlBd/iiifeNiSl400jNRgsCg9KYCkNYwTXaPQUq4yhCJdlMyXiucW6E92KupUHHboOJiPCfSvIcdMJdbk4N1oGCG65iUGGBHYuOGR0pLhEhL180KRXe9SG89Vps0b1yk/1Wsfi7KIBeGN9UPXtYqc54yrSWO4Ro/TMXi1qvhyKQKSKwYvm9hUz5s4jpD7k6X0Xd8InCMCvi/OUWplnm+Xs5xzAgQwWoKiq2NSJOppJ2DBTSxEAIMFmYX1MS1aSbYks66DqUGlRdTkv5KSkb4pE8aByieFFxrnEnhjX9pRayoOJ+mzcIdfvEgo6wS2SP5DxzcFmfGWu1cRVD2mhX2sci90RJFnvcw9RTyxYWwg35jHgv70H3BHZRgrdSOFcYPBQx7leKPOlsz1MaakTuiTBYUxWNprjurt1gkukd0gXvWGfL4qAow9DGH+Uwhs5sAHdM/xvyV0wD9GYAUEfF+sAOIRSDDXmjeBfOuA+f1DD8Uj8HyRPOghwxszlOKPJIek0FxkX92py0dA4xmlvfFtlK17He+hzRf7qx2MCQycvvUvW3d3NP09ZFFn7tzwqvPucyNgBIyAETgeAvF5/0rP4VtXx2PvxnLEdBPewtqIubFD4KI6HsbziXuEJ6Hk8VqTFXYPK3mc1mxnLVp7yKLO+7nhVefd50bACBgBI3BgBDy17ADCkWWJosG3R46wbewBEDEL546AxvJPGtd8nT5Nldu8S6d4CaD+4I3hmz9MSziLsIcsEjDniFfi3UcjYASMgBE4PgL2yOwsIz3oWXR5R8pGtdB7Z5bcvBFYCwEWu5+T52JMv5n+Sb/OLewli3PF69zka36NgBEwAjcSARsyO4pdRgwLi6tvj3Ct2N69aEcO3bQRmI9A9JA8jcb6fEIHqRn7Ue1EdxC2RrGxhyzOGa9RoLqQETACRsAI7I6AF/vvJIJosLDFKtsup4BXhm+MeJ1MQsRHI2AEjIARMAJGwAgYASMQEZAOHTbIkr58a5c1MjUlvv1hwNlCEk2mMDw5IyOAj18y3x6+q3BG/Fc8+8QIGAEjYASMgBEwAkbACJwagV2mlklZZ//6l4oscl8UMIoUoZO+/7CI3qkqCwO2Wb7Vjqdq3+0YASNgBIyAETACRsAIGIFzRmAXjwyASYH/QQbIe0UWus+eSqW6GEV8VA43k4MRMAJGwAgYASNgBIyAETACNwCBXTwyNVz55sNir0yN3uCpDJ77g4VOUEB8HG5R/1bYHLGvJxCxmzACRsAIGAEjYASMgBHYEIG9DRm69kiKLmtFNg9q53t5cP5sN4SirfhrO33uNf2BnmJj/UuL3n3lz54Op7rfKPL19FWCaGWxGSKuepv3dYgH5xsBI2AEjIARMAJGwAjcPAR2m1omBZjvS6DoY8Tw5edvFUNAOdZJn6fmVxkkv8Tiow6iSVtVG1RSGl6R9P2W1Tw1TJUTbb7bwNQ5Pp7HF8cbAf6V96PinzrvGFeNwvkL6jCtbnEQDx1sxhI9UV/HsuNyRsAIGAEjYASMgBEwAjcEgV22X5bijPcDD8BvOseAeKPzj5ZgLjp4Jz5DsW7TUR4Gy2PlNQyZVE75eEZ+VP4nKW2No+gGj4zoZj+gp3wMthel/DV4GKIxhM1Q/ZR/Dn1NvF7iMY4lxtv1FuMpjhPu2S8vET/3yQgYASNgBIyAETgPBKSTVNsvM7XsfyLb6bhpL9Q4nhaMhuCl0BHPws9KfzanYRSsWBeD6Hud5xb94/F5OYf+wjp4nb4STxgsnaC+Y3QxxWyyNwiac+p1mPjgDVsDm836muHZSS0E4ljCYGa8zZ6y2CIbvJaih2zxXE4ep216vjYCRsAIGAEjYASMwEIE/pvqr+6RkdLzjYjz1havy9+KKD8PFb+NRotOTxvE0zu1XfS2RMVvdY8MvaRtHaD9Q67XyseA4y06Gx80QswjDYMH/v+CjtIxjHj7zrQ1ZEg74Ewax88VkzL7UGWyHiGVCfwpv4FNjVZpQwI8X51pbao3u6/w4rAcAcmg1ws4twXR3cRrOZcf1zMCRsAIGAEjYARuJgLSSRoemS1Q4A0uEQUdBR6FeJe3uersLu2qvymwlietw0lp9SMeqc50nag43gM/RYwc8AxB1xg2DeNEadAhDSPnfqwH9nh8cl6qZPyoSCcwBe+J4meKnDPtDx448v2bjhGjdMKsvn6o6t+VEGCcFL2AK7VhMkbACBgBI2AEjIAR2B2BqzU5iEbDz6KJ4fKbFN40feyTdL5meyNpYcig5J88RDxoH2Oi5N3AKMH4aAd4fqZ6bAiAIYJ3q+O1aVWiDKG+uQB0SsZcBxu1xXd9nkZjhbfwv+gcHvn2D4ZpOOe6HlQv9FNpc/paJ3Xx52CsyK5zJbnMxkDyQfbIHM/oIQL9pL9tZpS2GQ7ttta8Ft8YiqvLbk0e67TgVbGDf73M2HPRGSUzlTsrjMb23+WMgBEwAkbgWAhcrcmOlCh24ELRZSrZatsZr8BjVvkeoquH8ReKbKM8FO+0aakOhgtTyvCS4Kl43i4TrzE+7rbzwFJpeGpQmJgu9F7xgeJgiDIYLBcLNLBp1f0SPtSXXqVtaV/HMnrkcsIABQ+jk5jGS9Z4jRgj93cqm6YArtm9Ic/Ymm310lL/uDe4DzpG+Alw6OVtbqb4Bl/W4/XeF2PoQ0OR3Q1XMTTabYpuEf922THXY2W2JkZj+HKZfgQ0DhivvBjjBQrn2f+mfirONQKXhUC8F3xfnLlYb2/EP8rZdxvRnkoWhbFjaIwhoocxb7fr3o0x1ZiyxUMC44OpWQSm+5QMO4wYjJZGiDQwDMO0M13jlYFOYz1Lo9L0iyI2aq+upHEOn52wRl87RM8sQRgwvhq7zymNTS3e6Igx2BlDKHrKQ+5M3evkK21WEE1kFaLOP1U7b2cRWq/Sa5FqTIOsk94Kh3obc86FHffbC8WPxeN1hgZTL+lbusczRUYlMXaIa97X9YZ78a8XHHs+QWZrYTSWNZfLIKCx/EbJ3yE3snXNeEv/TZ1nD2UcjMClI+D74nIkfLV2VzQ4UKKYnrS3ApW6xh81PPUF/thXCeo/RkxQHpICpCOKKp6N3FtXeMs9TEivtouOD6FcORWrQtbYqHK7J33Y0HZYOK4jBk/Hc7BiX7ucnVcKRgtKWxUkL/C7VkwYVnm1EwxTvH6rjL8oj6IXUPmzPYw1nkefqj3G+x/CYmjcroaD2mRK09wdEPGqvVJEno8Vi3JRn5At28fPakt1QxCdt4q3FKt7PeUtPYq3sfjPaWpQZmthNIc51/mAQBwDrJkMRgypUS5c9/03fSDgXyNwgQj4vrg8oaJ4/6PInx1/coui6KDw8sHKRXTWrC9+3iliXDV4UhrGAg9k8sGAP/Zn7XJTrlWft1/sJtZuC6WC3dPa6UEhyKTzRhiFCkWJyHmQkY4oWPAKzyiuOoQ0vD6hHzGNNpmSRv++arcRy5SwaaRHGg0MlbZKX3N8nVOacAgYt3lWepJR9t5SPuMPeS0ac1GO3MeVzHTOfais5nibex3pdcZvH73IT7bv9XoqtyYO3Ddr4Mm9g2waY77FN/fh+3rakc7FG+NhEP85PENXcXDsqsyhMZrT93OqI/x5Jrxq86w07pPe8d2u4+t1/kuN4/44+r7YXwZL74P0Hwad1bdfFvHDhfjWlGla1VupozAp3vgY6NLpKbO7c0ps9u7rbJAGKtIvFcGQYEc33tSHoHQMGRSG7HbVFIp1UZZnTy0SDdp+rfi56FSeUKWjyPIRy876FKVPCqIVDOuxfKo8ii4vNEb1S+XBcBEOdCjyifKe3e6cMmOC6GDI8JKhIdN23cg3W8vPmh6o+uCEso/VWcmu3c7U60h3NP5T6VM+9n1QZksxmsOb63xAQNhjrLBhS2N6p9LDC0flfa28wz0XLT8jsCUCvi+2RPc0tCVDdBJe0ty6Ok2T+7aijqLU9G2BvAuDURAoS7uFU2FzhL5uBbIwxFBhelBlxMS2MDAIfVOrkD8LvlFoG0FpTAVjISLTnZj2lK5Jq09pYi0HCklbEcaLt2jKktqBN3gMHkGdw0u97QbPtQv+ZKYo90UcajSPeEofG0pinUlhFT7YqyNT3lhojeww2jAEkDn95vq5YghKpw5rGNgEgM0jEo00FhbjL5rQgv4/PRHe+sJYmfVi1NeA8+YjILkGA1kUmBpcCp3/nVJBpxuBS0DA98UlSLHZhxthyMQus1MLb1kPEeLNxELwxW/LV+jQptgcrK8rwDVMQn3mjSdKAt8Bahs4dQJsV07IGdqMD4xwFBI8Lrz95poNICrFV2kYUh2jQWk/KY7yiIheNqg+nky242YLdYw1DCZ4GArwGBT2oYIxvw+HkSR2KYbX60Gu5Tju8YgxBngrjjySPPHApM08Ggao0lk3g5cWBZQxxFRVaFAXw5T7dUgBLeKvuhil9xQ/V8QIgybjhDGYzpF3bkyqSBXGyqyIUUXJJ1sgcDcSzf3/9Bk3W/BimkbgKAj4vjiKJFbi48YYMnooo+j9PUIBWAnaQTIYVYvelg+2MLLACbA5TF9HQrJGMd5Wo7wOyTgppA0jW+MUb87vkRHK1KdGooiihB45wPMUZSmLw5E7GHmjj+nNd5tdDJwHkmU7v+3pKOGEJ++BxhAGTAg6T949DOW+kMU/jSvGpeJbEXioyDiFLnzy/S/GWmpHScUwVmZ9GBWJO2M1BNrjr04Yg9bBCNxEBHxfXIjUb6sfPLBQtkoP09Fd1UOS+biHD+LzKDzyZvUovAQ+NuSn01cpS4fovPrMHxoejynhifhHEewE0UNRRSHsfaOtchgrGCWUYwoRb96TZwVl8m3kDYWxolUro+TDBt56XY/hbgCHLAnVAbecMo8s7yr/caYimBangWXKj0ni/zMp9I3yyEl88L/KFC7kysJrjIbKMGlUyF+UDIq+hzCUsvirbcZsfdyyRXdqA6NmlIdY/ekbu7RfD0WM6oV8vjoCjL1SYHwQ/vpw8K8RuDEI+L64DFHzHAsvijFkeAijFLDgb5TioXLZoAfiIRTTLHNONAIFBDRuGferbLggBS+sXxDNyvDINRsVQTYDYFrYta6TQRMMmcgTVYOyrutk4OTInW3aEA6ljgmPrKdL9Fibs3ixf6ndGemMK6YBIkdkjEHPFLPe8aFyKfQ9dFOZWceIff0/H6Omfp2lO1dmWWJO3AwBZClZQT8ZLfW27sSLZMTW83xuBC4WAd8XFyPa9DLth6uL6dIBO6KHCEpL+tI7x/TwOCC3ZmkpApIvSnRjbYHSOgv5lYZSiweINTBJcWS9AfXbgbUOvHk4t4AC3jveJ+Jw1P6jJGaVQWQP05Ix07jChhC6xIBh0X8wUMnfKAzir3bhBS9RCozVLWRWxCg17ONmCPACJCfTZNxc5AuSzdA04UtBwPfFpUhS/bAhs5EwpRDw9pVvvLBQGmWUB8fU6UsbcWeyayMgeX8qmg+Rd4t2wziJCizKI4vm6wpwWDeh/EZ5lXukeI7KBn1LypJOm2EGDk0Cx7nCWEnGaJsr8hprnyRzpm7h/Q5GTrvCitdD+KPcwltasJ+afpBO2scFMuvDqN2Mr9dFAK9vTqZs7sCmEqWxuy4XpmYEjoWA74tjyWMRN1eLartyHwJthfQ7FWYb1a0VmD6enLcBAlGm/DGypS5euOSJIw1DNhgsSuctPEYMaQ3jRNd4XShXGUKRLgrnS8VzC/QnO11vKg47dRzcxwT62JBlq9Jz9bdNi+t2nXaZFpnJl0X8IyWMGNYMXdcoc85Ll05YKLMhjDrtOWEdBCRfDGc2uameR3E8Iv8n67RiKkbgvBDwfXFe8hri9vZQAecvQgCjJSixOiaFoZ62iLgrHwYBDBbkmvu+R5I/zLKug2lGpQXV5POdFtZ4UC+MFZ2jlPoSgvQAACAASURBVJ5bwGBr786V+jAVh1Rv86Owh2c8SWnq12ul/aFrPlybkxtvu/sUQuo8isoj/wG8CWdL5j+VhhcvrZ/BCGYcQQu5t9N5EUJ6MnQxkPAAljYv6MNfZILB0l5n1DauKJfCEpkNYZTa8HEbBMI6LY0Xxg+BTR0aH88Nqf4xAjcLAd8XFyJvVgLyMOV7D8ztrytdF9LFY3RDDxHeiKGo9H4p/BjcmgsjsBwBjXm+H8I6oJP9r8T77CSL/dXWHfUPAwfj5HBhD/zbIBwdoza/vjYCRsAIGIHjIxCf9a/0/L11dXx2L4ZD1szwNj55Zi6mY+6IESggEMZ8IW+rZLwKOc/JFu3hNcGDc9SwB/5tLI6OUZtfXxsBI2AEjMAZIeCpZScQlixHFAq+KzLl+xEn4MxNGIHtENB4/0lj/1fFNFVuu8Yi5VO9KFCf8Mbw3R+mJxwy7IF/HYhzwKjOr8+NgBEwAkbg/BCwR2ZjmelhzqLKO1Iq0tz2jVs0eSNwKARYw3Fkr8VcsJgmWlqfMpfmFvX2xP9cMNoCd9M0AkbACBiBEyBgQ2ZDkGXEsGC4+q4I14qsSXIwAjcCgegheRoN+ovoc+xLtRvdkTu1F/7nhNGR5WfejIARMAJGoB8BL/bvx2d2bjRYXogAuw2lgFeG74d4nUxCxEcjYASMgBEwAkbACBgBIzASAenYYQMt6dO3vEZmJGgzivHxS+bRM72iCjZiKih8YgSMgBHYHYHaS6f2R2pn8yaa/O8/8f/9bAhd0QgYASMwCgGmlv1PLJmOoyq6UD8CeoCxzfKtduyv5VwjYASMgBE4JQL6j+Y7TS8V2ZRlUcAoUoRO+g7RInqubASMgBEwAlkE/ptS8cj8X7xIx5TnoxEwAkbACBiBi0dAxswPMkDeK7Ixy+ypv9Eoeis6THtwMAJGwAgYgW0Q+N9E1ov9ExI+GgEjYASMwE1GgO8PLfbKTAFQBs/9KeW3KCseDrcBzZa4HLG/W8jVNI3ATUHAhsxNkbT7aQSMgBEwAkMIPJKiy9rGzYPa+V4enD9TQ7SryHeXGusqU/7So+gy7e3XDJ37Sl80FU71v1F8l6E9OUl0GrhMIaC6YzBc3N8pPLmsETAC2yLgxf7b4mvqRsAIGAEjcHAEpADzrSMMCIyY54rfKoaAcqyTPk/NrzJIfonFRx1Ek7aqNqjElDal890fprjxsdXfSF8aRAuPS/qOWccDBO8q86PinzqvDKuJ7VKPtUaLgnjo4DKF4BgMV+rvFLZc1ggYgQ0R8PbLG4Jr0kbACBgBI3BsBKQ846XAC/CbzlH03+j8oyVciw7eic9QrNt0lIdh8Vh5DUMmlVN+8Mgof9QHVyk/pqzK4XX5UWU/SW2lo/Iw1l6MoZPqrH0UD724TGkPTChf6s8R+julP2uXjf0Ho+sSRkvajLLknvpyCR3XNQIlBDTGqu2XPbWshJLTjYARMAJG4KIR0MMQTwvKffB+6Ihn4WelP5vTcRS4WBeD6Hud5xb94/F52UMf79BXqotxMSaMLVekpX5jcDHlquOxKVaqZcDr3Lo1MkO41IoOnvZiuLS/g60fvEDsP4Yy42zRtMJ6V0WL8Q/2eABnjaU6PZ8bgTEI2CMzBiWXMQJGwAgYgbNDQErVN2Kat8J4Xf5WRLl6qPhtNFp0etognt6p7Y5XpM4FZXSNgfVDPT13rrJMbRt8861yRY8MdJWP8cYbejY96ISYTzpGD/z/BX9Kx5Di7T7T4dApoAXOpHH8XDEpyw9VJutpUp0OLjU6pQ0J8Hplp7RBT+0WMVR+b39V9+KDMOj1XM0FQHR7x9pcuq5nBBICGmP2yCQwfDQCRsAIGIGLRoA3xESUdAwDlOJd3hbr4Tu2XdbcpHUtOj1JwBuVNYiiYnoP/BQxdMAzBF1j2DSME6VBizSMnPuxHtjj9el4qXpwYfrdE8XPFDlnyh/tc+RbbVkjRnmEIQyL/f1Q/Ub8Iscp3r8bAYo7eV4IXJ0Xu+bWCBgBI2AEjMAwAlE5/lklMVx+k9Kbpo99ks6HqaxeAkMGBboYIt+UQ+kveSKK9RdkYJBgeOQCPD8TP2wKgCGCdyvrualVpgyhvmkBdHLGXAcXtcM3fZ5GY4U3/L/oHB7DxgjpnOt2UN2An9L7MOzrb5vkLtdgoMiOcDnMFvMkDJENMsFzuXugn/S3zYjSNsWh3d5a1+IbI3ET2a3FY5sO/Cp2ZNAuN3QtGqNkpnKLMboaYsb58xGQgJgjzZ8/f0Scn/KhNJ9x1zQCB0Ug3ke+pw4qnyOxJSWNXbhQVplKltt2eC92gzKeazw+I5gOhTcDj8Lzejnlv1J8U4/Kf1C/judzFBEMj7v19tI5WOocbw1KGdOR3is+UBwMUQaD5VSggUur3pfwoL4NKoUqw3O2iGGNkWJ/a2VWPxV/KHgYhES22yZmdYOIAXy+U5k0PW9tnoY8V2u3l6Wn/t1RBnLrGMgnwiHL15JE8Q226H6D43ZMO9BRZFfDOff3YBOiW5TBYOVWgbEyWwOj2622fbkSAhoQb0Tquygk5gwzQHgAhT/klZoxGSNwYxDwPXVjRL12R1EAv1ub6Ex6KKU8CzpB4xtlFiOBaVQEpv00DDA9TxpTuCikeqPWyFB2IGDEYLB0QuQNwzBMPdM1Xhn4613r0yFUTujDpa4Ecg6f2TAGw1rFYn9rZVY9FX/IvrE7nNLYcCLpBnXvVWgbHUJlkAtT6zr5odDMH9EFzxB1/qnaejuT1BrVXotIZ3wnwlvikNqYcxRu3AsvFD8Wj9cZGkyNpG/pvs4UGZ3E+CGudd+1G+6VQbvw0PUEmS3C6EqMpBuEPxKHFRDQwMZaZl4w1ngIcYBzHRbXxWQfjIARGIGA76kRILlIBwGNG5Q0pijtqaDV+eJ5C0+NID4xYoISEZ8VTJ8K037i2G+Un3mBAtQX4CtryCidvGq7aPHGs6xUVlkhFA2OVKB2zOIS82k3PTfRU7KeiRkY9vW3xtqqpxgtKG1VEJb0DwU49bHKq51gNH6hPg7JsFal/zTiVfRcKZ/2kseo77iYJ7WDzvSHsBgaU6vhoDaZ0jR3d0K8anhHkedjxSIG6hOyZWv3WW2pbhVE663iLcXqXqwyF56Iv7EymNrSoMxmYsR/eoUDf6D/KKJ48+fpuBADYclbNPb2b2CpNCx3sObB2sjztfHwGCiPAd0zvqf8nzH5P1PjBqUXj8XkulvVET/vFBvPAF3jwWfXrwafSkO5YDevRnr9Wvm9/VM+CjvKBO3y/EFhflanwblCUDja6TGPZxdKG8oYkfOgM+iIEgdNiKAY6xDSuGdDezGNvjAlDT6+arcT0xu4xHoNvHrKTcJQdIr9bfO21rXaDP1v01N6wi+rhykfGYJlR25tWmOuRQe9r8JV59wnqloeZ1PyIr3ecVunF3nJ9r1VbjUc1CZjejGeosG4RjadsZt4J0/xfbo+4lH8MR4GZTCVd2gqDo5dlZmEkcoHfRp+rnThsD4C2TdGagbLnFDK/5DrXyNgBNoIlO4Z31NtpHxdIaCHHIv8w3SoKnH/k6BA19kQj2wj3Jk2pLSfFBdNI1F9poSxaJ5NDnib+7ViblvnB0rv8ACfSmehPVtWs2sZsdq+WufXitCEdthpLaYxjTq0F2nQF3Yag49qtkINhw4usR7l030OL43rVF/pUzEs9jfR3OAYPE96+43SlgvZdPWNeryBXryTndo+gvev6rv4QdFFrkPemFRmFRwqBk5wor4xflnjVXqOjeICrJAfcVSFkYWgS9ExMhhJsio2duwuwciGTAX3OicaEOmPCBd4KYRBU8p0uhEwAv8i4HvqXyx8dv4I6IGNEbFYIV0TCd1jvN3EkNgtnBKXvfqrPmJsYdyh2NZDUkz7lHnkgyLb0R+UxjQwNkFhuhPTntI1ae0pTaznwPDEIKgHvGzVVJ16xthztQV/8Bk8djqHn3b7bXKMvawB3S4Yr4s4FMofJZk+FtcAwaSwCh/U1ZFpb2wShfzwNJKH3Ok7188VQ1A6dVhjxSYAbCCRaKTxMIQ/dHplIJrQgv4/PRHeSmGszAYxyjVgQyaHyrK0u7F6+4+K5D7jZlmrrm0ELhcB31OXK9ub2jN2MmJKyhphkVEkPnj5hveks1vUGsxNpLEmLtmmD9ZfFFTe0qOk4unK6Q2pH2wlTsjJG/lhICPL1xzjNd7ISunVOW/dp3quqDYqiPZY71+dHjwGZb2e2HPeh0NPtd2zmLr1oMRFHJffIzdFPKB4MJNMg7dE12DVMECVxroZNhJAv2QcMUU1eE51jmE6Zte0ogzEF0bpPUU+bIshBk28xIzDdI6XNDcuVSSEsTLrxSgRax9tyLQRWe+aP5RSYFA4GAEjMA0B31PT8HLpgyKghz5vHv+WkoDisSiIVt9b/DG0MagWvYkf08iYMmvi0tPeYfobeeRtdZi618MzWWmsNAxgjSG8Ob/HupTBmEhT91BCUUCPHOB5ykveLA5H7mDkjT72PcMwcthKvV2m7ekoYcX/ANMlMX5CqP03DE1py8ogjS3RYSrpWxF9qMhYpS34ZOou423oP2iszIYwUpPdcLub5JSFCJQGGWTTm+W/Frbh6kbgJiHge+omSXulvuohzALTwwfxeQQeeWt7BD4qHjbmp9NfKWMnB0B9RElFGex7mx2mHKkcRgnlmD7EW/c0HQtF8q3SUCxRGCtatTJKPmxAL7oew536iNFWwiFLQnUon1Pkweuu8h9nKoJp7zSwTJ2hJJT9pNB3yiIr8cKzjilcyJbNMjAaKsOkU6mbUDIo6GtfyMpAbb9VJWIKbNGd2sCoGfTiqi9TZNaLUWKifbQh00Zk4bWEfC3BQYWB0Q5pMKWB0M73tREwAi0EfE+1APHlKAQ0bk6umI5izIWMgBCQnhDWLmicVoZHDpioCLKrGVPC0C+SIh8MGdJivaCs6zoZODlyZ5s2hEOpY8Ij620UPdaFsEvXFEOh1Mxa6UwRYyogskTOGNxMMesdIyqXQt9Lv1Rm1jHin8YaNDBq6tcdunNl1iE0kHA1kO/seQjwR5KMljqFZNxc5B9NvaM+NwIrI+B7amVATe7mICCFAoUofUmeY+75dHMA2bmnwh8lurGuQGmdhfxKQ6FlzQtrYJLSyHoD6rdDZ/1Eu8BBr1G+e8fjRBwO2s3wcrv4Ehv5w7jkzDSusCmELjFgWPQfjFTyNwqDMlC78IKXKAXGa1FuM2WGjlzEKDXcPtqQaSOyzjVvT5jv2A4skGJhVvpDauf72ggYgTwCvqfyuDjVCPQiIIWCN7t834UtmFF2URZQjh12QEDy+FTNPkQereYbxklUBFEc2WGsrtyFNRPKb5RXuUeK5/iSlL6ll7w6bYYZODQJHOcKQ6VP9yO/sf5JcmfqFuudgpGj41ZhSAYYLPCGEV0POT03bWAxZewmmkMYpXKN41XjyherIBAHHws5qz8anaeB8GSVRkzECNwgBHxP3SBhu6trI1A9hyLh73Rki9atlaO1+3H29CLmvJRB2cNLljxlpGFoBoNF6byBRxEkrWGc6Jo1C5SrDKFIFx3jpeK5BfrDlKpOmIpDh8BpEsB9TKCPDVlmKj1Xn9v0uG7Xa5fJkJqUVJRBpIIRw7qh6xpVznkx0ggLZTYGo0Z7XNzupDhhLQTCXMf4BwNNFkZ9Hv+E1mrDdIzATULA99RNkrb7uiYCGC1BSdYxKSP1tDXbMq0yAhgs4J77tkeSD7VZ18EUo9JiavL5RgtrPKgXZHmm+gUGW3tnLiWFMBWHVG/zo7CHZzxJadrXa6X9oes3BbnhvRh6kY28H4kOhgr3KbN42JKZj2niyUvrZzCEGUvQQ/btdF5WkJ6MXQwkvIClDQz6ZCAywWBprzVqG1eUIyyR2RiMPrRS+2UxJOCwhzfzNes3Uq2YT42AETACRsAIGIFzR0AKDR4alKCP9MxPRs25d8v8nzECGpN8P4R1QCfTQeN9cJLF/moLwwQDB8PkkGEPGdSBmIpRlN8rYXrrSoT+R/HveKzT9bkRMAJGwAgYASNwWQiwZoa3/TZiLkuu59ybMCZP3AE8CiWP19qs4DHBg3PksIcM6nhMxei/qoztEqaW/Z+OuMc4OhgBI2AEjIARMAIXiIDeYqKs8N2SI205e4FIu0tTENB4/Elj81fFNFVuSvVZZU9lyKtPeGP47g9Tow8b9pBBAmMmRv+r+tgu/8Ej42AEjIARMAJGwAhcMAJSFliwe0cKS5o3f8G9ddfOEAHWbxzdazEHVqZxltamzKG3ZZ29ZLAIIxsyWw4J0zYCRsAIGAEjsDMCMmJYkFx9t4RrxU93ZsvNG4EKgegheRoN7ir9nE9iX6rd6I7elz1ksAZGXux/9JFl/oyAETACRsAIzEQgGiwvVJ2djFLAK8P3SbxOJiHioxEwAmeDgP7XwqYl+g+75e2Xz0ZsZtQIGAEjYATWRKCm5Lc/Oji7GdEM26IeyEjg45fM04evKhyIv4onnxgBI2AEpiLgqWVTEXN5I2AEjIARuAgEpMzzIbiXiiyCXxQwihShk74rsYjeWpXVR7ZZvtWOa9E3HSNgBIzAngjYI7Mn+m7bCBgBI2AEdkVACv4PMkDeK7IQfvZUK9XFKHorOkx5cDACRsAIGIETIGCPzAlAdhNGwAgYASNwaAT4nsRir8yUHsrguT+l/BZlxcNhF/xvic+R+72FnE3TCFwyAjZkLlm67psRMAJGwAiMReCRFFzWkmwe1M738uBUXzGnXUW+o9FYx7IWI6LLtLdfM/TuK/1QU+HgUTw18MnwXUxS3TFYHrLfxU45wwgYgSICnlpWhMYZRsAIGAEjcOkISPHl2xUYEBgxfF36W8UQUIp10uep+VUGyS+x+KiDaNJW1QaVmNKmdL7hwBQ3Pp7HV8cXB9HC45K+G9PxAMG7yvyo+KfOK8NqccMLCIiXDj5TyI3B8oj9ntJHlzUCRuBfBGzI/IuFz4yAETACRuAGISClGS8Fb/9/Q5nX+RvFyshAKdZ1MgR0uiyoDQyLrNEQFXCMItpbxZARTdbt8G0OvC4lzwv9ZXvm3T/a14eP+BsdRmJ5mH6P7tgKBYUxxjnG4rVwWl3mUYbcU1+uwK5JGIFBBDy1bBAiFzACRsAIGIFLQ0AKF56WH6VwBaNBRwyZn5X+bE5fUeBiXTwf3+s8t+gfj8/LHvp4h75SXZTNkwT1G2ONqVYdj81JGGg2MoRPs3T/VS+WB+t3f09WzI39xoBhnJWM28ktihbjH8wxxI8wlib3wRXOEwF/EPM85WaujYARMAJGoAcBKVXfKJu3wnhd/lZEuXqo+G00WnR62iCe3qntT/papYzyMbB+6Cs3JU80UVihmW1b+RhvvKFn04NsUJn6FDsMrWodS6yf6t3TyXeihYHEepdkGHJN+3+V+qayHXyUhtzwIJQ2JvhM9PA8dQL0lFjEMvLW2+8O0QtJUN/BlGmNq3plRLd3rF0IfO7GzghonFUfxLzamRc3bwSMgBEwAkZgKwR4Q0xEWcUwQBne5W2xHrxj203Ty8TqyQLeqOJUoJrSixHIlKy7imHKnfIwFJku90PE+DtdM0UPIwal9l7Mw0hCFtnQgw/tPVH8TJHzjxShxZFv5GSNGOURhrDs7fcHEhf7iyxO6v27WCTdsV0RsCGzK/xu3AgYASNgBNZGICrFP4suhstvUnbT9LFP0vnabY6ghyGD4lwMkW/KMdWr5IEo1l+QgbcEL0snRJ54+4mBEoIw/Frx28gjmxNUGx7oHFp/Kg9PDP19pnM2FIAGnrGS16eDj+rcEb2nihgrGEW/RPphg4R0rvROUN2AozL6sCz2u0PwxAn0XfGb2I/VWxd23BPIB8/l7oF+0t82I0rbFId2e2tdi2+MRMbg2QX4VuzIYmpHRGOU7FRuEVa3pzLm8uMRkHBwxf+lyJ8lLvWX8Q9Zpw5GwAhMRcD31FTEbmZ5/c8Gg0HjhalkeAyOEngWZIN4xXAJi6R1zrSf54rVtB+locjjkRgKGBnFdgqVMTDwsuRCUMYKNB+oQq6t8MxDDuIbTw98h6lMOnJd2sygQavV5pe65uOlg8qhyvRiqfZT6Ot3KrPaUXzdEbE0RS/1Ay8Xhloj0HeVh793OtL3EmaNehMvksdqtWmME9sPxSMuTAHseAVPhMMctnvriG92BHyluNtU1l4GC5l9sihUKSaPld1SrGzIFEWwLEODAdc684TDm6o4ON7oyB9S71u5ZS27thG4TAR8T12mXDfuFcp/5UnYuK0h8iilKLKdoLGN4o2iz/QpAtN+GgaYnhsoslsos7SHEVN6LiWj8H7m2fWH6uX6RNrvsV9MOwsKqq7xytC33FqdPnyS0q+qYWpgyehiOtsglhCJoa/fqcwqR/EFJi+ERd04xahJekFHtiqLMgz+GIKdfKXNDqILpiGCmdrqGFOziU+v+FpVKlza1bfEod3WlGvhxnh+ofixeLzO1H2iNPqW7utMkcMl9cpiKrcTZDcbq6upTLn8MAIa3Ljk+NNvu9u5Tm+lhgm5hBEwAgEB31MeCFMR0JhBSWNq0p4KWp1tFFJ4agTxieIdlIekDOmI0oo3Y/H0jthYztio8wFfWUNGvJDOs6vyBokvpow8i9iydTUKXQg6hxaeGqaQcV7VU3noZNuJ6R18lE6oe3QweDBQO0FtT8Wy2O8O8eUJGC0oa1UQHvQLBbhPL8Dw+0J9G5JhRXfoJOKEBwTjAZng/auC8mmPD7QOxcU8qQ3G+B/ipTQuEl+r4aA2mcqUNqFI9EcdVY+xj6cFeT5WLGKgPiFb7o9ZbY1iaMVC4nOsLKa2Oii7pVhx4/+jiOLNvFPHhRgIS96kvWpjqTT+7MGah6txNgYeAyPHgO4Z31MjsfJ/y4f/Vo0ZlF0+WHmY+0z8vFNs/P/rGu8960wafCoNpYJdvBrpU65VH0UdJYJ2efagMGOANGgqLSga7fT6tcqguFEOpaxBI+aRn8oEfULXPPNIC3XieVHXUH4HH3hop7evE59Kn4Slyg/2O9FeelRb7+G7TUdpyKSogykPGZLfwLxNZ+y16KDzVTjrnPtE1ZtjYu51pNfpZ4le5KU4JlI9lVsNB9FiXC7GUzS4R5FN455OPHMkT/F9Pe2o5+KTcTEoi6n8Q1NxcAyrzGisVDbo0/Di7ZeFxtpBVi0CY1Fiw1Wq9PBgVR5zmHkL4mAEjMAIBHxPjQDJRQ6PgMYxCj1TrQ71/y++3oin3ae/nBqfU/abtiR7jAh2WuNNfQhKx5BBKevbRpq6KMu5KXmBzpgftZU8Vp+LVuWpVDoKLOuzShsxjCEfyohWMF7H8KqyKLi8bBjVL5VfCwd4RGFftDZI/GDIYAw3ZKrrRoh8s1Zm1emBjUYWXkyVxdTmxspuLFYqhwxxGNy6PZUZl+9HQOBiURJwf5cCN6+DETACIxDwPTUCJBc5CwRQnDSe8S4expCJCgHK2O7hlPicut/qW8lQxLgg9E2tQj7s/Iby3SinNF6QQuOhIlPXHsRrHYKrpa6ss56DF6mVERMKffCaMc1ttiEDb6oPDfhh1ysMtN+RqY6lgDI6Rbkv4lBq4CDp9JEX2719FWboj3gwk6HLNYZe9X8RyzxX+l+KhHuKlKloqwzjATkwVu4qQuexypTGoLKDMV3RIKEeRJOXMLQLrVL4SW2EbdkzBcbKbhRWdfo2ZOporHPOoCGkgfjh6sNvn3FTL+dzI2AE/kXA99S/WPjs/BH4XkrBN3rgz1Ya14IgKkVsQFNSPtZqagqdzfE5Sr/FR1D6BQ7f4MnpDAm3n3WCIoicMBbqAfmxFTYG8mtFNhlKBjNGTWVIKD2ryCqdsbhoPIoGSvPUcfSl6mDwjA19OIylsUc5PF692Eh+GIJ4nJ4Iy2C4KA2D5LWOb8E3XoNXY9MopbOWiQ0bkDuGRtj9UMcqKL23fRUsykJ1Ma4InyvCJxEeGb+0F/iNY0CX2TBWdoNYtalftRN8vRoCCLcUsKAdjIARmIaA76lpeLn0ARHQw543jn9LOUAZ2DswNaatGO/K04nwOUq/MU6Yhj4kgzRW4LsKGkMour/HBMrUpy2ifKJ4HjnA85QXvFkcjtzByBt97Ht+UQwDpS4/0lJ/U13KMF4aXjmlMX54AcB4wHh9oPNUR5chMNb6QlYWaYwxRhXx5OH5SzzQBt/pgu82T+22Ul8aY7hdSNdjsGpUs0emAccqF303ZXqznFyCqzRoIkbgwhHwPXXhAl67e3r4hlW2a9Ndm574XJvkHHooQHPqbV5nY746/ZYydjIg1DcUS5TA3jflKodyilFCOaaXsTFEmgKEAvlWaSiUKIoVrVoZJR82oBNdj+FuAIcsCdUBN7wG7QBed5X/uJ2hazBtrG/OlJmahJKfFPlO3Sg/5NzwiokPPB117ww0kuFa0YljgGumj+Gd45n5XkfGSZjKqvTKM0fBTMjKAtoqS0wBz08yWjBqGjynQvWj+Ogbw/WinPdi1S7MtQ2ZHCoL0iRgPmIFBQZFO3DzENIg+HDlXyNgBIoI+J4qQuOMAgIaMydTSAssONkIFBGQjsB6A7YKqwyPXOGoAPIWno0A0C2SQRMMGdJivaCs6zoZODlyZ5s2hEOpY8Ij6+kSPdbmLF7sX2p3RnoycphWVQqpTJJ5rhwGA4EphM8VGReMGYz2vvUrKjIcohzq7WPU1K87RObKrkOoJ+GqJ89Z8xHgz+ROpnoybi7yzybTXycZgbUQ8D21FpKmc+MQkDKBIsPbfObSc8w9n24cLnt0WNijRH8iBbAyYpTG4vikqAa2dI0SypoX1kMkZZF1BtRvB9Y31N+at/OPeo3noHcsTsThqP1E9+t7gZ3y+nZvS2X68GIdTRhHGHGKGMC81GGsfROxLGE0KItIBw9PCozbIj8zZTeEVWq7OtqQqaBY9YQ3FcB3fQAABA1JREFUKMxTbAcGKYu20p9SO9/XRsAI5BHwPZXHxalGoBcBKRO8keXjh08VUXhRFFCQHU6MgGTxqZp8iCxaTTeMk6gAojCyw1hSYKkS1jkov1Fe6Y8Uz/EFKX1jPGbDDByydA6QiHFR1PskY/IwRHN643+Qt8qQTznu4UZQPuOKwHOSthrrUFSX6V9MUQtGjo65MCSLO6oEXYzpeijxjCE+ZQwnmr1YpUL141X9wufrIBAHDYs5qz8bnadB8GSdVkzFCNwcBHxP3RxZu6erI1A9hyLl73T8VM+kPqVmdSZuOsGIN4omiikesuQlIw0jMxgsSk8KIGkN40TXKLOUqwyhSBf94qXiuQX6k91JbSoOO3Uc3McE+tiQZaYS63LwcDSMEF3zIgKcCGze8EhpyXAJifp5ocjOd6mN5yrT5o3rlJ/q1Y9FWcRC8MX6oetaJc5zhtWkMVyjx+kYrBpVbjeufLEmAmGOogZTeliwKKrxEao1GzMtI3ADEPA9dQOE7C5uggDPoaAo65gUkXraJo2aaAOB9LY8rI9p5PwrG5JZ18G0oNIiavJfoVuoDDINctR5UnaVdDaBN/al3bSm4nCyTgt7eMaThMJOYIvkP3Tkw7I5ueG16H2JjSxF42OVe6EjzzrWy9xTxJsa7l1kHPNY0J/u4zsqw3ipGynwgMFDHuWYDcSWzOk/QJed0CcLCmOwtNcc1dusE1wiu0Gs6g1xztw5LDv2rmbOZl8nVcTBCBgBI2AEjIAROFcEpNzgoUGp7v0a+bn2z3yfFwIajyjsje+ibN2DeA+cZLF/NCYwcPrWv2zd5VH095BFnbEpWEUZvhKut67qRHxuBIyAETACRsAIXDQCTFXhDW56o3vRnXXnDo9AGI8n5hJPQs5zsgUb7B5W8jpt0d4SmnvIos7vLKw8tawOoc+NgBEwAkbACFwoAnqLiaLCt0uGvilxoQi4W0dDQGPxJ41LdtNLU+U2Z/FURrz6xNQuvvvDVLHDhz1kkUBZgpU9MglFH42AETACRsAIXCgCUhRYrHtHykq1UPxCu+punR8CLHQ/F6/FFHSZwknfzinsJYvZWNmQOafhZV6NgBEwAkbACExEQEYMi5Krb5dwrdje+WgiVRc3AusgED0kT6OxvQ7RnanEvlS70e3Mzujm95DFUqy82H+0eF3QCBgBI2AEjMB5IRANFrZnZdvlFPDK8I0Sr5NJiPhoBIzA2SCg/7WwaYn+w27VDZlcB35RoXNzi+X64TQjYASMgBEwAjcOAT3w36vTzNVvBBSARoIvjIARMAIHRED/YexsxzbjncD/GIv92XK5vTd0KnyO+5In3n00AkbACBgBI3CjEdCD/qMbDYA7bwSMwLkjwCYlnZcxqVP/D3HchvuC9L4CAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "⎡  λ - 1                                                                      \n",
       "⎢-r     ⋅(λ + 1)⋅cos(π⋅λ)         λ - 1                                       \n",
       "⎢─────────────────────────  -2⋅λ⋅r     ⋅(λ + 1)⋅cos(π⋅λ)             0        \n",
       "⎢            2                                                                \n",
       "⎢                                                                             \n",
       "⎢  λ - 1                                                                      \n",
       "⎢ r     ⋅(1 - λ)⋅sin(π⋅λ)         λ - 1                                       \n",
       "⎢ ───────────────────────   -2⋅λ⋅r     ⋅(λ + 1)⋅sin(π⋅λ)             0        \n",
       "⎢            2                                                                \n",
       "⎢                                                                             \n",
       "⎢                                                          λ - 1              \n",
       "⎢                                                         r     ⋅(λ + 1)⋅sin(π\n",
       "⎢            0                           0                ────────────────────\n",
       "⎢                                                                    2        \n",
       "⎢                                                                             \n",
       "⎢                                                          λ - 1              \n",
       "⎢                                                         r     ⋅(λ - 1)⋅cos(π\n",
       "⎢            0                           0                ────────────────────\n",
       "⎣                                                                    2        \n",
       "\n",
       "                                ⎤\n",
       "                                ⎥\n",
       "                  0             ⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "                  0             ⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "⋅λ)       λ - 1                 ⎥\n",
       "───  2⋅λ⋅r     ⋅(λ + 1)⋅sin(π⋅λ)⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "                                ⎥\n",
       "⋅λ)       λ - 1                 ⎥\n",
       "───  2⋅λ⋅r     ⋅(λ + 1)⋅cos(π⋅λ)⎥\n",
       "                                ⎦"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Ma = M.copy()\n",
    "\n",
    "Ma[0,:] = M[0,:]+M[2,:]\n",
    "\n",
    "Ma[1,:] = M[1,:]-M[3,:]\n",
    "\n",
    "Ma[2,:] = M[2,:]-M[0,:]\n",
    "\n",
    "Ma[3,:] = M[3,:]+M[1,:]\n",
    "\n",
    "simplify(Ma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "c9bc0fe2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAAwCAYAAABQf88PAAAACXBIWXMAAA7EAAAOxAGVKw4bAAATMklEQVR4Ae2di7XdtBKGkywKCCkh6SBABSQdBG4FQAewqIAFHeRSAZd0QKjgQjogHVw4HeT+nyM58vZL3n7J3r/W0pGtx2j0z4w0lrV97r979+6ew3YI3L9//0f19lDxseJbxe8kgzulDkbACJwUAdv9SQXrYRmBAQRs9wPguOjefTvg22lBMMaXwhzH+57uf1XyWPefbMeFezICRmBLBGz3W6LtvoxAGQjY7suQQ8lcbOqASyF/k7P5fClAuugpj91lHNs79fXFUn0tQUe8/SU6zxMH/Knu/1R8EvOW6OfWaAhXv1UoTOhBJv9DtxUfKX4lHV/kTY9ot+YR5dnuC9OBtdmx3a+N8HT6a8rEdj9dHmdrsaZ+7YHVg606FXAv1NezpfrroxcWeRzvF6qzWH9L8S06HD2JITokaV4sc5qBQDBI3ip8o8jDHc7e7xlNXWUlBCSTlyL9l+TxE3LR9d+KPBTPDrb72RCegoDtvjwxrikT23158t6aozX1a+uxxP42ccAFHLtTn8VO56Zj9LTo49i+UmTxLyaIL3a6XycMsQNO+ON94r9XIMCDXRp+0M1T6YgfalJUtr9m5zsG3vLMfhi23Uc4nQoB2315arCKTGz35Ql6J45W0a+dxlJ1e5UDjkEofq2Y6+R8rd5wjJYKOfTYhWMXHOe/1MDRiUk/wgRzsF9iQGADLWgO0VM5OA7WGWq/QVnK2+S3CoxN0ZiOCEoYZekLu96K3yXk+I1D+uCZFE26tN1PgqtdOVeGqle6zTO4Iuz+ZJi2lCZ3fKHhLJm0On+fcZN2L9y9LrUVYpZ+FYepFsp7XVHjZneWV/t95TyN8AmVZ311yFeAzotwraSbXm7+FHqqy5nrb3NpD9UTHQT/j+LXQ/Vyy0QH57sX3y46qs/DBOdfO2VyTb7o5cox/mB0sb6v4XesTTKeh2N1KVe4aUzD+L9VSqx0UmmvTassS18i9qoPvtjN05h3TUp7xax5RPUWsXvRWdTmg77tbvfgqJgzdx/C5gOucUy72P3RMRX/i6z3qW0nmGTJJG0brwNfN2f3GvdNr0tR/kPpVP0qEdNeZ0rMsoj9OgIAdQYdQpX/GGnoWpfznMcp9KiryFnU3nHmlokOExSLVj2e3LaX9USDJ/pJzjc0FHiVz1dTZo8npSGaOXJkQvgzbVfidRhL9kMXY1K8WUw19pYeKg/Hq1r0umSsslF9oZ0CTj34Zsujq79Aq7Y70VNWvw2ofBG7F53FbD6MoRi719hGZag6h7D5gC3jydYz1V3c7o+MaeB99nqf2mWgmS2TtG28Fo2btHuNe3H9TOxkzGc7hN1P1a8SMX0gplpB2/QsnI9aBe0Mjnk84xVVu6j6zF614HSVXZOnfrLp8apBfVRR1yyks4KU940iX41JX61PpileOAvLWfDqfDr3OfypDmP/Q+2qTxhO7ni4waAcaap+75S8Fh/oRpFBvOF4vRavP+UweAZMNQaOClwlE9oKJyb6y/CVMr6/zEzuR/WFushBkeMnT9TXb0n7SZdqu4vdi/dFbJ7Bagyl2f2oDDX+4m0+YFuK3W+GKbareJXdXxpfoDN7vU/piuYkmaRt47Vo3KTdh3F7rY+K0JFO1a9iMdUk29hN1VhxWlF8FuaxJ2LqstXVespVHk55I5+6l/3l3k+hp7o43NVTnlJ28wbHkcvD3HqBL3DF8YkRx2T0FZ3qsMOz+E4tY4KuYqcc0zGrDjL9J80r5Vp8VZP1FH7U5vCYagzoUcPOcjFQOxbJ1m6I8pBz75sjlWXpS+Qjqd+7qx7rXqaBl8b4lKdqzXmLewXbfQcuPVhlyTDgX6TNB5kXY/fCajNM1dfVdp/qQ+B59np/QXOyTNL2Qa7Z/oPGcCq713gOvy5dynPJe+EzWb9KxbThfAfFr175iOFRBzzUp15rsVYeEwQ7AizyRK5ZJUknn6NWmyx6qocxosCVU6uUnSex2l6wp+SJBpMrtK8+y6q2nIUFg0Yc40P16buF8Vi7KeWi3ynHSxqhXu8Z4cv6W9yLJ2ScvqrkflBOKj8FphrH1Qux2la2obTxEKh77HXQRlXeqS/Krx7SlNb46zo6JoM0u3RFbXez+8D3LJtnTApF2r346pThpRxCvaJsPuBanN1vhan6udruU/mKziLrfaQpepNlEtumaRjfqP+geouv96I5e61nLAqT7T707bW+x18TPpP1q2RMGw64GOXJotplVcrkPLpzHNqgbYO7s5QrUq+126s8QOV1GrvVLODxnrzG7lc0UuW36CkPY2z94Et5OOSDi39oS39MbODAdXXmWSl94aTAf42JrukPnOiTyYL7imeljKWT9ziG3DTQbJ3Vje1Deaexqwyeib3toaPAmLkYk2P1MBX77kpFAxleTp6N3c9QB1oRL64bi7zuI54tmcR+Qx1kQJ0YGw5lrJumqku/vZiE8mIwTXlPr8OYr9YztUdPo46gA8ihIau0v3itOr36orLGDk6oC5YN29d9tPNd7F799+qXyna1eXBWWFVHRb9XhlHOgY9Rmw/1bt7ul8Y0lUN6rX6Y6662+yAv5L/Yei9acT2M8zBpay5Wnu2+38Fc1eYTuS+y1gd6m9h9rn6ldhL4KxbT2gHX4ACxNmhd5zrgtEOY9Q5kBwAYeu3A6rqxwMe2oU7lTAXgaNN6/am8TnrKp23DiQt0qN/7VKkyxtD1Kr7RRnU6MYE27RVT/OIDwqBDe4lV132g3fkAoTIWRyKTXzUpK6VvxozicT3Kg+qMyjHBsvfHmKE/nK1axrqGN/LiZM99w0kLtGsMVZ4rk04nuQvHNE/06esQmKZ8X15rDEssxOhPdMLR8YajfNkn99QJbVp2r3zkC030jxQHu6WDlAVayGJTu1d/ufq1i80nuKymowGDwbk78MFc0mvzoQ7zzM3b/ZKYgmtfVD+z7D7wma5XnXp+2f/Q+FSWNRernu2+R7bC5lDrkvjdzO5z9atDZ4vFtDbwaBSRed3nGiSLLZN4y1GOtIZStaN95awpxSlLd5h5Uq5fZQ/RmVOmPuiHyaPheOi+nqCgr4Aga/5inyG/NX7l06hzAY1tc1LRAJfaoY1tlFdjR54Czk50cnF+srGjruKoHFWHib/xYBL5CTygN43FOrQB34of2iv2OW7wAC9ZMkn7nnIdeDgEpkPj0jjmLsS0520FeCOXSge4H+k3S1/6aIh+rbuh39qu6JvyvrZL5Ic+irV5xqiwqt2DseJsmw+82u7fy2wxTIf0XHKba/eN+Vf0bmK91ziz1hXV81o/stYfxe4ly1Xn0YDDVXZfOeBiEGNuLHi6HzVI2ihWTxdKmcgHF+2uCUVtKqeX9FoaXXSn5qnv6Hwwnmrn+JKG8oeMsuF00laBPw0n/pJmzr1o4CiMYqs69S6+rqvX+pn0s+UoupWiddFVWZTh0NGOqKgt5xeaCvyJOySjMuniIydPfRwC0zgWMFGsnJyLFIwYS1dZ7dRGOmmqNuxsNuroHt1HBi3nNLZVWba+xDaXqWjsbvfiYVS/VGcXmwcvhdV0VLSzZRjqiqXuHVmV2+7fy2sxTCPWwnYNu7/p9V6YFmv34m01mw9zymI6ehS7LxlT8VZNno2n4SCoQQdc7RAkihwXUhSnsZjHSSQnVVsmBVXtnuTXzmccinGyY/UjNhxJ3Q8txrXzG3kNNDZxwNUX8qjx13XvLnXkjzS0y5ZjqK+mbTnFMqW9Y1ZZJWelnQ8UyoepCkulozLp4iMnT7RHJzrV2R3TsbGIR/DsxXuofcCg8daH+gqMm4vWQ1Ioy9aXof5DX7vZvcYyql+qs4vNB2xW0dGpMgz1xVLb5gOfUV969VA0Tm33S2Pah3XMD3j24h3rXaZqV+l8R/7NrPcRA6WMmXmO6LX+wr6FSWXXl7oS72O50l49VNnudi8eVplHwUEBjLLXw1BfTd/PpR8pg1cy/MtTXkOnAcIxH2eu/ray6tKGHdZPlH8XGv1HKTtq14bnavjm2sZz2mk8nGP6W2Opv/Edvhv5UilO7RL/RnsOi3+rMRPnUOC74jgLMSA7nKson5hfpyq/Ro6PRKDvW+Qx/0ndSfsi1hkaz1vxtrZMjoJpG8EFctANkenUD+nMG5W/UjmyrsOV+lK377nYxe430K+e4U7KXlxHr5ThkM0zoGjTN2n3K2E6SVEmVL7p9f4Adr+4zaMbK+noUey+WEwfaLF9pfiF4jdplMxw3PinJuRfOt84erSJAtBtdY4UQfPEc034Uo32cnRx9hoPDxrbv5WHE0LZ3gGcG85QypAwx5mCfx6C0vBpepNeB4O8Ro7ggW60gjAj/41iZ7/ohupQTj0cr0ZQ+dOQUf1oT9dryuQQmDYAWvAmyOpOmPfpNzpV2+MMfRnjei+7L93mwW1RHZ0hw16bh8lbtvu1MAXXNYJkdevrfel2v6jNo0Nr6eiB7L5YTB+MGDmLcB0SQeKU14szFXSPY8VAq//wSF5uEF2Mgr5+yW2zQr3vxUdjvIGnxjhD3grdD5IEW/6jYF/AUX0bDCLWudNFy8mlcKYc4eMSE8jG8IUu2H1vOM+653gP4yB8rvil8qLDXWXqz8+K/PfESD9XJrH9lPRImE4Z15S6yOpXyaGh90F2HAPCnufqSy8/6mdvu8/VrwY+vQNavmAxHRXW7HzywH3N3D1m84z85ux+A0zBdcvQ0POZ4+vl23bfCw0Fi9k8xGbK8Cx2Xy6mWmSrH2LGVDLDUWKijmej2I2svuQR8nPO+7Q+ORbpd6Wiy+KQdWa5q/3cvNA/48Zp5EdopNxX55SV4iiCQ4oJk1VXPnm8BYgYzjobz9gUBvEJfTXO6yoPfltn+wM9eLtKjmrHubnGD3Yv8Vc52NA/x5rAEywbOsG94uW3wutz4SpjzL0yuexz6n2g36tzKgejYjDtGx88KvbKsq9dzFfbqMNRFqS1HKincLW+xH66UvpR7JVBV5ul8kLfvfql8ojLLjbPOAOPvfioPFtHQ91ePVE5ekSnDTsNfIzafKh3U3a/BaZ9+h7k1SvPvnaX+aKDDaBHqZ6fdr3XOAfXFZXvaveBv0VsPtjk1XO3eDmF3ZeM6f0gJPHoUDICepLloP9zyavaldyDV/HAAsvXXobOeu7B2lV9ngFTjQHHCaepPiZ2FRhuVCQCe+vo2WweIZ8BU9t9kea6CFN762ewEa/1i0jzA5GuuXTsCMqH1r7aGwF2Kuofie7EzPfqlx3Ss4QzYMpxHX6v4HBOBPbW0bPZPFpyBkxt9+e09xL0Ex7OZvd723wnpt4BB5aDBD1B8TqJM5yb74KHp7ff1ffQWfSDIPmBTWP6AQtflYnAXjp6VptHysa0TF03V+8R2Es/6f2sdl8ipt4BP5bF80OnvXagOdNN/2cLxvRsEj3fePbS0bPaPBpiTM9nJ2ca0V76CYZntfviMPUO+MFMVk9x/HiRH8ltduxAffKjVD5JufnO+xbiMaZboOw+5iCwtY6e3eaRhTGdo5FuuzYCW+sn4zm73ZeGqR3wta3I9I2AETACRsAIGAEjYASMQIKAj6AkYPjSCBgBI2AEjIARMAJGwAisjYAd8LURNn0jYASMgBEwAkbACBgBI5AgcF/X1X98SPJ8aQSMgBEwAkbACBgBI2AEjMBKCPgM+ErAmqwRMAJGwAgYASNgBIyAEehCwEdQulBxnhEwAkbACBgBI2AEjIARWAkBO+ArAWuyRsAIGIG9ENDntvinXQ5GwAgYASNQKAJ2wAsVjNkyAkbACFyDgJzvF2r37Jq2bmMEjIARMALbIGAHfBuc3YsRMAJGYHUE5Hw/VCefrd6ROzACRsAIGIFZCNgBnwWfGxsBI2AEikKA/1r7Q1EcmRkjYASMgBFoIWAHvAWJM4yAETACx0NAu99PxfXbd+/e3R2Pe3NsBIyAEbgtBOyA35a8PVojYATOi8C/5Hy/Ou/wPDIjYASMwHkQsAN+Hll6JEbACNwoAtr95ujJyxsdvodtBIyAETgcAnbADycyM2wEjIAR+IBA+OHlQ+1+v/2Q6ysjYASMgBEoGYGPSmbOvBkBI2AEbhkBOdd8TpCz3XzZ5CvFT8O9knv35HT/pIQ6T1T3R/IU+BLKPd2zI/6n6vybewcjYASMgBEoBwH/K/pyZGFOjIARMAINBHCq5UB/p5R/rPNI8Qfdvwr3n+r640YD3ajssZK/FD9WuX+QeQmQ742AETACBSDgIygFCMEsGAEjYAQuEZAjzc73f0M+TjVfOIk/smS3+/NQVidqk54F/1n3/FMeByNgBIyAESgMAe+AFyYQs2MEjIARAAE5z5zrviPV7T+Kz3X/mjIHI2AEjIARODYC3gE/tvzMvREwAidFIDk+Uv1beTvfJxW0h2UEjMBNImAH/CbF7kEbASNwIASei9c3B+LXrBoBI2AEjMAIAnbARwBysREwAkZgZwS+VP8+erKzENy9ETACRmBJBOyAL4mmaRkBI2AEFkRA578fixxnwH9ZkKxJGQEjYASMwM4I2AHfWQDu3ggYASMwgAAOOF8/8RGUAZBcZASMgBE4GgL/B03FyIYpPPJBAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "   4  4⋅λ    2         2           3  4⋅λ    2         2           2  4⋅λ    2\n",
       "4⋅λ ⋅r   ⋅sin (π⋅λ)⋅cos (π⋅λ) + 8⋅λ ⋅r   ⋅sin (π⋅λ)⋅cos (π⋅λ) + 4⋅λ ⋅r   ⋅sin \n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                               4                              \n",
       "                                              r                               \n",
       "\n",
       "         2     \n",
       "(π⋅λ)⋅cos (π⋅λ)\n",
       "───────────────\n",
       "               \n",
       "               "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Ma.det()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9abe49b-7c65-43df-9d58-98d67df4af5a",
   "metadata": {},
   "source": [
    "for:\n",
    "\n",
    "```{math}\n",
    "\n",
    "\\lambda = \\frac{n}{2} \\ \\ ; \\ \\ -\\infty < n < \\infty\n",
    "\n",
    "```\n",
    "\n",
    "\n",
    "the detreminant is always zero "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e6ce6e3a-af12-4ba7-bc85-8ca04a064d7f",
   "metadata": {},
   "source": [
    "We saw that the stress will behave as $r^{\\lambda -1}$ and the strain will follow the same power law. \n",
    "\n",
    "This results in having the strain energy to be:\n",
    "\n",
    "```{math}\n",
    ":label: finiteE\n",
    "\\int\\sigma\\epsilon dA ~ \\int r^{2 \\lambda -2} dr d\\theta ~r^{2 \\lambda}\n",
    "```\n",
    "\n",
    "and for the energy to obtain a finite value we demand that $2 \\lambda >0$  leading to $ n \\geq 1$\n",
    "\n",
    "LEt us now go row by row and look at the solutions for {**A, B, C, D}**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a37883f-d0ee-47a1-a9b7-38f22c75e997",
   "metadata": {},
   "source": [
    "from the first row we obtain \n",
    "\n",
    "$$\n",
    "\n",
    "C = -\\frac{1}{4\\lambda} A\n",
    "\n",
    "$$\n",
    "\n",
    "for $\\lambda = 1,2,3....\\infty$\n",
    "\n",
    "From the seond row we obtain \n",
    "\n",
    "\n",
    "$$\n",
    "\n",
    "C = \\frac{1-\\lambda}{4\\lambda (1+\\lambda)} A\n",
    "\n",
    "$$\n",
    "\n",
    "for $\\lambda = \\frac{1}{2},\\frac{3}{2},\\frac{5}{2}....\\infty$\n",
    "\n",
    "Similarly from the second bloc of **M** we obtain \n",
    "\n",
    "$$\n",
    "\n",
    "D = -\\frac{1}{4\\lambda} B\n",
    "\n",
    "$$\n",
    "\n",
    "for $\\lambda = \\frac{1}{2},\\frac{3}{2},\\frac{5}{2}....\\infty$\n",
    "\n",
    "\n",
    "and\n",
    "\n",
    "\n",
    "$$\n",
    "\n",
    "D = \\frac{1-\\lambda}{4\\lambda (1+\\lambda)} B\n",
    "\n",
    "$$\n",
    "\n",
    "for $\\lambda = 1,2,3....\\infty$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9200f03-b1fb-42f3-bb35-0be097b69a9b",
   "metadata": {},
   "source": [
    "From the above solutions it is clear that we have two sets of solutions \n",
    "one for for $\\color{red}{\\lambda = 1,2,3....\\infty}$\n",
    "for which \n",
    "\n",
    "$$\n",
    "\\color{red}{C = -\\frac{1}{4\\lambda} A \\\\\n",
    "D = \\frac{1-\\lambda}{4\\lambda (1+\\lambda)} B \n",
    "}\n",
    "$$\n",
    "\n",
    "\n",
    "and one for $\\color{blue}{\\lambda = \\frac{1}{2},\\frac{3}{2},\\frac{5}{2}....\\infty}$\n",
    "\n",
    "$$\n",
    "\\color{blue}{C = \\frac{1-\\lambda}{4\\lambda (1+\\lambda)} A \\\\\n",
    "D = -\\frac{1}{4\\lambda} B\n",
    "}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bae44194-d573-4446-b224-705c054137f6",
   "metadata": {},
   "source": [
    "```{image} ../LEFM/mode2.png\n",
    ":alt: mode3\n",
    ":width: 400px\n",
    ":align: center\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ec2a6ae7-e604-46be-9ab6-af9b5d0717b5",
   "metadata": {},
   "source": [
    "We can write to final solution as a superposition of the two such that \n",
    "\n",
    "```{math}\n",
    "\\sigma_{rr} = \\color{blue}{\\sigma_{rr}^a}+ \\color{red}{\\sigma_{rr}^b }\\\\\n",
    "\\sigma_{r\\theta} = \\color{blue}{\\sigma_{r \\theta}^a}+ \\color{red}{\\sigma_{r \\theta}^b }\\\\\n",
    "\\sigma_{\\theta \\theta} = \\color{blue}{\\sigma_{\\theta \\theta}^a}+ \\color{red}{\\sigma_{\\theta \\theta}^b}\n",
    "```\n",
    "\n",
    "Looking for example at $\\sigma_{rr}$ it now reads (up to n=4) :\n",
    "\n",
    "$$\n",
    "\\sigma_{rr} = \\color{blue}{\\frac{r^{-1/2}}{4} \\left( \\frac{5}{2}\\cos \\frac{\\theta}{2} - \\frac{1}{2} \\cos \\frac{3 \\theta}{2} \\right ) A_0 ^a +\\left( - \\frac{5}{2}\\sin \\frac{\\theta}{2} + \\frac{3}{2} \\sin \\frac{3 \\theta}{2} \\right ) B_0^a   } \\\\ \n",
    "+ \\color{red}{ \\frac{1}{2} \\left( 1+\\cos 2 \\theta \\right)A_1 ^b } + \\color{blue}{\\frac{r^{1/2}}{4}  \\left( \\frac{3}{2}\\cos \\frac{\\theta}{2} + \\frac{1}{2} \\cos \\frac{5 \\theta}{2} \\right )\\\\\n",
    " A_1 ^a +\\left(  \\frac{3}{2}\\sin \\frac{\\theta}{2} + \\frac{5}{2} \\sin \\frac{5 \\theta}{2} \\right ) B_1 ^a   } \\\\\n",
    "+ \\color{red}{ \\frac{r}{4} \\left(\\cos \\theta+ 3 \\cos 3 \\theta  \\right)A_2 ^b  + \\left( \\sin \\theta + \\sin 3 \\theta \\right ) B_2 ^b}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d50ba9f1-cdac-46dc-84f5-80dd63119bbd",
   "metadata": {},
   "source": [
    "Restricting ourselves now to  <span style=\"color:blue\"> just one set of solutions such that $\\lambda = \\frac{1}{2}$ </span> we obtain:\n",
    "\n",
    "```{math}\n",
    "\\color{blue}{\\sigma_{rr} = \\frac{r^{-1/2}}{4} \\left( \\frac{5}{2}\\cos \\frac{\\theta}{2} - \\frac{1}{2} \\cos \\frac{3 \\theta}{2} \\right ) A_0  +\\left( - \\frac{5}{2}\\sin \\frac{\\theta}{2} + \\frac{3}{2} \\sin \\frac{3 \\theta}{2} \\right ) B_0   } \\\\\n",
    "\\color{blue}{\\sigma_{r \\theta} = \\frac{r^{-1/2}}{4} \\left( \\frac{1}{2}\\sin \\frac{\\theta}{2} + \\frac{1}{2} \\sin \\frac{3 \\theta}{2} \\right ) A_0  +\\left( + \\frac{1}{2}\\cos \\frac{\\theta}{2} + \\frac{3}{2} \\cos \\frac{3 \\theta}{2} \\right ) B_0   } \\\\\n",
    "\\color{blue}{\\sigma_{\\theta \\theta} = \\frac{r^{-1/2}}{4} \\left( \\frac{3}{2}\\cos \\frac{\\theta}{2} + \\frac{1}{2} \\cos \\frac{3 \\theta}{2} \\right ) A_0  -\\left( \\frac{3}{2}\\sin \\frac{\\theta}{2} + \\frac{3}{2} \\sin \\frac{3 \\theta}{2} \\right ) B_0   } \\\\\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cfbe8b26-1a92-46d2-a08c-3a41a2ff3742",
   "metadata": {},
   "source": [
    "```{admonition} Finally\n",
    ":class: tip\n",
    "\n",
    "Substituting $\\theta = 0$ we obtain :\n",
    "\n",
    "> $\\sigma_{\\theta \\theta}(r,0) = \\frac{A_0}{2 \\sqrt(r)}=\\frac{K_{I}}{\\sqrt{2 \\pi r}}$ which leads us to the immediate conclusion that $A_0 = \\sqrt{\\frac{2}{\\pi}}K_{I}$\n",
    "\n",
    "and \n",
    "\n",
    "> $\\sigma_{r\\theta}(r,0) = \\frac{B_0}{2 \\sqrt(r)}=\\frac{K_{II}}{\\sqrt{2 \\pi r}}$ which leads us to the immediate conclusion that $B_0 = \\sqrt{\\frac{2}{\\pi}}K_{II}$\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c04a2c00-6821-40ad-9751-2ab33d119c0a",
   "metadata": {},
   "source": [
    "### Singular solution for mode I and II\n",
    "\n",
    "The singular stresses calculated for mode I and mode II are now given by :\n",
    "\n",
    "```{admonition} Mode I stresses\n",
    "\n",
    "```{math}\n",
    "&\\sigma_{rr}(r,\\theta) = \\frac{K_I}{\\sqrt{2 \\pi r}} \\left ( \\frac{5}{4} \\cos\\frac{\\theta}{2} - \\frac{1}{4} \\cos \\frac{3 \\theta}{2} \\right ) \\\\\n",
    "&\\sigma_{r \\theta}(r,\\theta) = \\frac{K_I}{\\sqrt{2 \\pi r}} \\left ( \\frac{1}{4} \\sin\\frac{\\theta}{2} + \\frac{1}{4} \\sin \\frac{3 \\theta}{2} \\right ) \\\\\n",
    "&\\sigma_{\\theta \\theta}(r,\\theta) = \\frac{K_I}{\\sqrt{2 \\pi r}} \\left ( \\frac{3}{4} \\cos\\frac{\\theta}{2} + \\frac{1}{4} \\cos \\frac{3 \\theta}{2} \\right )\n",
    "```\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "069cc921-3511-4e20-a677-153873246364",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "```{admonition} Mode II stresses\n",
    "```{math}\n",
    "&\\sigma_{rr}(r,\\theta) = \\frac{K_{II}}{\\sqrt{2 \\pi r}} \\left ( -\\frac{5}{4} \\sin\\frac{\\theta}{2} + \\frac{3}{4} \\sin \\frac{3 \\theta}{2} \\right ) \\\\\n",
    "&\\sigma_{r \\theta}(r,\\theta) = \\frac{K_{II}}{\\sqrt{2 \\pi r}} \\left ( \\frac{1}{4} \\cos\\frac{\\theta}{2} + \\frac{3}{4} \\cos \\frac{3 \\theta}{2} \\right ) \\\\\n",
    "&\\sigma_{\\theta \\theta}(r,\\theta) = -\\frac{K_{II}}{\\sqrt{2 \\pi r}} \\left ( \\frac{3}{4} \\sin\\frac{\\theta}{2} + \\frac{3}{4} \\sin \\frac{3 \\theta}{2} \\right )\n",
    "```\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "105a946c-47d9-41ac-ad44-be01b49b5df9",
   "metadata": {},
   "source": [
    "#### The singular displacement field (mode I&II)\n",
    "\n",
    "The strains are found using the equations of elasticity (in this case for plane stress):\n",
    "\n",
    "```{math}\n",
    "&\\epsilon_{rr} = \\frac{1}{E} \\left( \\sigma_{rr} - \\nu \\sigma_{\\theta \\theta} \\right ) \\\\\n",
    "&\\epsilon_{\\theta \\theta} = \\frac{1}{E} \\left( \\sigma_{\\theta  \\theta} - \\nu \\sigma_{rr} \\right ) \\\\\n",
    "&\\epsilon_{r \\theta} = \\frac{1+\\nu}{E}\\sigma_{r \\theta}\n",
    "```\n",
    "and from there we can intgerate to obtain the displacements\n",
    "\n",
    "```{math} \n",
    ":label: Ueps\n",
    "&\\epsilon_{rr} = \\frac{\\partial u_r}{\\partial r} \\\\\n",
    "&\\epsilon_{r \\theta} = \\frac{1}{2} \\left( \\frac{1}{r} \\frac{\\partial u_r}{\\partial \\theta} + \\frac{\\partial u_{\\theta}}{\\partial r} - \\frac{u_{\\theta}}{r}  \\right ) \\\\\n",
    "&\\epsilon_{\\theta \\theta} = \\frac{u_r}{r} + \\frac{1}{r} \\frac{\\partial u_{\\theta}}{\\partial\\theta}\n",
    "```\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d241d7d5-c812-4374-9b2a-5ea4f8558fd0",
   "metadata": {},
   "source": [
    "```{admonition} Mode I displacements (singular terms)\n",
    "\n",
    "$$\n",
    "u_r = \\frac{K_I}{2E} \\sqrt{\\frac{r}{2 \\pi}} \\left [ (3 \\nu - 5)\\cos \\frac{\\theta}{2} + (\\nu +1) \\cos(\\frac{3\\theta}{2} \\right ] \\\\\n",
    "u_{\\theta} = \\frac{K_I}{2E} \\sqrt{\\frac{r}{2 \\pi}} \\left [ (\\nu - 7) \\sin \\frac{\\theta}{2} + (\\nu +1) \\sin(\\frac{3\\theta}{2} \\right ] \n",
    "$$\n",
    "\n",
    "```\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2367ed31-cdb1-4431-98d4-a3122753a85e",
   "metadata": {},
   "source": [
    "```{admonition} Mode II displacements (singular terms)\n",
    "\n",
    "$$\n",
    "u_r = \\frac{K_I}{2E} \\sqrt{\\frac{r}{2 \\pi}} \\left [ (3 \\nu - 5)\\sin \\frac{\\theta}{2} + 3(\\nu +1) \\sin (\\frac{3\\theta}{2} \\right ] \\\\\n",
    "u_{\\theta} = \\frac{K_I}{2E} \\sqrt{\\frac{r}{2 \\pi}} \\left [ (\\nu - 7) \\cos \\frac{\\theta}{2} + 3(\\nu +1) \\cos(\\frac{3\\theta}{2} \\right ] \n",
    "$$\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a5598c9-c112-4d00-a12b-c2be11bb49a9",
   "metadata": {},
   "source": [
    "### What about mode III?\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64e13046-cb48-403a-967a-e581a266c026",
   "metadata": {},
   "source": [
    "```{image} ../LEFM/mode3.png\n",
    ":alt: mode3\n",
    ":width: 400px\n",
    ":align: center\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ec0e7267-d49f-4ed9-b123-e58066f11f78",
   "metadata": {},
   "source": [
    "> Im sure you will all be glad to know that mode III presents a much simpler solution. \n",
    "\n",
    "We will denote the displacements in the $x$ direction as $u$, $y$ direction as $v$ and $z$ direction as $w$.\n",
    "\n",
    "Next, using polar coordinates, we need to find $w$ to satisfy :\n",
    "\n",
    "```{math}\n",
    ":label: mod31\n",
    "\\nabla ^2 w = w_{,rr} + \\frac{1}{r}w_{,r}+\\frac{1}{r^2}w_{,\\theta \\theta} =0\n",
    "```\n",
    "and the B.C (traction free crack surfaces)\n",
    "\n",
    "```{math}\n",
    ":label: mod3BC\n",
    "w_{, \\theta}(r,\\theta \\pm \\pi)=0\n",
    "```\n",
    "\n",
    "Assuming the displacements can be written as a seperable function $w(r,\\theta)=R(r)T(\\theta)$.\n",
    "\n",
    "Equation {eq}`mod31` now reads\n",
    "\n",
    "```{math}\n",
    "r^2\\frac{R''}{R} + r\\frac{R'}{R} = -\\frac{T''}{T}= \\left [ \\begin{array}{@{}c@{}}\n",
    "\\lambda^2 \\\\ 0 \\\\ - \\lambda^2 \\end{array} \\right ] \n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9bd5b878-cfa7-437d-8f0b-0fe961ff5a4c",
   "metadata": {},
   "source": [
    "A non trivial solution exist only for the case of $\\lambda ^2$ and thus\n",
    "```{math}\n",
    "&T'' +\\lambda ^2 = 0 \\Rightarrow T(\\theta) - A\\cos \\lambda \\theta + B \\sin \\lambda \\theta \\\\\n",
    "&r^2 R`` + rR` - \\lambda ^2 R = 0 \\Rightarrow r^{\\pm \\lambda}\n",
    "```\n",
    "and {eq}`mod3BC` becomes :\n",
    "\n",
    "```{math}\n",
    "& \\lambda \\left ( -A \\sin \\lambda \\pi + B \\cos \\lambda \\pi \\right ) =0 \\\\\n",
    "& \\lambda \\left ( A \\sin \\lambda \\pi + B \\cos \\lambda \\pi \\right ) =0\n",
    "```\n",
    "the above set of equations leads to two solutions:\n",
    "\n",
    "```{math}\n",
    "& B \\lambda \\cos \\lambda \\pi =0 \\Rightarrow \\lambda = 0, \\pm \\frac{1}{2},\\pm \\frac{3}{2},\\pm \\frac{5}{2}... \\\\\n",
    "&A \\lambda \\sin \\lambda \\pi =0 \\Rightarrow \\lambda = 0, \\pm 1, \\pm 2, \\pm 3 ...\n",
    "```\n",
    "and finally\n",
    "```{admonition} \n",
    "$$\n",
    "w(r,\\theta) = \\sum_{n=-\\infty}^{n=\\infty} A_nr^n \\cos n \\theta + B_n r^{n+ \\frac{1}{2}} \\sin \\left ( \\frac{1}{2}+n \\right ) \\theta\n",
    "$$\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e57c3b14-ef62-4adb-a4f7-f712ef14991f",
   "metadata": {},
   "source": [
    "$w(r,\\theta) = \\sum_{n=-\\infty}^{n=\\infty} A_nr^n \\cos n \\theta + B_n r^{n+ \\frac{1}{2}} \\sin \\left ( \\frac{1}{2}+n \\right ) \\theta$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b3f92a23-9f7d-458a-adc1-8e5725fffbec",
   "metadata": {},
   "source": [
    "\n",
    "The stresses are now readily available by taking the appropriate drivatives :\n",
    "\n",
    "```{math}\n",
    "\\sigma_{3r} \\mu \\frac{\\partial w}{\\partial r} \\ \\ ; \\ \\ \\sigma_{3 \\theta} \\frac{\\mu}{r} \\frac{\\partial w}{\\partial \\theta}\n",
    "```\n",
    "\n",
    "\n",
    "As before, we demand that the strain energy will yiled a finite number. it is easy to show that for the limit of $r \\to 0$ , i.e. as we approach the crack tip, the strain energy \n",
    "\n",
    "follow $r^{2 \\lambda}$ and as before we require that $2 \\lambda \\geq 0$ leading to $n \\geq 0 $\n",
    "\n",
    "Taking a small shortcut we will define \n",
    "\n",
    "```{math}\n",
    "K_{III} = B_0 \\mu \\sqrt{frac{\\pi}{2}}\n",
    "```\n",
    "\n",
    "and after substitution:\n",
    "\n",
    "```{admonition} mode III stress\n",
    "```{math} \n",
    "&\\sigma_{3r}(r,\\theta) = \\color{green}{\\frac{K_III}{\\sqrt {2 \\pi r }} \\sin \\frac{\\theta}{2}} + A1 \\mu \\cos \\theta + \\frac{3 B_2 \\mu }{2} r^{\\frac{1}{2}} \\sin \\frac{3 \\theta}{2}... \\\\\n",
    "&\\sigma_{3 \\theta}(r,\\theta) = \\color{green}{\\frac{K_III}{\\sqrt {2 \\pi r }} \\cos \\frac{\\theta}{2}} - A1 \\mu \\sin \\theta + \\frac{3 B_2 \\mu }{2} r^{\\frac{1}{2}} \\cos \\frac{3 \\theta}{2}...\n",
    "```\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9d009ac-6c41-4bbf-b7a2-b5c2c4cb0fdb",
   "metadata": {},
   "source": [
    "### Summary - stress field\n",
    "\n",
    "So far, we have found the asymptotic solutions of the displacement and stress fields for the threee modes of fracture under linear elastic conditions:\n",
    "\n",
    "```{tabbed} Mode I stresses\n",
    "$$\n",
    " \\sigma_{11} = \\frac{K_I}{\\sqrt{ 2 \\pi r}} \\left [ \\cos \\frac{\\theta}{2} \\left ( 1- \\sin \\frac{\\theta}{2} \\sin \\frac{2\\theta}{2} \\right ) \\right ] \\\\\n",
    " \\sigma_{22} = \\frac{K_I}{\\sqrt{ 2 \\pi r}} \\left [ \\cos \\frac{\\theta}{2} \\left ( 1+ \\sin \\frac{\\theta}{2} \\sin \\frac{2\\theta}{2} \\right ) \\right ] \\\\\n",
    " \\sigma_{12} = \\frac{K_I}{\\sqrt{ 2 \\pi r}} \\left [ \\cos \\frac{\\theta}{2} \\sin \\frac{\\theta}{2} \\sin \\frac{2\\theta}{2} \\right ]\n",
    "$$\n",
    "```\n",
    "\n",
    "```{tabbed} Mode II stresses\n",
    "$$\n",
    " \\sigma_{11} =  \\frac{K_II}{\\sqrt{ 2 \\pi r}} \\left [ -\\sin \\frac{\\theta}{2} \\left ( 2+ \\cos \\frac{\\theta}{2} \\cos \\frac{2\\theta}{2} \\right ) \\right ] \\\\\n",
    " \\sigma_{22} = \\frac{K_II}{\\sqrt{ 2 \\pi r}} \\left [ \\sin \\frac{\\theta}{2} \\cos \\frac{\\theta}{2} \\cos \\frac{2\\theta}{2} \\right ] \\\\\n",
    " \\sigma_{12} = \\frac{K_II}{\\sqrt{ 2 \\pi r}} \\left [ \\cos \\frac{\\theta}{2} \\left ( 1- \\sin \\frac{\\theta}{2} \\sin \\frac{2\\theta}{2} \\right ) \\right ]\n",
    "$$\n",
    "```\n",
    "\n",
    "```{tabbed} Mode III stresses\n",
    "$$\n",
    " \\sigma_{31} = -\\frac{K_{III}}{\\sqrt { 2 \\pi r}} \\sin \\frac{\\theta}{2} \\\\\n",
    " \\sigma_{32} = \\frac{K_{III}}{\\sqrt { 2 \\pi r}} \\cos \\frac{\\theta}{2}\n",
    "$$\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a61b0363-d07b-40d7-a9f0-aba0e067bdb7",
   "metadata": {},
   "source": [
    "### Summary - displacement field\n",
    "```{tabbed} Mode I displacements\n",
    "$$\n",
    " u_1 = \\frac{K_I}{2 \\mu} \\sqrt{ \\frac{r}{2 \\pi}} \\left [ \\cos \\frac{\\theta}{2} \\left ( \\kappa -   \\cos \\theta \\right ) \\right ] \\\\\n",
    " u_2 = \\frac{K_I}{2 \\mu} \\sqrt{ \\frac{r}{2 \\pi}} \\left [ \\sin \\frac{\\theta}{2} \\left ( \\kappa -  \\cos \\theta \\right ) \\right ] \n",
    "$$\n",
    "```\n",
    "\n",
    "```{tabbed} Mode II displacements\n",
    "$$\n",
    " u_1 = \\frac{K_II}{2 \\mu} \\sqrt{ \\frac{r}{2 \\pi}} \\left [ \\sin \\frac{\\theta}{2} \\left ( \\kappa -  + \\cos \\theta \\right ) \\right ] \\\\\n",
    " u_2 = \\frac{K_II}{2 \\mu} \\sqrt{ \\frac{r}{2 \\pi}} \\left [ - \\cos \\frac{\\theta}{2} \\left ( \\kappa -2 + \\cos \\theta \\right ) \\right ] \n",
    "$$\n",
    "```\n",
    "\n",
    "```{tabbed} Mode III displacements\n",
    "$$\n",
    "u_{3} = \\frac{K_{III}}{\\mu} \\sqrt{\\fra{r}{2 \\pi}} \\sin \\frac{\\theta}{2}\n",
    "$$\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6a826159-5efb-416f-950b-93f49d3607b8",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.9"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {},
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
