Skip to content

Instantly share code, notes, and snippets.

@jgrizou
Last active January 18, 2016 17:35
Show Gist options
  • Save jgrizou/44523bbfc1c026b46b4a to your computer and use it in GitHub Desktop.
Save jgrizou/44523bbfc1c026b46b4a to your computer and use it in GitHub Desktop.
ILO-GMM: examples and cases of study
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**The following serves as a simple introduction to ILO-GMM. It also illustrate, using carefully selected examples, problems we might encounter when learning forward and, especially, inverse models.**\n",
"\n",
"# Overview\n",
"\n",
"We compare different inference method for ILO-GMM:\n",
"- Weighted mean of the Gaussian center by their relative importance\n",
"- Max of the probability distribution\n",
"- Mean of the most important (bigger weight) Gaussian\n",
"- Sampling the probability distribution\n",
"\n",
"The data are sampled from a 1 period sinus with a small Gaussian noise.\n",
"\n",
"We investigate the forward and inverse model. We show that the inverse problem, which illustrates the redundancy/multimodal/multimodes problem, poses problem to some infering methods.\n",
"\n",
"We conclude that, for most practical robotic problems involving inverse models, the order of inference methods to use is as follow:\n",
"- Max of the probability distribution\n",
"- Mean of the most important (bigger weight) Gaussian\n",
"- Sampling the probability distribution\n",
"- Weighted mean of the Gaussian center by their relative importance\n",
"\n",
"\n",
"We then consider the problem of redundancy using a 3 period sinus. This problem helps visualizing a limitation of ILO-GMM that is the fixed number of Gaussian. We explore briefly two options:\n",
"- DPGMM: http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM\n",
"- use of a clustering algortihm to identify the number of modes. DPGMM, wile showing promises in theroy, is not convincing experimentally on our simple example. The clustering shows more practical promises.\n",
"\n",
"\n",
"# Before starting\n",
"\n",
"The code below requires the following python modules:\n",
"- http://www.numpy.org/\n",
"- http://scikit-learn.org/stable/index.html\n",
"- https://github.com/AlexanderFabisch/gmr\n",
"- http://matplotlib.org/\n",
"\n",
"\n",
"# Simple 1 period Sinus\n",
"\n",
"## Generate data"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"rng = np.random.RandomState(10)\n",
"X = np.linspace(0, 2 * np.pi, 500)[:, np.newaxis]\n",
"Y = np.sin(X).ravel() + rng.normal(0, 0.1, X.shape[0])\n",
"Y = Y[:, np.newaxis]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot data"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nM3t3GAUAQgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fedf9d89e90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Build Tree to find NN"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from sklearn.neighbors import KDTree\n",
"X_tree = KDTree(X, leaf_size=2)\n",
"Y_tree = KDTree(Y, leaf_size=2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Forward Model: example of unimodal/grouped data\n",
"\n",
"## Find local data for x=1"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"_, ind = X_tree.query(1, k=50) \n",
"local_X = X[ind]\n",
"local_Y = Y[ind]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot local data at x=1"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAC8CAYAAACDmO49AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFSFJREFUeJzt3Xl4lNWhx/HvJJPJyo5ADRFQUMBqWO5DWQQGba8stdQH\n2mpvF6lFC0rdANt7bQnWW6S3tNpqhYpa0Bbtgl4oUBHCVBSFeoEIkbAvshipEQzZJ/PeP84LpmGy\nMZPM5PD7PM88eWfek3nPCfqbM+c973lBREREREREREREREREREREREREROSi9ixQCOyoY78fOA1s\ncx8PtUy1REQkEiOBgdQf7itarDYiIkJCFN5jI/BxA2U8UTiOiIg0UjTCvSEOMBzIA1YD/VvgmCIi\nEgU9qXtYpg2Q5m6PA/a0RIVERC5m3hY4RnGN7TXAb4COQFHNQtnZ2U5eXl4LVEdExCp5wIDaL7bE\nsExXPh1zH+JuF9UulJeXh+M4//KYM2fOea+15odN7bGpLba1x6a2qD0NP4DscMEbjZ77MmA00Bl4\nH5gDJLn7FgGTgWlAECgFbonCMUVEpB7RCPdbG9j/pPsQEZEW0hLDMhfM7/fHugpRZVN7bGoL2NUe\nm9oCas+Fiqf55447fiQiIo3k8XggTJbHdc9dREQujMJdRMRCCncREQsp3EVELKRwFxGxkMJdRMRC\nCncREQsp3EVELKRwFxGxkMJdRMRCCncREQsp3EVELKRwFxGxkMJdRMRCCvdmcOLECUaMuJGUlDZk\nZfVlzZo15ObmsmnTJoLBYKyrJyIXgWis5/4sMAH4ELimjjK/AsZhbrN3G7AtTBlr1nPPzh7Oe+/5\nCQZnA5vweL5KSkp3QqFievXqwtatm0hNTT3v90pLSzl48CCFhYUcPnyYHj16MGbMmLPrNYuInKeu\n9dyjkRojgTPAUsKH+3jgbvfn54DHgaFhylkR7sXFxXTs2JVgsIRP/7wTgLeAm4D1DBt2JZs25ZKf\nn89tt83g8OFD9OlzOfn5+ZSXe6ioKMXnG0dS0jauv/4aBg68moyMdKZMmULnzp1j1jYRiT/NGe4A\nPYGVhA/3hcAG4CX3eQHmhtqFtcpZEe7BYJD09HZUVuZj/ixBoB/mvuHfAD4mMbE3Gzf+lQkTJnPq\n1I9wHD/mc28hcAfmi01v4BXgm3g8d5GUVEj79gF27NhMly5dYtAyEYlHsbwTUybwfo3nR4HuLXDc\nmPB6vcyfP5+0tNF4vTNJTBwGfMSn9xHvgM/Xm0AgQHV1fxzne0AAKMd85qVhgt0BfgL8Acd5lMrK\n5ygqupEnn3yq5RslIq1OS51Qrf2p0vq76PW49967WbPmeR555BIef/w2EhKqMF9cHGAtiYkH6d+/\nP6HQB0A1sBrIAHa6P38J+IH9QA9gGfAjgsFTFBWdjkGLRKS18bbAMY4BWTWed3dfO09OTs65bb/f\n36rvej5q1ChGjRoFwLBhwxg//iucPHkb7dt3YfnyP9G2bVsyM30cPDicysrjwC2Y3n0FMBf4MjDE\n/dkB+CKQT35+MY7j6CSryEUqEAgQCAQaLNcSY+41T6gOBR7D4hOq9SkrKyMlJYWHH36UefMWUFWV\nTCh0GjMW/wfgMmAysAJYhOnFXwccAdKBElJTe5OX9zp9+vSJUStEJJ7UNeYejZ77MsxgcWfM2Poc\nIMndtwgz5jAe2AeUAFOicMwWd/jwYU6ePEnfvn3JyMios1x5eTmLFi3iyJHjXHfdULKzs/F6vWRl\nZZGamsrevXuZN+9nVFQkApdjTrb+BRPim4FRwA7gVcwsm0sxwQ6QTlJSFz755JNmbKmI2CCevtvH\nbc991qyHeOKJhfh8WSQmfsi6dSsZNGjQeeUqKysZOvQGCgo6UFY2lISERSQkFJOUlMSoUSNYseJF\nNm7cyI03TqG6ehqwG/OFZwUwAhiD+Vz8NeaygDbAQeBHwK0kJPyZLl1+zYEDO8POkxeRi09dPfd4\n4sSj3NxcJz39Cgf+6YDjwDInK6tv2LIrV650MjKGOlDtlj3mQIoDZ5zU1AnOHXdMc9LSOjmQ7sA8\nB9Y54HGgyoG/O3CZA192f8frJCa2dbzedCchoaPj8WQ41147wtm7d28L/wVEJJ5RxwQVLT/QgF27\ndhEKfR7o5L4ymaNH9xAKhSgtLeXrX/8u7dp1IzPzKtavX48ZRjmr67mtsrIv8vTTz1Na6gNmAI9g\nRqp6Ysbcx2KGZl7GTJ1cSnV1R4LBI4RC/yQhYTYZGen07t27uZssIhaIp668+yEUXzZs2MBNN02l\npGQzJuBfJDNzDtOmfZsXXvgTBw60pbLy98ABEhNvprr6NJAI3AykYi5E2kJCwnhCIQ9QhRmGOQX8\nHHPB0sfA/wALgH8A7TGzZ3pjPgQAjpORMYDi4g9bquki0grE8iKmVm3MmDFMm3YLKSlX0bbtQNq1\nu5/y8hLmzt1PQcHNVFbuATYBo6iu/i5mhst44BAmuL9HYuJIPJ6TmB75bZjgPgYMITn5FOnpY4Hv\nYT4Q+gL9SUlZTUpKLmZqJMDf6NHjipZruIi0auq5N9LZ2TJr167l4Yd3U1GxxN3zOnAnsAszjbEv\nZqmdXMz89HsZMOAxSkpK2Lu3H7ARM+VxF507Z7BgwVymT59HSclWTE9/JT7fLRw5coDbb59BILAV\nrzeThIR9BAJruPbaa1u66SISx5pzKuRFoUePHnTq1Inly1+hsjKzxp7uwEnMxUbvAfOAK4COQCpp\nafPo1q0rPl8njhxZQ0XFBBIT99OmTSI7d75Nly5dWL06wF//OhiPZyDV1a+xePEz7Nmzh8LCk3i9\npXzmM2dYuvQVBbuINJp67o1QVlbG5MnfYu3aVZg6plBd/QJwBcnJ99Ct22EOHz6ECfqPgO8ATwAe\n0tIyqKqaQFVVf5KTH8PvH8zo0ddx++3fObcAmOM45ObmcuzYMQYPHswvfvEUzz33vLvuzHfxeFbR\nufNj7N+/gzZt2sTmjyAicam5V4WMhrgN9xkzZrF48QHKy/8AVJCcPJaMjGN4PAmMHDmc7du3c/Bg\nH2AwcD1mGYEBJCW1JRhcg+N4MGvEzKR9+wf4+OPjdR5r5cqVfO1rD1BWVg4c5uw/Udu2w1mxYh6j\nR49u5taKSGuiE6oRCATeorx8BpAMtKWiYhqXXdaTkpLTrFuXz8GDB4Fi4BPM8MzngJFUVRXgOKOA\nfGAmcC9lZcXn3nf16tXcddd9zJ37E4qKigDYvXs3VVV+9/3Olq2kuvrDeq+MFRGpSWPujdCrVxa7\ndr1JdbUfcPD53uDdd7dRXf0mZjmddzGrOL4EDADuw+fbT1XVfhznTcyHwq3Ar8nOTiQUCvHUU79l\n9uz5lJbehc+3i8WLh7Fz5xauvvpqkpOfIRicBHwemITHs4IRI65h4MCBsWi+iEhEYnWBV4NWrVrl\nZGR0dFJSBjk+3+ec1NTOTlJSNwcOuFeiOg5c4cAyBzY5Pl9XZ9asWQ60dWCQAzMdeMCBZCcpqYOT\nkXGpk5jY1oEd534/NXWSs3DhQicUCjn33DPbSU7u4KSkXOqkpnZwfvzjHztVVVWx/jOISByijitU\n1XNvwO9+t5Tp02cTCo2nomIT5uKjCuCzmF77N4BJmBkzvyAlxcfUqd9g0aKlwE+BQZi11LYBf6eq\n6iaqqs5eofrpFazV1V0pLS3F4/Hw2GPzmTlzBkVFRfTp00fryIhIk+mEaj2CwSAZGR2oqNiCWb2x\nHBPWOcBUzHrrW4EyYBYez+N8//t30q/f5dx//0ZKS19w36kYc3XrA0AImA/cjrmn+E+BAtLSprN1\n6xtcddVVLdhCEWntdEL1Apw5c4ZQyMFcmASQgumxV2NOmr6DWcVxPLCSz362Hz//+X+TlpaGx1Pz\njkmfYP72Qcz4O8CTQAYJCaO55prH+dvflivYRSRqFO71aNeuHZdddgUJCQswPe63MPf6vgTYjlme\nPgOzFsxx9u3zMXnyt5g4cSIdOuwhKWk68FvS0sbRq1cfUlP/hLmF3mJgPWlpO5k37yHeffcNRo4c\nGZM2ioidNCzTgAMHDjB+/FfZs2c7jpOEWVKgFMjGzENPAk4D/wsMICUli3378khOTubRRxdw9Ggh\nY8f6+eY3/4MtW7bw9ttv8/LL6ygvr+Tb357E9Ol36pZ5InLBdBFThCorK1my5Hnuu282JSWnSUrq\nADgEgx4c5znMPU5DpKVlsXPnG/Tq1SvGNRaRi0FzjrmPBQqAvcCDYfb7MV3bbe7joSgcs8X5fD6m\nTr2dM2c+IhSqorLyJKdOHaF79054vZuBt/H57uLKK3vRo0ePWFdXRC5ykYZ7ImYRlbFAf8yVOv3C\nlPs7MNB9PBJmf6tydhglLS2Nt95az7hx++jTZwaTJlWRm7uShASdyhCR2Ip0nvsQzO2EDrnPXwQm\nYta/rSmehn+iKjMzkxUrlsW6GiIi/yLSLmYm8H6N50fd12pygOFAHrAa08MXEZFmFGnPvTFnQLcC\nWZgpJuMw9527MsLjiohIPSIN92OY4D4rC9N7r6m4xvYa4DeYO1kU1X6znJycc9t+vx+/3x9h9URE\n7BIIBAgEAg2Wi3Qs3AvsBm4AjgNbMCdVa465d8VcZ+9gxuj/CPQM815xPRVSRCQeNddt9oLA3cCr\nmJkzz2CC/U53/yLMjUWnuWVLMXeHFhGRZhRPs1jUcxcRaSItHCYichFRuIuIWEjhLiJiIYW7iIiF\nFO4iIhZSuIuIWEjhLiJiIYW7iIiFFO4iIhZSuIuIWEjhLiJiIYW7iIiFFO4iIhZSuIuIWEjhLiJi\nIYW7iIiFFO4iIhaKRriPBQqAvcCDdZT5lbs/DxgYhWOKiEg9Ig33ROAJTMD3x9wcu1+tMuOB3kAf\n4A7gqQiPKSIiDYg03IcA+4BDQBXwIjCxVpkvAUvc7c1Ae6BrhMcVEZF6RBrumcD7NZ4fdV9rqEz3\nCI8rIiL18Eb4+04jy9W+M3fY38vJyTm37ff78fv9F1QpERFbBQIBAoFAg+Vqh25TDQVyMGPuAD8E\nQsD8GmUWAgHMkA2Yk6+jgcJa7+U4TmM/K0REBMDj8UCYLI90WOYdzInSnoAP+BqwolaZFcC33O2h\nwCnOD3YREYmiSIdlgsDdwKuYmTPPALuAO939i4DVmBkz+4ASYEqExxQRkQZEOiwTTRqWERFpouYa\nlhERkTikcBcRsZDCXUTEQgp3ERELKdxFRCykcBcRsZDCXUTEQgp3ERELKdxFRCykcBcRsZDCXUTE\nQgp3ERELKdxFRCykcBcRsZDCXUTEQgp3ERELRXInpo7AS0AP4BDwVcwt9Go7BHwCVANVwJAIjiki\nIo0QSc/9B8BrwJXAevd5OA7gBwaiYBcRaRGRhPuXgCXu9hLgy/WUjafb+YmIWC+ScO8KFLrbhe7z\ncBxgHfAOMDWC44mISCM1NOb+GtAtzOv/Veu54z7CGQGcAC5x368A2NiEOoqISBM1FO5fqGdfISb4\nPwA+A3xYR7kT7s+TwMuYcfew4Z6Tk3Nu2+/34/f7G6ieiMjFJRAIEAgEGiwXyVj4z4CPgPmYk6nt\nOf+kahqQCBQD6cBaYK77szbHcerq/IuISDgejwfCZHkk4d4R+CNwGf86FfJS4GlgAnA5sNwt7wV+\nD8yr4/0U7iIiTdQc4R5tCncRkSaqK9x1haqIiIUU7iIiFlK4i4hYSOEuImIhhbuIiIUU7iIiFlK4\ni4hYSOEuImIhhbuIiIUU7iIiFlK4i4hYSOEuImIhhbuIiIUU7iIiFlK4i4hYSOEuImIhhbuIiIUi\nCfevAPlANTConnJjgQJgL/BgBMcTEZFGiiTcdwA3A6/XUyYReAIT8P2BW4F+ERxTREQawRvB7xY0\noswQYB/mBtoALwITgV0RHFdERBrQ3GPumcD7NZ4fdV8TEZFm1FDP/TWgW5jX/xNY2Yj3d5pcIxER\niVhD4f6FCN//GJBV43kWpvceVk5Ozrltv9+P3++P8PAiInYJBAIEAoEGy3micKwNwEzg/8Ls8wK7\ngRuA48AWzEnVcGPujuOooy8i0hQejwfCZHkkY+43Y8bThwKrgDXu65e6zwGCwN3Aq8B7wEvoZKqI\nSLOLRs89WtRzFxFpoubouYuISJxSuIuIWEjhLiJiIYW7iIiFFO4iIhZSuIuIWEjhLiJiIYW7iIiF\nFO4iIhZSuIuIWEjhLiJiIYW7iIiFFO4iIhZSuIuIWEjhLiJiIYW7iIiFFO4iIhaKJNy/AuQD1cCg\nesodAt4FtmHuoSoiIs0sknDfgbmP6usNlHMAPzAQGNKUAzTmDt+tiU3tsaktYFd7bGoLqD0XKpJw\nLwD2NLLsBd2rVf+o8cumtoBd7bGpLaD2XKiWGHN3gHXAO8DUFjieiMhFz9vA/teAbmFe/09gZSOP\nMQI4AVzivl8BsLGxFRQRkaa7oOGSWjYADwBbG1F2DnAGWBBm33YgOwr1ERG5mOQBA5rjjTcAg+vY\nlwa0cbfTgTeBf2+OSoiISHTcDLwPlAEfAGvc1y8FVrnbl2N65NuBncAPW7iOIiIiIiLSnMZiTrzu\nBR6McV0i9SxQiLkuwAZZmKG4fMy3se/HtjoRSQE2Y75ZvgfMi211oiYRc9FgYyc9xLND2HMRZHvg\nz8AuzH9vQ2NbnZaXCOwDegJJmP/x+sWyQhEaibmAy5Zw78anJ28ygN207n+fNPenF3gbuC6GdYmW\n+4HfAytiXZEoOAh0jHUlomQJ8B132wu0a86DxePaMkMw4X4IqAJeBCbGskIR2gh8HOtKRNEHmA9c\nMDOfdmHOs7RWpe5PH6ZjURTDukRDd2A8sJjozIaLBza0ox2mo/es+zwInG7OA8ZjuGdiTtSeddR9\nTeJPT8y3ks0xrkckEjAfVoWY4ab3YludiP0SmAWEYl2RKLHlIshewEngOcy08af59Ftjs4jHcHdi\nXQFplAzM+OE9mB58axXCDDN1B0Zh1kFqrb4IfIgZn7ahtwvmIsiBwDjgLkzvtzXyYhZY/I37swT4\nQXMeMB7D/RjmpN1ZWZjeu8SPJOAvwAvAKzGuS7Scxkzh/bdYVyQCw4EvYcaplwHXA0tjWqPInXB/\nngRepomLD8aRo+7jH+7zP1P/arpW8gL7MV/5fbT+E6pg2mLLCVUPJjB+GeuKREFnzAwGgFTMCqc3\nxK46UTWa1j9bxraLIF8HrnS3c4D5satK7IzDzMLYR+u/8GkZcByowJxLmBLb6kTsOsxQxnbM1/9t\nmKmrrdE1mPHP7ZjpdrNiW52oGk3rny3TC7sugszG9NzzgOU082wZERERERERERERERERERERERER\nEREREREREZFm9f+AocFpiObpNgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fedf0ce7d50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(local_X, local_Y)\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fit local GMM with 3 components"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from sklearn.mixture import GMM"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"GMM(covariance_type='full', init_params='wmc', min_covar=0.001,\n",
" n_components=3, n_init=1, n_iter=100, params='wmc', random_state=None,\n",
" thresh=None, tol=0.001)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"local_gmm = GMM(n_components=3, covariance_type='full')\n",
"local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))\n",
"local_gmm.fit(local_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot local GMM\n",
"\n",
"Here I switch to https://github.com/AlexanderFabisch/gmr because there is a simple interface for conditional distribution and ellipse drawing\n",
"\n",
"However I fit the GMM using sklearn because I will later use the DPGMM from sklearn, so it is all consistent and it help see where to find the code to reimplement all this in a uniform python module."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import gmr"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"local_gmminf = gmr.gmm.GMM(3, \n",
" local_gmm.weights_, \n",
" local_gmm.means_, \n",
" local_gmm.covars_)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ellipses = local_gmminf.to_ellipses(2)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededdc2890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.patches import Ellipse\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"\n",
"for ellipse in ellipses:\n",
" e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])\n",
" ax.add_artist(e)\n",
" e.set_clip_box(ax.bbox)\n",
" e.set_alpha(0.5)\n",
" e.set_facecolor(rng.rand(3))\n",
"\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## We compute and plot the conditional for x=1"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"conditional_gmm = local_gmminf.condition([0], [1])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fedf0a6f350>]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nQUbldDBgGQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededdab690>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"YY = np.linspace(-1.5, 1.5, 500)[:, np.newaxis]\n",
"proba = conditional_gmm.to_probability_density(YY)\n",
"plt.plot(proba, YY)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 1: Find the Max"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"max_proba = np.max(proba)\n",
"max_id = np.where(proba == max_proba)[0]\n",
"max_value = YY[max_id][0,0]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fedf0a84e90>]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nBYjBjgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededb71190>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(proba, YY)\n",
"plt.plot([0, max_proba], [max_value, max_value], 'r')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nwzhUM5ScPFiRSDedeWYfHTp06KhrsrLaWKUj62BtLUApKZlavny5Bg68Uj5fb2u6aSP4L0EX63yt\nMsj2YxYAABc3SURBVN9MVGpqC7Vq1UW33z7tcPbkuHE3KxTqJnhcgcB1atGinQ4cOBCPqagWBQUF\nmj9/vjZv3nzU60VFRZo0aZL6979M55xznny+gF0U+9rTUIY1zZwm2GkXz0Q7d0E77zNknNztBMka\nMGBgnEb59eCUu8NR+zjllC4ytUlMfZNQqJ8eeeSRo65p3bqLTO33lfa6D+T1Jmvbtm2SpEOHDun0\n07vL42kir7eXVUqZMrHzEqySidN+TrBSoVB3jRt3k+699155vQFrljCLQCTSV/PmzYvHVHxvfvWr\naQqFspSSMkDBYIZmzZotSfrss88UDjcUnCFTS72lYLRMglgDQa7gUYHPviar1E0NIBMhc5FMAtOa\nw4trIJCqL774Is6jPgI1UM/d4XBUk127PgO622deSkrO5NNPPzvqmhEjriQQaIApI9sB6MTEidfR\nvHlzotEod999Nx98sBNpBtFoGiYxvAemnnxvTN/OiZgStN0pKfk1M2c+yi9+8U+i0Sima1AVEcrK\nyqo1ptLSUt599102b96Maih3paKigmg0yoYNG5g+fSYlJWvYv38+Bw/ezLXX/oQFCxYwfPhPKS4+\ngKl28hGmREB7TFmHv2EqoUzE6MalmBZ4OZhSyiswoeOnAk2ATvbOuSQlNWfLli01Mq66SrwXQIfj\nhNOv32VKSJggqBR8olAoR4sWLTrqmsrKSk2depeystqqadO2+v3vzc4+Go3qkkuuVGJiK2sfbiho\nbx2AFdZOPE9eb5o8nrF251ku6CiTbZljd6UXCV4QDFIwmKINGzbopZde0mWXDdc11/xUGzZsOO7x\nfPTRR8rKaq2UlA4KBhtpyJCRMXXkFhUV6eKLr5DPl6CEhKCuuuoapab2tfM3UMaZfJO83hS7A68v\n42xOsqaYIjvmrXY+imSiYwZak1bEmmVukImmOcWehDba69cpGEzX7t27Yzam6oIzyzgctY/du3er\nW7d8+f1JSkgI6p57ph/3e5977jklJDQXFFhb8fWCbjJRIHsFxYI8mTDJVKuw+spUn2wt0wLuRsFI\nq9QGy+e7VJFIfQWD2YLH5PHcqUgkQ5s2bToumbp3P19eb1WoZrHC4TP15JNPft/p+QojR45VUtIV\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededa9e410>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(1, max_value, 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 2: Sample from distribution"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"sampled_values = conditional_gmm.sample(10)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded9b58d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(np.ones(sampled_values.shape), sampled_values, 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 3: Weighted mean"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"weighted_mean = conditional_gmm.priors.dot(conditional_gmm.means)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded8ef210>]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededd9fa10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(proba, YY)\n",
"plt.plot([0, max_proba], [weighted_mean, weighted_mean], 'r')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note that it is not the max.**"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded9ed550>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(1, weighted_mean, 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 4: Mean of most important Gaussian"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded8b6f50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"max_weight = np.max(conditional_gmm.priors)\n",
"max_ind = np.where(conditional_gmm.priors == max_weight)[0][0]\n",
"\n",
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(1, conditional_gmm.means[max_ind], 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ranking\n",
"\n",
"- Max\n",
"- Mean of most weighted Gaussian\n",
"- Weighted Mean\n",
"- Sample"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Inverse Model: example of redundancy/multimodality/multimodes\n",
"\n",
"## Find local data for y=0.5"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"_, ind = Y_tree.query(0.5, k=50) \n",
"local_X = X[ind]\n",
"local_Y = Y[ind]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot local data at y=0.5"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded9056d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(local_X, local_Y)\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**This is the problem of redundancy**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fit local GMM with 3 components"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"GMM(covariance_type='full', init_params='wmc', min_covar=0.001,\n",
" n_components=3, n_init=1, n_iter=100, params='wmc', random_state=None,\n",
" thresh=None, tol=0.001)"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"local_gmm = GMM(n_components=3, covariance_type='full')\n",
"local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))\n",
"local_gmm.fit(local_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot local GMM"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"local_gmminf = gmr.gmm.GMM(3, \n",
" local_gmm.weights_, \n",
" local_gmm.means_, \n",
" local_gmm.covars_)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ellipses = local_gmminf.to_ellipses(2)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded8e1210>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.patches import Ellipse\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"\n",
"for ellipse in ellipses:\n",
" e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])\n",
" ax.add_artist(e)\n",
" e.set_clip_box(ax.bbox)\n",
" e.set_alpha(0.5)\n",
" e.set_facecolor(rng.rand(3))\n",
"\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note that the GMM model well the bi-modality of the data**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## We compute and plot the conditional for y=0.5"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"conditional_gmm = local_gmminf.condition([1], [0.5])"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded920d90>]"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nRQMcZQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded95ce10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"proba = conditional_gmm.to_probability_density(X)\n",
"plt.plot(X, proba)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note that the GMM model well the bi-modality of the data**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 1: Find the Max"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"max_proba = np.max(proba)\n",
"max_id = np.where(proba == max_proba)[0]\n",
"max_value = X[max_id][0,0]"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fededadab10>]"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededa68cd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(X, proba)\n",
"plt.plot([max_value, max_value], [0, max_proba] , 'r')"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nOGqU/wcSzXlt0iEqKQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededb06d90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(max_value, 0.5, 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 2: Sample from distribution"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"sampled_values = conditional_gmm.sample(10)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAC8CAYAAACDmO49AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4FFUXh9/tJQVSaKH33hSVIlWRYgFEBXv7FBUbqIgF\nAStYQBFUsDfEriiCiAiKFBtSRBAUkC4KBsim7e7v++MOMSooCkkA7/s8+2R3587MPTObM/eeewpY\nLBaLxWKxWCwWi8VisVgsFovFYrFYLBaLxWKxWCwWi8VisfyneQrYAizZy/YOQCaw0HndWjzdslgs\nFsv+0BZozl8r98nF1huLxWKx4D4Ax/gE2P43bVwH4DwWi8Vi2UcOhHL/OwS0BhYB7wENiuGcFovF\nYjkAVGPvZpkkIOy87wZ8Vxwdslgslv8y3mI4x85C76cCjwCpwLbCjZo2bapFixYVQ3csFovlsGIR\n0OyPXxaHWaYcv9ncj3beb/tjo0WLFiHpd6+hQ4f+6btD+XU4yXM4yXK4yXM4yWLl+fsX0HRPivdA\njNxfAtoD6cA6YCjgc7aNB04DLgeiQAToewDOabFYLJa/4EAo9zP/Zvs452WxWCyWYqI4zDL/mg4d\nOpR0Fw4oh5M8h5MscHjJczjJAlaef8vB5H8ux35ksVgsln3E5XLBHnT5QT1yt1gsFsu/wyp3i8Vi\nOQyxyt1isVgOQ6xyt1gslsMQq9wPMyQxYcKTtG7djRNO6M2CBQtKuksWi6UEsMr9ECQ/P58bb7yN\nJk3a0bXraSxfvrxg25gx4xgw4H7mzbuMDz7oQqdOJ7F48eIS7K3FYikJrCvkIci5517K66+vJTt7\nMC7X1yQn38u3335FhQoVqF69KWvWPAa0cloPZeDAHB54YGRJdtlisRQR1hXyMCEejzNp0vNkZ78M\ndEQaQH5+J9577z1g942OFbR3uaK7b/7vkMTLL7/MNddcz5gxY8jNzS0mCSwWS3Fglfshhsvlwu32\nANmFvovg9ZpMEoMHX0k4fD7wIjCKYPAxYrFchgwZytdff12wz/XX38LFF9/FmDFlGDz4fdq37040\nGi1eYSwWS5FhzTKHIDfccAuPPDKNSORavN6vSU9/i2XLviAlJQWAl156mSeemEQ0GuHrrxeRnd2T\naDSVUOgJ3n33ZY4++mhKly5DNPojJt9bjMTEI3n77VF06tSpRGWzWCz/jL2ZZYojn7vlAHPvvXdS\nq1Y1pkyZSsWKZRk69NMCxR6NRlmx4ls+/XQmsZiPaPRs4CEAIpHmDBw4jGnTXsEk7owAVwE/E43G\nWbZsGRMmvEBm5i7OOacXZ5/9dznhLBbLwYoduR9G5OXl0aZNZ7744gtgBvAE0AS4xmnxGdWr96NG\njcrMnDnXyQV9MdAIGILP9yvR6C1IFQmHhzNy5ACuvPLykhHGYrHsE3sbuVvlfhjx+OOPc/XVT5CT\nkws8D3QAPMBbQBrh8CV0716RadNWsWvX6cB84A1n72uctqOczwuoVOlC1q1bVrxCWCyWf4T1ljkM\nyMvLY8OGDeTn5+9x+4YNG8nJaQ2sBS4CRgL3A+cCR1C7doROndoRjzcCEoDShfZ281uNFYAV/Prr\nFurXb0EwWIoKFWoxZcqUohDLYrEUAVa5FwGbNm2iTZsuBINJVK5cj6lTpzJz5kzmzp37rz1S3nnn\nXUqXLku1avVISkrlmWee+VObNm1aEw6/DdwKfAt0ASoAO4CTWLYsxvjxzyFNASoDUzD2+A8JBufg\n9T4GPAbcBFzNrl1lWL68Gbm5P7B58+OcfvoFfPPNN/+q/xaL5dDjKWALsOQv2owBVmIKuTbfSxsd\nLjRp0kpe702C7YKnBYkKhRopEMhQvXrNFIlE9rhfVlaWli5dqg8//FBPPfWUPvzwQ8XjcW3atEnB\nYGlBOcGlgkGCBE2bNq1g361bt+qTTz7RTTfdKp8vJEgU3CioI3hfIEG+gsHm6tz5BCUmlpHL5VZS\nUmXVr99KQ4bcoblz56pz51Pl9aYIPhF4BRFnXykUulRjx47Vjh079P777+ujjz5Sbm5ucV1Wi8Wy\nB4Ais2e3dRT23pR7d+A95/0xGEPvnijpa3RA2LFjh7zekCDuKMVTBd0EFQXnCSqqVauOkqSlS5eq\nRYuOKlOmulq3Pk6lSpVXIFBBUEp+f18lJNTVySefpnPPPU8eT0XBQMEOwa2CDipXrrqi0aieeuop\n+f2lFAw2VyCQqiuuuFrBYKqgiiAg+MXpTz9BVfn9PRQKldELL0ws6Hc8Htd7772n++67T35/kuAn\nQbrga0eOuBIS2mvgwIFKTi6vcLi1kpKaq0mTVtq5c2dJXW6L5T8PRajcAaqxd+X+GNCn0OflQLk9\ntCvpa3RAyM/Pl98fFqx2lGIjQZJgnfN5mzyeVM2dO1cpKRlyuR4VfCtIFkx0RtwrnbZvOp8vdbaP\nEhwjOEfwtFyuY9S580mCoDPSlmCDPJ4kZ9Rewzn/tYKPBDUFu5x2r8njCWnw4Ju1cuVKXX31ICUk\n1JPPd63c7rKCYwUJglKCM+T1NlD58tXkdqcJhhYo/GDwTN1667CSvuwWy38WSlC5vwO0LvR5BnDk\nHtqV9DU6YIwe/bDC4Sryeq+T211BUKnAtGHMG0fr7rvvVnLy8c53jwr8gg2CsgWKE44QTHY+X+go\n2qaFZgW7nAdH6u+O73LVkMt1mqCFYIugjcAn6OK0eVJQWnCT3O7rFQqVlseTLNjmPITKCMKCWs6M\no5ygvXOMZoK5hc73hE477fySvuQWy38W9qLci2tB9Y9uOkX6pClprr32SqZOfZ477yzDmDG34PFk\nAhMxYk/H41lNgwYNiMc3Y/LAvAckAkudv6MxbozfA1WBl4CKGO8WN+ZyChiBcV90AdOds68GfiYU\n+hDYDASATKAv8DkwDBgE3AvcTTzemezsGLFYOpACjMM8iysADQE/8B0m2MkPtAQmOP3+ELd7OJmZ\nW1i/fv0+XZtffvmFvn0vol69Yzj11HPZsmXLP7iyFotlXymOCNUNGNeM3VRyvvsTw4YNK3jfoUOH\nQ7rqebt27WjXrh0ArVq1onv309m69QJKly7LG2+8SnJyMhUr+lm9ujV5eRsxyvdMIBcYDvQEjnb+\nJmA8XjYCW4HTMYp6F+YWJgNnYRR9Jh6PnyuvvIyJE99k48a2xON+4FngduAuzNJHReAD4FSMV80X\nGKX9M1AL+BTIcI6fhHmQpGNu30eYh5CPeHwQM2ZsokmTY1i0aD5lypRh4MCbmTr1Q8qWLcMjj4zk\nyCPNRC0ajdK+fXdWrjyavLzR/PDDWyxa1Jllyz4nEAgUwV2wWA4/Zs2axaxZs4rtfNXYtwXVlhzm\nC6p/RSQSUTwe17BhdysQSJPbneHYtfs55pWGjj27ueAzwTJBiiDDaRN17O6pgqNlvFmOEtzstDtW\nsFmwXOFwXb3wwou66qqr5PM1FTwhqOCYVsYKGjv2+76CywX1nGO4neMfJajrmGgucPZ9xDmvyzER\nvVPIFHSVbrzxZp1xxgUKhU4RfCF4SomJZbR69WpJ0rJly5SQUL2QWSmupKTG+uyzz0r2xlgshzAU\noVnmJWAuUBdYh4me6ee8cBT7D8AqYDxwxQE4Z7Gzdu1avvjiC3bt2vWX7XJycnjooYe47robefPN\nN/nhhx/48ccfkUQoFGLVqlXcc8+95OZCPF4DM+J+HTgW2AS0A6oD7wM5GLPKLuAWIAtzCYcDP2Lu\naQPMaLwmxtRSDqhLJHItU6bMZOTIkVSuHAeuxYzUj3TOcybG7HMcMAk4GXOLygJnAzsxZp2fMdGu\ntwH3Ycw6Z2NmExUK5JYqk5m5i9dff4ns7Oec81xILHYSU6dOJScnB6/XSzyeA+wOwooRj0fw+QoH\nT1kslsONkn4A7pXrr79FwWCakpObKSUlQ19++eUe2+Xm5qp582MVCp0sGCKXK1VebxmFQmXVpUsv\n5ebmasaMGfJ4KgvuFpzvjJLnOCPZDoLOguWC6oImzsJmdcErgj6CBoJzncXSJOf1qbPfk4IcwSp5\nPJdrwIBBkqTNmzcLPIJswXfOoqhHPl8pBQKNZRZ8lwo+FrT83eKsx5PuzBByBM8J2jl9auos1H4t\nmC5IUCBQSsb18jPBVYKecrtrqEyZanK7fUpMTFfz5m0UCnUTPKlQqKdat+6sWCxWnLfTYjmsoIQX\nVA9ZPvroIx59dBI5OSvYsWMh27c/QM+eZ++x7fTp01m5Mkp29lvANqRTiEY3kZ39Ix9/nMdVV13L\nKaf0IRbbhlkEPRfYjrGBf4yZ4CQAzYB1eDxrcLtjmNztVwBvYzxL38Isri4BmgLdgBm4XP0xI+82\nxGJPU69ebQDefPNt3O4ywP+AEwvOkZKSwoABPQkE8oE3gTKYBdkdjkQ/EY/Hnf6dgxnxpwJR4BfM\nourJQC88nhRyc7tgFoI7A3HgDOLxn9m6dQDxeC67dk1m+fLl9O/fhF69ZnHjjS348MPJuN32Z2ix\nHM6U9ANwj4wbN06hUL9Co9l8uVxuxWIxZWVl6cwzL1ZycjllZNTRtddeq6Sk3oKNzgh7ZqH9HpXL\nlejYrgc7tvbHnFF5H0FIcJbTNkvG572a4GfHDu91RszzZHzaUwT3CD5VMHiG2rfvJr+/lDOKlmCh\nQqE0rV+/XqeccrZgnGNX71/QJ693kHr1OlPNmx8rlytRLldVGb/66oKL5HZnqE2bTgoGO8lEujYU\n9JAJbtroyHGZ3O4yggcFFwsucUb0+c4sIPy7mUBS0il69dVXS/q2WiyHDdiR+7+jfv36uN0zMCNV\ngNeoUKEG99wzgiOPbMfrr29jx44v2LhxAmPGPMXOne8CjTHX+23nbxy3+wGkChgb+lnAVMxyRBST\n42UU8BnwKxB29j0bSMPYuVfh93sIhXri8UwmGGxOODyG2rWv4ayz0vnhhx/Iy0vAjJoBmuH3N+bb\nb7+lSpVy+HwrgNoYG7shGm3Ne+99wOLFXZC+RnJh0gQ/CjTF663C6aefQvPmccxM42vgNczI/xVg\nKFCWeHwnxo3zPOd7jyPTOkf+Fc4ZI0Qi85k48VUGD76FH3/8cb/vj8ViOfgp6QfgXilscy9VqrzS\n0irL57vIGT3/6IxKhzgj2xMEd8h4rTQSNJDXW10eTynHvj7MGdW/JLhTgUCSEhJOc45xg0zAUH0F\ng0kKBls5tm4TeNSwYUstWLBAd999tx577DFlZWVJkp588kmFQl1kPFiWOO3XKxQqo5UrV2rLli3K\nyKgln6+BTDBSliCiQKCjfL7y+s17paJgTaGR9nANHnyznnjiCYXD5xX6fpkgUW63Vx5PqiNLTefY\n1ZxZSVdnBjDQkek853olOzOOa1SqVHmtWbOmhO+uxXJowyEQN1TS1+gvWbNmjT7//HPdddddCgR2\nK7q6glmO6SRd8IKgu0zaAMksYN6lpk3bqHbtI2XSBlQVtBWkKz29mp599lklJNTTbwm6JsvvD2vz\n5s068cTTlZBQU6VKtVNKSoYWLVq0x76NHj1agUB/x5STLjhOkKR77rm/oM2vv/6qZ555Ri1atJXX\nG5LXG1aXLr3k9yfL5J6R4HTBRY5JZa3C4ZqaMmWKli1bpnC4jGMSypPHM0RNmrRWPB5XWloV5/uj\nnYfXnXK5esjvTy2k5OfLJDsrLXi30EPiWt1ww03atWuXotFocd1Ki+WwAqvc95+dO3fq5ptvkct1\nk6Oc3pBJF9DLUdr9ZXzUG8uE8a9TKHSEunY9Uaec0kuBQJrgPHk8bVS6dDlt3rxZ8XhcffpcqISE\n+kpMPEuhUBm9+OJL+vjjj9WiRQeVKlVB9eod8Ze+4EuXLlU4nC6YIpgjn6+9OnU6ca/tMzMzlZmZ\nKUm65ppBSkhoKLhV4fBRSkmpKo/HL58vpBEjfns4vPnmmypVqpzcbo+aN2+r9evXS5L69r3AeaCk\nCz4vUNweT315PLUche+V8Z+vJONJs1u536b09OryeoPy+8N64IGH9Morr+jSS6/SHXfcpR07dhyg\nO2exHL5glfu/JxKJqHv30+T1huTx+OXxlBZMFXyrQKClqlWrIZOBMU0mB8yVMi6KfiUklJHff75g\nhAKB8urS5UTdffc92rJlS8Hx4/G4ZsyYoWeffVZLly7VRRf1l8uV7Ix2v5PLNVplylT9S2U3ffp0\nVa/eRCkpFXXGGRfsc6bGeDyuN998U7fdNlTPPfecotGoIpHIXkfShb/Pzs5W3bpNZRKUpcksssoZ\n+ftkctVIJtgpUWZB9xjBbGdEX0pwjSAmWC2vN13BYB3BKAUCZ6pOneZ7TY9ssVgMWOX+74jFYjr7\n7IsUCPSUsX9nKhBooLS0GkpPr6pevfqqevXGMvZ2jyC3YGTq9R4pl6t7oZHqIpUuXeEvzzd58mSF\nQrUFlfWbLVxKTm6lWbNmFZPU+8aYMWMUCBwrk2DsQhlPmhWC4c612CWT8TJd8Jqj3OvKeNBUkrG/\n/yTj/fO0TPK01TL++r3l8WSob9+ztGvXrpIW1WI5aMF6y/xzdu3aRcuWxzFx4mRyc6/BeLokk5s7\nmCpVypOVtYMPPljC6tXfYvKtBDF+4gAxotHlSIXT6mSQnZ1V8Om9996jf/8BDB9+B9u2bQNgxYoV\n5Od3wESI7nRa5hGL/URiYmKRyvtPWb16nePbXh3jTZQFtMTtfhiTfOw0YCxwCtAbk3miCsbb5nVM\nyqHLgfOBaRjPoYuBu4EVxGKDeeWVTJo1a7XPicksFovBKve/4MwzL+Tzz8sgHQfMcb4VPt8MlixZ\nQnb2DHbtqo8J+Z8OPIBxRRyMz9fJaf86pgj1MuBMmjZtRjweZ9y4xzj99P488khF7r57DU2btiIz\nM5OGDRsSCHyCUYbHAyNxuTrSpk1jmjffWxGrkuHYY1uSkDARk3CsBS7XFurWrcoJJ3TEpDc4CvgQ\nk9bgM4yL6KcYV8nlmKComcCXmBQITYGfMHnlZgP1iMcXsGpVhBo1GjJ+/BPFK6DFYjkglPTs5nes\nWrVKLleaYy+e4iycthFUUTBYWj5fPZlEXZVkgnkqyATtpMjvT9INN9wglyvgLLoeI+MOGJDPl6LE\nxAwnf/put0UpFOqtxx57TPF4XNdcM0iBQIqCwQyFQim67bbblJ+fX9KX5E/E43HdfPMweb1B+XwJ\nqlevmVJSKgpczprBk4LHnfWHZMc086GM10yC4BbnGu7OX/+oTNWqRMFOx5wz29m+UqFQulatWlXS\nYlssBxVYm/s/4/nnn5fX21DGd7ucTE4Vv6N4Osh4gJwi4/ZYXabS0UQFg0fqqqsGKjm5nOBkxx7d\ny2kzXybL4j2OcvupQLn7/Vdo1KhRBedft26dFi1adFAvKC5ZskQ1azaVy+VRxYq1FAqlCT5wFkgH\nyu8vq+OPP1WPPvqo/P4KhdYebhTUdtYpEmQiWxMdO31YJiNlbxm/+9+iW0uV6qz33nuvpMW2WA4q\n2Ity/2MRjZLE6WfJsnTpUkaNeoT58+fy7be7c6gvADoCPkyu8xxMAYthwHXA48BduFzbuPrqy6lf\nvwYDB35CJPICJgr1HkzOlTjGrjwSY1v+CWNfXk44fAVffTWHunXrFqO0/57s7GyqVKnHzz8PxUTc\nDsOsOywoaBMOV+abbz4hPT2d1NQK5Od/CdTB5I5vizE9lcfktamHyUBZ3jmOMNdqJtAKWEMweCQj\nRtxGrVq16Ny5M36/v5iktVgOXlwuF+xBl1ubeyG++eYbWrbsyNNPZ/Htt5v4rdRrCkYxx4GVmIRZ\nVwPPYFLvbgISadiwHvfffxfhcBiXK9PZtzvQC5NuIA+zKAum4lEibnd7Gjd+iGnT3jgkFPuMGTOo\nWbMZ5cpV49dfPZgMz0FMmdw1mPTEAGuJRn8lLS2N99+fjqni1Ao4CehK6dJpGJv8VkzBkDUY2309\n4Ey83nxef/1FQqETSUxsgd/fFEkMGfIxffvewdFHd2TSpElMmjSJrVu3FuMVsFgs/5Rim8bk5+fr\n/vtHq2fPc3TjjbcW+ISfddaFgtsFZ8gUt8iXCau/2zEftJDx564jWOTY2hNlolKfUCjUST16nKnM\nzExVqlRHPt/lgvEKhRqpRo0mCoV2J+Z6XPCuwuFGGjnygWKTe38xkarpMlGm8xxZfnbMJr/K40lR\nOFxH4fBFCocratSoMZKk5s07CN6WcYt8RXCV2rY9TsFgPcFljp29vWNjv1UmUVpIlSvXU0JCdQUC\nZRUOlxc875zrZ7lc6QoE2igxsYdSUjK0YsWKEr46FkvJgLW5/0afPhcoHO4geFqBwNlq1OgYbd++\nXeFwWcG9gvKCB/RbHpXazgVMksmd0lTQWia/eW2ZCkkSRBQMmkyMW7du1XXXDVafPhfq6aefVTQa\n1dy5czVq1Ci1bdtdRx11vMaOfVTxeLzY5N5fHnroIQUClxWyg18vyFAg0F8JCfV12WXX6oMPPtD4\n8eO1YMGCgv2aNGkrE/S1e7/ROvPMizVkyO3yeAKCoMyC6/2F2rSTy3W5Y7/fvSi7ytl2s0x1KBMH\n4HY/oOOP71mCV8ZiKTmwyl1avHixLr/8KrndYZkAm0mCnvJ4MjRw4ECFw/WcBb0aMkmuasgsnAZ0\nzTXX6vHHn1BCQpogJK83TX5/qlyu+oUUUkzhcIZ++OGHIpelJHj66acVDnfTb8FVixUOl9bo0aM1\nderUvT6onn76WYXDNWQWn59TKFRGc+bMkWQiXpcsWaJAoGyhkbmcxdY5MqX96sosYl/iPEj7OAp/\nd9tPVbfu0cV5KSyWgwaKULl3xTgtrwRu3MP2DkAmsNB53bqX4xwQQVesWKGxY8fq6aef1vbt2/Xa\na6/ptiFDNGjQIIXDqYJrnVHg5TLh7xcK7pTHE5THkyLjsRGSCZ+vKLhJ8LyCwTJavHixJBUosays\nLFWuXFde762CefL7L1OzZm0O28pCWVlZqlOnuYLB3oKhCocracKEJ/Zp3+eee0EtW3ZR+/Yna8aM\nGb/b1qpVZ7ndJzkP09mCT+VypQquEBwpeF/wsIzHkUfgkttdTsZNNaJA4FS1bNlB6elVlJxcRj17\nnqq1a9cWxSWwWA46KCLl7sFEqFTDuJJ8DdTfg3KfvA/H2m8hZ8+erXA4XcHgJQqF2ivJ49WxiYm6\nDdTb7VEAn+BBhQmoGS4NAXUgoBCoLi6FQImgbqChoHagZFAKASW6K2js2LF/Ouf69et18sl9Vbt2\nC5155sXatm3bfstxMLNz5049+OCDuvnmWzVz5sz9Pl48HpfH45PJivmkTOK1JBlf+EaCUgoSVkcS\nNBTUwbkn54AqghJwqU6dJkpyBVSNkAaDLgCV8vl0z+23HwCJLZaDG4pIubfCxI3vZrDzKkwH4J19\nONZ+C1m//tGC1wVxhampBws7SYO+BiXi0kO4JFAuqDLoEVAKKA30wR/2mQwqDzoB1Pukkw7ArbD8\nkdTUioK5ziV/3rG/9xP8oiABTfvDPZkCKgfKBPUBJeHW//AqXqjNRlCNcFjTpk0rafEsliKFIsot\nUxFTbmc3653vfqe0MYlGFmGcvhvs5zn3ys8/bwUaAVeRxvdc/YftO4ByiKuca/EOUBPjjNcE6IQJ\n+C/MyZig+a7ARzNnkpeXV1Td/8/y5JNjCYV6EApdgts9GLgM+ByYRFu8dPlD++7A0ZikDkOAKHFG\nEf2do28FYEgkwrgRI4pDBIvloGN/lfu+TAe+wmSIago8jKnuXCR07nwcXu9FwCscietPXv3fY0o9\nuwp9boGxKyVgvK73xDGYRQOvxC+//LKXVpZ/S8+ePfnss5mMGnUkDRpUxQQ61cXNrXQka4/77L5v\nWZgfV9Le2qxcWUS9tlgObrz7uf8GzP/WbipjRu+F2Vno/VTgESAV2PbHgw0bNqzgfYcOHejQocM/\n6sz48aP59NNjWLu2NQt5B6HfKfjqmNhIYRR8NUy6rzaY6cfCvRz3C0w6sHyXi9TU1H/UJ8u+0ahR\nIxo1akSDBg3o1u00IpFBxFnEHH5lT2OIhZhwqETMDy4L84D+Y5syZcsWcc8tluJl1qxZzJo1q8jP\n48UMgKthQhD3tKBajt8Gy0djQhH3xAGxPw0bNlxud2eF8Wm8Y1vf/VrqLJhOcD7ngDJAjzs29xTQ\n7D/Yd98HlQWdFgjomn79DkgfLX/NvHnzdP75l6lp0yMUxKeZf7gnH4DKODb383ApCY+uhN/Z3H8C\nVcSjYDBJW7duLWmRLJYigyJ0heyGKW+/CrjJ+a6f8wLoDyzFKP65QMuiUu7xeFzdu/d2fNTLKIRb\nLfHpHtBZoCAIMgq+v9tZKA2CGuEt8JY5FXQPqCsoCVQ5EFDn1q0LClJbiodJkybJ76+hAKg7Yd3j\neDIlOR4x1fEqDIIPFcaluoR1B+hyUCJu+ThCkKyhQ4eWtCgWS5GxN+V+yCcOi0ajjB49hk8//Yr0\n9CQmTnyX7OyFGO/LS4HxeLiGGOdgcoSDee4MxUMiMdKAH4ALcBMlzqd4XMuoUK4s6WXL0r59e3r1\n7k27du12J+ixFBPxeJxu3XoxffpnwG14mEAMP7ACN92I8xHGurcJqASMws2ViBqIKRjb/WxSU8/j\nl1/WlpwgFksRsrfEYQeTtvpXyv2MM85nypT1RCLn4fNNIhZbRTy+exGtMvAixg9mOXAtMA/ogsk+\nmAzkAj2AvsAGXK4gCxbM5Kij9ra8ailOcnNzqV69IVu2XEA8/hMmU2QmxpumCiZ2rhZQG7Ok48bc\nzwedI/xMKFSbSGR78XfeYikGDsuskFu3buXtt98iEnkHOJ/8/NeRtuJ2j8Q4yqVgnBiDGJf8NsDN\nmBSz32DKvz0JbAbeIhRqQ//+/axiP4gIBALMnz+Thg3fwe1+AXgOyMYs98zDLOMcjbmfcapV8+D1\nPo9R/o8AzfH5knnuuedLSAKLxfKPbU0bNmxQMJgmk73RrKUlJh6pypVrO4EwnWVyxVQTdCq0JjdN\nkCCvt7Pc7lPlcqUoLa26BgwYrLy8vANsEbPsL4sWLXKyUT4vk7Uzwblv5QQvF7qv7+uIIzpoxIgR\n8vmSnXtpIqt/AAAgAElEQVR/p+Bxud3p6t37NFvJyXLYweFoc5dEmzYn8NVXGeTm/g+3exwu1wyk\nKPH4MGA4xlmnlPOa7uy5Hbe7HGPHPsSOHTs47rjjaNGixYGUxXIAGTJkKHfdlY90NyZIbSRwIiZN\n0WLMLM2N338e4fBs8vJ8RCLrMcW3h2FmbDWARAKBqQwdOph+/fpZt1bLYcFhZ3PPzc1l+/bthEIh\nBg68hY8+ms2PP64nFnsJOAdjjimLsbmPBEZgvNVb4nI9wCWXHMv48WOKQAzLgebOO+9i+PBNRKNj\ngXSMCaYcxjzTDJ9vB35/CJ8vRlbWyeTnX4bJenEh5qH+PcYG3xHw43YHSUn5nvnzP6JWrVolIpPF\ncqA4bGzuH374IQ0bHkUoVIoqVRrQsOFRXH99f846qxfx+JUYpX4SJjC2FGbR7R2Mp4wXuIcjj0zg\n0Ucf3Os5LAcXF1xwPomJb+B234wJqRiKWVjdSCiUzSOP3ME115yJx+MjP78PZoE1ADyBKdnXGLgN\naAjMIx6fxfbt13DFFYNKRB6LpTg4pJT7Rx99xIknnsGyZauRFpOfP4cNG9rQoUM3wuEgPt9Gp+U4\noAxmxH4c8CVwBIHAFOrVCzJt2lu43YeU6P9pKlWqxMKFc+nXL8Kpp9ajbt0vcLvD+P1NufvuG3jk\nkWcZPXoRv/ySCryEUey7PWc+wdSpfR6T4mgAUJN4/FEWL17IzJkzqVu3BWlpVTj99PPZuXPn3rph\nsRxSHFJmmR49zmbyZB+mhmk3jGtjaYyfuotQqBTRaC/y86sRDo/jjjuu57vv1hKJ5NC2bQuaNWtG\ns2bN8Pl8RS6MpWjJzc3F5/PxzjvvcM4597Jr1ycYn/dOwDbCYS/VqqWxbNkKTJKCnsC7GPfXXzD1\ncDMxmapfBJoSCAylY8cIU6e+ViIyWSz/hr2ZZfY3t0yxYoRIwSSXfBNTlPlnTPBrNvF4J7p0+Yk6\ndVLp0WMS7dq1K8HeWoqSQMAUGt+xYwcmnsGNsccvwO1O5pNPFtCz59mYhdSNGFPOU5j/gQRM5slE\nTOagngDk5j7GBx+kEI/Hcbvd7B5s2OA1y6HIIWWbGDDgEoLBF4EQZvS+HLgOCANp5OYOwOtN5oEH\nRlrF/h+hffv2wEzgFWANfv9AWrXqREZGBtu2bQN+wvjB34+Jd0gH1gLXY9Zk1vObJ9k6AoEEXC4X\n99//IAkJqfj9IXr1OptIJFLcolks+8Uhpdw3btxMLJaF+edMB/KBBQXbfb7PqFq1Qgn1zlISVKlS\nhenT36Zu3ftISTmWE07YzsiRt1GvXnNyc1MwZpi1mEzT2cBqjFL/DDgVM/M7EeiM292OI49swUsv\nvcTQoePIzv6caHQr06bl0b//9SUkocXy7ziY5psFNvdIJMLChQsJhUI0a9YMt9vNqlWraNq0NZHI\nDEyU6QnAGMyU+1hcrgiVKm1l4cK5pKWllZwUlhKnTZuuzJvXE+k8jK/7JDweN9Wr12bduo3k5nbD\nmPbKA1txuXLweI4hGr0Uv38GodC7ZGYOwIzuAZZSseLprF//bQlJZLHsnUPG5v7jjz/SuvXx7NyZ\nTCz2K82a1eShh+7mm2++wettjamZdBbGtW08sAG3uz8uV5QNG2J063Y6U6a8TJkyZUpUDkvJsWHD\nRqRjMOa6Z4FmhEL3snZtJ/LzG2E8ZsIYc01TpFuIRt8BguTlnYZUAZfrK6TxwBRgJ0lJf8wWb7FY\n9hVJ0vHH95THc7sTTj5REJbbXVYQEJQR/OpsGyaXK0VVqzaQ319B8J0gKq93gDp0sLVO/8ucd14/\nBQJnCXIFWxQM1lQw2EQQd347YwTHOO83Oymi85zPcwQJglKCuoLXBCMUDqdp9erVJS2axfInKKIa\nqgecFStWEosdD1wBXAL0Jx7Px8w6coC6wHG43aO4/fbriEazycvrgxmJ9SYafZPZsz/hhx9+KDEZ\nLCXLuHH307ZtFh5PMl5vFXr1ao3PV3jWWorfCvOlY0oMnIpJT3EuxqsmCeOR1Ru4kfz8PkyaNImf\nfvqJ3Nzc4hPG8p9g9uzZHHFEB2rWPIIbb7yNaDS638c86GzuJ5/cl3ff/RJTFO9njE09irEgPYlJ\nKbAMuIlAIJvc3NMxXjO/YlK9ngu8Qfnyj7Nq1WISEux0+r9KdnY2Xq8XSTRvfiyrVjUmL68rweAT\n5OfPIxarD3yLqQSZSK1adVm3bi25uZ9igt8+AOoB4PGcQ1LSLLKzs5FyueOO4WRklMPr9dK9e3eS\nk5NLTE7Loc2SJUto2bITkchYoDrh8CD+97+jeeihe/dp/0Mmt8z8+fNp3fpkpK+AZphgk1KYcq07\ngO+AkzH/kF0xNtVjgR8xRRuMSMnJRzF16kO0bt262AWxHHxkZmYyZMidLFv2Pa1aNWPbtm088sgL\nGPv7DcCn+Hyn0q1bV95/30Vubm3MyH04Ltcq4E5gONK1wAygB6FQZzyeXEqX/oGvvppj13ks/4rb\nb7+D4cN3Eo/vVuarSEnpyLZt6/Zp/6LMLdMVM3ReCdy4lzZjnO2LgOZ/dbC0tDRCoQBmJO4C8oAt\nmICTsZjApbsxiaB2YEq31sO4uWU5R8klN3cziYmJ/14qy2FFqVKlGDPmPmbMeIM77riNzz9fijHz\n3Yz5DXUkHm9Fenoisdg0jDL/jmrVhnPyyQuBLKSrnaONB24jO/stdu2aypYtXbj99hElIpfl0CcU\nCuLxbCv0zTYCgSAA48Y9RkZGXcqXr8XQoXcSj8eLrV8eTO3Uapg47j0VyO6O8TsDOAaYv5djSZJi\nsZhat+4sl6uKYKxgraCnIOgsdLmdhbEdgvqCcwRVBb0ELQUjBceqYsW6isfjJbfKYTmo6d37XOc3\ntdJZSM2V252hQKCCYKHgZ/n9fXXGGRfomWeeE4QEs522rQUfFcoj/6xOOunMkhbJcoiyefNmpaVV\nksdzreAhhcNV9PjjT2rChMcVCFQXfCZYrHD4SN133+g/7U8RFchuBUwr9Hmw8yrMY5jh9m6WY/K1\n/pGCzmZlZSkYTBd8L3jO8VpIV5MmxyglpaJgqvNPtVo+X5pKl64qeFTwtGCAPJ6WuuWWIcV5fyyH\nGKtXr1Y4nCpIE1wkqKeqVesIhhRS2quVkJAivz9VMEGQLuguSJXHc7xgl2CrwuGj9fDDj5S0SJZD\nmA0bNuj66wfrwgsv1+TJkzV48GC5XKUdnVa4GE3HP+3LXpT7/vq5VwQKG4bWY0bnf9emEsbWskfC\n4TBt2rTho49uIR6fA7wMlGX58ovp0aM9U6eeh8dTl7y8Vfzvfxdx8cVn07btCcTjHXG5fqFcuQg3\n3HDdfopmOZypVq0aa9Ys5+GHH2b16tWccMLNrF+/niFDFhCLCWMSHExWVhxogfHcOgH4BI9nFkcc\nkcdXX6Xicrm46KIrueKKfiUpjuUQJyMjg/vuuwdJdO9+Ou+/PwvpCGBNoVY/kpy876bm/VXu+zod\n+KOxf4/7DRs2rOD95ZefyxdfXO1ECppF0by8B5k//1xWr17GkiVLKF++PPXrGyvQt99+xYwZMwiF\nQpx44onWS8byt5QpU4bbb78dgM8++4zLLruBWAyMJTEZ4xp5KcZL60lgArCCWKw+y5e7yMiozoIF\nH1Ghgk15YTkwvPHGG8yYMR8pglHsX2KymAZwuR5j5MiZzJo1i1mzZhV5X1rye7PMTfx5UfUxoG+h\nz39rltnNjTfeLI+nf6FpyRtq2LBVMUySLP8lvvvuOwWDpQXlBZmCJwWXCWrI1N/t4phvuguuK/g9\n+nwDdOGFV5R09y2HCStXrlQoVEpwhKChoIVgjeBsxyTo1RFHtNP69et/tx9FFMT0BVAbs6Dqx9jW\nJ/+hzWTgPOd9S4wbzF5NMoW59tqrSE19B7//YtzumwiH+/Hgg7fvZ5ctlt/YtWsXXbqcTE5OG4z3\nTAi4CJPeYivGTTINuBfjltuhYN/8/KOZM2cO99xzD59//nlxd91ymLBjxw6mT5/O0KG3k5NzASa+\npzmQCyzBuOS+CGxn4cJj6dq19z4d90D4uXfD+CV6MHPXe4DdBsjxzt+xGJfJLExhy6/2cBznIfR7\ntmzZwrPPPkskkk2PHqfQvPlfelJaLP+Ifv2u4amn5hKNbsco9pqYieabBALTyc29CFMEpDHG9fZz\noD3wKTAbt/sooAmBwIs888zDnHHG6SUjiOWQZPXq1bRs2YmcnCpkZ39Hfv7/MDWgT8OYZdyYAjRv\nOnsIjyfM9u0/kZRkoqwPmSCm3SxbtoyhQ+9l+/YdnHNOT84//1xbNMFywGnUqA3ffHMjcAHGY3c6\nsBjYxrHHwuLF37JjR2lMkNwg4HGgAibdhQf4EPNvNI/09L5s3bq2BKSwHEps2rSJt956C5fLxUsv\nvcOcOW2JxwcDCzEDhyswKTBGYmaRTTGDCh/wPR5PI3Jzd+HxeIBDKCskwPfff88xx3QgK+sGpCrM\nmzeMX37ZznXXXVPSXbMcZtSqVY3ly7908hk9DTyKmYAO4IsvapOXF8HjaUQstjsL6RaMNbIapprT\n7v+pOmRmbmPhwoVUrVqV1NTU4hfGctDz/fff06JFW3JzjwdEbu584vHhztafgFq43ROIx4dgjBx3\nYQYS7TFeWxPp3//yAsV+qFCwQDBs2HB5PAMKLaR+qQoVahfn2oblP8K6deuUkVFLSUkt5XanC5Kd\ngKVlzm8vQbBVEBE0FvidwKc0QVknsGmLoI1crrCSkxsrFErRK6+8VtKiWQ4CotGo1qxZo23btmnH\njh2qVKm+YHfW218FlQTnC15w3o8RNBLc6rRZIEiTy5UhrzdBffue+6dzUER+7kVCPC6kwk8mD/F4\nkQRhWf7jVKpUieXLv2Lu3Lm43W5+/fVXLr54JDt37g60DmFc0T4BUjHZIwcAAef9RZicRkJ6kh07\n3gbSOfvsC+jYsT3p6el/Omc0GuXhhx9hwYJFNG5cm+uuu5ZgMFgM0lqKk3nz5tGt2+ns2pWDy5VD\nxYrV2bAhH1OTQpjfT3tMIsS3gFeBlzChQA87R0knGPRw++3X0rt3b2rUqFECkuw/BU+i5cuXKyEh\nXfCw4G2Fw411110ji/OBa/mPsmXLFoVCqYKvnZHTdYIMZ3TVVZDjvC/jjOp9MrUGajvuamMFrwqq\n6PrrB/3p+PF4XD17nqVwuKNgvILBnmrZ8jhFo9ESkNZSVKxdu1YeT4ozAo8LNgk8MulRWjq/rxRB\n1NleS9DZmRF+LFguuEZudwNdfvnlf3kuiij9wIHkdx1euHChunU7Xa1bd9O4cY/ZPDGWYuOll15W\nKJSi5OTGCodTdf31g9Snz/kKBFIEw5x/wGcEC+Xx1HN84sOCW5wHws+CZ5WRUVebNm3ShRdersaN\nj1Hbtp00fPhwBQJpjplHgqgSEuros88+K2mxLQeQm2661THxbRS87Piu+wWrBIMEic6gINMx7SU5\nv6sKjm+7MUm73YM1bNjwvzwXh5JZBqBZs2a8994rJd0Ny3+Qvn3P4IQTjmft2rVUq1aNlJQUwHhw\n9ejRh++/74R0PgCxWF9Mdo3jMH7wzwNXA+XZuPFHGjU6mm3baiJtBbrx6afTMIuwAedsHjyeZFsA\n5DAjEsnBFIIZhTG1PIPxxmoHXEkw2A2fbw55eceRm7uK3zLddgauBEYDq/H7n6B79/f2dIq/5aCr\nxGSxHAykpqbSvHnzAsUO0KBBA4YOvZFweFehli5gIiY270HgKmAScArQnF9+yUBaAHwMDCUe/xgJ\nvN4rgc/xeIaSnLyDI444orhEsxQDvXufgt+/HXgCE7TfARMrUZ+EhFG0abOLnJwI8fhqzLrOpUAQ\nU7siEWiN13smL744nqOOOupf9eFgchx3ZhgWy8HLrl27aNKkJRs2HEVeXhVM5Or/gHeB44F5mMjW\nC4DvMUVmFgG72D2WSkw8kUaNcvjpp+3Uq1eL8eNHUalSpeIXxnLAiEajZGVlkZyczPr162nbtitb\ntmSSk5MJ9Mcsmu4A2uJyPY7H4yEarQ0sxcR2LsTkM+qHyzWHtm1b89JLj5ORkfG3596bn/vBRLHY\nwiyW/WX79u0aOnS4KlWqK6ji5AGZL1jt2FmvFDRz7KphQU1Bf5naBM8rGEzWfffdpxUrVpS0KJYD\nwIQJTyoQSJTPl6A6dZqrVavO8niGOXbzJY5rbU39VoR9hOPueK4gX3CnIEmBQAeFQuV01133/aPz\nsxeb+8Gk7Z1+WiyHBlWrNubHHzcCKRjTzJFAA0zk6pkY88xFmMx+nwI/4/eH8Xiq43I1AKbw+uvP\n07Vr15IRwLLffPnll7RrdzKRyCygNm73CFyu+4jF5gN1nFan4XZvIR7/pOAzzAZeAd7AuECWxuNZ\nz+uvv0iPHj3+UR+KssyexfKfpHbtmrhcvTCRhWfwW/LTlZhFseUYn/iJwGLc7nJEozXJzp5PJPIM\nkcjLnH/+5eTk5JRI/y37z4IFC5BOxijyecTj04jFYsBrToscQqGN+P3fYFIKXAu8DWRg1mhmYepC\nLycWe4hBgw5cYkSr3C2Wf8mECaNIT59BYmJTfL48TPbrdzH/uJ8CVYCpGJvqscTjXuLxFph/u+3A\nHfz00wYSEpI5+eRebNiwoYQksfxbKlasiNv9OSZ7Yw9M0q9kjJdMA6ASjRr5mTz5ZbzeAZgFVg8m\nWe6nQEenPcBprF69/ID1zSp3i+VfUqNGDVauXMRrr93K9OkTnWjULIw75EUYc80ZjgmmFJCJGdG9\nALTFFCQ7gnj8KN59N4fatZuwcOHCkhHGsk9Eo1FuuWU4TZq0pVOnU8jIyKBjx9r4/Z0xEac7Me6O\n6zDuj/exfv1GnnzyBaQWwEmYYjA3AtcBUzCeVuByTaJWrYYHrK/W5m6xHCDGjBnHTTc9SCRyIzAX\neAWvtynSJmKx+phM130wCcpCmDIHP2Bsri7gKZo3f5avvppdQhJY/o5LL72aF15YQnZ2KvAOEKdr\n1x7UrFmBCRO2kJ9fCZPo62zMA34JEMfjSSEWOw8zk5uNqRcwC1hDIODD769AMLiL2bOnFlSX21cO\nuZS/FsuhyCuvvMqkSe8wc+aHZGb2AB7B5OVuCsQwU/XLgOsxWf46YwqCAHxLeno3rr76f+TnR+nb\n9wwaNGiwx/Pk5+fz6KOPsWzZKo46qgkXXnghbrediBc1wWAyubmD+M0E58fn60W/fo2YNOkVfv55\nG6ZuUQiz7jIKmIMJYHoLM5vbBDTB653MI4+MoGvXzmzbto06deoQCoX+cZ+sK6TFUkwsWLBAHk9Z\nJ9OfBBNkyvUlCko76QpOc95Xd/KO5MvnO1Veb7I8nqvldg9SQkK65s+f/6fjx2IxHX/8KQqFOgse\nUDjcSmeddXEJSPrfIyEhVXCiYKJ+y1r7gZo376CjjuokeNTJH1NLMEPQviDNBPxP4JXb7Vf9+k01\ne/bsA9IniqDMXirwAWapdzpQei/t1mCqHywEPtuP81kshwSbNm3C6y0LjMMU1b4XeBZ4F4/Hg8v1\nOmax9W1Mab/KQBC//1Oi0YHEYg8Rj48kK+seBg++60/HX7hwIfPmfUN29hRgIJHIdF5//U27IFsM\nXH/9QDyeLzHBagaPZz5VqmTw88+/AEdhbO87MKWiv8EEs3mAfoRCiaxbt5ply76mXbt2RdrX/VHu\ngzHKvQ6mHM3gvbQTJva2OXD0fpzPYjkkaN68OW73RozSHoTJG9IOaE8sNo6MjNKYuvFnYGyvG4AT\nycqKA1ULHakKmZm7+CORSASPJw1TmQcgAa83iUgkUmQyHa4sWbKEsWPHMmnSJPLz8/+2/dChN/PA\nAzcTDL6Ez9eBhISTSU5+hG7d2tG0aQOCwbsx3lLdMUr+SKApfn9jwuGuTJz4zD5FnR4I9sdOsxyT\njHgLUB6zOlBvD+1WY4yLv/zN8ZwZhsVy6DN16lT69DmfnTtzgBGY0mlrgOto1Ggtl1xyHgMHPkws\nttLZoyxwM/AQphLUJrze2znppMY0atSADh3a06pVK8477zLefvtVYjEvcAvSKXi9z1G9+vssW/Y5\nXu9BmwvwoOONN97knHP6IZ2K17uMBg28zJnzPj6fb4/tly5dyplnXsratd/ToEEjzj//NFat+p5H\nH30Wj6c5ublfUqpUEtu3b8Lt9tCjRw+aNWtEhQoVqFGjBj6fj5o1a1K+fPkDKkdR2Ny3Fz7+Hz4X\n5geMSeYL4JK/ON4BsT9ZLAcL8XhcH3/8scLhdMfOXkpwvvz+s1W6dHkFg2WclK9ytvVyUr7uTlmQ\nJLf7KEFVQZpKl66sQKCXYLtgutzudJUuXVmtWx+vr776qqTFPeRITa0k+NS5/jElJLTXCy+8sMe2\n27dvV2pqRblcjws2yOO5XVWq1JfPlyCTv7+C4HRBJ6WlVdbmzZsL9l2+fLnKl6+hxMRaCgRK6YYb\nbj2gcvAv87l/gPHl+ePrlD0o8217OUYF528Z4GuMg69V7pb/DIsWLVLlyg1lis+YRTiP5ybVqXOE\nEhKayOMZJLe7tEyZtdqCu52F1jqO0j9JMEVQTvBNoYW86xUKpSkpqZ6CwVRdddUNtu7BP8DrDQh2\nFlzPQOBKjR49eo9tP/zwQ4XDLQUPyRRvSXMWyIOC3oIHCuVgv1IXXnhZQQGWBg2Olss1ztm+VQkJ\ndfT+++8fMDn2ptz/bg7X+S+27TbHbHYU+E97abfJ+bsVeBNjd/9kTw2HDRtW8L5Dhw506NDhb7pn\nsRz8NGnShNTUNNat+81/ORarR+3aqxkx4gxmzJjBhAn5xOPVMFGLo4GemLHV7lD2AFATk0Vwt3vk\nS2RnD8dkHdzOU0+1oUuX9px44onFJtuhTKtWnZg//1by80cA3+B2v0q7dnvOnT516jQikeXAWOB9\njP9IC4wKXY4pZn0FMIt4fD3PPBPn1Vdf5fXXJ7Jy5RKkc50jpZOX153Fixdzwgkn/Kt+z5o1i1mz\nZv2rffeVezFhVmAWU0fsoU0YSHLeJ2B+uXuT6IA9ySyWg41hw+5SOHysYJ3gO4XDDfXUU89Iks49\n93+Cm2VK96ULThGc4YzaEwXZzqjvY0GC/P6LlZBwikxln18LRoxe70CNGDGihCU9dNi6dauOPbar\nPB6fSpUqp4kTX9pju82bN8tUSqruuDpGBQ869+d6556VF5zl3MO3Cu5XQkK6qlZtKHjR+W6nEhKa\n6K233jpgclAEZfZSgRn82RUyAxNTC1ADY4r5GjPkuOkvjnfAhLVYDjai0aj69x+ocDhVSUlldfvt\ndysejysnJ0fJyRUEdwnmCMo6NnavTJrgVEEXweuCS5WWVlkPPPCAnnzySdWq1Uzw9O+UxptvvlnS\noh4yrFmzRrNnz9bGjRsLvvv88881btw4TZ48WbFYTNu3b9cJJ3R1FPklgqsdM0xNQTtHmV/gPIQX\nO6Y0FbxKlWqjCRMmqHTpCipVqpXC4Yo6//zLDqj5bG/K/WCKanL6abH8d5g7dy6dO19IJLINGI5J\nItUf4/++A3gcuA+IULFiEpFIPpFIJu3adeCCC/py5ZWDiMUqkJ+/nj59evHUU+N2e09Y/oIHHxzL\nTTcNIxCoS37+Cp5//nF+/nkbAwYMQToZj+dz2rWrwdKl37Bhg4tYLB3jOf4NxhhRE2ORfgOTQ+ZB\n4FtMtaWvgerAT4RCjVi8eC7p6eksXryYtLQ0GjY8cPljwEaoWiwHJXPnzlViYiPBPMGZgp6CFEFL\n5/PnzmKdXz5fGcECZySfLI+nkqpUqadrrhmgqlWbqHr1Zrr//gftourfsHLlSoVCZfRbIeovFAqV\nlt+fIPjO+S5Hfn8ZeTx9ZCJNM5z7UVbQRuATdBAcL7hJkCKPp6VMAY4Uud1dFA5X0pAhdxS5PBxq\nBbItlv8CLVq0oFq1BFauHE9ubi9CoYlUq1aNNWu2kZ1dGTgX2ITbXZb8/HOAuzAjxo3EYmF+/LEv\nY8a8iHQ2sIzBg0eQm5vN4MGDcLlcdhS/B3744Qf8/sZkZ1d1vvESi3mJx6OY0XlrYDV5eZlALUzx\n83uBYUAWXu8SolE3JrvnNGAjgUAdTjutNjk5LlJS+nDssS1p3LixrY3rUORPOIvlYCQzM1NXXXW9\nOnXqqcGDb1MkEtEDDzykihXrKeX/7Z15eNTVucc/s2SSWbIBCRAIS0BQQGSNKIgRFMWNYlGhCrJY\nrMjiBlXaWq64XC1e64JV2ypixYqoKFSqXBChilIUohQQFFCqwAUlgSSELPO9f5wTliqKZsKEeD7P\nkyczk9/M7z1n4D3nvGt6YwUCZ9gQvHOtbffeQ+y6P5EJlewqeFowXh5Psvz+JPn9QV177QQVFhbG\ne4i1ii1btigYrC9Yfchu/HQ7txGZOkA9BddYR+kCwTPy+Xpq6NDRevvtt5Wc3FimVd4z8vtvUKNG\nOdq9e3dcxkMNOFRjTVwmxuGozUybNk2BwHiZPptB68DLE5Ra5d5DkChTfEyCKYJeMv1azxIE5fUm\naeTIMaqsrIz3cGoN9947TSZZrIHgS5n+pmfL9MT9myBH8L5gnCAs6CyPp5l69+6vsrIyVVZW6sEH\np6t//8s0evR4bdu2LW5jwSl3h6N2snXrVs2aNUvz589XeXn5YX9bsWKFAoE0mWSZBTZ6pqdVQh2s\nwvfLZK3KKv6FMhmxw2QaMBcqFDpN06f/4Wv3rqys1COPPKqBA4fqhhsm6csvvzxWw44LhYWFGjx4\nhLzekN2tX2zn6DQbAdNcMEAm47SHTLLSg3Z+31MwmKfp06fHexiHgVPuDkftwzhUM5ScPEiRSHed\nemof7d+//7BrsrLaWKUj62BtLUApKZlaunSpBgy4XD7fmdZ000bw34Iu1vlaZb6ZoNTUFmrVqotu\nu23qgezJsWNvUijUXfCEAoFr1KJFO+3duzceU1Et8vPzNXfuXG3cuPGw14uKijRx4kT173+Jzjjj\nbK3tUwgAABbzSURBVPl8Abso9rWnoQxrmjlJsN0unol27oJ23h+ScXK3EyTrggsGxGmU3wxOuTsc\ntY8TTugiU5vE1DcJhfrp0UcfPeya1q27yNR+X26v+0heb7K2bNkiSdq/f79OPrmHPJ4m8np7W6WU\nKRM7L8EKmTjtFwTLFQr10NixN+qee+6R1xuwZgmzCEQifTVnzpx4TMUP5je/mapQKEspKRcoGMzQ\njBkzJUlffPGFwuGGglNkaqm3FIySSRBrIOgmeEzgs6/JKnVTA8hEyJwvk8C06sDiGgik6quvvorz\nqA9CDdRzdzgc1WTHji+AHvaZl5KSU/n88y8Ou2b48MsJBBpgysh2ADoxYcI1NG/enGg0yl133cVH\nH21HeohoNA2TGN4TU0/+TEzfzgmYErQ9KCn5LdOnP8avfvUvotEopmtQFRHKysqqNabS0lLef/99\nNm7ciGood6WiooJoNMq6deuYNm06JSWr2LNnLvv23cTVV/+cefPmMWzYLygu3oupdvIJpkRAe0xZ\nh79jKqFMwOjGxZgWeDmYUsrLMKHjJwJNgE72zt1ISmrOpk2bamRcdZV4L4AOxzGnX79LlJAwXlAp\n+EyhUI4WLFhw2DWVlZWaMuVOZWW1VdOmbfWHP5idfTQa1UUXXa7ExFbWPtxQ0N46ACusnXiOvN40\neTxj7M6zXNBRJtsyx+5Kzxe8JBioYDBF69at0yuvvKJLLhmmq676hdatW3fU4/nkk0+UldVaKSkd\nFAw20uDBI2LqyC0qKtKFF14mny9BCQlBXXHFVUpN7Wvnb4CMM/lGeb0pdgdeX8bZnGRNMUV2zJvt\nfBTJRMcMsCatiDXLXC8TTXOCPQmtt9evUTCYrp07d8ZsTNUFZ5ZxOGofO3fuVPfuefL7k5SQENTd\nd0876ve+8MILSkhoLsi3tuLrBN1lokB2C4oFuTJhkqlWYfWVqT7ZWqYF3A2CEVapDZLPd7EikfoK\nBrMFj8vjuUORSIY2bNhwVDL16HGOvN6qUM1ihcOn6qmnnvqh0/M1RowYo6SkywQlgn8rKekE63B+\n1C5sZTIlGYIyYaLNrMnlBMF5ghOtSeZUa4J5WBCS19tMEJTHk6Jx48YpHO4o2GPHMVweT1ipqT0U\nDNbT008/E7PxxAKccnc4ai9FRUVfi5T5NjZv3qxQKE1whlVAvaydeLhggrUnDxL0E0RlsjEvtUrv\nQYFHJj7+Bav8fqeDztfmgsV2tzpa0EkXXfSTA/eORqPasmWLNm3a9LVs2PT0pjqY+SnBVE2ceEvM\n5qlZsw46aP+W4AH16XOeAoGQTKRQuT3FJNsFroeMMzQkU+yrnkxtmEsFjeX315PPd+OBz/N679ZF\nFw3W8OHXKhhspJSUrqpfv6kWLVqkZcuWHVaHpraAs7k7HLWXcDj8vboojRlzPSUlQ4CPMCWBbwDm\n2p8BGPvyW5julh5M+77f28f9MO0VGmJK2G4HOmJqAD6HKTO8G9MasBkwgQULVvLYY39k27ZtNGvW\njpyczrRtm0uvXv0oLi4+IFfbtifh9T5vn5UQDv+NDh0OljquLo0aNQTes89EIPAevXufzvr1awiF\nPsDYxjcBScATmHqGmUAFXu9tQASYbX8+o7LSS2Vld/t5zxONvsiiRf9gwIB+rF79Jq+99jCbN6+l\nT58+9OrVi8aNG+P4/sR7AXQ4jgsefvgP8vky7E70HcHJgoh8vrA8nqBMZE2C6tVrqmAwS6ZaYbEC\ngRE68cTOCoVOEvxSkCLIlikd3MruarNl7NP1rMmmaof8tpo0OVFpaVl2x18mKJfPN0jjxk08IFuV\nzT052djcL798eExt7u+//76SkzMVDg9RJHKOWrU6WQUFBZKkyy8fak8hI2Ts5iF7SukmExqaYs0z\nUVVFJ3k86QoGc60pJ1vG9/CCQqEmmjdvXszkrklwO3eHo24wdeo0Kit/i6l3UgQ8hd/fGp/Ph/Q6\nZtc9g6++2kNZ2W58vtPx+dLp1GkTl1zSn4EDu3LBBVvo2/d0kpPLgQrg35jePH0wu/f6mAYhVSSx\nb99e9u71YU4FCZiaLCNYvnzVgatycnL45JMPefPNmeTnL+XZZ5/A6/1+akYSM2bM5Kc/vYrx429m\n+/btABQWFrJo0SIyM7MIh5fTp08y7723jNTUVAA2b96GiSZ6A7gWc4KJYHbvKzCnEwHXYCJjhtKk\nSSYjR/bEnHx+h2mScgklJXfx0ENPfS+5axuucJjDcZxRUVEOnI0xrUwEdpCb24YVK8qBXkA+cD0w\nn8rKdvj915GSspiVK1ezYkUnEhI2EAptYv/+KKWlszHlaztjwgVPBiZhumE+hCmc1YRw+FbOPfcs\nnn9+OaZdw0ArzfMEAhXcf//95OXl0blzZ5KSkigtLeWDDz5gz549dO3a9TD5d+3axbp162jatCkN\nGzYkGAweVuBsypQ7ue++2RQXT8DvX8OMGR1p0KAxn376CdGoB5gGvM28eYvp0KErw4cPoaRkH++9\n90+MiakbRpG/Yp+fhCn+tQbYD8zH632ZrKx08vPfpl69eqxfv5lFi/YdIuU+AgGnHmNFvE83Dsdx\nwaRJv7b9PJcInlQo1EBr1qxRVlZrwUzB/8hEzkRliowly4QEvmijRS6USbfvd8A8YcIBu8qEUe60\n771bkKYmTdpp8uTf6Pbbb7emjuaCJjJRJ8kKhfKUmDhWwWCmZs9+Xr/85W0KhZorHB6ipKSGmjLl\njgOyv/766wqHGygS6SiIyOMxXZAWLlwoSSovL5ffHz7EKfu0THRPd8E5grEyNWAul4l+aSeYaOVe\nJlPoK0OwViYiqKqE8jV2nFvl8bTS5MmTDzMXLV68WKFQpkz0zIMKBhto2bJlx/y7/SHgomUcjrpB\nZWWlbr/9brVvf7p69jxPy5cvl2RS8DMzm9vQwJ6CG63tPMMq43EymZpbZYqKtRTst0p0vrW917fP\nb7KKc5y83kz5fPWtAn3J2vhbyKTtn3aIDftdpaRkKikpQ6boVgeZEMyQ/P6Ihg8frUikgWCRXSBm\n2Pe+qkAgohtvvFEpKZkytdJ32c/sL3jEjmO8TDx6E8EamfovW2VaFPoEX9n33iXjd2gjCMvrrafD\nI2we0lVX/eJr8/rmm29q0KCrdNllw/XWW28d66/1B0MNKPdLMW1JKoFvK1p8HqaD7EYO9lz9JuI9\nRw7HcU95ebnWr1+vNm062V12M6vkRtvf99kd7a8FfQQd5PFcrWAwS92797a7/ElWye+WcUieJRMz\n75dJ+kkSfCHjlB19iNIsktfrV2pqD/uey+39G9uFItEuEJtknJeSSSZqZHfm6TJlE86yu/SlMs7Q\nK2RKCAy012bKtCRsb8dyol1wfiET6rlVpk7MaoXDvdWuXa683qpQz0olJV2iu+6qO71mqQGH6ocY\nw9vSb7nGh4m1Og/Tsn0IxgDmcDhqAL/fT9u2bXnppWcIBNIw5QcKgAaYtsf3YEIDp2LS8G/D653F\nzTePYu3aAmA5sAjTzz6KCZ/8KfBPTGr+rfb1FcCDGOfrcmAb0I1oVBQW5gMrMWGXXuC/MSGaEUyp\ng/esTB9jwi1zgR2Y1oI+zF7xVIw/YSPwvJW/DNN6sAQYZ99/JsY/MBioKtvQE3iGxMR7aNJkL7Nn\nP0G9eg+RktKHSKQL7dvv4vrrx8dkvmsz1VHu6zGBsd9GLuYb2AKUA3/FuLAdDkcN0qZNG7Ky0vF6\ns4G2GOfoh/h8xcBOzGbPC1yAz+cnISGB8vI8zB6sI/AlppZNI+Ax4ArgYuBlTBzGCKArJg5+IHAC\nZt92Jwc3koXAZ5j6LBdgFPlcYCymD2lHTGRPGBOZk4hR4n/FKOrdmEiXlzHO0FTgVpKS6pOQ8Blw\nlpV3KPAAZu84h0CgjN69/85tt53MypVv0r59ez7++AOee24S8+c/wPLl/0sweGg9HceReIMjm2UG\nYTr8VnEl5l/ZNxHv043DUaf47LPP1LPnuUpJaaiTTuquli07KCFhlEx528GCGQqF+ujSS4dp4cKF\nCodbCR6XiQlfKRMXvtHar1ccML/4fJ2s3TtozTRVWa33WzPMZms2iVgzTD0Ze383mZo3RYKph/w9\n1T4+zZqFrpVxgHoFV9rP3y24XZCo3//+91a2h2X8Bh8InhU0U0ZGG/3pT0/Ee+qPKfxAs8xCjPnl\nP38u+o73HVDYR3mdw+GIMdnZ2fzjH3+nsHA7Tz75ELt2QXn5H4F3gZZ4vTcxbtypzJr1Z84++2yu\nv34YXu844FzMrrwtxoTiwezQq2iIx5OKMc/4MaaeAkyI4jVAC4xpZBEJCcLEnv8PkI4J4bwes8Nv\niKnSGAWaYkwryzEhmcvsvRZisnDTgDQyMrL46qsCTMjmXzCVLvsAI7jggly2bv2AUaNGxHIaj1u+\nK5DznGp+/udA9iHPszHZEt/IlClTDjzOy8sjLy+vmrd3OByAjSOv2mslA7eTmDiD0aOvPlD24I47\nbiMnpyljxz7Avn23Yg7Z52ESmq7G2N83EAisJDExQEFBJsY2vhljInkdsxgIsyBspn79RhQV7aWo\nyIuJj5+AUcrdMFbdvwJXYUw3fwFGAgvw+caTllZCQUEKlZVVcfKV3Hnng3z++Ta83lyi0QyMmac1\n9eptZf78qrIHdZslS5awZMmSY3KvNzDL/DfhxyzDLYAAsJojO1TjfbpxOOosZWVlat8+V4mJowQv\nKSnpUvXqde7XCn9Fo1FbeTFDycntlZHRTHfffbfy8vorPT1bLVuerAULFujTTz/VoEFD5fdnWjPK\nWdY0kytTwOsKQViPP/64cnPPUjB4vkzbvxQbFfOGNan0lwmbzLZRMEH5fPWVnt5MwWAzJSS0k4mH\nT1Y4fLFCoRYaMmS4IpEMeTzTBM8pFDpJv/vd/XGa2fhDDVhIBgJbgX2YNLAF9vUszBJdRX/Muepj\njKv9SMR7jhyOOk1BQYHGjLlBZ5xxoW6+ebJKSkokSaWlpXr88cc1depULVmyRJKpOrlq1aoD17z6\n6quKROrL7w+pceNWys/PlyR17HiGTHLUKTL15EcL7pDHc66ys9uqtLRUpaWlGjVqlLzeBoKRNnTx\nFkGhTDhmgny+sK67bryWLFmiF198UaFQC5kuSd1lQi9X2/DGAYIU5eR00Dnn/ER9+vxETzwx42uL\n1I+JmlDusSbec+Rw/OjYv3+/unbtrVCon7zeWxQKZWv69INt/vbu3auf/3yMvN5k6ySVYKYyMpqr\nrKxMM2f+RcFgM+ugbSGIKDOzjQYOvFLbt2+XZBYGny/d7s5HCy6SiXvvLFPIK6Li4uID95w9e7aS\nknLtSeB563CttIr+ZsEGeTwPqX79ptq9e/cxn7PaBk65OxyO/2TOnDmKRHpa5Wn6syYlJSsajaq8\nvFydO/eS359nzS7/lKm4eKUSE+sd6OHarVtv27v1KQUCg3XKKadr7dq1GjPmeg0bdo26dTtLJnP0\nGZkkpIYyFSdvUyDQSpMm/fowmTZs2GCzSmfKZLC2Ekyz763KhpVSUs7U66+/Ho9pq1VwBOXuKuM4\nHD9iCgoKkFpxMHCuJWVlpVRUVJCfn8/GjbuoqHgGY13tD0wGwuzfP5933nmHQCDAhx9+SDT6ORCk\nrOxKNm48iW7dzmDfvmuRWuDxVDk6L8QkMj0MzCQnJ5tJk25h9OhRh8l0wgkn0K3bKaxYsQvjmJ2L\nibIpwMTOpwEVRKM7iEQiNTo/xzNOuTscP2LOPPNMpFuAV4GuJCRMJTf3LBISEqisrMTj8WMqRjbF\nJAndYN/ZgGnTHuG0007D40nAxEsAeCkvL6Gi4mqkqQBI5cB/YRKZbgY6k5a2hpUrF5Oenv6Ncj36\n6H306tWPkpI9QALBYAV5eefz5pt9KSm5jGBwMV26tCQ3N7dmJqYO4JS7w/EjpnXr1syb9xwjR45n\n167t9OzZm1mzZgHQuXNnGjdOoLR0POXljTDdjapIorKykuzsbDp2bE9+/tXs3z8Sv//vBAJllJfX\nO+TanjRu3Ij09FK2b7+Zzp1PZMaMFUdU7FX3fuedxTz22JNEo1FGjXqNLl26MGvWLN59933atr2Y\n0aNH4/P5amReHLEl3qYrh8PxH+zatUtDh45W69adrFN0luBlhUI5evJJ0/i6sLBQI0aMUbt2p2ng\nwCs1d+5chUINrTP0V/L7G2nYsBE1Il9xcbF+9rNRSk1trOzsdnr55Zdr5D61GY5gc/d804txwsrp\ncDhqI6+99hpTpz5AWVkFY8cOY9iwK4947auvvsqQIdewd28m0nmEwy8yZswg7r13akxlGjx4JC+/\nvJfS0vuAjwmFhrB06atfaxBSl7GNTr6my51ydzgcMefdd9+lb9+hFBevwdjjdxII5LBjx1bS0tJi\ndp/k5AyKivIx6TXg803i9tvTmDx5cszuUds5knJ3PVQdDkfMKSgowOfL5qCjtQF+fzJ79uyJ6X3C\n4VRM0VlDILD5QE/VHztOuTscjpjTrVs3PJ61wNPADny+O2jUqAFNmjSJ6X0eeOAugsGf4vH8mqSk\nwTRsuJahQ4fG9B7HK84s43A4aoRVq1ZxxRXX8Nlnm+jYsQvPPfdnsrOzv/uN35O3336b1157nfT0\nNEaOHElKSkrM71GbcTZ3h8PhqIM4m7vD4XD8iHDK3eFwOOogTrk7HA5HHcQpd4fD4aiDOOXucDgc\ndRCn3B0Oh6MOUh3lfinwL6AS6PIt120BPgBWASuqcT+Hw+FwHCXVUe4fYvqoLv2O6wTkYYpCf6/i\ny8eqw/exoi6Npy6NBerWeOrSWMCN54dSHeW+HthwlNf+oGQp96XWXurSWKBujacujQXceH4ox8Lm\nLuB/gZXAz4/B/RwOh+NHz3d1YloINPqG1ycD847yHj2BbUCG/bz1wLKjFdDhcDgc359Y1JZ5A7gJ\neP8orv0tUATc9w1/Ww2cEgN5HA6H48dEPtCpJj74DeBIbU9CQLJ9HAbeAvrVhBAOh8PhiA0Dga3A\nPmA7sMC+ngX8zT7OwezIVwNrgFuPsYwOh8PhcDgcDoejJjkP43jdCPwyzrJUlyeAHZi8gLpANsYU\n9y/MaWx8fMWpFknAu5iT5Vrg7viKEzN8mKTBow16qM1soe4kQaYBc4B1mH9vPeIrzrHHB3wMtAAS\nMP/xToqnQNXkDEwCV11R7o046LyJAB9xfH8/IfvbD7wD9IqjLLHiRuAZ4JV4CxIDNgP14i1EjHgK\nGGkf+4EabfZaG2vL5GKU+xagHPgrMCCeAlWTZcDueAsRQ7ZjFlwwkU/rqGo9f3xSYn8HMBuLr+Io\nSyxoCpwP/Ina1WmtOtSFcaRiNnpP2OcVQGFN3rA2KvcmGEdtFf+2rzlqHy0wp5J34yxHdfBiFqsd\nGHPT2viKU23uByYC0XgLEiPqShJkS2An8CQmbPyPHDw11gi1Ubm7RqrHBxGM/XACZgd/vBLFmJma\nAr0xdZCOVy4E/g9jn64Lu10wSZCdgf7AdZjd7/GIH1Ng8RH7uxi4pSZvWBuV++cYp10V2Zjdu6P2\nkAC8APwFmBtnWWJFISaEt1u8BakGpwMXY+zUzwJ9gJlxlaj6bLO/dwIv8T2LD9Yi/m1//mmfz+Hb\nq+nWSfzAJ5gjf4Dj36EKZix1xaHqwSiM++MtSAxogIlgAAhiKpz2jZ84MeVMjv9ombqWBLkUaGMf\nTwHuiZ8o8aM/JgrjY47/xKdngS+A/Rhfwoj4ilNtemFMGasxx/9VmNDV45GTMfbP1Zhwu4nxFSem\nnMnxHy3TkrqVBHkKZueeD7xIDUfLOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4\nHA6Hw+FwOBwOR43y/4uja2hnCRhvAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded764450>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(sampled_values, 0.5 * np.ones(sampled_values.shape), 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 3: Weighted mean"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"weighted_mean = conditional_gmm.priors.dot(conditional_gmm.means)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded6a4510>]"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded7c39d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(X, proba)\n",
"plt.plot([weighted_mean, weighted_mean],[0, max_proba], 'r')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** This is not desired **"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded79e3d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(weighted_mean, 0.5, 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** This is not desired **"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Method 4: Mean of most important Gaussian"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-1.5, 1.5)"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded7a9e10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"max_weight = np.max(conditional_gmm.priors)\n",
"max_ind = np.where(conditional_gmm.priors == max_weight)[0][0]\n",
"\n",
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(conditional_gmm.means[max_ind], 0.5, 50, 'r')\n",
"plt.xlim([-0.1,2 * np.pi + 0.1])\n",
"plt.ylim([-1.5,1.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ranking\n",
"\n",
"- Max\n",
"- Mean of most weighted Gaussian\n",
"- Sample\n",
"- Weighted Mean"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bigger redundancy: the need to adapt the number of gaussian"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generate more redundant data"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"rng = np.random.RandomState(10)\n",
"X = np.linspace(0, 6 * np.pi, 1000)[:, np.newaxis]\n",
"Y = 6*np.sin(X).ravel() + rng.normal(0, 0.5, X.shape[0])\n",
"Y = Y[:, np.newaxis]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot data"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded849ed0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Build Tree to find NN"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.neighbors import KDTree\n",
"X_tree = KDTree(X, leaf_size=2)\n",
"Y_tree = KDTree(Y, leaf_size=2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Inverse Model\n",
"\n",
"## Find local data for y=3"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"_, ind = Y_tree.query(3, k=100) \n",
"local_X = X[ind]\n",
"local_Y = Y[ind]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot local data at y=3"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nYgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded614a50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(local_X, local_Y)\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fit local GMM with 3 components"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"GMM(covariance_type='full', init_params='wmc', min_covar=0.001,\n",
" n_components=3, n_init=1, n_iter=100, params='wmc', random_state=None,\n",
" thresh=None, tol=0.001)"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"local_gmm = GMM(n_components=3, covariance_type='full')\n",
"local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))\n",
"local_gmm.fit(local_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot local GMM"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"local_gmminf = gmr.gmm.GMM(3, \n",
" local_gmm.weights_, \n",
" local_gmm.means_, \n",
" local_gmm.covars_)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ellipses = local_gmminf.to_ellipses(2)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded743210>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.patches import Ellipse\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(local_X, local_Y)\n",
"\n",
"\n",
"for ellipse in ellipses:\n",
" e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])\n",
" ax.add_artist(e)\n",
" e.set_clip_box(ax.bbox)\n",
" e.set_alpha(0.5)\n",
" e.set_facecolor(rng.rand(3))\n",
"\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**There is not enough gaussian to model this properly**\n",
"\n",
"Such problem are arise quite often in our simple example, e.g. multidimensional arm\n",
"\n",
"**Note that the same problem might arise with a simple NN model if we take the weighted mean of more than 1 neigborh**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## We compute and plot the conditional for y=3"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"conditional_gmm = local_gmminf.condition([1], [3])"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded68de50>]"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded71c050>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"proba = conditional_gmm.to_probability_density(X)\n",
"plt.plot(X, proba)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Find the Max"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"max_proba = np.max(proba)\n",
"max_id = np.where(proba == max_proba)[0]\n",
"max_value = X[max_id][0,0]"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded72b9d0>]"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded871690>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(X, proba)\n",
"plt.plot([max_value, max_value], [0, max_proba] , 'r')"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded892710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(max_value, 3, 50, 'r')\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** This is not desired **"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Would DPGMM solve the problem?\n",
"\n",
"Short answer: I did'nt succeed, on paper it is what we look for but in pratice it did not work on this simple example.\n",
"\n",
"I tried as above, simply replace GMM by DPGMM. It looked to me some prior was pulling Gaussians towards [0,0] but I am not sure at all..\n",
"\n",
"So I tried scaling the data, but this didn't help.\n",
"\n",
"## Fit local DPGMM"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"DPGMM(alpha=1, covariance_type='full', init_params='wmc', min_covar=None,\n",
" n_components=10, n_iter=10, params='wmc', random_state=None,\n",
" thresh=None, tol=0.001, verbose=False)"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.mixture import DPGMM\n",
"local_gmm = DPGMM(n_components=10, \n",
" covariance_type='full', \n",
" alpha=1,\n",
" tol=1e-3, \n",
" params='wmc',\n",
" init_params='wmc')\n",
"local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))\n",
"local_gmm.fit(local_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Play a bit with the parameter to get a sense of what is a happening: http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM**\n",
"\n",
"## Plot local GMM"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"local_gmminf = gmr.gmm.GMM(local_gmm.weights_.shape[0], \n",
" local_gmm.weights_, \n",
" local_gmm.means_, \n",
" local_gmm._get_covars())"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ellipses = local_gmminf.to_ellipses(2)"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded655490>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.patches import Ellipse\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111) ##, aspect='equal')\n",
"ax.scatter(local_X, local_Y)\n",
"\n",
"\n",
"for ellipse in ellipses:\n",
" e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])\n",
" ax.add_artist(e)\n",
" e.set_clip_box(ax.bbox)\n",
" e.set_alpha(0.5)\n",
" e.set_facecolor(rng.rand(3))\n",
"\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note that the Gaussian you see at [0,0] are the ones that are not in use, there is a way to know this. See here: http://scikit-learn.org/stable/auto_examples/mixture/plot_gmm_sin.html#example-mixture-plot-gmm-sin-py**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Let's try to estimate the number of clusters with a clustering algorithm\n",
"\n",
"See: http://scikit-learn.org/stable/modules/clustering.html\n",
"\n",
"I picked: http://scikit-learn.org/stable/modules/generated/sklearn.cluster.AffinityPropagation.html#sklearn.cluster.AffinityPropagation\n"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"We found 6 clusters\n"
]
}
],
"source": [
"from sklearn.cluster import AffinityPropagation\n",
"\n",
"af = AffinityPropagation(damping=0.6)\n",
"af.fit(local_data)\n",
"n_clusters = len(af.cluster_centers_)\n",
"print(\"We found {} clusters\".format(n_clusters))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot the clusters"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded709ed0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111) ##, aspect='equal')\n",
"ax.scatter(local_X, local_Y, 5)\n",
"\n",
"for cs in af.cluster_centers_:\n",
" ax.scatter(cs[0], cs[1], 100, rng.rand(3))\n",
"\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Let's use this number ot fit the GMM"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"GMM(covariance_type='full', init_params='wmc', min_covar=0.001,\n",
" n_components=6, n_init=1, n_iter=100, params='wmc', random_state=None,\n",
" thresh=None, tol=0.001)"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"local_gmm = GMM(n_components=n_clusters, covariance_type='full')\n",
"local_gmm.fit(local_data)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"local_gmminf = gmr.gmm.GMM(n_clusters, \n",
" local_gmm.weights_, \n",
" local_gmm.means_, \n",
" local_gmm.covars_)"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ellipses = local_gmminf.to_ellipses(2)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\np757ERERERERERERERERERERERERERERERERkT35f0+rUswd2PKYAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded5d0d50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"from matplotlib.patches import Ellipse\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(local_X, local_Y)\n",
"\n",
"\n",
"for ellipse in ellipses:\n",
" e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])\n",
" ax.add_artist(e)\n",
" e.set_clip_box(ax.bbox)\n",
" e.set_alpha(0.5)\n",
" e.set_facecolor(rng.rand(3))\n",
"\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compute the conditional for y=3"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"conditional_gmm = local_gmminf.condition([1], [3])"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded512650>]"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nRM7d/wfxYTx6JMGvzgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fededb3cd10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"proba = conditional_gmm.to_probability_density(X)\n",
"plt.plot(X, proba)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Find the max"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"max_proba = np.max(proba)\n",
"max_id = np.where(proba == max_proba)[0]\n",
"max_value = X[max_id][0,0]"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7feded52e910>]"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fedf0a49850>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(X, proba)\n",
"plt.plot([max_value, max_value], [0, max_proba] , 'r')"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(-6.5, 6.5)"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7feded63c350>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(0)\n",
"ax = fig.add_subplot(111, aspect='equal')\n",
"ax.scatter(X, Y)\n",
"ax.scatter(max_value, 3, 50, 'r')\n",
"plt.xlim([-0.1, 6 * np.pi + 0.1])\n",
"plt.ylim([-6.5,6.5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Look good!**\n",
"\n",
"# Discussion\n",
"\n",
"Finding the max of the conditional gmm is to be privileged. The weighted mean inevitably will give wrong answers. \n",
"\n",
"Finding the maximum is impossible analytically. Think of those cases when the maximum might not be unique (e.g. two Gaussians well separated of equal weights), it makes it really hard to find an analytical solution. I am sure talented mathematicians worked hard on this, if nothing is out there yet there must be a reason.\n",
"\n",
"Some have tried with gradient descent sort of things:\n",
"\n",
"- Pulkkinen, Seppo, Marko Mikael Mäkelä, and Napsu Karmitsa. \"A continuation approach to mode-finding of multivariate Gaussian mixtures and kernel density estimates.\" Journal of Global Optimization 56.2 (2013): 459-487. https://www.researchgate.net/profile/Seppo_Pulkkinen/publication/255996172_A_continuation_approach_to_mode-finding_of_multivariate_Gaussian_mixtures_and_kernel_density_estimates/links/00b495215e455d90ed000000.pdf\n",
"\n",
"- Carreira-Perpiñán, Miguel Á. \"Mode-finding for mixtures of Gaussian distributions.\" IEEE Transactions on Pattern Analysis & Machine Intelligence11 (2000): 1318-1323. http://faculty.ucmerced.edu/mcarreira-perpinan/papers/cs-99-03.pdf\n",
"De le même personne: http://www.cs.toronto.edu/~miguel/research/GMmodes.html\n",
"Code matlab: http://www.cs.toronto.edu/~miguel/research/software/gm_modes.tar.gz\n",
"\n",
"- des slides: https://www.utu.fi/en/units/sci/units/math/Research/optimization/Documents/sovmat13012012.pdf\n",
"\n",
"\n",
"But, as the function is generally very smooth, it should be easy to find the maximum using an optimization algorithm. CMA-ES should perfectly do the job, a quick study could be done on which initialization parameter to use.\n",
"\n",
"I propose the following for initializing CMA-ES: \"mean = centroid (pondéré) des Gaussiennes de la GMM à évaluer, sigma = covariance (pondéré) des centres par rapports au mean(centroid) + régularisation sur la diagonale\"\n",
"\n",
"Finally, in most scenario, it is way better to get stuck in a local maximum than sampling randomly or using the weighted mean. The next option is thus to take the mean of the Gaussian that has the largest weight.\n",
"\n",
"\n",
"## Calinon's work and ILO-GMM paper\n",
"\n",
"For Calinon's work and ILO-GMM paper, I believe the weighted mean works because of the properties of the problem, i.e. trajectories. You are never at two positions at the same time. Or, if time is not in the input space, the feature are made such that the model is unimodal (e.g. adding current speed (dx, dy)).\n",
"\n",
"It would be worth checking Calinon litterature to see if they tried the following XP: A user move an obect from position A to B in straight line. We place an obstacle on the way. The user now decide randomly to go one side or the other of the obstacle. \n",
"\n",
"This creates a bimodal dataset, very similar to what we encounter in inverse model for robotics. Taking the weighted mean would make you run into the obstacle.\n",
"\n",
"How would Calinon's work handle this? I guess they run very early into such problems and might have found a solution. It is worth investigating.\n",
"\n",
"\n",
"# Conclusion\n",
"\n",
"It is important to consider the problem of redundancy/multilodalities/multimodes when designing our algorithms. Such problem is omnipresent in our robotic experiments when considering inverse models. \n",
"\n",
"NN (with k > 1) is not solving this problem. ILO-GMM, which models the multimodality, is promising but could be improved by adapting the number of Gaussians. For this we proposed to use a clustering algorithm.\n",
"\n",
"The clustering algorithm might fail when the data are not well separated but still non-linear. In such case, the clustering algorithm might tell us there is only one cluster, but modeling with one Gaussian won't be enough. To limit that problem we could:\n",
"- start by enforcing a minimum in the number of Gaussian to use, e.g. 3.\n",
"- use 3x the number of clusters as the number of components of the local GMM\n",
"\n",
"It would be nice to make a proper benchmark with a similar problem in a more concrete scenario, e.g. multi-segment arm.\n",
"\n",
"A future consideration should be the definition of locality, we consider each dimension as having the same local importance, that might not be the case in many practical problem. Can the robot/agent finds out by itself the weight to assign to each dimension for defining locality?"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
# coding: utf-8
# **The following serves as a simple introduction to ILO-GMM. It also illustrate, using carefully selected examples, problems we might encounter when learning forward and, especially, inverse models.**
#
# # Overview
#
# We compare different inference method for ILO-GMM:
# - Weighted mean of the Gaussian center by their relative importance
# - Max of the probability distribution
# - Mean of the most important (bigger weight) Gaussian
# - Sampling the probability distribution
#
# The data are sampled from a 1 period sinus with a small Gaussian noise.
#
# We investigate the forward and inverse model. We show that the inverse problem, which illustrates the redundancy/multimodal/multimodes problem, poses problem to some infering methods.
#
# We conclude that, for most practical robotic problems involving inverse models, the order of inference methods to use is as follow:
# - Max of the probability distribution
# - Mean of the most important (bigger weight) Gaussian
# - Sampling the probability distribution
# - Weighted mean of the Gaussian center by their relative importance
#
#
# We then consider the problem of redundancy using a 3 period sinus. This problem helps visualizing a limitation of ILO-GMM that is the fixed number of Gaussian. We explore briefly two options:
# - DPGMM: http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM
# - use of a clustering algortihm to identify the number of modes. DPGMM, wile showing promises in theroy, is not convincing experimentally on our simple example. The clustering shows more practical promises.
#
#
# # Before starting
#
# The code below requires the following python modules:
# - http://www.numpy.org/
# - http://scikit-learn.org/stable/index.html
# - https://github.com/AlexanderFabisch/gmr
# - http://matplotlib.org/
#
#
# # Simple 1 period Sinus
#
# ## Generate data
# In[1]:
import numpy as np
rng = np.random.RandomState(10)
X = np.linspace(0, 2 * np.pi, 500)[:, np.newaxis]
Y = np.sin(X).ravel() + rng.normal(0, 0.1, X.shape[0])
Y = Y[:, np.newaxis]
# ## Plot data
# In[2]:
import matplotlib.pyplot as plt
get_ipython().magic(u'matplotlib inline')
# In[3]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ## Build Tree to find NN
# In[4]:
from sklearn.neighbors import KDTree
X_tree = KDTree(X, leaf_size=2)
Y_tree = KDTree(Y, leaf_size=2)
# # Forward Model: example of unimodal/grouped data
#
# ## Find local data for x=1
# In[5]:
_, ind = X_tree.query(1, k=50)
local_X = X[ind]
local_Y = Y[ind]
# ## Plot local data at x=1
# In[6]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(local_X, local_Y)
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ## Fit local GMM with 3 components
# In[7]:
from sklearn.mixture import GMM
# In[8]:
local_gmm = GMM(n_components=3, covariance_type='full')
local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))
local_gmm.fit(local_data)
# ## Plot local GMM
#
# Here I switch to https://github.com/AlexanderFabisch/gmr because there is a simple interface for conditional distribution and ellipse drawing
#
# However I fit the GMM using sklearn because I will later use the DPGMM from sklearn, so it is all consistent and it help see where to find the code to reimplement all this in a uniform python module.
# In[9]:
import gmr
# In[10]:
local_gmminf = gmr.gmm.GMM(3,
local_gmm.weights_,
local_gmm.means_,
local_gmm.covars_)
# In[11]:
ellipses = local_gmminf.to_ellipses(2)
# In[12]:
from matplotlib.patches import Ellipse
fig = plt.figure()
ax = fig.add_subplot(111, aspect='equal')
for ellipse in ellipses:
e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(0.5)
e.set_facecolor(rng.rand(3))
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ## We compute and plot the conditional for x=1
# In[13]:
conditional_gmm = local_gmminf.condition([0], [1])
# In[14]:
YY = np.linspace(-1.5, 1.5, 500)[:, np.newaxis]
proba = conditional_gmm.to_probability_density(YY)
plt.plot(proba, YY)
# ### Method 1: Find the Max
# In[15]:
max_proba = np.max(proba)
max_id = np.where(proba == max_proba)[0]
max_value = YY[max_id][0,0]
# In[16]:
plt.plot(proba, YY)
plt.plot([0, max_proba], [max_value, max_value], 'r')
# In[17]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(1, max_value, 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Method 2: Sample from distribution
# In[18]:
sampled_values = conditional_gmm.sample(10)
# In[19]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(np.ones(sampled_values.shape), sampled_values, 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Method 3: Weighted mean
# In[20]:
weighted_mean = conditional_gmm.priors.dot(conditional_gmm.means)
# In[21]:
plt.plot(proba, YY)
plt.plot([0, max_proba], [weighted_mean, weighted_mean], 'r')
# **Note that it is not the max.**
# In[22]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(1, weighted_mean, 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Method 4: Mean of most important Gaussian
# In[23]:
max_weight = np.max(conditional_gmm.priors)
max_ind = np.where(conditional_gmm.priors == max_weight)[0][0]
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(1, conditional_gmm.means[max_ind], 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Ranking
#
# - Max
# - Mean of most weighted Gaussian
# - Weighted Mean
# - Sample
# # Inverse Model: example of redundancy/multimodality/multimodes
#
# ## Find local data for y=0.5
# In[24]:
_, ind = Y_tree.query(0.5, k=50)
local_X = X[ind]
local_Y = Y[ind]
# ## Plot local data at y=0.5
# In[25]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(local_X, local_Y)
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# **This is the problem of redundancy**
# ## Fit local GMM with 3 components
# In[26]:
local_gmm = GMM(n_components=3, covariance_type='full')
local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))
local_gmm.fit(local_data)
# ## Plot local GMM
# In[27]:
local_gmminf = gmr.gmm.GMM(3,
local_gmm.weights_,
local_gmm.means_,
local_gmm.covars_)
# In[28]:
ellipses = local_gmminf.to_ellipses(2)
# In[29]:
from matplotlib.patches import Ellipse
fig = plt.figure()
ax = fig.add_subplot(111, aspect='equal')
for ellipse in ellipses:
e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(0.5)
e.set_facecolor(rng.rand(3))
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# **Note that the GMM model well the bi-modality of the data**
# ## We compute and plot the conditional for y=0.5
# In[30]:
conditional_gmm = local_gmminf.condition([1], [0.5])
# In[31]:
proba = conditional_gmm.to_probability_density(X)
plt.plot(X, proba)
# **Note that the GMM model well the bi-modality of the data**
# ### Method 1: Find the Max
# In[32]:
max_proba = np.max(proba)
max_id = np.where(proba == max_proba)[0]
max_value = X[max_id][0,0]
# In[33]:
plt.plot(X, proba)
plt.plot([max_value, max_value], [0, max_proba] , 'r')
# In[34]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(max_value, 0.5, 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Method 2: Sample from distribution
# In[35]:
sampled_values = conditional_gmm.sample(10)
# In[36]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(sampled_values, 0.5 * np.ones(sampled_values.shape), 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Method 3: Weighted mean
# In[37]:
weighted_mean = conditional_gmm.priors.dot(conditional_gmm.means)
# In[38]:
plt.plot(X, proba)
plt.plot([weighted_mean, weighted_mean],[0, max_proba], 'r')
# ** This is not desired **
# In[39]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(weighted_mean, 0.5, 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ** This is not desired **
# ### Method 4: Mean of most important Gaussian
# In[40]:
max_weight = np.max(conditional_gmm.priors)
max_ind = np.where(conditional_gmm.priors == max_weight)[0][0]
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(conditional_gmm.means[max_ind], 0.5, 50, 'r')
plt.xlim([-0.1,2 * np.pi + 0.1])
plt.ylim([-1.5,1.5])
# ### Ranking
#
# - Max
# - Mean of most weighted Gaussian
# - Sample
# - Weighted Mean
# # Bigger redundancy: the need to adapt the number of gaussian
# ## Generate more redundant data
# In[41]:
rng = np.random.RandomState(10)
X = np.linspace(0, 6 * np.pi, 1000)[:, np.newaxis]
Y = 6*np.sin(X).ravel() + rng.normal(0, 0.5, X.shape[0])
Y = Y[:, np.newaxis]
# ## Plot data
# In[42]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# ## Build Tree to find NN
# In[43]:
from sklearn.neighbors import KDTree
X_tree = KDTree(X, leaf_size=2)
Y_tree = KDTree(Y, leaf_size=2)
# # Inverse Model
#
# ## Find local data for y=3
# In[44]:
_, ind = Y_tree.query(3, k=100)
local_X = X[ind]
local_Y = Y[ind]
# ## Plot local data at y=3
# In[45]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(local_X, local_Y)
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# ## Fit local GMM with 3 components
# In[46]:
local_gmm = GMM(n_components=3, covariance_type='full')
local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))
local_gmm.fit(local_data)
# ## Plot local GMM
# In[47]:
local_gmminf = gmr.gmm.GMM(3,
local_gmm.weights_,
local_gmm.means_,
local_gmm.covars_)
# In[48]:
ellipses = local_gmminf.to_ellipses(2)
# In[49]:
from matplotlib.patches import Ellipse
fig = plt.figure()
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(local_X, local_Y)
for ellipse in ellipses:
e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(0.5)
e.set_facecolor(rng.rand(3))
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# **There is not enough gaussian to model this properly**
#
# Such problem are arise quite often in our simple example, e.g. multidimensional arm
#
# **Note that the same problem might arise with a simple NN model if we take the weighted mean of more than 1 neigborh**
# ## We compute and plot the conditional for y=3
# In[50]:
conditional_gmm = local_gmminf.condition([1], [3])
# In[51]:
proba = conditional_gmm.to_probability_density(X)
plt.plot(X, proba)
# ## Find the Max
# In[52]:
max_proba = np.max(proba)
max_id = np.where(proba == max_proba)[0]
max_value = X[max_id][0,0]
# In[53]:
plt.plot(X, proba)
plt.plot([max_value, max_value], [0, max_proba] , 'r')
# In[54]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(max_value, 3, 50, 'r')
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# ** This is not desired **
# # Would DPGMM solve the problem?
#
# Short answer: I did'nt succeed, on paper it is what we look for but in pratice it did not work on this simple example.
#
# I tried as above, simply replace GMM by DPGMM. It looked to me some prior was pulling Gaussians towards [0,0] but I am not sure at all..
#
# So I tried scaling the data, but this didn't help.
#
# ## Fit local DPGMM
# In[55]:
from sklearn.mixture import DPGMM
local_gmm = DPGMM(n_components=10,
covariance_type='full',
alpha=1,
tol=1e-3,
params='wmc',
init_params='wmc')
local_data = np.squeeze(np.concatenate((local_X, local_Y), axis=2))
local_gmm.fit(local_data)
# **Play a bit with the parameter to get a sense of what is a happening: http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM**
#
# ## Plot local GMM
# In[56]:
local_gmminf = gmr.gmm.GMM(local_gmm.weights_.shape[0],
local_gmm.weights_,
local_gmm.means_,
local_gmm._get_covars())
# In[57]:
ellipses = local_gmminf.to_ellipses(2)
# In[58]:
from matplotlib.patches import Ellipse
fig = plt.figure()
ax = fig.add_subplot(111) ##, aspect='equal')
ax.scatter(local_X, local_Y)
for ellipse in ellipses:
e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(0.5)
e.set_facecolor(rng.rand(3))
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# **Note that the Gaussian you see at [0,0] are the ones that are not in use, there is a way to know this. See here: http://scikit-learn.org/stable/auto_examples/mixture/plot_gmm_sin.html#example-mixture-plot-gmm-sin-py**
# ## Let's try to estimate the number of clusters with a clustering algorithm
#
# See: http://scikit-learn.org/stable/modules/clustering.html
#
# I picked: http://scikit-learn.org/stable/modules/generated/sklearn.cluster.AffinityPropagation.html#sklearn.cluster.AffinityPropagation
#
# In[59]:
from sklearn.cluster import AffinityPropagation
af = AffinityPropagation(damping=0.6)
af.fit(local_data)
n_clusters = len(af.cluster_centers_)
print("We found {} clusters".format(n_clusters))
# ## Plot the clusters
# In[60]:
fig = plt.figure()
ax = fig.add_subplot(111) ##, aspect='equal')
ax.scatter(local_X, local_Y, 5)
for cs in af.cluster_centers_:
ax.scatter(cs[0], cs[1], 100, rng.rand(3))
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# ## Let's use this number ot fit the GMM
# In[61]:
local_gmm = GMM(n_components=n_clusters, covariance_type='full')
local_gmm.fit(local_data)
# In[62]:
local_gmminf = gmr.gmm.GMM(n_clusters,
local_gmm.weights_,
local_gmm.means_,
local_gmm.covars_)
# In[63]:
ellipses = local_gmminf.to_ellipses(2)
# In[64]:
from matplotlib.patches import Ellipse
fig = plt.figure()
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(local_X, local_Y)
for ellipse in ellipses:
e = Ellipse(xy=ellipse[0], angle=ellipse[1][0]*180/np.pi, width=ellipse[1][1], height=ellipse[1][2])
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(0.5)
e.set_facecolor(rng.rand(3))
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# ## Compute the conditional for y=3
# In[65]:
conditional_gmm = local_gmminf.condition([1], [3])
# In[66]:
proba = conditional_gmm.to_probability_density(X)
plt.plot(X, proba)
# ## Find the max
# In[67]:
max_proba = np.max(proba)
max_id = np.where(proba == max_proba)[0]
max_value = X[max_id][0,0]
# In[68]:
plt.plot(X, proba)
plt.plot([max_value, max_value], [0, max_proba] , 'r')
# In[69]:
fig = plt.figure(0)
ax = fig.add_subplot(111, aspect='equal')
ax.scatter(X, Y)
ax.scatter(max_value, 3, 50, 'r')
plt.xlim([-0.1, 6 * np.pi + 0.1])
plt.ylim([-6.5,6.5])
# **Look good!**
#
# # Discussion
#
# Finding the max of the conditional gmm is to be privileged. The weighted mean inevitably will give wrong answers.
#
# Finding the maximum is impossible analytically. Think of those cases when the maximum might not be unique (e.g. two Gaussians well separated of equal weights), it makes it really hard to find an analytical solution. I am sure talented mathematicians worked hard on this, if nothing is out there yet there must be a reason.
#
# Some have tried with gradient descent sort of things:
#
# - Pulkkinen, Seppo, Marko Mikael Mäkelä, and Napsu Karmitsa. "A continuation approach to mode-finding of multivariate Gaussian mixtures and kernel density estimates." Journal of Global Optimization 56.2 (2013): 459-487. https://www.researchgate.net/profile/Seppo_Pulkkinen/publication/255996172_A_continuation_approach_to_mode-finding_of_multivariate_Gaussian_mixtures_and_kernel_density_estimates/links/00b495215e455d90ed000000.pdf
#
# - Carreira-Perpiñán, Miguel Á. "Mode-finding for mixtures of Gaussian distributions." IEEE Transactions on Pattern Analysis & Machine Intelligence11 (2000): 1318-1323. http://faculty.ucmerced.edu/mcarreira-perpinan/papers/cs-99-03.pdf
# De le même personne: http://www.cs.toronto.edu/~miguel/research/GMmodes.html
# Code matlab: http://www.cs.toronto.edu/~miguel/research/software/gm_modes.tar.gz
#
# - des slides: https://www.utu.fi/en/units/sci/units/math/Research/optimization/Documents/sovmat13012012.pdf
#
#
# But, as the function is generally very smooth, it should be easy to find the maximum using an optimization algorithm. CMA-ES should perfectly do the job, a quick study could be done on which initialization parameter to use.
#
# I propose the following for initializing CMA-ES: "mean = centroid (pondéré) des Gaussiennes de la GMM à évaluer, sigma = covariance (pondéré) des centres par rapports au mean(centroid) + régularisation sur la diagonale"
#
# Finally, in most scenario, it is way better to get stuck in a local maximum than sampling randomly or using the weighted mean. The next option is thus to take the mean of the Gaussian that has the largest weight.
#
#
# ## Calinon's work and ILO-GMM paper
#
# For Calinon's work and ILO-GMM paper, I believe the weighted mean works because of the properties of the problem, i.e. trajectories. You are never at two positions at the same time. Or, if time is not in the input space, the feature are made such that the model is unimodal (e.g. adding current speed (dx, dy)).
#
# It would be worth checking Calinon litterature to see if they tried the following XP: A user move an obect from position A to B in straight line. We place an obstacle on the way. The user now decide randomly to go one side or the other of the obstacle.
#
# This creates a bimodal dataset, very similar to what we encounter in inverse model for robotics. Taking the weighted mean would make you run into the obstacle.
#
# How would Calinon's work handle this? I guess they run very early into such problems and might have found a solution. It is worth investigating.
#
#
# # Conclusion
#
# It is important to consider the problem of redundancy/multilodalities/multimodes when designing our algorithms. Such problem is omnipresent in our robotic experiments when considering inverse models.
#
# NN (with k > 1) is not solving this problem. ILO-GMM, which models the multimodality, is promising but could be improved by adapting the number of Gaussians. For this we proposed to use a clustering algorithm.
#
# The clustering algorithm might fail when the data are not well separated but still non-linear. In such case, the clustering algorithm might tell us there is only one cluster, but modeling with one Gaussian won't be enough. To limit that problem we could:
# - start by enforcing a minimum in the number of Gaussian to use, e.g. 3.
# - use 3x the number of clusters as the number of components of the local GMM
#
# It would be nice to make a proper benchmark with a similar problem in a more concrete scenario, e.g. multi-segment arm.
#
# A future consideration should be the definition of locality, we consider each dimension as having the same local importance, that might not be the case in many practical problem. Can the robot/agent finds out by itself the weight to assign to each dimension for defining locality?
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>ILOGMM</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<style type="text/css">
/*!
*
* Twitter Bootstrap
*
*//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:10px;-webkit-tap-highlight-color:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;vertical-align:middle}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../components/bootstrap/fonts/glyphicons-halflings-regular.eot);src:url(../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix)format('embedded-opentype'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.woff2)format('woff2'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.woff)format('woff'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.ttf)format('truetype'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular)format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.42857143;color:#000;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:3px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:2px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:18px;margin-bottom:9px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:9px;margin-bottom:9px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:33px}.h2,h2{font-size:27px}.h3,h3{font-size:23px}.h4,h4{font-size:17px}.h5,h5{font-size:13px}.h6,h6{font-size:12px}p{margin:0 0 9px}.lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}.small,small{font-size:92%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:9px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:541px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:inherit;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:18px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:monospace}code{padding:2px 4px;font-size:90%;background-color:#f9f2f4;border-radius:2px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:1px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:8.5px;margin:0 0 9px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:2px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:0;padding-right:0}@media (min-width:768px){.container{width:768px}}@media (min-width:992px){.container{width:940px}}@media (min-width:1200px){.container{width:1140px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:0;padding-right:0}.row{margin-left:0;margin-right:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:0;padding-right:0}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:18px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{display:block;padding-top:7px;font-size:13px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:32px;padding:6px 12px;font-size:13px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:32px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:45px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:18px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px \9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:31px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;min-height:30px}.input-lg{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.input-lg{height:45px;line-height:45px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.form-group-lg .form-control{height:45px;line-height:45px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;min-height:35px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:32px;height:32px;line-height:32px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:45px;height:45px;line-height:45px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:23px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#404040}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:25px}.form-horizontal .form-group{margin-left:0;margin-right:0}.form-horizontal .has-feedback .form-control-feedback{right:0}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}.form-horizontal .form-group-lg .control-label{padding-top:14.33px}.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:1px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:541px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:2px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:13px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:2px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:1px}.input-group-addon.input-lg{padding:10px 16px;font-size:17px;border-radius:3px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:2px 2px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:2px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:2px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:2px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:30px;margin-bottom:18px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:0;padding-left:0;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:540px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:541px){.navbar{border-radius:2px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:6px 0;font-size:17px;line-height:18px;height:30px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-toggle{position:relative;float:right;margin-right:0;padding:9px 10px;margin-top:-2px;margin-bottom:-2px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:2px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:541px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:0}.navbar-toggle{display:none}}.navbar-nav{margin:3px 0}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:540px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:18px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:541px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}}.navbar-form{padding:10px 0;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:-1px 0}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:540px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:2px 2px 0 0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm{margin-top:0;margin-bottom:0}.navbar-btn.btn-xs{margin-top:4px;margin-bottom:4px}.navbar-text{margin-top:6px;margin-bottom:6px}@media (min-width:541px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-text{float:left;margin-left:0;margin-right:0}.navbar-left{float:left!important;float:left}.navbar-right{float:right!important;float:right;margin-right:0}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:540px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:540px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:18px;list-style:none;background-color:#f5f5f5;border-radius:2px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#5e5e5e}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:2px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:2px;border-top-left-radius:2px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:1px;border-top-left-radius:1px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:1px;border-top-right-radius:1px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:3px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:58.5px}}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:2px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#000}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:2px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:18px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:1px;border-top-left-radius:1px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:1px;border-top-left-radius:1px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:1px;border-top-left-radius:1px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:1px;border-top-right-radius:1px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:1px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:1px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:1px;border-bottom-right-radius:1px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:1px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:1px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:2px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:3px}.well-sm{padding:9px;border-radius:1px}.close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:3px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:2px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.42857143;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:3px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:13px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:2px 2px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.item_buttons:after,.item_buttons:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.item_buttons:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}/*!
*
* Font Awesome
*
*//*!
* Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:'FontAwesome';src:url(../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0);src:url(../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0)format('embedded-opentype'),url(../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0)format('woff'),url(../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0)format('truetype'),url(../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular)format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}/*!
*
* IPython base
*
*/.modal.fade .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}code{color:#000}pre{font-size:inherit;line-height:inherit}label{font-weight:400}.border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.corner-all{border-radius:2px}.no-padding{padding:0}.hbox{display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.vbox{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.hbox.reverse,.reverse,.vbox.reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;flex-direction:row-reverse}.box-flex0,.hbox.box-flex0,.vbox.box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none;width:auto}.box-flex1,.hbox.box-flex1,.vbox.box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.box-flex,.hbox.box-flex,.vbox.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.box-flex2,.hbox.box-flex2,.vbox.box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2}.box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1}.box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2}.hbox.start,.start,.vbox.start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;justify-content:flex-start}.end,.hbox.end,.vbox.end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end}.center,.hbox.center,.vbox.center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;justify-content:center}.baseline,.hbox.baseline,.vbox.baseline{-webkit-box-pack:baseline;-moz-box-pack:baseline;box-pack:baseline;justify-content:baseline}.hbox.stretch,.stretch,.vbox.stretch{-webkit-box-pack:stretch;-moz-box-pack:stretch;box-pack:stretch;justify-content:stretch}.align-start,.hbox.align-start,.vbox.align-start{-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.align-end,.hbox.align-end,.vbox.align-end{-webkit-box-align:end;-moz-box-align:end;box-align:end;align-items:flex-end}.align-center,.hbox.align-center,.vbox.align-center{-webkit-box-align:center;-moz-box-align:center;box-align:center;align-items:center}.align-baseline,.hbox.align-baseline,.vbox.align-baseline{-webkit-box-align:baseline;-moz-box-align:baseline;box-align:baseline;align-items:baseline}.align-stretch,.hbox.align-stretch,.vbox.align-stretch{-webkit-box-align:stretch;-moz-box-align:stretch;box-align:stretch;align-items:stretch}div.error{margin:2em;text-align:center}div.error>h1{font-size:500%;line-height:normal}div.error>p{font-size:200%;line-height:normal}div.traceback-wrapper{text-align:left;max-width:800px;margin:auto}body{position:absolute;left:0;right:0;top:0;bottom:0;overflow:visible}#header{display:none;background-color:#fff;position:relative;z-index:100}#header #header-container{padding-bottom:5px;padding-top:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}#header .header-bar{width:100%;height:1px;background:#e7e7e7;margin-bottom:-1px}#header-spacer{width:100%;visibility:hidden}@media print{#header{display:none!important}#header-spacer{display:none}}#ipython_notebook{padding-left:0;padding-top:1px;padding-bottom:1px}@media (max-width:991px){#ipython_notebook{margin-left:10px}}#noscript{width:auto;padding-top:16px;padding-bottom:16px;text-align:center;font-size:22px;color:red;font-weight:700}#ipython_notebook img{height:28px}#site{width:100%;display:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;overflow:auto}@media print{#site{height:auto!important}}.ui-button .ui-button-text{padding:.2em .8em;font-size:77%}input.ui-button{padding:.3em .9em}span#login_widget{float:right}#logout,span#login_widget>.button{color:#333;background-color:#fff;border-color:#ccc}#logout.active,#logout.focus,#logout:active,#logout:focus,#logout:hover,.open>.dropdown-toggle#logout,.open>.dropdown-togglespan#login_widget>.button,span#login_widget>.button.active,span#login_widget>.button.focus,span#login_widget>.button:active,span#login_widget>.button:focus,span#login_widget>.button:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}#logout.active,#logout:active,.open>.dropdown-toggle#logout,.open>.dropdown-togglespan#login_widget>.button,span#login_widget>.button.active,span#login_widget>.button:active{background-image:none}#logout.disabled,#logout.disabled.active,#logout.disabled.focus,#logout.disabled:active,#logout.disabled:focus,#logout.disabled:hover,#logout[disabled],#logout[disabled].active,#logout[disabled].focus,#logout[disabled]:active,#logout[disabled]:focus,#logout[disabled]:hover,fieldset[disabled] #logout,fieldset[disabled] #logout.active,fieldset[disabled] #logout.focus,fieldset[disabled] #logout:active,fieldset[disabled] #logout:focus,fieldset[disabled] #logout:hover,fieldset[disabled] span#login_widget>.button,fieldset[disabled] span#login_widget>.button.active,fieldset[disabled] span#login_widget>.button.focus,fieldset[disabled] span#login_widget>.button:active,fieldset[disabled] span#login_widget>.button:focus,fieldset[disabled] span#login_widget>.button:hover,span#login_widget>.button.disabled,span#login_widget>.button.disabled.active,span#login_widget>.button.disabled.focus,span#login_widget>.button.disabled:active,span#login_widget>.button.disabled:focus,span#login_widget>.button.disabled:hover,span#login_widget>.button[disabled],span#login_widget>.button[disabled].active,span#login_widget>.button[disabled].focus,span#login_widget>.button[disabled]:active,span#login_widget>.button[disabled]:focus,span#login_widget>.button[disabled]:hover{background-color:#fff;border-color:#ccc}#logout .badge,span#login_widget>.button .badge{color:#fff;background-color:#333}.nav-header{text-transform:none}#header>span{margin-top:10px}.modal_stretch .modal-dialog{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;min-height:80vh}.modal_stretch .modal-dialog .modal-body{max-height:calc(100vh - 200px);overflow:auto;flex:1}@media (min-width:768px){.modal .modal-dialog{width:700px}select.form-control{margin-left:12px;margin-right:12px}}/*!
*
* IPython auth
*
*/.center-nav{display:inline-block;margin-bottom:-4px}/*!
*
* IPython tree view
*
*/.alternate_upload{background-color:none;display:inline}.alternate_upload.form{padding:0;margin:0}.alternate_upload input.fileinput{text-align:center;vertical-align:middle;display:inline;opacity:0;z-index:2;width:12ex;margin-right:-12ex}.alternate_upload .btn-upload{height:22px}ul#tabs{margin-bottom:4px}ul#tabs a{padding-top:6px;padding-bottom:4px}ul.breadcrumb a:focus,ul.breadcrumb a:hover{text-decoration:none}ul.breadcrumb i.icon-home{font-size:16px;margin-right:4px}ul.breadcrumb span{color:#5e5e5e}.list_toolbar{padding:4px 0;vertical-align:middle}.list_toolbar .tree-buttons{padding-top:1px}.dynamic-buttons{padding-top:3px;display:inline-block}.list_toolbar [class*=span]{min-height:24px}.list_header{font-weight:700;background-color:#eee}.list_placeholder{font-weight:700;padding:4px 7px}.list_container{margin-top:4px;margin-bottom:20px;border:1px solid #ddd;border-radius:2px}.list_container>div{border-bottom:1px solid #ddd}.list_container>div:hover .list-item{background-color:red}.list_container>div:last-child{border:none}.list_item:hover .list_item{background-color:#ddd}.list_item a{text-decoration:none}.list_item:hover{background-color:#fafafa}.action_col{text-align:right}.list_header>div,.list_item>div{line-height:22px;padding:4px 7px}.list_header>div input,.list_item>div input{margin-right:7px;margin-left:14px;vertical-align:baseline;line-height:22px;position:relative;top:-1px}.list_header>div .item_link,.list_item>div .item_link{margin-left:-1px;vertical-align:baseline;line-height:22px}.new-file input[type=checkbox]{visibility:hidden}.item_name{line-height:22px;height:24px}.item_icon{font-size:14px;color:#5e5e5e;margin-right:7px;margin-left:7px;line-height:22px;vertical-align:baseline}.item_buttons{line-height:1em;margin-left:-5px}.item_buttons .btn-group,.item_buttons .input-group{float:left}.item_buttons>.btn,.item_buttons>.btn-group,.item_buttons>.input-group{margin-left:5px}.item_buttons .btn{min-width:13ex}.item_buttons .running-indicator{padding-top:4px;color:#5cb85c}.toolbar_info{height:24px;line-height:24px}input.engine_num_input,input.nbname_input{padding-top:3px;padding-bottom:3px;height:22px;line-height:14px;margin:0}input.engine_num_input{width:60px}.highlight_text{color:#00f}#project_name{display:inline-block;padding-left:7px;margin-left:-2px}#project_name>.breadcrumb{padding:0;margin-bottom:0;background-color:transparent;font-weight:700}#tree-selector{padding-right:0}#button-select-all{min-width:50px}#select-all{margin-left:7px;margin-right:2px}.menu_icon{margin-right:2px}.tab-content .row{margin-left:0;margin-right:0}.folder_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f114"}.folder_icon:before.pull-left{margin-right:.3em}.folder_icon:before.pull-right{margin-left:.3em}.notebook_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f02d";position:relative;top:-1px}.notebook_icon:before.pull-left{margin-right:.3em}.notebook_icon:before.pull-right{margin-left:.3em}.running_notebook_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f02d";position:relative;top:-1px;color:#5cb85c}.running_notebook_icon:before.pull-left{margin-right:.3em}.running_notebook_icon:before.pull-right{margin-left:.3em}.file_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f016";position:relative;top:-2px}.file_icon:before.pull-left{margin-right:.3em}.file_icon:before.pull-right{margin-left:.3em}#notebook_toolbar .pull-right{padding-top:0;margin-right:-1px}ul#new-menu{left:auto;right:0}.kernel-menu-icon{padding-right:12px;width:24px;content:"\f096"}.kernel-menu-icon:before{content:"\f096"}.kernel-menu-icon-current:before{content:"\f00c"}#tab_content{padding-top:20px}#running .panel-group .panel{margin-top:3px;margin-bottom:1em}#running .panel-group .panel .panel-heading{background-color:#eee;line-height:22px;padding:4px 7px}#running .panel-group .panel .panel-heading a:focus,#running .panel-group .panel .panel-heading a:hover{text-decoration:none}#running .panel-group .panel .panel-body{padding:0}#running .panel-group .panel .panel-body .list_container{margin-top:0;margin-bottom:0;border:0;border-radius:0}#running .panel-group .panel .panel-body .list_container .list_item{border-bottom:1px solid #ddd}#running .panel-group .panel .panel-body .list_container .list_item:last-child{border-bottom:0}.delete-button,.duplicate-button,.rename-button,.shutdown-button{display:none}.dynamic-instructions{display:inline-block;padding-top:4px}/*!
*
* IPython text editor webapp
*
*/.selected-keymap i.fa{padding:0 5px}.selected-keymap i.fa:before{content:"\f00c"}#mode-menu{overflow:auto;max-height:20em}.edit_app #header{-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}.edit_app #menubar .navbar{margin-bottom:-1px}.dirty-indicator{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px}.dirty-indicator.pull-left{margin-right:.3em}.dirty-indicator.pull-right{margin-left:.3em}.dirty-indicator-dirty{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px}.dirty-indicator-dirty.pull-left{margin-right:.3em}.dirty-indicator-dirty.pull-right{margin-left:.3em}.dirty-indicator-clean{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px}.dirty-indicator-clean.pull-left{margin-right:.3em}.dirty-indicator-clean.pull-right{margin-left:.3em}.dirty-indicator-clean:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f00c"}.dirty-indicator-clean:before.pull-left{margin-right:.3em}.dirty-indicator-clean:before.pull-right{margin-left:.3em}#filename{font-size:16pt;display:table;padding:0 5px}#current-mode{padding-left:5px;padding-right:5px}#texteditor-backdrop{padding-top:20px;padding-bottom:20px}@media not print{#texteditor-backdrop{background-color:#eee}}@media print{#texteditor-backdrop #texteditor-container .CodeMirror-gutter,#texteditor-backdrop #texteditor-container .CodeMirror-gutters{background-color:#fff}}@media not print{#texteditor-backdrop #texteditor-container .CodeMirror-gutter,#texteditor-backdrop #texteditor-container .CodeMirror-gutters{background-color:#fff}#texteditor-backdrop #texteditor-container{padding:0;background-color:#fff;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}}/*!
*
* IPython notebook
*
*/.ansibold{font-weight:700}.ansiblack{color:#000}.ansired{color:#8b0000}.ansigreen{color:#006400}.ansiyellow{color:#c4a000}.ansiblue{color:#00008b}.ansipurple{color:#9400d3}.ansicyan{color:#4682b4}.ansigray{color:gray}.ansibgblack{background-color:#000}.ansibgred{background-color:red}.ansibggreen{background-color:green}.ansibgyellow{background-color:#ff0}.ansibgblue{background-color:#00f}.ansibgpurple{background-color:#ff00ff}.ansibgcyan{background-color:#0ff}.ansibggray{background-color:gray}div.cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;border-radius:2px;box-sizing:border-box;-moz-box-sizing:border-box;border-width:thin;border-style:solid;width:100%;padding:5px;margin:0;outline:0}div.cell.selected{border-color:#ababab}@media print{div.cell.selected{border-color:transparent}}.edit_mode div.cell.selected{border-color:green}.prompt{min-width:14ex;padding:.4em;margin:0;font-family:monospace;text-align:right;line-height:1.21429em}div.inner_cell{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}@-moz-document url-prefix(){div.inner_cell{overflow-x:hidden}}div.input_area{border:1px solid #cfcfcf;border-radius:2px;background:#f7f7f7;line-height:1.21429em}div.prompt:empty{padding-top:0;padding-bottom:0}div.unrecognized_cell{padding:5px 5px 5px 0;display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.unrecognized_cell .inner_cell{border-radius:2px;padding:5px;font-weight:700;color:red;border:1px solid #cfcfcf;background:#eaeaea}div.unrecognized_cell .inner_cell a,div.unrecognized_cell .inner_cell a:hover{color:inherit;text-decoration:none}@media (max-width:540px){.prompt{text-align:left}div.unrecognized_cell>div.prompt{display:none}}div.code_cell{}div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.input{-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.input_prompt{color:navy;border-top:1px solid transparent}div.input_area>div.highlight{margin:.4em;border:none;padding:0;background-color:transparent}div.input_area>div.highlight>pre{margin:0;border:none;padding:0;background-color:transparent}.CodeMirror{line-height:1.21429em;font-size:14px;height:auto;background:0 0}.CodeMirror-scroll{overflow-y:hidden;overflow-x:auto}.CodeMirror-lines{padding:.4em}.CodeMirror-linenumber{padding:0 8px 0 4px}.CodeMirror-gutters{border-bottom-left-radius:2px;border-top-left-radius:2px}.CodeMirror pre{padding:0;border:0;border-radius:0}.highlight-base,.highlight-variable{color:#000}.highlight-variable-2{color:#1a1a1a}.highlight-variable-3{color:#333}.highlight-string{color:#BA2121}.highlight-comment{color:#408080;font-style:italic}.highlight-number{color:#080}.highlight-atom{color:#88F}.highlight-keyword{color:green;font-weight:700}.highlight-builtin{color:green}.highlight-error{color:red}.highlight-operator{color:#A2F;font-weight:700}.highlight-meta{color:#A2F}.highlight-def{color:#00f}.highlight-string-2{color:#f50}.highlight-qualifier{color:#555}.highlight-bracket{color:#997}.highlight-tag{color:#170}.highlight-attribute{color:#00c}.highlight-header{color:#00f}.highlight-quote{color:#090}.highlight-link{color:#00c}.cm-s-ipython span.cm-keyword{color:green;font-weight:700}.cm-s-ipython span.cm-atom{color:#88F}.cm-s-ipython span.cm-number{color:#080}.cm-s-ipython span.cm-def{color:#00f}.cm-s-ipython span.cm-variable{color:#000}.cm-s-ipython span.cm-operator{color:#A2F;font-weight:700}.cm-s-ipython span.cm-variable-2{color:#1a1a1a}.cm-s-ipython span.cm-variable-3{color:#333}.cm-s-ipython span.cm-comment{color:#408080;font-style:italic}.cm-s-ipython span.cm-string{color:#BA2121}.cm-s-ipython span.cm-string-2{color:#f50}.cm-s-ipython span.cm-meta{color:#A2F}.cm-s-ipython span.cm-qualifier{color:#555}.cm-s-ipython span.cm-builtin{color:green}.cm-s-ipython span.cm-bracket{color:#997}.cm-s-ipython span.cm-tag{color:#170}.cm-s-ipython span.cm-attribute{color:#00c}.cm-s-ipython span.cm-header{color:#00f}.cm-s-ipython span.cm-quote{color:#090}.cm-s-ipython span.cm-link{color:#00c}.cm-s-ipython span.cm-error{color:red}.cm-s-ipython span.cm-tab{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=')right no-repeat}div.output_wrapper{display:-webkit-box;-webkit-box-align:stretch;display:-moz-box;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;z-index:1}div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:2px;-webkit-box-shadow:inset 0 2px 8px rgba(0,0,0,.8);box-shadow:inset 0 2px 8px rgba(0,0,0,.8);display:block}div.output_collapsed{margin:0;padding:0;display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}div.out_prompt_overlay{height:100%;padding:0 .4em;position:absolute;border-radius:2px}div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000;box-shadow:inset 0 0 1px #000;background:rgba(240,240,240,.5)}div.output_prompt{color:#8b0000}div.output_area{padding:0;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.output_area .MathJax_Display{text-align:left!important}div.output_area .rendered_html img,div.output_area .rendered_html table{margin-left:0;margin-right:0}div.output_area img,div.output_area svg{max-width:100%;height:auto}div.output_area img.unconfined,div.output_area svg.unconfined{max-width:none}.output{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}@media (max-width:540px){div.output_area{-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.output_area pre{margin:0;padding:0;border:0;vertical-align:baseline;color:#000;background-color:transparent;border-radius:0}div.output_subarea{overflow-x:auto;padding:.4em;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1;max-width:calc(100% - 14ex)}div.output_text{text-align:left;color:#000;line-height:1.21429em}div.output_stderr{background:#fdd}div.output_latex{text-align:left}div.output_javascript:empty{padding:0}.js-error{color:#8b0000}div.raw_input_container{font-family:monospace;padding-top:5px}span.raw_input_prompt{}input.raw_input{font-family:inherit;font-size:inherit;color:inherit;width:auto;vertical-align:baseline;padding:0 .25em;margin:0 .25em}input.raw_input:focus{box-shadow:none}p.p-space{margin-bottom:10px}div.output_unrecognized{padding:5px;font-weight:700;color:red}div.output_unrecognized a,div.output_unrecognized a:hover{color:inherit;text-decoration:none}.rendered_html{color:#000}.rendered_html em{font-style:italic}.rendered_html strong{font-weight:700}.rendered_html :link,.rendered_html :visited,.rendered_html u{text-decoration:underline}.rendered_html h1{font-size:185.7%;margin:1.08em 0 0;font-weight:700;line-height:1}.rendered_html h2{font-size:157.1%;margin:1.27em 0 0;font-weight:700;line-height:1}.rendered_html h3{font-size:128.6%;margin:1.55em 0 0;font-weight:700;line-height:1}.rendered_html h4{font-size:100%;margin:2em 0 0;font-weight:700;line-height:1}.rendered_html h5,.rendered_html h6{font-size:100%;margin:2em 0 0;font-weight:700;line-height:1;font-style:italic}.rendered_html h1:first-child{margin-top:.538em}.rendered_html h2:first-child{margin-top:.636em}.rendered_html h3:first-child{margin-top:.777em}.rendered_html h4:first-child,.rendered_html h5:first-child,.rendered_html h6:first-child{margin-top:1em}.rendered_html ul{list-style:disc;margin:0 2em;padding-left:0}.rendered_html ul ul{list-style:square;margin:0 2em}.rendered_html ul ul ul{list-style:circle;margin:0 2em}.rendered_html ol{list-style:decimal;margin:0 2em;padding-left:0}.rendered_html ol ol{list-style:upper-alpha;margin:0 2em}.rendered_html ol ol ol{list-style:lower-alpha;margin:0 2em}.rendered_html ol ol ol ol{list-style:lower-roman;margin:0 2em}.rendered_html ol ol ol ol ol{list-style:decimal;margin:0 2em}.rendered_html *+ol,.rendered_html *+ul{margin-top:1em}.rendered_html hr{color:#000;background-color:#000}.rendered_html pre{margin:1em 2em}.rendered_html code,.rendered_html pre{border:0;background-color:#fff;color:#000;font-size:100%;padding:0}.rendered_html blockquote{margin:1em 2em}.rendered_html table{margin-left:auto;margin-right:auto;border:1px solid #000;border-collapse:collapse}.rendered_html td,.rendered_html th,.rendered_html tr{border:1px solid #000;border-collapse:collapse;margin:1em 2em}.rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px}.rendered_html th{font-weight:700}.rendered_html *+table{margin-top:1em}.rendered_html p{text-align:left}.rendered_html *+p{margin-top:1em}.rendered_html img{display:block;margin-left:auto;margin-right:auto}.rendered_html *+img{margin-top:1em}.rendered_html img,.rendered_html svg{max-width:100%;height:auto}.rendered_html img.unconfined,.rendered_html svg.unconfined{max-width:none}div.text_cell{display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.text_cell>div.prompt{display:none}}div.text_cell_render{outline:0;resize:none;width:inherit;border-style:none;padding:.5em .5em .5em .4em;color:#000;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}a.anchor-link:link{text-decoration:none;padding:0 20px;visibility:hidden}h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible}.text_cell.rendered .input_area{display:none}.text_cell.rendered .rendered_html{overflow-x:auto}.text_cell.unrendered .text_cell_render{display:none}.cm-header-1,.cm-header-2,.cm-header-3,.cm-header-4,.cm-header-5,.cm-header-6{font-weight:700;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.cm-header-1{font-size:185.7%}.cm-header-2{font-size:157.1%}.cm-header-3{font-size:128.6%}.cm-header-4{font-size:110%}.cm-header-5,.cm-header-6{font-size:100%;font-style:italic}/*!
*
* IPython notebook webapp
*
*/@media (max-width:767px){.notebook_app{padding-left:0;padding-right:0}}#ipython-main-app{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;height:100%}div#notebook_panel{margin:0;padding:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;height:100%}#notebook{font-size:14px;line-height:20px;overflow-y:hidden;overflow-x:auto;width:100%;padding-top:20px;margin:0;outline:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;min-height:100%}@media not print{#notebook-container{padding:15px;background-color:#fff;min-height:0;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}}div.ui-widget-content{border:1px solid #ababab;outline:0}pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:2px;padding:.4em .4em .4em 2em}p.dialog{padding:.2em}code,kbd,pre,samp{white-space:pre-wrap}#fonttest{font-family:monospace}p{margin-bottom:0}.end_space{min-height:100px;transition:height .2s ease}.notebook_app #header{-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}@media not print{.notebook_app{background-color:#eee}}.celltoolbar{border:thin solid #CFCFCF;border-bottom:none;background:#EEE;border-radius:2px 2px 0 0;width:100%;height:29px;padding-right:4px;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch;-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end;font-size:87%;padding-top:3px}@media print{.edit_mode div.cell.selected{border-color:transparent}div.code_cell{page-break-inside:avoid}#notebook-container{width:100%}.celltoolbar{display:none}}.ctb_hideshow{display:none;vertical-align:bottom}.ctb_global_show .ctb_show.ctb_hideshow{display:block}.ctb_global_show .ctb_show+.input_area,.ctb_global_show .ctb_show+div.text_cell_input,.ctb_global_show .ctb_show~div.text_cell_render{border-top-right-radius:0;border-top-left-radius:0}.ctb_global_show .ctb_show~div.text_cell_render{border:1px solid #cfcfcf}.celltoolbar select{color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;line-height:1.5;border-radius:1px;width:inherit;font-size:inherit;height:22px;padding:0;display:inline-block}.celltoolbar select:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.celltoolbar select::-moz-placeholder{color:#999;opacity:1}.celltoolbar select:-ms-input-placeholder{color:#999}.celltoolbar select::-webkit-input-placeholder{color:#999}.celltoolbar select[disabled],.celltoolbar select[readonly],fieldset[disabled] .celltoolbar select{background-color:#eee;opacity:1}.celltoolbar select[disabled],fieldset[disabled] .celltoolbar select{cursor:not-allowed}textarea.celltoolbar select{height:auto}select.celltoolbar select{height:30px;line-height:30px}select[multiple].celltoolbar select,textarea.celltoolbar select{height:auto}.celltoolbar label{margin-left:5px;margin-right:5px}.completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;border-radius:2px;-webkit-box-shadow:0 6px 10px -1px #adadad;box-shadow:0 6px 10px -1px #adadad;line-height:1}.completions select{background:#fff;outline:0;border:none;padding:0;margin:0;overflow:auto;font-family:monospace;font-size:110%;color:#000;width:auto}.completions select option.context{color:#286090}#kernel_logo_widget{float:right!important;float:right}#kernel_logo_widget .current_kernel_logo{display:none;margin-top:-1px;margin-bottom:-1px;width:32px;height:32px}#menubar{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-top:1px}#menubar .navbar{border-top:1px;border-radius:0 0 2px 2px;margin-bottom:0}#menubar .navbar-toggle{float:left;padding-top:7px;padding-bottom:7px;border:none}#menubar .navbar-collapse{clear:left}.nav-wrapper{border-bottom:1px solid #e7e7e7}i.menu-icon{padding-top:4px}ul#help_menu li a{overflow:hidden;padding-right:2.2em}ul#help_menu li a i{margin-right:-1.2em}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;content:"\f0da";float:right;color:#333;margin-top:2px;margin-right:-10px}.dropdown-submenu>a:after.pull-left{margin-right:.3em}.dropdown-submenu>a:after.pull-right{margin-left:.3em}.dropdown-submenu:hover>a:after{color:#262626}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}#notification_area{float:right!important;float:right;z-index:10}.indicator_area{float:right!important;float:right;color:#777;margin-left:5px;margin-right:5px;z-index:10;text-align:center;width:auto}#kernel_indicator{float:right!important;float:right;color:#777;margin-left:5px;margin-right:5px;z-index:10;text-align:center;width:auto;border-left:1px solid}#kernel_indicator .kernel_indicator_name{padding-left:5px;padding-right:5px}#modal_indicator{float:right!important;float:right;color:#777;margin-left:5px;margin-right:5px;z-index:10;text-align:center;width:auto}#readonly-indicator{float:right!important;float:right;color:#777;z-index:10;text-align:center;width:auto;display:none;margin:2px 0 0}.modal_indicator:before{width:1.28571429em;text-align:center}.edit_mode .modal_indicator:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f040"}.edit_mode .modal_indicator:before.pull-left{margin-right:.3em}.edit_mode .modal_indicator:before.pull-right{margin-left:.3em}.command_mode .modal_indicator:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:' '}.command_mode .modal_indicator:before.pull-left{margin-right:.3em}.command_mode .modal_indicator:before.pull-right{margin-left:.3em}.kernel_idle_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f10c"}.kernel_idle_icon:before.pull-left{margin-right:.3em}.kernel_idle_icon:before.pull-right{margin-left:.3em}.kernel_busy_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f111"}.kernel_busy_icon:before.pull-left{margin-right:.3em}.kernel_busy_icon:before.pull-right{margin-left:.3em}.kernel_dead_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f1e2"}.kernel_dead_icon:before.pull-left{margin-right:.3em}.kernel_dead_icon:before.pull-right{margin-left:.3em}.kernel_disconnected_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f127"}.kernel_disconnected_icon:before.pull-left{margin-right:.3em}.kernel_disconnected_icon:before.pull-right{margin-left:.3em}.notification_widget{z-index:10;background:rgba(240,240,240,.5);margin-right:4px;color:#333;background-color:#fff;border-color:#ccc}.notification_widget.active,.notification_widget.focus,.notification_widget:active,.notification_widget:focus,.notification_widget:hover,.open>.dropdown-toggle.notification_widget{color:#333;background-color:#e6e6e6;border-color:#adadad}.notification_widget.active,.notification_widget:active,.open>.dropdown-toggle.notification_widget{background-image:none}.notification_widget.disabled,.notification_widget.disabled.active,.notification_widget.disabled.focus,.notification_widget.disabled:active,.notification_widget.disabled:focus,.notification_widget.disabled:hover,.notification_widget[disabled],.notification_widget[disabled].active,.notification_widget[disabled].focus,.notification_widget[disabled]:active,.notification_widget[disabled]:focus,.notification_widget[disabled]:hover,fieldset[disabled] .notification_widget,fieldset[disabled] .notification_widget.active,fieldset[disabled] .notification_widget.focus,fieldset[disabled] .notification_widget:active,fieldset[disabled] .notification_widget:focus,fieldset[disabled] .notification_widget:hover{background-color:#fff;border-color:#ccc}.notification_widget .badge{color:#fff;background-color:#333}.notification_widget.warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.notification_widget.warning.active,.notification_widget.warning.focus,.notification_widget.warning:active,.notification_widget.warning:focus,.notification_widget.warning:hover,.open>.dropdown-toggle.notification_widget.warning{color:#fff;background-color:#ec971f;border-color:#d58512}.notification_widget.warning.active,.notification_widget.warning:active,.open>.dropdown-toggle.notification_widget.warning{background-image:none}.notification_widget.warning.disabled,.notification_widget.warning.disabled.active,.notification_widget.warning.disabled.focus,.notification_widget.warning.disabled:active,.notification_widget.warning.disabled:focus,.notification_widget.warning.disabled:hover,.notification_widget.warning[disabled],.notification_widget.warning[disabled].active,.notification_widget.warning[disabled].focus,.notification_widget.warning[disabled]:active,.notification_widget.warning[disabled]:focus,.notification_widget.warning[disabled]:hover,fieldset[disabled] .notification_widget.warning,fieldset[disabled] .notification_widget.warning.active,fieldset[disabled] .notification_widget.warning.focus,fieldset[disabled] .notification_widget.warning:active,fieldset[disabled] .notification_widget.warning:focus,fieldset[disabled] .notification_widget.warning:hover{background-color:#f0ad4e;border-color:#eea236}.notification_widget.warning .badge{color:#f0ad4e;background-color:#fff}.notification_widget.success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.notification_widget.success.active,.notification_widget.success.focus,.notification_widget.success:active,.notification_widget.success:focus,.notification_widget.success:hover,.open>.dropdown-toggle.notification_widget.success{color:#fff;background-color:#449d44;border-color:#398439}.notification_widget.success.active,.notification_widget.success:active,.open>.dropdown-toggle.notification_widget.success{background-image:none}.notification_widget.success.disabled,.notification_widget.success.disabled.active,.notification_widget.success.disabled.focus,.notification_widget.success.disabled:active,.notification_widget.success.disabled:focus,.notification_widget.success.disabled:hover,.notification_widget.success[disabled],.notification_widget.success[disabled].active,.notification_widget.success[disabled].focus,.notification_widget.success[disabled]:active,.notification_widget.success[disabled]:focus,.notification_widget.success[disabled]:hover,fieldset[disabled] .notification_widget.success,fieldset[disabled] .notification_widget.success.active,fieldset[disabled] .notification_widget.success.focus,fieldset[disabled] .notification_widget.success:active,fieldset[disabled] .notification_widget.success:focus,fieldset[disabled] .notification_widget.success:hover{background-color:#5cb85c;border-color:#4cae4c}.notification_widget.success .badge{color:#5cb85c;background-color:#fff}.notification_widget.info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.notification_widget.info.active,.notification_widget.info.focus,.notification_widget.info:active,.notification_widget.info:focus,.notification_widget.info:hover,.open>.dropdown-toggle.notification_widget.info{color:#fff;background-color:#31b0d5;border-color:#269abc}.notification_widget.info.active,.notification_widget.info:active,.open>.dropdown-toggle.notification_widget.info{background-image:none}.notification_widget.info.disabled,.notification_widget.info.disabled.active,.notification_widget.info.disabled.focus,.notification_widget.info.disabled:active,.notification_widget.info.disabled:focus,.notification_widget.info.disabled:hover,.notification_widget.info[disabled],.notification_widget.info[disabled].active,.notification_widget.info[disabled].focus,.notification_widget.info[disabled]:active,.notification_widget.info[disabled]:focus,.notification_widget.info[disabled]:hover,fieldset[disabled] .notification_widget.info,fieldset[disabled] .notification_widget.info.active,fieldset[disabled] .notification_widget.info.focus,fieldset[disabled] .notification_widget.info:active,fieldset[disabled] .notification_widget.info:focus,fieldset[disabled] .notification_widget.info:hover{background-color:#5bc0de;border-color:#46b8da}.notification_widget.info .badge{color:#5bc0de;background-color:#fff}.notification_widget.danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.notification_widget.danger.active,.notification_widget.danger.focus,.notification_widget.danger:active,.notification_widget.danger:focus,.notification_widget.danger:hover,.open>.dropdown-toggle.notification_widget.danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.notification_widget.danger.active,.notification_widget.danger:active,.open>.dropdown-toggle.notification_widget.danger{background-image:none}.notification_widget.danger.disabled,.notification_widget.danger.disabled.active,.notification_widget.danger.disabled.focus,.notification_widget.danger.disabled:active,.notification_widget.danger.disabled:focus,.notification_widget.danger.disabled:hover,.notification_widget.danger[disabled],.notification_widget.danger[disabled].active,.notification_widget.danger[disabled].focus,.notification_widget.danger[disabled]:active,.notification_widget.danger[disabled]:focus,.notification_widget.danger[disabled]:hover,fieldset[disabled] .notification_widget.danger,fieldset[disabled] .notification_widget.danger.active,fieldset[disabled] .notification_widget.danger.focus,fieldset[disabled] .notification_widget.danger:active,fieldset[disabled] .notification_widget.danger:focus,fieldset[disabled] .notification_widget.danger:hover{background-color:#d9534f;border-color:#d43f3a}.notification_widget.danger .badge{color:#d9534f;background-color:#fff}div#pager{background-color:#fff;font-size:14px;line-height:20px;overflow:hidden;display:none;position:fixed;bottom:0;width:100%;max-height:50%;padding-top:8px;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2);z-index:100;top:auto!important}div#pager pre{line-height:1.21429em;color:#000;background-color:#f7f7f7;padding:.4em}div#pager #pager-button-area{position:absolute;top:8px;right:20px}div#pager #pager-contents{position:relative;overflow:auto;width:100%;height:100%}div#pager #pager-contents #pager-container{position:relative;padding:15px 0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#pager .ui-resizable-handle{top:0;height:8px;background:#f7f7f7;border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf}div#pager .ui-resizable-handle::after{content:'';top:2px;left:50%;height:3px;width:30px;margin-left:-15px;position:absolute;border-top:1px solid #cfcfcf}.quickhelp{display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.shortcut_key{display:inline-block;width:20ex;text-align:right;font-family:monospace}.shortcut_descr{display:inline-block;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}span.save_widget{margin-top:6px}span.save_widget span.filename{height:1em;line-height:1em;padding:3px;margin-left:16px;border:none;font-size:146.5%;border-radius:2px}span.save_widget span.filename:hover{background-color:#e6e6e6}span.autosave_status,span.checkpoint_status{font-size:small}@media (max-width:767px){span.save_widget{font-size:small}span.autosave_status,span.checkpoint_status{display:none}}@media (min-width:768px)and (max-width:991px){span.checkpoint_status{display:none}span.autosave_status{font-size:x-small}}.toolbar{padding:0;margin-left:-5px;margin-top:2px;margin-bottom:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.toolbar label,.toolbar select{width:auto;vertical-align:middle;margin-bottom:0;display:inline;font-size:92%;margin-left:.3em;margin-right:.3em;padding:3px 0 0}.toolbar .btn{padding:2px 8px}.toolbar .btn-group{margin-top:0;margin-left:5px}#maintoolbar{margin-bottom:-3px;margin-top:-8px;border:0;min-height:27px;margin-left:0;padding-top:11px;padding-bottom:3px}#maintoolbar .navbar-text{float:none;vertical-align:middle;text-align:right;margin-left:5px;margin-right:0;margin-top:0}.select-xs{height:24px}@-moz-keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}.bigtooltip{overflow:auto;height:200px;-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms}.smalltooltip{-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;text-overflow:ellipsis;overflow:hidden;height:80px}.tooltipbuttons{position:absolute;padding-right:15px;top:0;right:0}.tooltiptext{padding-right:30px}.ipython_tooltip{max-width:700px;animation:fadeOut 400ms;-webkit-animation:fadeIn 400ms;-moz-animation:fadeIn 400ms;animation:fadeIn 400ms;vertical-align:middle;background-color:#f7f7f7;overflow:visible;border:1px solid #ababab;outline:0;padding:3px 3px 3px 7px;padding-left:7px;font-family:monospace;min-height:50px;-moz-box-shadow:0 6px 10px -1px #adadad;-webkit-box-shadow:0 6px 10px -1px #adadad;box-shadow:0 6px 10px -1px #adadad;border-radius:2px;position:absolute;z-index:1000}.ipython_tooltip a{float:right}.ipython_tooltip .tooltiptext pre{border:0;border-radius:0;font-size:100%;background-color:#f7f7f7}.pretooltiparrow{left:0;margin:0;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute}.pretooltiparrow:before{background-color:#f7f7f7;border:1px solid #ababab;z-index:11;content:"";position:absolute;left:15px;top:10px;width:25px;height:25px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg)}.terminal-app{background:#eee}.terminal-app #header{background:#fff;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}.terminal-app .terminal{float:left;font-family:monospace;color:#fff;background:#000;padding:.4em;border-radius:2px;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.4);box-shadow:0 0 12px 1px rgba(87,87,87,.4)}.terminal-app .terminal,.terminal-app .terminal dummy-screen{line-height:1em;font-size:14px}.terminal-app .terminal-cursor{color:#000;background:#fff}.terminal-app #terminado-container{margin-top:20px}
/*# sourceMappingURL=style.min.css.map */
</style>
<style type="text/css">
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
overflow: visible;
padding: 8px;
}
div#notebook {
overflow: visible;
border-top: none;
}
@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
</style>
<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">
<!-- Loading mathjax macro -->
<!-- Load mathjax -->
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
// Center justify equations in code and markdown cells. Elsewhere
// we use CSS to left justify single line equations in code cells.
displayAlign: 'center',
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}},
linebreaks: { automatic: true }
}
});
</script>
<!-- End of mathjax configuration --></head>
<body>
<div tabindex="-1" id="notebook" class="border-box-sizing">
<div class="container" id="notebook-container">
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>The following serves as a simple introduction to ILO-GMM. It also illustrate, using carefully selected examples, problems we might encounter when learning forward and, especially, inverse models.</strong></p>
<h1 id="Overview">Overview<a class="anchor-link" href="#Overview">&#182;</a></h1><p>We compare different inference method for ILO-GMM:</p>
<ul>
<li>Weighted mean of the Gaussian center by their relative importance</li>
<li>Max of the probability distribution</li>
<li>Mean of the most important (bigger weight) Gaussian</li>
<li>Sampling the probability distribution</li>
</ul>
<p>The data are sampled from a 1 period sinus with a small Gaussian noise.</p>
<p>We investigate the forward and inverse model. We show that the inverse problem, which illustrates the redundancy/multimodal/multimodes problem, poses problem to some infering methods.</p>
<p>We conclude that, for most practical robotic problems involving inverse models, the order of inference methods to use is as follow:</p>
<ul>
<li>Max of the probability distribution</li>
<li>Mean of the most important (bigger weight) Gaussian</li>
<li>Sampling the probability distribution</li>
<li>Weighted mean of the Gaussian center by their relative importance</li>
</ul>
<p>We then consider the problem of redundancy using a 3 period sinus. This problem helps visualizing a limitation of ILO-GMM that is the fixed number of Gaussian. We explore briefly two options:</p>
<ul>
<li>DPGMM: <a href="http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM">http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM</a></li>
<li>use of a clustering algortihm to identify the number of modes. DPGMM, wile showing promises in theroy, is not convincing experimentally on our simple example. The clustering shows more practical promises.</li>
</ul>
<h1 id="Before-starting">Before starting<a class="anchor-link" href="#Before-starting">&#182;</a></h1><p>The code below requires the following python modules:</p>
<ul>
<li><a href="http://www.numpy.org/">http://www.numpy.org/</a></li>
<li><a href="http://scikit-learn.org/stable/index.html">http://scikit-learn.org/stable/index.html</a></li>
<li><a href="https://github.com/AlexanderFabisch/gmr">https://github.com/AlexanderFabisch/gmr</a></li>
<li><a href="http://matplotlib.org/">http://matplotlib.org/</a></li>
</ul>
<h1 id="Simple-1-period-Sinus">Simple 1 period Sinus<a class="anchor-link" href="#Simple-1-period-Sinus">&#182;</a></h1><h2 id="Generate-data">Generate data<a class="anchor-link" href="#Generate-data">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="n">rng</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">RandomState</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">500</span><span class="p">)[:,</span> <span class="n">np</span><span class="o">.</span><span class="n">newaxis</span><span class="p">]</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">X</span><span class="p">)</span><span class="o">.</span><span class="n">ravel</span><span class="p">()</span> <span class="o">+</span> <span class="n">rng</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">,</span> <span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[:,</span> <span class="n">np</span><span class="o">.</span><span class="n">newaxis</span><span class="p">]</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Plot-data">Plot data<a class="anchor-link" href="#Plot-data">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
<span class="o">%</span><span class="k">matplotlib</span> inline
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython2"><pre><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">111</span><span class="p">,</span> <span class="n">aspect</span><span class="o">=</span><span class="s">&#39;equal&#39;</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">([</span><span class="o">-</span><span class="mf">0.1</span><span class="p">,</span><span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span> <span class="o">+</span> <span class="mf">0.1</span><span class="p">])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">([</span><span class="o">-</span><span class="mf">1.5</span><span class="p">,</span><span class="mf">1.5</span><span class="p">])</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[3]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>(-1.5, 1.5)</pre>
</div>
</div>
<div class="output_area"><div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
w9atW4mOjqZKlZzLH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment